Как стать автором
Обновить

Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.9K
Всего голосов 5: ↑5 и ↓0+7
Комментарии5

Комментарии 5

Спасибо за статьи! Convention-плагин подключить не получилось, а вот затащить это в buildSrc удалось. Наконец избавился от дублирования некоторых значений и хранения в разных местах констант. Пробовал как-то и сам extension-функции написать для упрощения конфигурирования модулей приложения и библиотек, но не смог ))). Да и gradle далеко не та штука в которой хочется долго ковыряться, так как код самого приложения важнее.

Спасибо за отзыв, рад что помог!

buildSrc - это тоже вариант, но у него есть свои ограничения и недостатки в части кэширования сборки и пр. :)

Возможно, это поможет с подключением: при использовании композитных сборок (composite builds) вместо buildSrc самый важный момент - это правильно прописать подключение модуля с плагинами в основной проект. В файле settings.gradle.kts основного проекта нужно указывать не include(":convention-plugins:base"), а includeBuild("convention-plugins/base") - без двоеточий, как обычный путь до директории, где лежит build.gradle.kts-файл модуля с плагинами (довольно часто встречающаяся ошибка)

Ошибку с неправильным написанием ловил, но исправлял. Действовал согласно вашим статьям. Но у меня сборка ругалась в итоге не на подключение в settings.gradle.kts. А в build.gradle.kts проекта. Когда надо добавить свой плагин в сборку: id("base.plugin")

Мне стало лень разбираться дальше с этим и откатился на buildSrc, так как понял что уже несколько часов занимаюсь обновлением конфигов сборки ))

Была такая же ошибка, мне помогло изменение с id("base.plugin") на id("base")

До просто plugin я сокращал не помогло, а до просто base даже не пробовал ))
Если вдруг решу снова ковыряться в gradle, то попробую так сделать...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий