我有一个多的gradle项目建设有一个包含任务,如本(简体)Ant构建脚本:如何在`vendor.gradle`供应商设置文件中使用ant.properties?
<target name="get-version">
<!-- Goes out and fetches the versioning for each project and sets prop -->
<property name="version" value="${myDesiredVersion}" />
</target>
和我的build.gradle脚本里面我有一个Ant脚本加载,然后我依赖在这个目标上;我的问题是,这是没有的方式,让我用我的ant.properties['version']
在vendor.gradle
像
// version = '1.0.2' -- works
version = ant.properties['version'] // doesn't work
我是gradle这个noobie和最糟糕的是我在迁移蚂蚁项目开始评估使用gradle,这样我就可以离开课程了。需要注意的是,我不能直接在vendor.gradle
文件中包含版本,因为它是由ant脚本生成的。
我不熟悉,我怎么能插入此提前gradle这个生命周期的......我想是这样的
gradle.beforeProject { p ->
tasks['get-version'].execute() // appears to execute successfully?
configure(p) {
def vendorSettings = file("${myRoot}/vendor.gradle")
if(vendorSettings.exists()){
println "Loading vendor settings for project " + p
println ant.properties['version'] // but outputs null here
// ant.properties is still a valid observable map
apply from: vendorSettings
}
}
}
和蚂蚁version
属性仍然为空 - 请注意,它的工作原理之外这一点,我觉得作用域是有点不同的话,我认为这是在这种特定情况下