Gradle-Release-Plugin + Maven Publishing-Plugin
Ich erstelle Gradle-Builds als neuer Gradle-Benutzer, habe aber in der Vergangenheit mit Maven gearbeitet.
Ich versuche Aktionen des Maven Release Plugins zu reproduzieren:
Version der Verzweigung in Versionsnummer ändern (Commit bei svn)Erstelle ein Tag (bei svn)Stellen Sie das Release-Tag in Nexus OSS @ bereiVersion der Verzweigung in neue Snapshot-Nummer ändern (Festschreiben bei svn)Wie Sie sehen können, verwende ich:
Nexus OSS als VersionsverwaltungSVN als scmGradle (2.8)Ich versuche meine Ziele mit diesen beiden Plugins zu erreichen:
Version der Verzweigung in Versionsnummer ändern (Commit bei svn)Erstelle ein Tag (bei svn)Version der Verzweigung in neue Snapshot-Nummer ändern (Festschreiben bei svn)Befehlszeile:gradle release
Maven Publish Plugin auf Nexus bereitstellen:
Befehlszeile:gradle publish
Haben Sie eine Idee, wie ich ein Release generieren und automatisch auf einmal für Nexus bereitstellen könnte?
Below ist mein 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
]
}