如果属性为true或false,我想排除一些要编译的包。下面是我的蚂蚁脚本,但我得到错误:
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<if>
<equals arg1="${compile.csv}" arg2="false"/>
<then>
<exclude name="${csv.package}"/>
<exclude name="${excel.package}"/>
</then>
</if>
javac不支持嵌套的"if"元素。
提前感谢您的回答。
编辑:
我在ant构建配置的属性选项卡.中定义了属性csv.plugin.disabled
<property name="csv.package" value="com/service/transfer/impl/**"/>
<property name="excel.package" value="com/service/transfer/excel/impl/**"/>
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" if="${csv.plugin.disabled}"/>
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
我仍然将这些包包含在classes文件夹中。
尝试嵌套的src
元素-您可以使用那里复杂的类似路径的结构(有关完整信息,请参阅Javac Task):
<src>
<fileset dir="src" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
<fileset dir="src-generated" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
</src>
javac
任务可以采用条件include/exclude
元素。来自文件:
此任务形成一个隐式FileSet,并支持
<fileset>
的大多数属性(dir
变为srcdir
)以及嵌套的<include>
、<exclude>
和<patternset>
元素。
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" unless="${compile.csv}" />
<exclude name="${excel.package}" unless="${compile.csv}" />
</javac>