Как отображать кредиты

Я хочу отдать должное всем библиотекам с открытым исходным кодом, которые мы используем в нашем (коммерческом) приложении. Я думал показать HTML-страницу в нашем диалоге. В нашем процессе сборки используется ant, а сторонние библиотеки - в svn.

Как вы думаете, лучший способ создания HTML-страницы?

  • Жесткий код HTML-страницы?
  • Включить управление зависимостями apache-ivy и написать некоторую задачу ant для генерации html
  • Используйте maven- ant -tasks и напишите несколько задач ant для генерации HTML
  • Используйте maven только для обработки зависимостей и HTML один раз, загрузите их и скопируйте их. Остальное выполняется без изменений ant -scripts
  • Переключитесь на maven2 (Эй, босс, я хочу переключиться на maven, через 1 месяц сборка, возможно, снова заработает...)
  • ...

Какие элементы должны отображаться в диалоговом окне?

  • Имя библиотеки
  • Версия
  • Лицензия
  • Автор
  • Главная
  • Изменения, внесенные со ссылкой на исходный архив
  • ...

Есть ли советы по лучшей практике? Некоторые хорошие примеры (приложения, имеющие приятное диалоговое окно, показывающее зависимости)?

Ответ 1

Есть две разные вещи, которые вам нужно рассмотреть.

Во-первых, вам может потребоваться определить лицензии стороннего кода. Это часто происходит с файлом THIRDPARTYLICENSE. Sun Microsystems делает это много. Например, посмотрите в каталоге установки для OpenOffice.org. Существуют примеры файлов .txt и .html таких файлов.

Во-вторых, вам может понадобиться кратко определить ваши зависимости в поле "О программе" (а также обратиться к файлу информации о лицензии). Я бы удостоверился, что версии появятся в поле "О программе". Одна вещь, которую люди хотят быстро проверить, - это указание на необходимость замены или обновления копии вашего кода, потому что одна из зависимостей вашей библиотеки обнаружила недавно обнаруженную ошибку или уязвимость безопасности.

Итак, я думаю, что другая вещь, которую вы хотите включить в поле about, - это способ для людей найти ваш сайт поддержки и любые уведомления, имеющие значение для пользователей конкретной версии (независимо от того, есть ли у вас положение в вашем приложении для проверка on-line для обновлений).

Ответ 2

Задача

Ant представляется наилучшим способом. Мы делаем аналогичную вещь в одном из наших проектов. Все библиотеки с открытым исходным кодом присутствуют в указанной папке. Задача Ant считывает манифест этих библиотек, версий и т.д. И генерирует HTML-копии, копирует их в другую указанную папку, откуда ее берет веб-контейнер.

Ответ 3

Создание страницы с каждой сборкой было бы расточительным, если библиотеки не будут часто меняться. Варианты библиотек могут меняться, но в реальных библиотеках этого нет. Легче всего создать HTML-страницу - это самый простой выход, но еще одна головка обслуживания болит. Создайте его один раз и включите его в пакет. script всегда можно запустить снова в случае внесения каких-либо изменений в библиотеки (обновление версий, добавление новых библиотек).