【发布时间】:2018-05-10 09:49:10
【问题描述】:
我有一个 gradle 文件,用于构建 JAR 并将其发布到 nexus 服务器上的 maven 存储库中。
build.gradle文件
publishing {
publications {
maven(MavenPublication) {
artifact shadowJar
}
}
repositories {
maven {
credentials {
username nexusUsername
password nexusPassword
}
if (IsSnapshot.toBoolean())
url "${nexusUrl}/repository/maven-snapshots/"
else
url "${nexusUrl}/repository/maven-releases/"
}
}
}
此任务根据IsSnapshot 的值将 JAR 文件发布到相应的存储库(快照/发布)。
我还有一个变量:DoPublish。如果DoPublish是true,那么我要发布包;否则,我不想在 nexus 上发布包。
我想在这种情况下我应该将url 设置为一个空字符串。有没有更好的建议?
gradle 任务的输出
发布任务
generatePomFileFor{module1}Publication - 为发布“module1”生成 Maven POM 文件。
generatePomFileFor{module2}Publication - 为发布“module2”生成 Maven POM 文件。
generatePomFileForMavenPublication - 为发布“maven”生成 Maven POM 文件。
publish - 发布此项目制作的所有出版物。
publish{module1}PublicationToMavenLocal - 将 Maven 发布“module1”发布到本地 Maven 存储库。
publish{module1}PublicationToMavenRepository - 将 Maven 发布“module1”发布到 Maven 存储库“maven”。
publish{module2}PublicationToMavenLocal - 将 Maven 发布“module2”发布到本地 Maven 存储库。
publish{module2}PublicationToMavenRepository - 将 Maven 发布“module2”发布到 Maven 存储库“maven”。
publishMavenPublicationToMavenLocal - 将 Maven 发布“maven”发布到本地 Maven 存储库。
publishMavenPublicationToMavenRepository - 将 Maven 出版物“maven”发布到 Maven 存储库“maven”。
publishToMavenLocal - 将此项目生成的所有 Maven 发布发布到本地 Maven 缓存。
【问题讨论】:
-
似乎相关:stackoverflow.com/q/21433251/7224691。设置更多的出版物/项目可能对其他观众(就像我一样)有用。
标签: java maven gradle build.gradle