我在使用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 build。
简而言之,我需要以下其中一项:
<import>my/arbitrary/path/buildstuff.xml</import>
的东西,因为所有真正需要做的就是将POM的两半粘合在同一个项目/生命周期中。除了我迄今为止发现的内容之外,还有更好的方法来实现这一目标吗?
答案 0 :(得分:0)
我选择了XML调整解决方案,事实证明它比我预期的要优雅得多。实现涉及将非托管pom添加到我的项目目录中以保存构建的人工管理部分,并修改我的createpom任务:
task createpom(dependsOn: 'build') << {
pom {
project {
groupId project.group
artifactId project.name
version project.version
}
}.withXml {
def templateXml = (new XmlParser()).parse('pom-unmanaged.xml')
asNode().append(templateXml.build)
}.writeTo("pom.xml")
}
pom-unmanaged.xml
采用典型pom的形式,减去我的gradle构建脚本生成的位。