执行期间在蚂蚁目标上进行Gradle doFirst

时间:2015-03-20 13:53:10

标签: ant gradle

我正试图覆盖预先构建的古老蚂蚁脚本。由于某些原因,我无法直接编辑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进行预检查。所以我的输出看起来像 -

很高兴,打招呼! 关闭安全凸轮。 把他带走了!

我如何实现这一目标?

1 个答案:

答案 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