1
我在一个使用maven和gradle的团队中,我有一个希望生成一个运行pom文件的gradle项目,以便我们的maven用户可以继续使用maven。Gradle使用maven插件管理生成的POM上的插件
到目前为止我解决了这个问题,如下产生适当的依赖关系的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项目或使用多模块构建的解决方案,这两者我都不认为我不需要可共享的父项目或多项目模块项目。我更喜欢类似于
<import>my/arbitrary/path/buildstuff.xml</import>
的东西,因为所有真正需要做的事情是将同一项目/生命周期的两个POM粘合在一起。
除了目前为止发现的情况,还有更好的方法来完成吗?