【发布时间】:2016-09-10 00:21:20
【问题描述】:
我在一个使用 maven 和 gradle 的团队中,我有一个 gradle 项目想要生成一个正常工作的 pom 文件,以便我们的 maven 用户可以继续使用 maven。
到目前为止,我已经解决了这个问题,生成了一个具有适当依赖关系的 pom,如下所示:
build.gradle 摘录:
task createpom(dependsOn: 'build') << {
pom {
project {
groupId project.group
artifactId project.name
version project.version
}
}.writeTo("pom.xml")
}
build.finalizedBy(createpom)
这适用于仅在 pom 上创建依赖项,但 gradle 的 maven 插件 API 似乎不支持定义 <build> 标记的内容,我需要导入某些插件才能成功构建 maven。
简而言之,我需要以下之一:
- 将构建标签后处理到生成的 POM 中。我可以通过直接操作文件来做到这一点,但我不想这样做。
- 将 POM 拆分为两部分,一部分仅包含 gradle 管理的依赖项,另一部分仅包含人工管理的事物。不幸的是,我没有看到任何通过文件名任意命名 pom 依赖项的方法。仅涉及添加仅 pom 项目或使用多模块构建的解决方案,考虑到我不需要可共享的父 pom 或多模块项目,我都不喜欢这两种解决方案。我更喜欢类似于
<import>my/arbitrary/path/buildstuff.xml</import>的东西,因为真正需要做的就是将同一项目/生命周期的 POM 的两半粘合在一起。
除了我目前发现的方法之外,还有更好的方法来实现这一点吗?
【问题讨论】: