Size: a a a

2020 October 10

VA

Victor Alenkov in Gradle
Sergey Barmin
Всем добрый день, подскажите пожалуйста, есть ли возможность в самописном градл плагине чекнуть что в проекте присутствует зависимость, и если она есть то уже производить некие действия? Чекнуть что плагин есть понятно - pluginManager.withPlugin()
а зачем связь на зависимость делать? лучше заведите конфигурацию для плагина с флагом
Если флаг = true, то из плагина и зависимость добавьте и действия сделайте. Если = false, то ничего не делайте
источник

SB

Sergey Barmin in Gradle
План такой:
1) у меня есть библиотека для работы с БД, с предсобранной структурой, она же jooq, плюс экстеншены
2) есть свои плагины для приложений, один просто с application плагином, другой с спринговым плагином и всем чем надо в нем
3) вот хочется чтобы если используется спринговый плагин и добавляется зависимость от библиотеки из п.1 - автоматом добавлялась зависимость spring-boot-starer-jooq
источник

VA

Victor Alenkov in Gradle
сделайте другой плагин, который подцепит и ваш со спрингом и библиотеку и jooq для спринга
источник

VP

Vladimir Petrakovich in Gradle
Andrew Mikhaylov
А клонировать там конфигурации можно?
Да, но зачем?)
источник

VS

Vladimir Sitnikov in Gradle
Sergey Barmin
План такой:
1) у меня есть библиотека для работы с БД, с предсобранной структурой, она же jooq, плюс экстеншены
2) есть свои плагины для приложений, один просто с application плагином, другой с спринговым плагином и всем чем надо в нем
3) вот хочется чтобы если используется спринговый плагин и добавляется зависимость от библиотеки из п.1 - автоматом добавлялась зависимость spring-boot-starer-jooq
Тут 2 варианта:
1) Как написали выше -- сделать свой плагин, который применит spring + библиотеку+boot (напр, connvention plugins). Это рабоче-крестьянский способ. Всем понятно и всё такое.
2) Написать ComponentMetadataRule и подключить его (например, в плагине): https://github.com/jjohannes/missing-metadata-guava  Это способ похитрее, но и возможности у него очень широкие.
По сути, это будет набор правил в духе «если видишь вот такую зависимость, то считай, что она вот такая». В частности, таким образом можно «как бы добавить или убрать зависимость, передвинуть её из api в test и т.п.». Например: https://github.com/jjohannes/missing-metadata-guava/blob/df2303d98f47f0c2b1b58346a41cf1058924acf8/src/main/java/de/jjohannes/gradle/missingmetadata/guava/GuavaMetadataRule.java#L110-L114
3) Пойти по хардкору и написать dependency substitution: https://docs.gradle.org/current/userguide/resolution_rules.html#sec:dependency_substitution_rules
источник

SB

Sergey Barmin in Gradle
Vladimir Sitnikov
Тут 2 варианта:
1) Как написали выше -- сделать свой плагин, который применит spring + библиотеку+boot (напр, connvention plugins). Это рабоче-крестьянский способ. Всем понятно и всё такое.
2) Написать ComponentMetadataRule и подключить его (например, в плагине): https://github.com/jjohannes/missing-metadata-guava  Это способ похитрее, но и возможности у него очень широкие.
По сути, это будет набор правил в духе «если видишь вот такую зависимость, то считай, что она вот такая». В частности, таким образом можно «как бы добавить или убрать зависимость, передвинуть её из api в test и т.п.». Например: https://github.com/jjohannes/missing-metadata-guava/blob/df2303d98f47f0c2b1b58346a41cf1058924acf8/src/main/java/de/jjohannes/gradle/missingmetadata/guava/GuavaMetadataRule.java#L110-L114
3) Пойти по хардкору и написать dependency substitution: https://docs.gradle.org/current/userguide/resolution_rules.html#sec:dependency_substitution_rules
спасибо!
источник

AM

Andrew Mikhaylov in Gradle
Vladimir Sitnikov
Тут 2 варианта:
1) Как написали выше -- сделать свой плагин, который применит spring + библиотеку+boot (напр, connvention plugins). Это рабоче-крестьянский способ. Всем понятно и всё такое.
2) Написать ComponentMetadataRule и подключить его (например, в плагине): https://github.com/jjohannes/missing-metadata-guava  Это способ похитрее, но и возможности у него очень широкие.
По сути, это будет набор правил в духе «если видишь вот такую зависимость, то считай, что она вот такая». В частности, таким образом можно «как бы добавить или убрать зависимость, передвинуть её из api в test и т.п.». Например: https://github.com/jjohannes/missing-metadata-guava/blob/df2303d98f47f0c2b1b58346a41cf1058924acf8/src/main/java/de/jjohannes/gradle/missingmetadata/guava/GuavaMetadataRule.java#L110-L114
3) Пойти по хардкору и написать dependency substitution: https://docs.gradle.org/current/userguide/resolution_rules.html#sec:dependency_substitution_rules
За второй вариант спасибо, интересный способ :)
источник

SB

Sergey Barmin in Gradle
да, второй самый интересный)
источник
2020 October 11

JW

Julie Wakley in Gradle
источник

с#

саша сок #KotlinGang... in Gradle
опять)
источник
2020 October 12

S

Silent829 in Gradle
подскажите пожалуйста, как добавить конфигурацию не как зависимость
источник

S

Silent829 in Gradle
Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor
Почему так говорит? Я добавил все что нужно было
источник

S

Silent829 in Gradle
источник

S

Silent829 in Gradle
источник

AM

Andrew Mikhaylov in Gradle
Silent829
подскажите пожалуйста, как добавить конфигурацию не как зависимость
Вы б показали, где (и зачем) вы конфигурацию как зависимость добавляете, а дальше уже можно было бы поговорить.
источник

AM

Andrew Mikhaylov in Gradle
Silent829
Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor
Почему так говорит? Я добавил все что нужно было
Это не к вам претензия, это претензия к Room-овскуму процессору аннотаций. Обновляйтесь потихоньку и будет вам когда-нибудь счастье -- говорят, этой проблемой занимаются.
источник

S

Silent829 in Gradle
Andrew Mikhaylov
Вы б показали, где (и зачем) вы конфигурацию как зависимость добавляете, а дальше уже можно было бы поговорить.
я так понял это тут
источник

AM

Andrew Mikhaylov in Gradle
extendsFrom -- это наоборот нормальный механизм, который предлагается взамен зависимости от конфигурации.
источник

S

Silent829 in Gradle
Andrew Mikhaylov
extendsFrom -- это наоборот нормальный механизм, который предлагается взамен зависимости от конфигурации.
это?
источник

S

Silent829 in Gradle
зависимости обычные ¯\_(ツ)_/¯ я в общем не знаю где искать
источник