如何控制Ant文件中的合并顺序

时间:2011-08-29 21:21:42

标签: ant

我有这个代码,它接受文件夹集合中的所有文件,并将它们与covers.js文件合并。问题是集合中有2个文件需要在封面下合并。 但是我可能想控制文件从集合中合并的顺序 夹。是否有我可以使用的依赖属性。

<target name="merge box">
    <echo>${box.file}</echo>
    <concat destfile="${box.file}" fixlastline="yes" append="no">
    <fileset dir="${js.src.dir}/components/covers/" includes="**/*.js"/>
    <fileset dir="${js.src.dir}/collection/" includes="**/*.js" excludes="base.js"/>
    </concat>
</target>

更新 我也尝试了这个,但仍然无效。

      <fileset dir="${js.src.dir}/collection" >
           <includesfile name="Templates.js" />
            <includesfile name="popup.js" />
            <includesfile name="popup-extend.js" />
        </fileset>

最新更新

试过这个并且它有效,但它不包含包含文件的顺序。

<target name="merge box">
<echo>${box.file}</echo>
<concat destfile="${box.file}" fixlastline="yes" append="no">
<fileset dir="${js.src.dir}/components/covers/" includes="**/*.js"/>
<fileset dir="${js.src.dir}/collection" >
      <include name="Templates.js" />
      <include name="popup.js" />
      <include name="popup-extend.js" /> 
    </fileset>
    </concat>
</target>

popup-extend意味着要在弹出代码下方合并,但它没有做到这一点我将它们放在其中的顺序将始终按此顺序排列。

模板
弹出
弹出式延伸

我试图获得它的顺序是

模板
弹出式扩展
弹出

1 个答案:

答案 0 :(得分:3)

试试这个:

<target name="merge box">
    <echo>${box.file}</echo>
    <concat destfile="${box.file}" fixlastline="yes" append="no">
        <fileset dir="${js.src.dir}/components/covers/" includes="**/*.js"/>
        <fileset file="${js.src.dir}/collection/Templates.js" />
        <fileset file="${js.src.dir}/collection/popup.js" />
        <fileset file="${js.src.dir}/collection/popup-extend.js" />
    </concat>
</target>

或者看这里:How to preserve file order in Ant concat?