【问题标题】:Use Gradle function from other gradle file使用其他 gradle 文件中的 Gradle 函数
【发布时间】:2015-06-12 05:53:36
【问题描述】:

我想将我的 300 行 build.gradle 逻辑拆分为多个构建文件,以便于维护和扩展。

正如我所注意到的,可以将 gradle 任务拆分为多个文件并将它们用于:

apply from: "myGradleFile"

很遗憾,通过这种方法,我无法访问 second 构建脚本中定义的函数

是否也可以将 Gradle 函数拆分为多个文件?

例子:

假设我的 default build.gradle 带有一个使用函数的任务

task doSomethingWithMyFunction {
    myFunction()
}

现在我有了 functions.gradle

def myFunction(){
}

所以我想从 build.gradle

访问 functions.gradle 中定义的 myFunction

【问题讨论】:

  • 你到底是什么意思?请举个例子。
  • 我添加了一个简单的例子,现在应该更清楚了。thx

标签: android-studio gradle maintainability


【解决方案1】:

不可能用函数来完成,但如果你把函数变成闭包,下面的例子会很好用:

lol.gradle

project.ext.lolFunction = {
   println it
}

build.gradle

apply from: 'lol.gradle'

ext.lolFunction(1)                                                             

【讨论】:

  • 谢谢,我会试试的
【解决方案2】:

见 59.4https://docs.gradle.org/current/userguide/organizing_build_logic.html

你可以将你的函数移动到一个

buildSrc

目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多