我想在Ant构建中生成的一系列文件中添加版权声明。最简单的方法是什么?
我考虑过使用<concat>
,但我不明白如何在没有连接文件集中的所有文件的情况下在文件集上运行它。
谢谢!
答案 0 :(得分:7)
看起来<concatfilter>
可能是您的朋友。
<echo message="/* Copyright text */${line.separator}" file="copyright.txt"/>
<copy todir="dest_dir">
<fileset dir="src_dir"/>
<filterchain>
<concatfilter prepend="copyright.txt"/>
</filterchain>
</copy>
答案 1 :(得分:2)
如果您只想有选择地添加版权,则可以使用复制命令替换文件中的@ COPYRIGHT @令牌。
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<filterset>
<filter token="COPYRIGHT" value="This text is my copyright!"/>
</filterset>
</copy>
答案 2 :(得分:1)
目前尚未提及的一个选项是在Java中编写自定义Ant任务。我意识到还有许多因素需要考虑,而不仅仅是在一个自定义任务开始我自己的工作之后预先挂起文件的许可,该自定义任务的要求超过了#concat&#39;可以处理。我必须考虑的一些场景和规则:
它仍在进行中,所以我不一定要分享任何代码,但如果您的要求超出以下范围,这个想法可能会帮助您找到正确的方向。盒子蚂蚁可以处理,你不想使用antcontrib。
如果您正在使用或考虑maven,那么现在是时候进行切换了。您可以从pom.xml驱动ant构建,也可以在构建之前进行任何文件预处理。看看开箱即用的mycila插件。
答案 3 :(得分:0)
一个选项可能是使用<concat>
但在antcontrib <foreach>
任务中。