如何以编程方式与ANT连接?

Kei*_*rup 2 ant build-process concatenation

让我先说一下,我是蚂蚁的新手,如果重要的话,我正在使用1.6.5版本.

我有一个文件,其中包含我想要连接的文件列表.我第一次尝试的相关部分是这样的:

<target name="for-each">
    <xmlproperty file="scripts.xml" collapseAttributes="true" />
    <echo message="testing for-each"/>
    <concat destfile="${out}" fixlastline="yes" eol="lf">
        <foreach list="${scripts.src}" target="loop" param="var" delimiter=","/>
    </concat>
</target>

<target name="loop">
    <echo message="File :: ${var}"/>
    <fileset file="${SRC_DIR}${var}" />
</target>
Run Code Online (Sandbox Code Playgroud)

但是,concat不支持foreach元素.

我不是简单地想要将文件集剪切并粘贴到concat元素中,因为它经常被重用并且可能在原始文件中被更改,所以我想以编程方式迭代我文件中列出的脚本元素.

什么是正确的语法或如何实现这一目标?

Jon*_*n W 5

我认为您的要求是:

  • 从另一个xml文件加载文件列表
  • 将此文件列表汇总在一起

如果是这种情况,那么你没有理由做出自己的程序循环.你可以这样做:

scripts.xml

<scripts>
   <src>file1</src>
   <src>file2</src>
</scripts>
Run Code Online (Sandbox Code Playgroud)

build.xml文件

<xmlproperty file="scripts.xml" collapseAttributes="true" />
<concat destfile="${out}" fixlastline="yes" eol="lf">
    <filelist files="${scripts.src}"/>
</concat>
Run Code Online (Sandbox Code Playgroud)

是这样的吗?