ant - 从 Gradle 调用 Ant Macrodef

标签 ant gradle build.gradle macrodef

我似乎无法从 Gradle 脚本中找到列出和/或调用 Ant Macrodef 的方法。 Gradle 用户指南 talks关于 Macrodefs,但没有在任何地方提供示例。谁能告诉我如何做到这一点?

目前我通过执行 ant.importBuild 任务来导入 Ant 构建。这很好,因为 Ant 目标显示为 Gradle 任务。但是,我无法列出和/或调用 Ant 构建中声明的 Ant Macrodef。谁能给我答案?

最佳答案

您的 build.xml

<project name="test">

    <macrodef name="sayHello">
        <attribute name="name"/>
        <sequential>
            <echo message="hello @{name}" />
        </sequential>
    </macrodef>

</project>

build.gradle
ant.importBuild 'build.xml'

task hello << {
      ant.sayHello(name: 'darling')
}

让我们测试一下
/cygdrive/c/temp/gradle>gradle hello
:hello
[ant:echo] hello darling

BUILD SUCCESSFUL

Total time: 2.487 secs

关于ant - 从 Gradle 调用 Ant Macrodef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094857/

相关文章:

ruby - 如何配置 asciidoctor-gradle-plugin 来处理 plantuml?

gradle - 在gradle脚本中调用java函数

intellij-idea - 如何使用 gradle wrapper、init 脚本、多项目和最好的想法

java - ant 运行时出现 NoClassDefFoundError

gradle - 如何使用 gradle 增强 openJPA 的类

linux - 在 ant 中传递 build.xml 的位置

java - Gradle 构建未使用的依赖项

android - Android Studio 2.0,org.gradle.process.internal.ExecException:处理'命令错误,退出值非零3

java - Ant 宏: fileset as javac src element

android - Eclipse ANT 项目中的 AAR