2013-02-20 56 views
0

我是ANT的新手。如何识别文件是否从特定存档复制?

我有一个非常特殊的情况下在此处理:

STEP-1:我需要寻找文件名的特定耳朵文件的模式。如果模式匹配,那么我需要提取这些文件。步骤2:如果从某个耳朵(类似于zip文件)文件中提取任何文件,那么我需要搜索另一组文件,然后复制这些文件组。

要处理的情况是“如何识别文件是否从特定存档复制”如果找到,则继续执行第2步,否则转到下一个存档。

我已经实现了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> 

STEP-2:

????

需要帮助。

谢谢。

回答

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> 

然后我又增加了任务,采用此文件名和耳文件名作为输入并提取基于文件搜索模式相关的罐子。

相关问题