我正在研究 Ant 的替代品。我看过Gant和 Gradle .
是否可以从 Ant 启动 Gradle 任务?这在带有 taskdef 的 Gant 中是可能的。
<taskdef
name = "gant"
classname = "org.codehaus.gant.ant.Gant"
classpathref = "classpath"
/>
<gant />
有没有类似的Gradle?我很想开始从 Ant 迁移到 Gradle,但我们有一个庞大的 Ant 基础设施,我创建的任何 Gradle 构建脚本都需要从 Ant 调用。
谢谢!
最佳答案
为 gradle 创建一个宏定义,就像任何其他任务一样调用它。这是设置和示例...
<!-- Gradle path stuff -->
<property environment="env" />
<condition property="gradle.executable" value="${env.GRADLE_HOME}/bin/gradle.bat" else="${env.GRADLE_HOME}/bin/gradle">
<os family="windows" />
</condition>
<!-- Macro def, gives us an ant 'gradle' task-->
<macrodef name="gradle">
<attribute name="task" />
<sequential>
<exec executable="${gradle.executable}" dir="." failonerror="true">
<arg value="@{task}" />
</exec>
</sequential>
</macrodef>
使用宏 def 的示例
<!-- Example, call grade with new macro -->
<target name="example">
<gradle task="build" />
</target>
关于ant - 是否可以从 Ant 启动 Gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9609244/