Tôi đang tạo bản dựng gradle làm người dùng mới, nhưng trước đây tôi đã làm việc với maven.plugin phát hành gradle + plugin xuất bản maven
Tôi đang cố gắng để tái tạo các hành động của các plugin maven phát hành:
- phiên bản Thay đổi chi nhánh chuẩn bị tung ra số (cam kết tại svn)
- Tạo một thẻ (tại svn)
- Triển khai việc phát hành thẻ trong Nexus OSS
- phiên bản Thay đổi chi nhánh số Snapshot mới (cam kết tại svn)
Như bạn thấy, tôi đang sử dụng:
- Nexus OSS như versioning kho
- SVN như scm
- Gradle (2,8)
Tôi đang cố gắng để đạt được mục tiêu của tôi với hai plugin này:
-
- Thay đổi phiên bản chi nhánh chuẩn bị tung ra số (cam kết tại svn)
- Tạo một thẻ (tại svn)
- Thay đổi phiên bản chi nhánh số Snapshot mới (cam kết tại svn)
Command: gradle phát hành
Maven Publish Plugin để triển khai đến Nexus: dòng
Command: gradle xuất bản
Bất kỳ ý tưởng làm thế nào tôi có thể tạo ra một thông cáo và tự động triển khai nó đến Nexus trong một shot?
Dưới đây là tôi 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
]
}