【问题标题】:build.gradle how to apply a closure from another filebuild.gradle 如何从另一个文件应用闭包
【发布时间】:2015-07-20 22:01:36
【问题描述】:

我在另一个名为 other.gradle 的 build.gradle 文件中定义了一个闭包。内容如下:

Closure callback =  {

    productFlavors {  
        ...
        devel {
            ...
        }

        prod {
            ...
        }
    }
}

现在在我的 build.gradle 文件中,我想像这样调用这个闭包:

apply from: 'other.gradle'
productFlavors(callback());

但我不断收到无法找到回调()的错误。两个文件都在同一个目录中。我的问题是如何获取 build.gradle 文件以查看“other.gradle”文件中的回调闭包。

【问题讨论】:

    标签: android groovy closures build.gradle


    【解决方案1】:

    应该通过以下方式完成:

    other.gradle

    project.ext.callback = { c ->
        println(c)
    }
    

    build.gradle

    apply from: 'other.gradle'
    
    callback('a')
    

    或者在同样的情况下callback 应该通过project.instance 引用,例如project.callback('a').

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      相关资源
      最近更新 更多