当我运行Ant构建时,我想保留最后5个构建jar并删除所有其他jar。请查看以下文件的主要版本和次要版本。
假设我在构建目录中有这些以前构建的jar:
test-1.0.0.jar
test-1.0.1.jar
test-1.0.2.jar
test-1.0.3.jar
test-1.0.4.jar
test-1.0.5.jar
test-1.0.6.jar
当我运行下一个版本时,效果应该是这样的:
test-1.0.0.jar -- Deleted
test-1.0.1.jar -- Deleted
test-1.0.2.jar -- Deleted
test-1.0.3.jar -- No change
test-1.0.4.jar -- No change
test-1.0.5.jar -- No change
test-1.0.6.jar -- No change
test-1.0.7.jar -- No change
这意味着我只想保留最新的5个版本(基于次要版本)并删除所有其他版本。
请注意,这里最新版本是基于build jar minor版本确定的。
可以使用Ant构建文件来完成吗?
答案 0 :(得分:1)
以下将删除旧文件,保留最新的5:
<delete>
<allbutlast count="5">
<sort>
<date/>
<fileset dir="target" includes="*.jar"/>
</sort>
</allbutlast>
</delete>
更完整的解决方案是将工件发布到专用的存储库管理器中,而不是构建自己的。
例如,如果您选择使用Nexus,则会有一个名为&#34;从存储库删除版本的计划任务&#34;这将删除基于语义版本规则的旧版本: