Size: a a a

2021 May 24

VS

Vladimir Sitnikov in Gradle
Не используйте tasks.whenTaskAdded — это ломает configuration avoidance.

Нужно либо tasks.withType<GenerateBuildConfigИлиКакТам>().configureEach { dependsOn(…) }
либо tasks.matching { it.name=«какое-то условие» }.configureEach { dependsOn(…) }
источник

JF

Jorik Fat in Gradle
спасибо за совет. Видимо еще долго буду разбираться с Gradl'ом
источник

VP

Vladimir Petrakovich in Gradle
Ну в этом отдельном файле должен быть не просто кусок кода.
Вы так делаете?
https://docs.gradle.org/current/userguide/custom_tasks.html#sec:writing_a_simple_task_class
источник

JF

Jorik Fat in Gradle
да
источник

VP

Vladimir Petrakovich in Gradle
Вроде норм. Тогда странно, если что-то пошло не так, оно не должно оставаться незамеченным, была бы какая-нибудь ошибка.
источник

VS

Vladimir Sitnikov in Gradle
Выглядит крайне странно. «gradle sync» в IDEA работает? Не падает?

В idea.log есть ошибки?

Если таску написать на Kotlin, то проблема воспроизводится? (как бы и Gradle рекомендуют использовать статически типизированные языки для плагинов)
источник
2021 May 25

1

137 in Gradle
Hi
источник

1

137 in Gradle
Can any one share simple hello world gradle project please!!
источник

IP

Iaroslav Postovalov in Gradle
источник

1

137 in Gradle
Thank you so much!
источник

a

aiden in Gradle
Всем привет! Пытаюсь понять как сделать так чтобы таск выполнялся в цикле постоянно? В документациях увидел "Flexible Task Registration", где якобы используется loop ".times". Не думаю это то что надо.
источник

PS

Pavel Shakhov in Gradle
Доброго вечера. Такой вопрос - создан кастомный таск rollback, который в данный момент зависит от smokeTest посредством onlyIf { state?.failure != null }. Таким образом, в данный момент без выполнения таска smokeTest таск rollback нельзя запустить, он будет скипаться. Возможно ли настроить его так, чтобы а) его можно было вызвать всегда b) чтобы он автоматом выполнялся в случае падения smokeTest (finalizedBy в данном случае не подходит - автомат нужен лишь в случае падения)
источник

PS

Pavel Shakhov in Gradle
Насколько законна для данной цели конструкция вида  
project.tasks.named("smokeTest").configure {
       if (state.executed && state.failure != null) finalizedBy(project.tasks.named("helmRollback"))
   }
источник

VS

Vladimir Sitnikov in Gradle
-t, --continuous                   Enables continuous build. Gradle does not exit and will re-execute tasks when task file inputs change.
источник

a

aiden in Gradle
Thanks 🙌
источник

VS

Vladimir Sitnikov in Gradle
Несколько раз перечитал, но всё равно непонятно.

finalizedBy, похоже, является единственным способом что-то сделать после падения таски.
Я когда-то предлагал --continue, но оно продложит выполнять _оставшиеся_ таски, а те, которые зависели от упавшей не будут.

при этом, configure { if(state.executed) работать не будет, т.к. ваш if выполнится в момент конфигурации проекта, ещё до запуска тасок, и на статусы смотреть ещё рано. Статусы нужно где-то в onlyIf проверять.

Поэтому, да, ваш выбор, похоже:
a) finalizedBy + onlyIf с проверкой на статус smokeTest (сходу не скажу, но, да, нужно играться с state.executed, state.failure и т.п. — надо проверить как там в случае up-to-date, from-cache и т.п.)
б) добавлять try-catch в саму smoke test таску
в) бахнуть какой-нибудь gradle.taskGraph.afterTask
источник

PS

Pavel Shakhov in Gradle
Благодарю, про configure забыл, да попробую для начала через 1й вариант проверить, он выглядит наиболее дружелюбно
источник

B

Binali in Gradle
Коллеги grade 7, стоит с версии 6.4.1 пересаживаться?
источник

VS

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

VS

Vladimir Sitnikov in Gradle
Есть ещё вариант через BuildService: https://docs.gradle.org/current/userguide/build_services.html
Таска (или несколько) может зависеть от buildservice, Gradle запустит сервис при первом использовании, и в конце закроет.
источник