我即将发布一组Eclipse插件作为开源,并注意到LGPL / EPL下发布的大多数源代码在每个文件中都包含一个标题横幅,指向许可证或包含许可证本身。 / p>
由于手动将这些横幅添加到每个文件似乎是一项令人生畏且容易出错的任务。如何自动插入这些横幅?
答案 0 :(得分:6)
关于最佳做法,我认为您应该将许可文本放在单独的文件中,并使用构建工具(即ant)将其添加到所有其他文件的开头。既然你在谈论一个开源项目,那么无论如何你都需要一个构建过程来思考如生成javadocs,发布版本等。
BTW,ant任务是简单的Java类,所以如果你没有找到一个完全符合这个特性的ant插件,你应该很容易自己写一个。根据我的知识,它会不会发生这样的事情。我能想到的最快的方法是使用bash(如果你使用的是Linux)。假设文件msg包含要在每个文件开头添加的文本。
创建一个新目录来存储文件:
mkdir~ / outdir
在每个文件的开头添加msg,并将结果放在outdir
for ls "*.java"
;做cat msg $ i> 〜/ outdir / $ i;完成
类似地,您可以编写一个递归执行相同操作的命令,并使用额外的步骤来创建目录结构:
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
答案 1 :(得分:2)
与Eclipse手动添加相比,更像Eclipse的方法如下,通过Eclipse中的GUI完成。请注意,这些是Linux / Windows菜单; Mac有点不同。
Windows->Preferences
Java->Code Style->Code Templates
Comments->Files
评论模板以包含您的样板
当前年份有变量,文件名等...... 另请注意,这只是新文件的解决方案;它不会帮助你处理旧文件;为此,我会使用idrosid的解决方案来解决现有代码