Плагин Gradle-релиз + плагин Maven
Я создаю сборки gradle как новый пользователь gradle, но в прошлом я работал с maven.
Я пытаюсь воспроизвести действия плагина Maven Release:
- Изменить версию ветки на номер релиза (зафиксировать в svn)
- Создать тег (на SVN)
- Разверните тег выпуска в Nexus OSS
- Изменить версию ветки на новый номер снимка (коммит в svn)
Как видите, я использую:
- Nexus OSS как хранилище версий
- SVN as scm
- Gradle (2,8)
Я пытаюсь достичь своих целей с помощью этих двух плагинов:
- Изменить версию ветки на номер релиза (зафиксировать в svn)
- Создать тег (на SVN)
- Изменить версию ветки на новый номер снимка (коммит в svn)
Командная строка: выпуск Gradle
Плагин Maven Publish для развертывания на Nexus:
Командная строка: публикация gradle
Любые идеи, как я мог бы создать релиз и автоматически развернуть его на Nexus за один раз?
Ниже мой build.gradle:
plugins {
id 'net.researchgate.release' version '2.3.4'
}
apply plugin: 'maven-publish'
/*------------------------
----- PUBLISH PLUGIN -----
--------------------------
https://docs.gradle.org/current/userguide/publishing_maven.html
--------------------------*/
publishing {
publications {
maven(MavenPublication) {
groupId mavenGroup
artifactId mavenArtifact
version version
from components.java
}
}
repositories {
maven {
if(project.version.endsWith('-SNAPSHOT')) {
url "${nexusUrl}/content/repositories/repo-snapshots"
} else {
url "${nexusUrl}/content/repositories/repo-releases"
}
credentials {
username nexusUsername
password nexusPassword
}
}
}
}
/*------------------------
----- RELEASE PLUGIN -----
--------------------------
https://github.com/researchgate/gradle-release
--------------------------*/
release {
failOnCommitNeeded = false
failOnUnversionedFiles = false
scmAdapters = [
net.researchgate.release.SvnAdapter
]
}
1 ответ
Вам необходимо установить зависимость между двумя задачами. Это можно сделать, добавив эту строку в свой build.gradle
:
afterReleaseBuild.dependsOn publish
Релиз-плагин имеет две задачи, которые предназначены для использования в процессе выпуска других задач, а именно: beforeReleaseBuild
а также afterReleaseBuild
, Эти задачи (и установленные вами зависимости) выполняются до или соответственно после build
задача.