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

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

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

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

Какие элементы должен отображать информационный диалог?

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

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


person Tobias Schulte    schedule 10.11.2008    source источник


Ответы (3)


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

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

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

Поэтому я предполагаю, что еще одна вещь, которую вы хотите включить в поле «О программе», — это способ, с помощью которого люди могут найти ваш сайт поддержки и любые уведомления, важные для пользователей конкретной версии (независимо от того, есть ли в вашем приложении возможность проверки — очередь обновлений).

person orcmid    schedule 10.11.2008

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

person Nikhil Kashyap    schedule 10.11.2008
comment
А что делать, если манифест библиотеки jar не содержит какой-либо информации? - person Tobias Schulte; 10.11.2008

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

person Arvind    schedule 10.11.2008