如何使用macrodef



假设这是我的代码。buildJar是我的macrodef。

    <target name="build"> 
     <buildJar build.dir="module1"/>
     <buildJar build.dir="module2"/>
     </target>

如何根据某些条件调用macrodef"buildJar"?例如,上面的代码可以是:

    <target name="build">
        <if module="module1" >
            <buildJar build.dir="module1"/>
        </if>
        <if module="module2" >
           <buildJar build.dir="module2"/>
        </if>
    </target>

Ant支持if和excess属性。这些可以与使用可用任务的目录检查相结合:

<project name="demo" default="build" xmlns:if="ant:if">
  <macrodef name="greeting">
    <attribute name="name"/>
    <sequential>
      <echo message="found @{name}"/>
    </sequential>
  </macrodef>
  <available property="found.module1" file="module1"/>
  <available property="found.module2" file="module2"/>
  <target name="build">
    <greeting name="module1" if:true="${found.module1}"/>
    <greeting name="module2" if:true="${found.module2}"/>
  </target>
</project>

相关内容

  • 没有找到相关文章

最新更新