我正在尝试使用Nexus Jenkins插件上传带有pom文件的发布工件。 Nexus存储库配置有“禁用重新部署”的部署策略,因此发行版不能被覆盖。 为了简化问题,假设我只想上传我的自定义pom: 出于某种原因,当执行nexusPublisher时,Nexus在执行上载pom ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
如何使用给定的(prêt-à-porter)POM 文件发布工件? 如果可能,请在调用发布任务之前告知何时以及如何设置它。
在 Gradle 中,有 artifact jar 和相应的自定义 POM,你不能像在 Maven 中那样发布它们:
mvn deploy:deploy-file
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-DpomFile=<path-to-pom> <====== customized POM
-Dfile=<path-to-file>
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml>
-Durl=<url-of-the-repository-to-deploy>
你不能从 build.gradle 脚本中做到这一点,我认为即使是任何插件也无法做到这一点。
功能可以在 AbstractPublisher 类中,但您不能子类化该类,添加功能实现并插入自定义发布者以用于 publishPublicationToMavenRepository 任务。
您可以做的(如果您有具有依赖项的 jar 项目)是破解构建阶段,即 jaring 步骤:
jar.finalizedBy(project.tasks.setYourPom)
在哪里
task setYouPom(type: DefaultTask ){
.....you substitute your JAR by renaming
and the POM you are getting for free ;) in the Publication
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.