17

我即将发布一组 Eclipse 插件作为开放源代码,并注意到在 LGPL/EPL 下发布的大多数源代码在每个文件中都包含一个标题横幅,该标题引用许可证或包含许可证本身。

由于手动将这些横幅添加到每个文件似乎是一项艰巨且容易出错的任务。我怎样才能自动插入这些横幅?

编辑:我最终找到了版权向导版权生成器,它们是 Eclipse 插件,它们也允许更新现有的许可证横幅。

4

2 回答 2

5

关于最佳实践,我相信您应该将许可证文本放在单独的文件中,并使用构建工具(即 ant)将其添加到所有其他文件的开头。由于您正在谈论一个开源项目,因此无论如何您都需要一个构建过程来考虑生成 javadocs、发布版本等。

顺便说一句,ant 任务是简单的 Java 类,所以如果你没有找到一个可以做到这一点的 ant 插件,那么自己编写一个应该很容易。

日食,据我所知,它不能做这样的事情。我能想到的最快方法是使用 bash(如果您使用的是 Linux)。假设文件 msg 包含您要在每个文件开头添加的文本。

  1. 创建一个新目录来存储文件:

    mkdir ~/outdir

  2. 在每个文件的开头添加 msg 并将结果放在 outdir

    我在ls "*.java";做猫味精 $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
于 2008-10-15T14:28:14.623 回答
2

下面是一种比手动添加更类似于 Eclipse 的方法,通过 Eclipse 中的 GUI 完成。请注意,这些是 Linux / Windows 菜单;Mac有点不同。

  1. 打开Windows->Preferences
  2. 导航Java->Code Style->Code Templates
  3. 编辑Comments->Files评论模板以包含您的样板文件。
    有当前年份,文件名等变量...

另请注意,这只是新文件的解决方案;它不会帮助您处理旧文件;为此,我会为您现有的代码使用类似 idrosid 的解决方案

于 2008-10-15T21:37:40.420 回答