Je recherche un outil qui, en vrac, ajoutera un en-tête de licence à certains fichiers source, dont certains ont déjà l'en-tête. Existe-t-il un outil qui insérera un en-tête, s'il n'est pas déjà présent?
Edit: Je ne marque pas intentionnellement une réponse à cette question, car les réponses sont fondamentalement toutes spécifiques à l'environnement et subjectives
header
language-agnostic
Alex Lyman
la source
la source
Réponses:
la source
"$i"
for i in $(find /folder -name '*.cc');
pour exécuter le script sur les sousSolution Python, modifiez selon vos besoins
Fonctionnalités:
-
la source
Consultez l'en -tête du copyright RubyGem. Il prend en charge les fichiers avec des extensions se terminant par php, c, h, cpp, hpp, hh, rb, css, js, html. Il peut également ajouter et supprimer des en-têtes.
Installez-le en tapant "
sudo gem install copyright-header
"Après cela, vous pouvez faire quelque chose comme:
Il prend également en charge les fichiers de licence personnalisés à l'aide de l'argument --license-file.
la source
--license-file
argument et utilisez l'--remove-path
indicateur pour supprimer cet en-tête exact de tous les fichiers. Fondamentalement, il existe tellement de types d'en-têtes différents, créer un algorithme pour les supprimer de manière fiable n'est pas trivial.Dockerfile
installation de dépendances ruby onéreuses n'est plus un problèmeVoici un script Bash qui fera l'affaire, en supposant que vous ayez l'en-tête de licence dans le fichier license.txt:
Fichier addlicense.sh:
Maintenant, exécutez ceci dans votre répertoire source:
la source
cut -f1 -d ' '
Edit: Si vous utilisez eclipse, il existe un plugin
J'ai écrit un simple script python basé sur la réponse de Silver Dragon. J'avais besoin d'une solution plus flexible, alors j'ai trouvé ça. Il vous permet d'ajouter un fichier d'en-tête à tous les fichiers d'un répertoire, de manière récursive. Vous pouvez éventuellement ajouter une expression régulière avec laquelle les noms de fichiers doivent correspondre, et une expression régulière avec laquelle les noms de répertoire doivent correspondre et une expression régulière à laquelle la première ligne du fichier ne doit pas correspondre. Vous pouvez utiliser ce dernier argument pour vérifier si l'en-tête est déjà inclus.
Ce script sautera automatiquement la première ligne d'un fichier si cela commence par un shebang (#!). Ceci pour ne pas casser les autres scripts qui reposent sur cela. Si vous ne souhaitez pas ce comportement, vous devrez commenter 3 lignes dans writeheader.
C'est ici:
la source
Pour Java, vous pouvez utiliser le plugin de licence de Maven: http://code.google.com/p/maven-license-plugin/
la source
Ok, voici un simple outil d'interface utilisateur Windows uniquement qui recherche tous les fichiers du type spécifié dans un dossier, ajoute le texte que vous souhaitez en haut (votre texte de licence) et copie le résultat dans un autre répertoire (évitant les problèmes d'écrasement potentiels) . C'est aussi gratuit. Requis .Net 4.0.
Je suis en fait l'auteur, alors n'hésitez pas à demander des correctifs ou de nouvelles fonctionnalités ... pas de promesses sur le calendrier de livraison cependant. ;)
plus d'informations: Outil d'en-tête de licence sur Amazify.com
la source
Découvrez licence-additionneur. Il prend en charge plusieurs fichiers de code (même personnalisés) et gère correctement les en-têtes existants. Livré déjà avec des modèles pour les licences Open Source les plus courantes.
la source
license-adder
parlez-vous exactement? J'ai trouvé un additionneur de licence - application .NET gratuite - Hébergement de projet Google et additionneur de licence · script python simple · GitHubEn voici un que j'ai roulé en PHP pour modifier les fichiers PHP. J'avais également d'anciennes informations de licence à supprimer afin qu'elles remplacent d'abord l'ancien texte, puis ajoute le nouveau texte immédiatement après l'ouverture
la source
En voici un que j'ai trouvé sur la liste Apache. Il est écrit en Ruby et semble assez facile à lire. Vous devriez même pouvoir l'appeler du râteau pour une gentillesse particulière. :)
la source
Si vous en avez encore besoin, il y a un petit outil que j'ai écrit, nommé SrcHead . Vous pouvez le trouver sur http://www.solvasoft.nl/downloads.html
la source
header.txt
est précédé de//
à chaque ligne et la première ligne commence par la nomenclature Unicode.si vous utilisez sbt, il y a https://github.com/Banno/sbt-license-plugin
la source