У меня есть конкретный вариант использования и абстрактный вопрос. Моя конечная (надуманная) цель - настроить плагин Gradle для Android из плагина Gradle, который я пишу на Kotlin. По-моему, я пытаюсь создать шаблон для того, что люди обычно помещают в блок android { ... }
в своих файлах build.gradle
. Это половина для обучения и половина для реальной проблемы. У меня есть управление пакетами, которые должны иметь одинаковые конфигурации.
Есть несколько вопросов, которые, я думаю, я уже определил.
- Где находится плагин Android Gradle? Это должно быть там, где определен код конфигурации.
- Где живет Android Gradle DSL? Все, что я знаю о настройке Android, основано на Gradle DSL, и там нет никаких типов. Я не уверен, как сопоставить его с не-DSL-ориентированным API.
Я путался в том, что у меня получилось, но я чувствовал себя разочарованным чаще, чем нет. Итак, абстрактный вопрос: как тот, кто «знает» Грэдла, поступает с такой проблемой? Как кто-то может надежно определить, какие классы определяют DSL плагина и как вы будете переводить этот код DSL в то, что вы хотите создать из плагина Kotlin? Например, если я хочу настроить следующий блок, который я распознаю как блок dependencies { ... }
, какие шаги я должен предпринять, чтобы снова оценить эти вопросы?