我正在使用gradle build开发一个多模块android项目。
我正在使用maven-publish插件将工件发布到声纳类型的联系。
当前设置在每个模块中都有一个发布作业
plugins{
id(Plugins.kotlinAndroidApplication)
id(Plugins.kotlinAndroid)
id(Plugins.kotlinAndroidExtensions)
id(Plugins.mavenPublish)
id(Plugins.dokkaAndroid)
}
publishing {
repositories {
maven {
credentials {
username = project.properties["mavenUser"] as? String
password = project.properties["mavenPassword"] as? String
}
url = https://mynexus
}
}
publications {
create<MavenPublication>("mavenAar") {
groupId = rootProject.extra.get("groupId") as String
artifactId = rootProject.extra.get("artifactId") as String
version = (rootProject.extra.get("versionName") as String) + (if (project.hasProperty("release")) "" else "-SNAPSHOT")
from(components["android"])
//artifact(tasks["javadocJar"])
artifact(tasks["dokkaJar"])
}
}
}
当我的Jenkin CI使用deploy = true构建项目时,将发布每个模块。问题是某些模块依赖于其他模块,因此依赖模块将被发布两次。发行版nexus maven repo不允许重新部署具有相同版本的模块。
是否只发布某些模块或确保每个模块仅部署一次?