Size: a a a

2019 October 17

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
Настройки одинаковые. Пока их там нет, но будут.
Это решается через помещение настроек в allprojects
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Это решается через помещение настроек в allprojects
У меня 6 или 7 проектов с такими конфигами. Смысл плагинов в том, что я подключаю плагин в проект с нужной версией и все равботает одинаково. Если мне надо копировать везде блок кода, то это бред. Кроме того, я применяю это не ко всем подпроектам, а выборочно.

Еще раз, я не говорю, что градл - это плохо. Градл - лучшая система сборки, которая сейчас есть, но тем не менее потолок виден.
источник

BV

Boris Vanin in Kotlin JVM
Я не понимаю, какую задачу вы решаете и в чём проблема
источник

BV

Boris Vanin in Kotlin JVM
Я просто написал очень много плагинов очень разной сложности
источник

BV

Boris Vanin in Kotlin JVM
И не могу идентифицировать именно эту проблему
источник

AN

Alexander Nozik in Kotlin JVM
Boris Vanin
Я не понимаю, какую задачу вы решаете и в чём проблема
У меня есть куча проектов с одинаковой конфигурацией и небольшим числом настроке. Надо сделать так, чтобы они конифигурились минимально, но оставалась вариабельность.
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
У меня 6 или 7 проектов с такими конфигами. Смысл плагинов в том, что я подключаю плагин в проект с нужной версией и все равботает одинаково. Если мне надо копировать везде блок кода, то это бред. Кроме того, я применяю это не ко всем подпроектам, а выборочно.

Еще раз, я не говорю, что градл - это плохо. Градл - лучшая система сборки, которая сейчас есть, но тем не менее потолок виден.
Потолок наверняка есть, но в вашем случае, мне кажется, можно не касаться его, если решать свою задачу более подходящими средствами.
Про создание тасок кстати вспомнил - стандартный maven-publish плагин это как-то делает, и никаких проблем.
источник

AN

Alexander Nozik in Kotlin JVM
У меня нет "проблемы". Я все, что мне надо реализаовал.
источник

BV

Boris Vanin in Kotlin JVM
Alexander Nozik
У меня есть куча проектов с одинаковой конфигурацией и небольшим числом настроке. Надо сделать так, чтобы они конифигурились минимально, но оставалась вариабельность.
Ну, это как раз то, что грейдл умеет
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Потолок наверняка есть, но в вашем случае, мне кажется, можно не касаться его, если решать свою задачу более подходящими средствами.
Про создание тасок кстати вспомнил - стандартный maven-publish плагин это как-то делает, и никаких проблем.
я тоже делаю :)
источник

AN

Alexander Nozik in Kotlin JVM
Boris Vanin
Ну, это как раз то, что грейдл умеет
Возвращаемся к проблеме. Нужна конфигурация плагина, потому что вариабельность все-таки нужна.
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
я тоже делаю :)
Делать можно по-разному 🙂
источник

BV

Boris Vanin in Kotlin JVM
Alexander Nozik
Возвращаемся к проблеме. Нужна конфигурация плагина, потому что вариабельность все-таки нужна.
Ну да, сделали экстеншн с нужным настройками, на его основе конфигурим проект
источник

AN

Alexander Nozik in Kotlin JVM
Boris Vanin
Ну да, сделали экстеншн с нужным настройками, на его основе конфигурим проект
Экстеншен не влияет на свойства плагина, на подключенные библиотеки и таски, поскольку во время применения плагина его еще нет.
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
У меня 6 или 7 проектов с такими конфигами. Смысл плагинов в том, что я подключаю плагин в проект с нужной версией и все равботает одинаково. Если мне надо копировать везде блок кода, то это бред. Кроме того, я применяю это не ко всем подпроектам, а выборочно.

Еще раз, я не говорю, что градл - это плохо. Градл - лучшая система сборки, которая сейчас есть, но тем не менее потолок виден.
Блок будет один раз - там же, где сейчас выполняется withSerialization. Выборочно эту конфигурацию можно спокойно переопределить без проблем.
источник

BV

Boris Vanin in Kotlin JVM
Alexander Nozik
Экстеншен не влияет на свойства плагина, на подключенные библиотеки и таски, поскольку во время применения плагина его еще нет.
Зато влияет когда его применяют, это конечно не очень удобно, но суть то та же
источник

AN

Alexander Nozik in Kotlin JVM
Ну так мы вернулись к тому, что экстеншен должен получать проект аргументом и сам все делать.
источник

AN

Alexander Nozik in Kotlin JVM
Пойду искать какую аудиторию нам дали и Ильмира встречать. Будем корутинить до вечера.
источник

BV

Boris Vanin in Kotlin JVM
Alexander Nozik
Ну так мы вернулись к тому, что экстеншен должен получать проект аргументом и сам все делать.
Зачем? Нет, там есть средства доставить эти изменения в структуру проекта
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
Экстеншен не влияет на свойства плагина, на подключенные библиотеки и таски, поскольку во время применения плагина его еще нет.
В Gradle есть такая замечательная штука, как DomainObjectCollection.all { }. Через неё можно как угодно реагировать на действия в extension'е. Разумеется, не добавляя ссылку на проект в него.
источник