Wie kann ich in Gradle eine POM-Datei mit dynamischen Abhängigkeiten erzeugen, die in die tatsächlich verwendete Version aufgelöst wurden?
%Vor%Dies wird aus der obigen Abhängigkeit generiert.
%Vor% Ich möchte die +
in eine Accrual-Version wie unten aufgelöst haben.
Das Kapitel über die Rangliste auf Maven Publishing spricht darüber, dies zu tun, erwähnt aber nicht wie .
Mit diesem Haken können Sie jeden Aspekt des POM ändern. Beispielsweise könnten Sie den Versionsbereich für eine Abhängigkeit durch die tatsächliche Version ersetzen, die zum Erstellen des Builds verwendet wurde.
Unter Verwendung der Informationen in Peter Niederwiesers Antwort habe ich eine Aufgabe erstellt, die ein POM liest, das dynamische Abhängigkeiten enthält, und es mit einem neuen Pom überschreibt, bei dem die Abhängigkeiten aufgelöst sind.
%Vor%Es wird einige Anstrengungen erfordern, um dies zu programmieren. Die zwei Hauptteile sind:
Configuration#getIncoming
oder Configuration#getResolvedConfiguration
XMlParser
API (vorausgesetzt, das neue maven-publish
Plugin wird verwendet) Informationen zur Configuration
API finden Sie in Gradle Build Language Reference , die weiter in das Javadoc einbindet.
Die vollständige Gradle-Verteilung enthält ein kleines Beispiel zeigt die POM-Manipulation. Informationen über XmlParser
finden Sie in den Groovy-Dokumenten.
Ich habe versucht, dies in ein Plugin zu integrieren, das angewendet werden kann. Der spezifische Code ist hier verfügbar: Ссылка
Und es kann via jcenter () über 'com.netflix.nebula: nebula-publishing-plugin: 1.9.1' eingebunden werden.
Tags und Links dependencies java gradle maven pom.xml