创建一个用于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>
使用宏定义的示例
<!-- Example, call grade with new macro -->
<target name="example">
<gradle task="build" />
</target>
实际上,我想做同样的事情,通过调用一个 sh 文件来实现,并且这个 sh 文件再调用 gradle,但是这太麻烦了,最终下面的代码使其工作得很好。
希望这能帮到你。
<property environment="env" />
<property name="gradle.wrapper.executable" location="${env.GRADLE_HOME}/bin/gradle" />
<target name="dependencies-report" description="Creates a text file report of the depdency tree">
<exec executable="${gradle.wrapper.executable}" dir=".">
<arg value="dependencyReport" />
</exec>
</target>
Gradle没有提供Ant任务以从Ant运行Gradle构建。您可以从Ant调用Gradle命令(如gradle build
)。
在Ant集成方面,Gradle提供两个功能:导入Ant构建和重复使用Ant任务。
Gradle与Gant非常不同。Gradle是全新的构建系统;而Gant则是在Ant之上的薄层。