Как я могу узнать, какие методы или свойства можно использовать в закрытии Gradle?

#java #gradle #build #build.gradle #dependency-management

Вопрос:

Я новичок в Gradle, и у меня есть небольшая путаница в том, какие вещи можно использовать в закрытии.

 // build script is a block script
buildscript {  // #1
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
}
// copyFile is a class (Copy) instance
task copyFile(type: Copy){
    from "src"
    into "dst"
}
copyFile {  // #2
    ext.name = "fooBar"
}
// afterEvaluate is Project's method and only accept closure.
afterEvaluate {  // #3
    if (project.tasks.getByName("test")) {
        logger.info("Task 'test' aded")
    }
}
 

buildscript , copyFile и afterEvaluate все только принимают закрытие. #1, #2 и #3 выглядят одинаково полностью по форме.

Как я могу знать, какие методы/свойства/сценарии блоков могут использоваться при закрытии Gradle для разных блоков/экземпляров/методов сценариев?