我正试图覆盖预先构建的古老蚂蚁脚本。由于某些原因,我无法直接编辑ant文件。
----------- Psuedo的gradle任务--------
ant.importBuild antFileName
defaultTasks = ['greet']
task takeCare << {
println('Switch off security cam')
}
-----------蚂蚁目标的Psuedo ---------
<target name="greet">
<echo>Be nice, say hello!</echo>
<antcall target="tackle"/>
</target>
<target name="tackle">
<echo>Brought him down!</echo>
</target>
我想要实现的是在调用ant target tackle之前对gradle进行预检查。所以我的输出看起来像 -
很高兴,打招呼! 关闭安全凸轮。 把他带走了!
我如何实现这一目标?
答案 0 :(得分:0)
你试过这个吗?
tackle.dependsOn takeCare
<强>更新强>
如果您使用dependsOn并运行
gradle tackle
你会得到
:takeCare
Switch off security cam
:tackle
[ant:echo] Brought him down!
但是如果使用run greet,则不会执行takeCare,因为你直接进行了一次ant调用。因此greet运行ant目标而不是gradle任务。
您可以尝试在gradle中更改铲球目标。
ant.project.getTargets().find{it.value.name == "tackle"}.value
请参阅java docs:Target