У меня есть файл gradle для создания JAR и публикации его в репозитории maven на сервере Nexus.
build.gradle
file
publishing {
publications {
maven(MavenPublication) {
artifact shadowJar
}
}
repositories {
maven {
credentials {
username nexusUsername
password nexusPassword
}
if (IsSnapshot.toBoolean())
url "${nexusUrl}/repository/maven-snapshots/"
else
url "${nexusUrl}/repository/maven-releases/"
}
}
}
Эта задача публикует файл JAR всоответствующий репозиторий (снимок / релизы) на основе значения IsSnapshot
.
У меня есть еще одна переменная: DoPublish
.Если DoPublish
равно true
, я хочу опубликовать пакет;в противном случае я не хочу публиковать пакет на нексусе.
Я думаю, мне следует установить url
на пустую строку в таких случаях.Есть ли лучшие предложения?
Вывод задачи gradle
Задачи публикации
generatePomFileFor {module1} Publication - генерирует POM-файл Maven для публикации 'module1'.
generatePomFileFor {module2} Publication - создает POM-файл Maven для публикации 'module2'.
generatePomFileForMavenPublication - создает POM-файл Maven для публикации 'maven'.
publish -Публикует все публикации, созданные этим проектом.
publish {module1} PublicationToMavenLocal - публикует публикацию Maven 'module1' в локальном репозитории Maven.
publish {module1} PublicationToMavenRepository - публикует публикацию Maven 'module1'в хранилище Maven 'maven'.
publish {module2} PublicationToMavenLocal - публикует публикацию Maven 'module2' в локальном хранилище Maven.
publish {module2} PublicationToMavenRepository - публикует публикацию Maven 'module2' вMaven хранилище 'Maven'.
publishMavenPublicationToMavenLocal - публикует публикацию Maven 'maven' в локальном репозитории Maven.
publishMavenPublicationToMavenRepository - публикует публикацию Maven 'maven' в репозиторий Maven 'maven'.
* 1042LocalTo публикации -Публикации Maven, созданные этим проектом, помещаются в локальный кеш Maven.