我需要上傳多模塊項目中生成的多個aar。我的項目結構如下。使用jenkins - gradle release將多個aar上傳到Nexus
Project Root
|--Main app
|--Sub-Module1
|--Sub-Module2
|--Sub-Module3
每個子模塊產生,我需要上傳所有AARS的發行版本的Nexus但是我不希望的APK上傳到Nexus.I正在通過所有從詹金斯的聯繫地址和名氣AAR文件。
這裏是我的根的build.gradle
release {
failOnCommitNeeded = false
failOnPublishNeeded = true
failOnSnapshotDependencies = true
failOnUnversionedFiles = false
failOnUpdateNeeded = true
revertOnFail = true
preCommitText = ''
preTagCommitMessage = '[Gradle Release Plugin] - pre tag commit: '
tagCommitMessage = '[Gradle Release Plugin] - creating tag: '
newVersionCommitMessage = '[Gradle Release Plugin] - new version commit: '
tagTemplate = '$version'
versionPropertyFile = './gradle.properties'
versionProperties = []
buildTasks = ['uploadAllArchives']
scmAdapters = [
net.researchgate.release.GitAdapter
]
git {
requireBranch = ''
}
}
task ("uploadAllArchives") {
doLast{
println 'uploadAllArchives'
subprojects.each { subProject->
if(!subProject.name.contains('app') && !rootProject)
it.uploadArchives.execute();
}
}
}
發佈-的build.gradle
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: (project.hasProperty('repoUrl') ? repoUrl
: sonatypeRepo)) {
authentication(userName: sonatypeUsername, password:
sonatypePassword)
pom.groupId = sonatypeGroupID
pom.artifactId = project.name
pom.version = version
}
}
}
}
子模塊的build.gradle:
apply from: '../publish-build.gradle'
gradle clean build uploadArchives
這成功上傳我的一切快照對Nexus進行了測試。
gradle release
- 它成功地做了發佈,但沒有上傳任何東西到Nexus但是構建成功。
你能幫我解我所缺少的嗎?
Hi Hillkon,謝謝你。不過,我不想上傳apk的(在應用程序模塊中生成),我只想上傳在子模塊中生成的aar。上面的代碼片段在app模塊中尋找uploadArchives任務。你有什麼想法,我怎麼能做到這一點? –
嘿,沒有那麼多時間抱歉,但我會看看PomFilters,你可以使用https://docs.gradle.org/2.2/javadoc/org/gradle/api/artifacts/maven/PomFilterContainer.html 和 https://docs.gradle.org/3.3/userguide/maven_plugin.html#sub:multiple_artifacts_per_project – Hillkorn