有没有一种方法可以在build.gradle中定义全局变量,并使它们可以从任何地方访问。

我的意思是这样的

def variable = new Variable()

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

因为那样,它告诉我cannot find property
我也想对这些方法做同样的事情。
我的意思是这样的
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/

10-10 19:46