Gradle: Ermittelt alle Dateien in einer Abhängigkeit vom Maven-Repository

9

Ich möchte alle verfügbaren Dateien in einer Abhängigkeit zu meinen Artefakten hinzufügen, damit ich diese Abhängigkeit in ein anderes Nexus-Repository hochladen kann.

Meine Abhängigkeit enthält 15 Dateien, die in meinem Nexus-Repository unter demselben GAV gespeichert sind:

%Vor%

Die -sources.jar Datei hat eine <classifier>sources</classifier> Eigenschaft, die tgz und pom Dateien haben eine <extension> Eigenschaft und die anderen haben nichts besonderes.

Die Sache ist, ich möchte so viel wie möglich hardcoding vermeiden, um nur die GAV-Parameter an mein Skript übergeben zu können, und es kann das ganze Holen und Freigeben für jeden GAV selbständig erledigen, egal welche Dateien es sind verfügbar.

Die Lösung, an der ich gerade arbeite, ist die direkte Abfrage des Nexus-Repos, um die Dateiliste mit einer URL wie dieser zu erhalten:

http://mynexushost:8081/nexus/service/local/repositories/snapshots/content/${group}/${artifact}/${version}/

Das sendet mir einen JSON (mit dem accept-Header auf application/json ) mit den URLs und Sachen, die ich brauche, um alle verfügbaren Dateien zu retreive, lade sie herunter und füge sie meinen Artefakten hinzu und lade sie dann in mein Ziel-Repository hoch.

Ich bin mir ziemlich sicher, dass diese Lösung funktioniert, aber es ist definitiv nicht der "Gradle-Weg", es zu tun, da es mich mit Nexus verbindet und die eingebauten Maven-Abhängigkeitsauflösungs-Dienstprogramme nicht verwendet.

Wie kann ich das lösen, ohne die Nexus-API abzufragen?

    
Johnride 27.07.2015, 16:45
quelle

1 Antwort

1

Ich habe ein Tool namens Maven Repository Provisioner erstellt, das genau das erreicht. Sie können es unter Ссылка

ausprobieren

Es wird in der Produktion für genau den Zweck verwendet, den Sie wollen, aber es berechnet auch alle transitiven Abhängigkeiten und benötigt Elternteile. Schau es dir an und wenn es nicht alles macht was du willst ... nehme ich Pull Requests ;-)

    
Manfred Moser 25.08.2015 01:21
quelle

Tags und Links