android - maven-publish plugin gradle 只发布特定模块
问题描述
我正在使用 gradle build 开发一个多模块 android 项目。
我正在使用 maven-publish 插件将工件发布到 sonartype nexus。
当前设置在每个模块内都有一个发布作业
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"])
}
}
}
当我的 Jenkins CI 使用 deploy = true 构建项目时,每个模块都会被发布。问题是某些模块依赖于其他模块,因此依赖模块将被发布两次。在发布 nexus maven repo 上不允许重新部署具有相同版本的模块。
无论如何只发布某些模块或确保每个模块只部署一次?
解决方案
推荐阅读
- python-3.x - PermissionError:[Errno 13] 权限被拒绝在 Windows 10 上使用代理的 Jupyter 笔记本
- python - 为什么 struct little endian 中的第一个打包数据是 big endian?
- bash - 在管道之后将 awk 结果传递给命令
- android - 在 Intent 中覆盖 OnActivityResult 不起作用 - kotlin
- algorithm - 验证稳定匹配的算法?
- python - 将列表转换为字典,然后通过键值将多个字典合并为一个
- python - 为什么这些条形图彼此重叠?
- chisel - 如何从 Uint 转换为 Int
- html - 弹性项目和负 z-index 数字
- python - 在一个 BS find_all 中提取两个 div 标签