Szukam narzędzia, które zbiorczo doda nagłówek licencji do niektórych plików źródłowych, z których niektóre mają już nagłówek. Czy istnieje narzędzie, które wstawi nagłówek, jeśli jeszcze go nie ma?
Edycja: Celowo nie zaznaczam odpowiedzi na to pytanie, ponieważ odpowiedzi są w zasadzie wszystkie specyficzne dla środowiska i subiektywne
header
language-agnostic
Alex Lyman
źródło
źródło
Odpowiedzi:
źródło
"$i"
for i in $(find /folder -name '*.cc');
aby uruchomić skrypt w podkatalogachRozwiązanie Python, zmodyfikuj na własne potrzeby
Cechy:
-
źródło
Sprawdź RubyGem z nagłówkiem autorskim. Obsługuje pliki z rozszerzeniami kończącymi się na php, c, h, cpp, hpp, hh, rb, css, js, html. Może również dodawać i usuwać nagłówki.
Zainstaluj go, wpisując „
sudo gem install copyright-header
”Następnie możesz zrobić coś takiego:
Obsługuje również pliki licencji niestandardowych przy użyciu argumentu --license-file.
źródło
--license-file
argumentem i użyj--remove-path
flagi, aby usunąć ten dokładny nagłówek ze wszystkich plików. Zasadniczo istnieje tak wiele różnych typów nagłówków, więc stworzenie algorytmu niezawodnego ich usuwania jest nietrywialne.Dockerfile
więc instalacja uciążliwych zależności ruby nie jest już problememOto skrypt Bash, który załatwi sprawę, zakładając, że masz nagłówek licencji w pliku license.txt:
Plik addlicense.sh:
Teraz uruchom to w swoim katalogu źródłowym:
źródło
cut -f1 -d ' '
Edycja: jeśli używasz eclipse, jest wtyczka
Napisałem prosty skrypt w Pythonie na podstawie odpowiedzi Silver Dragon. Potrzebowałem bardziej elastycznego rozwiązania, więc wymyśliłem to. Pozwala na rekurencyjne dodawanie pliku nagłówkowego do wszystkich plików w katalogu. Opcjonalnie możesz dodać wyrażenie regularne, do którego nazwy plików powinny pasować, oraz wyrażenie regularne, w którym nazwy katalogów powinny być zgodne, oraz wyrażenie regularne, do którego nie powinna pasować pierwsza linia w pliku. Możesz użyć tego ostatniego argumentu, aby sprawdzić, czy nagłówek jest już uwzględniony.
Ten skrypt automatycznie pominie pierwszą linię w pliku, jeśli zaczyna się od shebang (#!). Ma to na celu nie zepsucie innych skryptów, które na tym polegają. Jeśli nie chcesz tego zachowania, musisz zakomentować 3 linie w writeheader.
tutaj jest:
źródło
W przypadku Javy możesz użyć wtyczki Maven's License: http://code.google.com/p/maven-license-plugin/
źródło
Ok, tutaj jest proste narzędzie interfejsu użytkownika tylko dla systemu Windows, które wyszukuje wszystkie pliki określonego typu w folderze, dołącza tekst, który chcesz, na górze (tekst licencji) i kopiuje wynik do innego katalogu (unikając potencjalnych problemów z nadpisaniem) . Jest to również bezpłatne. Wymagany .Net 4.0.
Właściwie jestem autorem, więc nie krępuj się prosić o poprawki lub nowe funkcje ... ale bez obietnic dotyczących harmonogramu dostaw. ;)
więcej informacji: narzędzie License Header na Amazify.com
źródło
Sprawdź dodatek do licencji. Obsługuje wiele plików kodu (nawet niestandardowych) i poprawnie obsługuje istniejące nagłówki. Zawiera już szablony dla najpopularniejszych licencji Open Source.
źródło
license-adder
dokładnie masz na myśli? Znalazłem dodatek do licencji - darmową aplikację .NET - Google Project Hosting i License-Adder · prosty skrypt w języku Python · GitHubOto jeden, który zwinąłem w PHP, aby zmodyfikować pliki PHP. Miałem również do usunięcia informacje o starej licencji, więc najpierw zastępuje stary tekst, a następnie dodaje nowy tekst natychmiast po otwarciu
źródło
Oto jeden, który znalazłem na liście Apache. Jest napisany w języku Ruby i wydaje się łatwy do odczytania. Powinieneś nawet być w stanie wywołać to z prowizji, aby uzyskać dodatkową wyjątkową uprzejmość. :)
źródło
Jeśli nadal go potrzebujesz, napisałem małe narzędzie o nazwie SrcHead . Możesz go znaleźć pod adresem http://www.solvasoft.nl/downloads.html
źródło
header.txt
jest poprzedzona//
w każdym wierszu, a pierwszy wiersz zaczyna się od BOM Unicode.jeśli używasz sbt, jest https://github.com/Banno/sbt-license-plugin
źródło