作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Ant 中创建动态文件列表,然后保存该列表以供以后在构建过程中使用?我想到的是一个不可变的Fileset
。 Filelist
将不起作用,因为它不接受通配符。
换句话说,我想创建一个基于包含/排除通配符的文件列表,该列表一旦创建就不会改变。也就是说,即使稍后添加了更多通过包含/排除规则的文件 - 我想保留初始文件集结果(特别是为了稍后在构建过程中删除)。这可能吗?
最佳答案
嗯,这就是我的想法。使用 pathconvert 将文件集存储到属性。然后稍后在构建中迭代文件,对它们执行任何您需要的操作。就我而言,删除它们。
<macrodef name="storeBuildState">
<sequential>
<fileset dir="${build.dir}" id="current.fileset">
<include name="**/*.jar" />
</fileset>
<pathconvert pathsep="," property="current.fileset.prop" refid="current.fileset"/>
</sequential>
</macrodef>
<macrodef name="deleteStoredBuildState">
<sequential>
<for list="${current.fileset.prop}" param="file">
<sequential>
<delete file="@{file}" verbose="true" />
</sequential>
</for>
</sequential>
</macrodef>
关于java - Ant:如何创建不可变的文件集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407938/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!