我即将发布一组Eclipse插件作为开源,并注意到LGPL/EPL下发布的大多数源代码在每个文件中都包含一个标题横幅,指向许可证或包含许可证本身.
由于手动将这些横幅添加到每个文件似乎是一项令人生畏且容易出错的任务.如何自动插入这些横幅?
关于最佳实践,我认为您应该将许可文本放在单独的文件中,并使用构建工具(即ant)将其添加到所有其他文件的开头.既然你在谈论一个开源项目,那么你无论如何都需要一个构建过程来思考如生成javadoc,发布版本等.
顺便说一句,ant任务是简单的Java类,所以如果你没有找到一个完全相同的ant插件,你应该很容易自己编写一个.
根据我的知识,它会发生变态,它无法做到这样的事情.我能想到的最快的方法是使用bash(如果你使用的是Linux).假设文件msg包含要在每个文件开头添加的文本.
创建一个新目录来存储文件:
mkdir~/outdir
在每个文件的开头添加msg,并将结果放在outdir
因为我ls "*.java"
; 做cat msg $ i>〜/ outdir/$ i; DONE
类似地,您可以编写一个递归执行相同操作的命令,并使用额外的步骤来创建目录结构:
mkdir ~/outdir for i in `find -type d | sed 's/\.//' | grep -v "^$"`; do mkdir ~/outdir$i; done for i in `find -name "*.java"`; do cat msg $i > ~/outdir/$i ; done