2013-02-22 2 views
5

Ich benutze derzeit Ant und Maven in verschiedenen Projekten. Um bestimmte Vorschriften zu erfüllen, muss ich alle Lizenzen auflisten, die in jedem Projekt verwendet werden.Wie kann ich einen Bericht erstellen, der alle verwendeten Lizenzen mit Ant zeigt?

Mit Maven, es ist einfach, da die Maven Project Info Reports Plugin automatisch einen solchen Bericht erzeugt.

Da ich nicht gern bin von Lizenzen für alle meine JARs Suche ich in den Projekten bin mit, würde Ich mag wissen, ob es ein Plugin für Ant ist, diese Aufgabe durchführen.

Vielen Dank im Voraus!

Antwort

2

Da diese Frage keine Hinweise nicht hat, Zeiger oder sogar Antworten, gehackt ich eine Lösung von mir: license-report at github

Die license-report eine Ant-Task ist, die eine Lizenz für die meisten JAR-Dateien bestimmt. Derzeit sucht er in den folgenden Dateien für Informationen:

  • META-INF/MANIFEST.MF
  • META-INF/LICENSE
  • LICENSE.txt
  • LICENSE
  • license/LICENSE.txt
  • license/LICENSE

Diese Dateien befinden sich in mehreren gängigen Open Source/Free Software-Bibliotheken. Einige Bibliotheken enthalten keine Informationen zu ihrer Lizenz (z. B. Spring Framework).
Für diese Bibliotheken findet die Task keine Informationen.

Ich werde das Projekt so bald wie möglich aktualisieren, dass es druckt einen schönen xml und html Bericht über die gefundenen Lizenzen aus. Dokumentation und How To werden ebenfalls folgen.

arbeite ich derzeit an einem demo project diese Ant-Task verwenden.

Das Demoprojekt erstellt jetzt eine XML-Datei mit allen Bibliotheksinformationen. Starten Sie es einfach (mit installierter Ant) über ant build.xml im Stammverzeichnis von license-report-demo. Es gibt den Speicherort der generierten XML-Datei aus. Ich werde auch ein XSLT einbinden, um das XML in einen netten HTML-Bericht umzuwandeln. Das wird in einigen Tagen kommen, denke ich.

Ich erstelle eine XML-Datei für die weitere Verarbeitung (z. B. CI-Systeme wie Hudson/Jenkins). Dies wird dazu beitragen, eine Liste aller Lizenzen über Projekte in einem zentralen System zu erstellen.

Verwandte Themen