Я ищу инструмент, который будет массово добавлять заголовок лицензии к некоторым исходным файлам, некоторые из которых уже имеют заголовок. Есть ли инструмент, который вставит заголовок, если он еще не присутствует?
Изменить: я намеренно не отмечаю ответ на этот вопрос, поскольку ответы в основном зависят от среды и субъективны.
header
language-agnostic
Алекс Лайман
источник
источник
Ответы:
источник
"$i"
for i in $(find /folder -name '*.cc');
чтобы запустить скрипт в подкаталогахРешение Python, измените под свои нужды
Особенности:
-
источник
Ознакомьтесь с заголовком об авторских правах RubyGem. Он поддерживает файлы с расширениями, заканчивающимися на php, c, h, cpp, hpp, hh, rb, css, js, html. Он также может добавлять и удалять заголовки.
Установите его, набрав "
sudo gem install copyright-header
"После этого можно сделать что-то вроде:
Он также поддерживает пользовательские файлы лицензий с использованием аргумента --license-file.
источник
--license-file
аргументом и используйте--remove-path
флаг, чтобы удалить этот точный заголовок из всех файлов. По сути, существует так много разных типов заголовков, что создание алгоритма для их надежного удаления нетривиально.Dockerfile
что установка обременительных рубиновых зависимостей больше не проблема,Вот сценарий Bash, который поможет, если у вас есть заголовок лицензии в файле license.txt:
Файл addlicense.sh:
Теперь запустите это в исходном каталоге:
источник
cut -f1 -d ' '
Изменить: если вы используете eclipse, есть плагин
Я написал простой скрипт на Python, основанный на ответе Silver Dragon. Мне нужно было более гибкое решение, поэтому я придумал это. Он позволяет вам рекурсивно добавлять заголовочный файл ко всем файлам в каталоге. При желании вы можете добавить регулярное выражение, которому должны соответствовать имена файлов, и регулярное выражение, которому должны соответствовать имена каталогов, и регулярное выражение, которому не должна соответствовать первая строка в файле. Вы можете использовать этот последний аргумент, чтобы проверить, включен ли уже заголовок.
Этот сценарий автоматически пропустит первую строку в файле, если она начинается с shebang (#!). Это сделано, чтобы не нарушить работу других скриптов, которые на это полагаются. Если вы не хотите этого поведения, вам придется закомментировать 3 строки в writeheader.
вот:
источник
Для Java вы можете использовать плагин Maven License: http://code.google.com/p/maven-license-plugin/
источник
Хорошо, вот простой инструмент пользовательского интерфейса только для Windows, который ищет все файлы указанного типа в папке, добавляет желаемый текст в начало (текст вашей лицензии) и копирует результат в другой каталог (избегая потенциальных проблем с перезаписью) . Это тоже бесплатно. Требуется .Net 4.0.
На самом деле я являюсь автором, поэтому не стесняйтесь запрашивать исправления или новые функции ... однако никаких обещаний по графику доставки нет. ;)
дополнительная информация: Инструмент заголовка лицензии на Amazify.com
источник
Ознакомьтесь с лицензионным сумматором. Он поддерживает несколько файлов кода (даже пользовательских) и правильно обрабатывает существующие заголовки. Поставляется уже с шаблонами для наиболее распространенных лицензий с открытым исходным кодом.
источник
license-adder
вы конкретно имеете в виду? Я нашел сумматор лицензий - бесплатное приложение .NET - хостинг проектов Google иВот тот, который я использовал в PHP для изменения файлов PHP. Мне также нужно было удалить старую лицензионную информацию, поэтому она сначала заменяет старый текст, а затем добавляет новый текст сразу после открытия
источник
Вот тот, который я нашел в списке Apache. Он написан на Ruby и кажется достаточно легким для чтения. Вы даже должны иметь возможность звонить с рейка для особой аккуратности. :)
источник
Если он вам все еще нужен, я написал небольшой инструмент под названием SrcHead . Вы можете найти его на http://www.solvasoft.nl/downloads.html.
источник
header.txt
добавляется//
к каждой строке, а первая строка начинается с спецификации Unicode.если вы используете sbt, есть https://github.com/Banno/sbt-license-plugin
источник