groovy - 在build.gradle中定义全局变量和函数

标签 groovy gradle

有没有办法在 build.gradle 中定义全局变量并使其可以从任何地方访问。

我的意思是这样的

def variable = new Variable()

def method(Project proj) {
    def value = variable.value
}

因为这样它告诉我它无法找到属性。 我也想对方法做同样的事情。 我的意思是这样的

def methodA() {}
def methodB() { methodA() }

最佳答案

使用额外的属性。

ext.propA = 'propAValue'
ext.propB = propA
println "$propA, $propB"

def PrintAllProps(){
  def propC = propA
  println "$propA, $propB, $propC"
}

task(runmethod) << { PrintAllProps() }

运行 runmethod 打印:

gradle runmethod
propAValue, propAValue
:runmethod
propAValue, propAValue, propAValue

了解更多关于Gradle Extra Properties here.的信息

您应该能够从函数中调用函数,而无需执行任何特殊操作:

def PrintMoreProps(){
  print 'More Props: '
  PrintAllProps()
}

结果:

More Props: propAValue, propAValue, propAValue

关于groovy - 在build.gradle中定义全局变量和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513818/

相关文章:

flash - 如何在Adobe Flash中使用Groovy-Grails?

gradle - JavaExec Gradle任务的默认最大堆大小

spring - IntelliJ 中的 Gradle Spring Boot 应用程序无法识别 WEB-INF 文件夹中的 Web 资源

grails - 如何在已部署的 Grails 2.1.0 应用程序中包含 Groovy 2.0?

gradle - Gradle任务不应自动执行

gradle - 如何在 Gradle Kotlin DSL 中应用和配置 Kotlin No Arg 编译器插件?

maven - Gradle - 将多个 Jar 放入 Maven 存储库的单个文件

grails - 用 Gorm 展平对象模型?

grails - 如何处理 groovy 方法中的多个返回类型?

grails - 将具有预定义值的域类映射到表