Ich suche nach einem Tool, das einigen Quelldateien, von denen einige bereits über den Header verfügen, in großen Mengen einen Lizenzheader hinzufügt. Gibt es ein Tool, das einen Header einfügt, falls dieser noch nicht vorhanden ist?
Bearbeiten: Ich markiere absichtlich keine Antwort auf diese Frage, da die Antworten grundsätzlich alle umweltspezifisch und subjektiv sind
header
language-agnostic
Alex Lyman
quelle
quelle
Antworten:
quelle
"$i"
for i in $(find /folder -name '*.cc');
, um das Skript in Unterverzeichnissen auszuführenPython-Lösung, ändern Sie sie für Ihre eigenen Bedürfnisse
Eigenschaften:
- -
quelle
Überprüfen Sie den Copyright-Header RubyGem. Es unterstützt Dateien mit Erweiterungen, die auf php, c, h, cpp, hpp, hh, rb, css, js, html enden. Es können auch Header hinzugefügt und entfernt werden.
Installieren Sie es, indem Sie "
sudo gem install copyright-header
" eingebenDanach kann man so etwas machen wie:
Es unterstützt auch benutzerdefinierte Lizenzdateien mit dem Argument --license-file.
quelle
--license-file
Argument und entfernen Sie mit dem--remove-path
Flag genau diesen Header aus allen Dateien. Grundsätzlich gibt es so viele verschiedene Arten von Headern, dass es nicht trivial ist, einen Algorithmus zu erstellen, um sie zuverlässig zu entfernen.Dockerfile
so dass die Installation lästiger Rubinabhängigkeiten kein Problem mehr istHier ist ein Bash-Skript, das den Trick macht, vorausgesetzt, Sie haben den Lizenzheader in der Datei license.txt:
Datei addlicense.sh:
Führen Sie dies nun in Ihrem Quellverzeichnis aus:
quelle
cut -f1 -d ' '
Bearbeiten: Wenn Sie Eclipse verwenden, gibt es ein Plugin
Ich habe ein einfaches Python-Skript geschrieben, das auf der Antwort von Silver Dragon basiert. Ich brauchte eine flexiblere Lösung, also kam ich auf diese. Sie können rekursiv allen Dateien in einem Verzeichnis eine Header-Datei hinzufügen. Sie können optional eine Regex hinzufügen, mit der die Dateinamen übereinstimmen sollen, und eine Regex, mit der die Verzeichnisnamen übereinstimmen sollen, und eine Regex, mit der die erste Zeile in der Datei nicht übereinstimmen soll. Mit diesem letzten Argument können Sie überprüfen, ob der Header bereits enthalten ist.
Dieses Skript überspringt automatisch die erste Zeile in einer Datei, wenn dies mit einem Shebang (#!) Beginnt. Dies, um andere Skripte, die darauf angewiesen sind, nicht zu beschädigen. Wenn Sie dieses Verhalten nicht wünschen, müssen Sie 3 Zeilen in Writeheader auskommentieren.
hier ist es:
quelle
Für Java http://code.google.com/p/maven-license-plugin/
Mit freundlichen Grüßen
quelle
Ok, hier ist ein einfaches Nur-Windows-UI-Tool, das in einem Ordner nach allen Dateien Ihres angegebenen Typs sucht, den gewünschten Text nach oben (Ihren Lizenztext) stellt und das Ergebnis in ein anderes Verzeichnis kopiert (um mögliche Probleme beim Überschreiben zu vermeiden). . Es ist auch kostenlos. Erforderlich .Net 4.0.
Ich bin eigentlich der Autor, also zögern Sie nicht, Korrekturen oder neue Funktionen anzufordern ... aber keine Versprechungen bezüglich des Lieferplans. ;)
Weitere Informationen: License Header Tool bei Amazify.com
quelle
Überprüfen Sie den Lizenzaddierer. Es unterstützt mehrere Codedateien (auch benutzerdefinierte) und behandelt vorhandene Header korrekt. Kommt bereits mit Vorlagen für die gängigsten Open Source-Lizenzen.
quelle
license-adder
beziehen Sie sich genau? Ich habe Lizenz-Addierer gefunden - kostenlose .NET-Anwendung - Google Project Hosting und Lizenz-Addierer · einfaches Python-Skript · GitHubHier ist eine, die ich in PHP gerollt habe, um PHP-Dateien zu ändern. Ich hatte auch alte Lizenzinformationen zu löschen, so dass sie zuerst den alten Text ersetzen und dann den neuen Text unmittelbar nach dem Öffnen hinzufügen
quelle
Hier ist eine, die ich auf der Apache-Liste gefunden habe. Es ist in Ruby geschrieben und scheint leicht zu lesen zu sein. Sie sollten es sogar von Rechen für besondere Schönheit nennen können. :) :)
quelle
Wenn Sie noch eines benötigen, habe ich ein kleines Tool namens SrcHead geschrieben . Sie finden es unter http://www.solvasoft.nl/downloads.html
quelle
header.txt
wird//
in jeder Zeile vorangestellt und die erste Zeile beginnt mit der Unicode-Stückliste.Wenn Sie sbt verwenden, gibt es https://github.com/Banno/sbt-license-plugin
quelle