Я учу Gradle, пытаюсь понять, как он работает под капотом.Основное правило, которое я прочитал в документации, заключается в том, что скрипт сборки на самом деле ссылается на свойства или вызывает методы в экземпляре класса org.gradle.api.Project
.
Существует DSL плагинов, представленный словом plugins
(блок сценариев «плагинов», как его иногда называют), как в:
plugins {
id 'java'
}
К чему это разрешено?Я ожидаю, что метод plugins () класса Project принимает закрытие, но я не могу найти ничего в документации API.Я вижу, что есть свойство с именами плагинов (https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:plugins),, но я не могу иметь никакого смысла использовать этот синтаксис для свойства с точки зрения чистого Groovy lang.
Есть какой-то другой механизм, который мне не хватает?