蚂蚁中的模块间依赖关系



我正在使用Ant 1.8

我在intelliJ IDEA中有多个模块。每个模块都有一个build.xml,目前我需要浏览到该文件的build.xml,并为每个模块运行ant。例如,模块B的构建成功取决于模块A的构建是否成功。

现在,我想更新这个过程。如果存在一个选项,其中我可以编写一个单独的构建过程,该过程将首先为模块a构建分发,然后在为B构建分发时,将检查模块a的构建是否成功。

有没有办法使用当前的Ant机制。我可以在常春藤上看到类似的东西,但我不能在我的项目中使用它。

请推荐一种使用Ant基本功能的方法。

ANT中的子ANT任务是调用多模块构建的最灵活的方法,例如:

<project name="parent" default="build">
    <target name="build">
        <subant>
            <filelist dir=".">
                <file name="moduleA/build.xml"/>
                <file name="moduleB/build.xml"/>
            </filelist>
            <target name="clean"/>
            <target name="build"/>
        </subant>
    </target>
</project>

项目结构

|-- build.xml
|-- moduleA
|   `-- build.xml
`-- moduleB
    `-- build.xml

注意:

在我看来,使用这个任务最强大的方法是将它与Apacheivy中的构建列表任务相结合。让ivy模块间依赖声明自动确定模块构建顺序。

谢谢Mark!!你的回答对我帮助很大。

除了上面的答案,我想添加详细信息,若属性是从属性文件加载的。

项目结构:


|--build.xml
|--ProjectOne
 nbsp nbsp;--build.xml
 nbsp nbsp;--antbuilds.properties
|--项目二
 nbsp nbsp;--build.xml
 nbsp nbsp;--antbuilds.properties

通用ANT构建文件:

<project name="Parent" default="all">
<target name="ProjectOne">
    <subant>
        <property file="ProjectOne/antbuilds.properties"/>
        <filelist dir=".">
            <file name="ProjectOne/build.xml"/>
        </filelist>
        <target name="deploy"/>
    </subant>
</target>
<target name="ProjectTwo">
    <subant>
        <property file="ProjectTwo/antbuilds.properties"/>
        <filelist dir=".">
            <file name="ProjectTwo/build.xml"/>
        </filelist>
        <target name="deploy"/>
    </subant>
</target>
<target name="all" depends="ProjectOne, ProjectTwo">
</target>

相关内容

  • 没有找到相关文章

最新更新