我是ANT的新手。
我有一个非常具体的方案来处理:
STEP-1:我需要在某些ear文件中查找文件名的模式。如果模式匹配,那么我需要提取这些文件。 第2步:如果从某个耳朵(类似于zip文件)文件中提取任何文件,那么我需要搜索另一组文件,并复制这些文件集。
要处理的案例是“如果找到文件是否从特定档案中复制”,如果找到则继续执行步骤2,否则转到下一档案。</ p>
我已经实现了STEP-1,但不知道如何实现第2步。
STEP-1
<!-- Set via arguments passed -->
<patternset id="pattern.needtocopy" includes="${needtocopyfile.pattern}" excludes="${ignore.pattern}">
</patternset>
<target name="get-binaries-from-baseline">
<for param="binary">
<path>
<fileset dir="${baseline.dir}/target/aaa/bbb/ccc" includes="*.ear" />
</path>
<sequential>
<basename file="@{binary}" property="@{binary}.basename" />
<unzip src="@{binary}" dest="${baseline.dir}">
<patternset refid="pattern.needtocopy" />
<mapper type="flatten" />
</unzip>
</sequential>
</for>
</target>
步骤2:
????
需要帮助。
感谢。
答案 0 :(得分:0)
我使用基于我能找到的资源的groovy脚本解决了同样的问题。
<target name="findJars">
<zipfileset id="found" src="${ear-name}">
<patternset refid="${patternsetref}" />
</zipfileset>
<groovy>
project.references.found.each {
println it.name
println project.properties.'ear-name'
println project.properties.'dest.dir'
}
</groovy>
</target>
然后我添加了另一个任务,它将此文件名和ear-file-name作为输入,并根据文件提取相关的jar到搜索模式。