我现在看到蚂蚁同时具有<include>
任务和<import>
任务。
据描述:
包括
包含另一个构建文件到当前项目。
和
进口
导入另一个构建文件到当前项目。
那么,为什么要使用一个比其他?
这里是我实际的问题:
在我国目前的构建系统,我们串接一串的JavaScript,然后尽量减少他们。 该Java脚本位于十几个不同的目录,我们从每个目录中取批次,并将它们串联成五周六个超级最小化的JavaScript。 一些文件被复制到多个超级的JavaScript。
为了使调试更加容易,并构建一个更灵活一点,我想所有的文件复制到target/work/resources2
每个子目录目录下有较最小化的JavaScript不同的超级。 出于调试目的,我们将包括非最小化超JavaScript和原件。 构建脚本并不复杂,但整个部分占用了大量的线。 我正想着把的<copy>
的东西到一个单独的XML文件,所以整个事情是这样的:
<target name="process-resources"
description="Concatenate and minimize the JavaScripts (using Maven lifecycle names for our targets">
<!-- The following include the copying stuff -->
<here.be.dragons file="${basedir}/reservations.xml"/>
<here.be.dragons file="${basedir}/date.xml"/>
<here.be.dragons file="${basedir}/select.xml"/>
<for param="concat.dir">
<fileset dir="${work.dir]/resources2"/>
<sequential>
<here.I.am.concatenating.and.minimizing/>
</sequential>
</for>
</target>
我看到有四种可能性:
- 使用
<ant/>
调用该做复印的文件 - 使用
<import/>
这可能无法工作,因为它可能不能够被纳入目标内) - 使用
<include/>
这可能无法工作,因为它可能不能够被纳入目标内) - 使用实体包含 。
我对使用从未疯狂<ant/>
或<antcall>
虽然这可能是做这个的好时机。 实体包含的想法是否可行,不过这东西大多数人不明白,恐怕这将导致谁也支持我在做什么的人混淆。 该<import>
和<include>
可能无法在这种情况下使用,但我还是好奇的区别是什么。