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粘合在一起。
除了目前爲止發現的情況,還有更好的方法來完成嗎?