Size: a a a

2021 May 15

VS

Vladimir Sitnikov in Gradle
+
источник

BP

Bogdan Panchenko in Gradle
я начал так делать, не скажу что понравилось, так как указываю плагины два рааза( но из плюсов можно брать версии из gradle.properties
источник

VS

Vladimir Sitnikov in Gradle
Если напряжно, что «2 раза указываются», то https://jmfayard.github.io/refreshVersions/setup/ — там содержимое pluginManagement заполняется на основе properties файлика
источник

BP

Bogdan Panchenko in Gradle
а можно ссылку ? Что-то не нахожу
источник

VS

Vladimir Sitnikov in Gradle
ссылку на что?
источник

BP

Bogdan Panchenko in Gradle
convention plugins
источник

VS

Vladimir Sitnikov in Gradle
источник

VS

Vladimir Sitnikov in Gradle
Переводя на русский, это подход, когда сначала объявляешь 100500 плагинов, и потом подключаешь их через includeBuild.
Маленький пример — https://github.com/jjohannes/idiomatic-gradle/
Большой — https://github.com/gradle/gradle/tree/master/build-logic
источник

VS

Vladimir Sitnikov in Gradle
Побочным эффектом того подхода становится, что версии прячутся внутрь этих самых includedBuild'ов
источник

BP

Bogdan Panchenko in Gradle
ну не знаю, для простых вещей это монструозно
источник

PE

Pavel Erokhin in Gradle
Чёт очень переусложено
источник

BP

Bogdan Panchenko in Gradle
и это я еще на сложный пример не смотрел
источник

PE

Pavel Erokhin in Gradle
Аналогично))
источник

VS

Vladimir Sitnikov in Gradle
Ну, что вам сказать?
Я такое бахнул в allure-gradle, и доволен как слон.


plugins {
   id("allure-gradle.build-logic.kotlin-dsl-published-plugin")
}

group = "io.qameta.allure.gradle.base"

dependencies {
   testImplementation(project(":testkit-junit4"))
   testImplementation("org.assertj:assertj-core:_")
}
источник

BP

Bogdan Panchenko in Gradle
а сколько тоны кода пресечется за этим ?
источник

VS

Vladimir Sitnikov in Gradle
Вообще мало.
Вот код allure-gradle.build-logic.kotlin-dsl-published-plugin.gradle.kts


plugins {
   id("com.gradle.plugin-publish")
   id("allure-gradle.build-logic.repositories")
   id("allure-gradle.build-logic.kotlin")
   id("allure-gradle.build-logic.kotlin-dsl-gradle-plugin")
   id("allure-gradle.build-logic.reproducible-builds")
   id("allure-gradle.build-logic.dokka-javadoc")
   id("allure-gradle.build-logic.publish-to-central")
}
источник

BP

Bogdan Panchenko in Gradle
а репы и версии ? Что-то в примере было дофина чего, а ту тмало
источник

VS

Vladimir Sitnikov in Gradle
источник

VS

Vladimir Sitnikov in Gradle
Для репозиториев у меня отдельный плагин

allure-gradle.build-logic.repositories.gradle.kts

с вот таким содержимым:


repositories {
   mavenCentral()
}
источник

BP

Bogdan Panchenko in Gradle
пипец, создавать 256 папок в которых пару строк... Там где там мой мавен
источник