Tworzę gradle builds jako nowy użytkownik gradle, ale pracowałem z mavenem w przeszłości.Wtyczka gradle-release + wtyczka publikowania maven
Próbuję odtworzyć działania wtyczki uwalnianiu Maven:
- wersji Zmiana oddziału na numer wersji (popełnić w SVN)
- Utwórz tag (na SVN)
- Należy wdrożyć uwalnianie tag w Nexus OSS
- Zmiana oddziału do nowego numeru wersji Snapshot (popełnić w svn)
Jak widać, używam:
- Nexus OSS jako wersjonowania repozytorium SVN
- jako SCM
- Gradle (2,8)
Próbuję osiągnąć moje cele z tych dwóch wtyczek:
-
- Zmień wersję oddział na numer wersji (popełnić w svn)
- Utwórz tag (na SVN)
- Zmień wersję odgałęzieniem do nowego numeru Snapshot (popełnić w svn)
Command: Gradle zwolnić
Maven Publish Plugin wdrożyć do Nexusa: linię
polecenia: Gradle publikować
Wszelkie pomysły jak mogę wygenerować komunikat i automatycznie wdrożyć go do Nexusa w jeden strzał?
Poniżej jest moje 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
]
}