从子项目调用父函数

时间:2013-02-08 12:24:33

标签: groovy gradle

Gradle中有没有办法从子项目中调用父函数? 如果我将父项目和函数定义为:

def testMethod() {
    println("TestMethod called from directory ${project.projectDir}")
}

和子项目:

task subTest << {
    println("I'm subTest task from ${project.projectDir}")
    testMethod()
}

从命令行调用此结果:

Could not find method testMethod() for arguments [] on root project 'subsys1'

1 个答案:

答案 0 :(得分:1)

Could not find method testMethod() for arguments [] on root project 'subsys1'

表示Gradle认为subsy1是根项目,而您的父项目应该是根项目。这意味着您有多个settings.gradle,它认为subsys1是项目层次结构的开头。应该只有1个settings.gradle文件,该文件应该驻留在根项目中。在那里配置每个子项目。他们没有获得自己的settings.gradle文件。