I'm trying to figure out what kind of code element the apply from
is:
buildscript {
apply from: rootProject.file("gradle/versions.gradle")
repositories {
google()
...
}
dependencies {
classpath plugin.android_gradle_plugin
...
}
}
From this post i understand that the buildscript
gradle function is called with a closure, so we can add the omitted brackets:
buildscript ({
apply from: rootProject.file("gradle/versions.gradle")
repositories ({
google()
...
})
dependencies ({
classpath plugin.android_gradle_plugin
...
})
})
I first thougt the apply from
is a label but then when could that label actually be used? Not to mention that groovy doesn't mention that labels are allowed to have spaces.
Then i thought it could be a property initialization (new Coordinates(latitude: 43.23, longitude: 3.67)
), but apply from
is in a closure.
At last i read about "curry", like this:
def nCopies = { int n, String str -> str*n }
def twice = nCopies.curry(2)
assert twice('bla') == 'blabla'
So the apply from
part could be evaluated first when using the closure, but even then i am still unaware if the apply from
is a label or some kind of assignment and what purpose it serves.