我尝试在运行其他任务之前运行单独的构建文件来创建所需的jar。我找到了两个选项来做到这一点,但都不令人满意。第一个是使用include
:
<include file="$../ProjectName/build.xml" as="PN"/>
有了这个,我可以从其他项目构建文件中运行任何任务,但是src
和bin
等基本变量不能为这两个文件赋予不同的值。 Ant属性是不可变的,显然是全局的。
另一个允许单独属性值的选项是使用ant
任务:
<ant antfile="../ProjectName/build.xml" target="myTarget" dir="../ProjectName" inheritAll="false"/>
然而,这会破坏Ant的依赖性检查,以便依赖于此的任务始终被视为陈旧和重建,从而导致不可接受的构建时间。
有没有办法在没有破坏属性或破坏依赖性检查的情况下在这个其他构建文件中运行任务?如果存在任何此类事情,则限定为当前文件的属性将起作用。