Ich bin in einem Team, wo Maven und Gradle verwendet wird, und ich habe ein Großprojekt, die eine funktionierende Pom-Datei erstellen möchten, so dass unsere Maven-Benutzer weiterhin Maven verwenden können.Gradle verwalten Plugins auf generierten POM mit Maven-Plugin
ich dieses Problem gelöst haben, sofern ein pom mit entsprechenden Abhängigkeiten zu erzeugen, wie folgt:
build.gradle Auszug:
task createpom(dependsOn: 'build') << {
pom {
project {
groupId project.group
artifactId project.name
version project.version
}
}.writeTo("pom.xml")
}
build.finalizedBy(createpom)
Das funktioniert gut für auf einem pom nur die Abhängigkeiten schaffen, sondern Gradle's maven plugin API scheint nicht zu unterstützen, den Inhalt des Tags <build>
zu definieren, den ich brauche, um bestimmte Plugins für einen erfolgreichen Maven Build zu importieren.
Kurz gesagt, ich brauche eine der folgenden Möglichkeiten:
- die Build-Tag in das erzeugte POM Nachverarbeitung. Ich könnte es tun, indem ich die Datei direkt manipuliere, aber lieber nicht.
- Teilen des POM in zwei Teile, eines mit nur großen verwalteten Abhängigkeiten und eines mit nur den vom Menschen verwalteten Dingen. Leider sehe ich keine Möglichkeit, eine Pom-Abhängigkeit willkürlich nach Dateinamen zu benennen; nur Lösungen, die das Hinzufügen eines Pom-Only-Projekts oder das Verwenden von Multi-Modul-Builds beinhalten, von denen ich nicht gerne bedenke, dass ich kein gemeinsam nutzbares Eltern-Pom- oder Multi-Modul-Projekt benötige. Ich würde viel lieber etwas ähnliches wie
<import>my/arbitrary/path/buildstuff.xml</import>
, da alles, was wirklich zu tun ist, kleben zwei Hälften eines POM für das gleiche Projekt/Lebenszyklus zusammen.
Gibt es einen besseren Weg, dies zu erreichen als das, was ich bisher gefunden habe?