我有以下两个文件:
build.gradle :
ant.importBuild 'build.xml'
build.xml :
<project>
<target name="hello">
<echo>Hello, I'm ${testVar}</echo>
</target>
</project>
如何将testVar
变量从gradle传递给ant以触发ant构建?
gradle -PtestVar=John hello
输出
> Task :hello
[ant:echo] Hello, I'm ${testVar}
这意味着没有为testVar
分配值。
我可以使用testVar
命令将ant -DtestVar=John -buildfile build.xml hello
变量直接传递给ant。
我如何使用gradle做同样的事情?
答案 0 :(得分:1)
我发现将 build.gradle 文件更改为
ant.importBuild 'build.xml'
ant.properties['testVar'] = testVar
解决了问题。
修改后,gradle -PtestVar=Ken hello
生成
> Task :hello
[ant:echo] Hello, I'm Ken
这是我想要的结果。
答案 1 :(得分:0)
-P
用于将属性直接传递到您的Gradle构建。您的Gradle脚本将看到这些属性,但您的Ant脚本则不会。您提供的答案在技术上是可行的,但可能会变得乏味,因为您必须确保在Gradle脚本中将所有属性从Gradle传递到Ant。
如果要向Ant提供属性,请改用-D
。