Saya mencari alat yang akan, secara massal, menambahkan header lisensi ke beberapa file sumber, beberapa di antaranya sudah memiliki header. Apakah ada alat di luar sana yang akan memasukkan tajuk, jika belum ada?
Sunting: Saya sengaja tidak menandai jawaban atas pertanyaan ini, karena jawaban pada dasarnya semuanya khusus lingkungan dan subjektif
header
language-agnostic
Alex Lyman
sumber
sumber
Jawaban:
sumber
"$i"
for i in $(find /folder -name '*.cc');
untuk menjalankan skrip pada subdirektoriSolusi Python, modifikasi untuk kebutuhan Anda sendiri
Fitur:
-
sumber
Lihat header-hak cipta RubyGem. Ini mendukung file dengan ekstensi yang diakhiri dengan php, c, h, cpp, hpp, hh, rb, css, js, html. Itu juga dapat menambah dan menghapus header.
Instal dengan mengetik "
sudo gem install copyright-header
"Setelah itu, bisa melakukan sesuatu seperti:
Ini juga mendukung file lisensi kustom menggunakan argumen --license-file.
sumber
--license-file
argumen tersebut, dan gunakan--remove-path
bendera untuk menghapus header yang tepat dari semua file. Pada dasarnya, ada begitu banyak jenis header, membuat algoritme untuk menghapusnya dengan andal bukanlah hal yang sepele.Dockerfile
sehingga memasang dependensi ruby yang memberatkan tidak lagi menjadi masalahBerikut ini skrip Bash yang akan melakukan triknya, dengan asumsi Anda memiliki header lisensi di file license.txt:
File addlicense.sh:
Sekarang jalankan ini di direktori sumber Anda:
sumber
cut -f1 -d ' '
Sunting: Jika Anda menggunakan gerhana, ada plugin
Saya menulis skrip python sederhana berdasarkan balasan Silver Dragon. Saya membutuhkan solusi yang lebih fleksibel jadi saya datang dengan ini. Ini memungkinkan Anda untuk menambahkan file header ke semua file dalam direktori, secara rekursif. Secara opsional, Anda dapat menambahkan regex yang harus cocok dengan nama file, dan regex yang harus cocok dengan nama direktori dan regex yang tidak boleh cocok dengan baris pertama dalam file. Anda dapat menggunakan argumen terakhir ini untuk memeriksa apakah tajuk sudah disertakan.
Skrip ini secara otomatis akan melewati baris pertama dalam file jika ini dimulai dengan shebang (#!). Ini untuk tidak merusak skrip lain yang mengandalkan ini. Jika Anda tidak menginginkan perilaku ini, Anda harus mengomentari 3 baris di kepala artikel.
ini dia:
sumber
Untuk Java, Anda dapat menggunakan plugin Lisensi Maven: http://code.google.com/p/maven-license-plugin/
sumber
Ok di sini adalah alat UI khusus windows yang mencari semua file dari tipe yang Anda tentukan dalam folder, menambahkan teks yang Anda inginkan ke atas (teks lisensi Anda), dan menyalin hasilnya ke direktori lain (menghindari potensi masalah timpa) . Ini juga gratis. Diperlukan .Net 4.0.
Saya sebenarnya penulisnya, jadi silakan meminta perbaikan atau fitur baru ... meskipun tidak ada janji tentang jadwal pengiriman. ;)
info lebih lanjut: Alat Header Lisensi di Amazify.com
sumber
Lihat penambah lisensi. Ini mendukung banyak file kode (bahkan yang khusus) dan menangani header yang ada dengan benar. Sudah dilengkapi dengan template untuk lisensi Open Source yang paling umum.
sumber
license-adder
sebenarnya Anda maksud? Saya telah menemukan penambah lisensi - aplikasi .NET gratis - Hosting Proyek Google , dan Adder-Lisensi · skrip python sederhana · GitHubIni adalah salah satu yang saya putar di PHP untuk memodifikasi file PHP. Saya juga memiliki informasi lisensi lama untuk dihapus sehingga menggantikan teks lama terlebih dahulu, kemudian menambahkan teks baru segera setelah pembukaan
sumber
Ini yang saya temukan di daftar Apache. Ini ditulis dalam Ruby dan tampaknya cukup mudah dibaca. Anda bahkan harus dapat memanggilnya dari rake untuk mendapatkan kenyamanan ekstra. :)
sumber
Jika Anda masih membutuhkannya, ada alat kecil yang saya tulis, bernama SrcHead . Anda dapat menemukannya di http://www.solvasoft.nl/downloads.html
sumber
header.txt
diawali dengan//
di setiap baris dan baris pertama dimulai dengan Unicode BOM.jika Anda menggunakan sbt, ada https://github.com/Banno/sbt-license-plugin
sumber