Как управлять лицензионными баннерами в исходных файлах проектов плагинов Eclipse - PullRequest
17 голосов
/ 15 октября 2008

Я собираюсь выпустить набор плагинов Eclipse как Open Source и заметил, что большая часть исходного кода, выпущенного под LGPL / EPL, содержит заголовочный баннер в каждом файле, который относится к лицензии или содержит саму лицензию. 1001 *

Поскольку добавление этих баннеров в каждый файл вручную представляется сложной и подверженной ошибкам задачей. Как я могу автоматизировать вставку этих баннеров?

Ответы [ 2 ]

6 голосов
/ 15 октября 2008

Что касается передового опыта, я считаю, что у вас должен быть текст лицензии в отдельном файле и инструмент для сборки (то есть, муравей), чтобы добавить его в начало всех других файлов. Поскольку вы говорите о проекте с открытым исходным кодом, вам все равно понадобится процесс сборки для таких мыслей, как генерация javadocs, публикация релизов и т. Д.

Кстати, задачи ant - это простые классы Java, поэтому вам будет легко написать их самостоятельно, если вы не найдете подключаемый модуль ant, который делает именно это.

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

  1. Создать новый каталог для хранения файлов:

    mkdir ~ / outdir

  2. Добавить сообщение в начале каждого файла и поместить результат в outdir

    для меня в ls "*.java"; do cat msg $ i> ~ / outdir / $ i; сделано

Точно так же вы можете написать команду, которая делает то же самое рекурсивно, с дополнительным шагом для создания структуры каталога:

mkdir ~/outdir
for i in `find -type d | sed 's/\.//' | grep -v "^$"`; do mkdir ~/outdir$i; done
for i in `find -name "*.java"`; do cat msg $i > ~/outdir/$i ; done
2 голосов
/ 16 октября 2008

Более Eclipse-подобный подход, чем ручное добавление, заключается в следующем, выполненном через графический интерфейс в Eclipse. Обратите внимание, что это меню Linux / Windows; Mac немного отличается.

  1. Открыть Windows->Preferences
  2. Перейдите к Java->Code Style->Code Templates
  3. Измените шаблон комментария Comments->Files, включив в него свой шаблон.
    Существуют переменные для текущего года, имени файла и т. Д.

Также обратите внимание, что это решение только для новых файлов; это не поможет вам со старыми файлами; для этого я бы использовал что-то вроде решения idrosid для вашего существующего кода

...