2013-02-22 14 views
5

Obecnie używam Ant i Maven w różnych projektach. Aby zachować zgodność z niektórymi przepisami, jestem odpowiedzialny za wymienienie wszystkich licencji używanych w każdym projekcie.Jak mogę skompilować raport pokazujący wszystkie używane licencje z Ant?

Z Maven, jest to łatwe, ponieważ Maven Project Info Reports Plugin automatycznie generuje taki raport.

Ponieważ nie lubię wyszukiwać licencji na wszystkie moje pliki JAR, których używam w projektach, chciałbym wiedzieć, czy istnieje wtyczka do Anta, wykonująca to zadanie.

Z góry dziękuję!

Odpowiedz

2

Ponieważ kwestia ta nie ma żadnych wskazówek, wskazówek lub nawet odpowiedzi, ja włamał rozwiązanie przeze mnie: license-report at github

license-report Ant jest zadaniem, które określa licencję na większości plików jar. Obecnie wyszukuje pliki w następujących celach informacyjnych:

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

Pliki te można znaleźć w kilku popularnych bibliotekach Open Source/Free Software. Niektóre biblioteki nie dostarczają żadnych informacji na temat licencji (np. Spring framework).
Dla tych bibliotek zadanie nie znajduje żadnych informacji.

Zaktualizuję projekt tak szybko, jak to możliwe, aby wydrukował ładny raport xml i html na temat znalezionych licencji. Dotyczy to również dokumentacji i sposobu jej wykonania.

Obecnie pracuję nad demo project przy użyciu tego zadania Ant.

Projekt demonstracyjny tworzy teraz plik XML zawierający wszystkie informacje z biblioteki. Po prostu uruchom (z zainstalowanym Ant) przez ant build.xml w folderze głównym license-report-demo. Drukuje lokalizację wygenerowanego pliku XML. Dodam również XSLT, aby przekształcić XML w ładny raport HTML. Przyjdzie mi to za kilka dni.

Tworzę plik XML do dalszego przetwarzania (np. Systemy CI takie jak Hudson/Jenkins). Pomoże to wygenerować listę wszystkich licencji dla projektów w systemie centralnym.