2015-06-23 8 views
3

Нам нужно получить все лицензии на зависимости наших услуг. Хотя их легко получить от report plugin (или mojohaus' license-maven-plugin), наши юристы хотят, чтобы мы действительно отправились к источнику каждой зависимости и захватили файл лицензии. Вы знаете, как мы можем это достичь?Получение лицензий зависимостей

В качестве альтернативы - как я могу получить URL-адрес соединения scm-артефакта? Я могу использовать эту информацию для автоматизации этого процесса.

ответ

1

Чтобы все было в порядке, вам нужно сначала собрать все двоичные и исходные банки для каждого Jar, от которого вы зависите. Это может быть хорошим началом: http://maven.apache.org/components/plugins/maven-dependency-plugin/ (Я не эксперт по maven). Похоже, что он тоже может получить источники. Вы, наверное, хотите, чтобы запустить что-то вроде этого, но я не уверен, где источники идут:

mvn dependency:sources 

Смотрите также: https://stackoverflow.com/a/11361413/302521

После того, как вы их принесли вы можете установить скан (https://github.com/nexB/scancode-toolkit), а затем запустить extractcode для каталога, который содержит ваши банки, чтобы распаковать их все, а затем scancode --format html-app <you jar dir> my-jars.html, чтобы получить подробный отчет о лицензиях и авторских правах: откройте my-jars.html в своем браузере.

Раскрытие информации: Я являюсь одним из авторов ScanCode, и, кстати, я работаю над тем, чтобы получить в ScanCode именно то, что вы просили: разрешить дерево деления Maven, извлечь все банки и источники и, наконец, собрать метаданные POM и запустить проверку на двоичные файлы + источники. Может вас заинтересовать?

О подключении scm, это не всегда в POM, поэтому я бы не рекомендовал этот маршрут. Еще реже этот источник Jars.