I have
apply from: "my_file.gradle"
println myvar
hello()
// my_file.gradle
def hello() {
println "this fails"
}
project.ext {
myvar = "this works"
}
and I get the error:
Could not find method hello() for arguments on root project ‘methods’.
How can I define a method in an included file?
Methods declared in an applied script aren’t visible outside that script. However, you can instead use an extra property:
ext.hello = { println "this works" }
apply from: "some/script.gradle"
hello() // shorthand for 'hello.call()'
Fantastic. Now I understand why the error message said consider using a closure.
Thanks.