Decommissioning HTTP for Gradle Services [https://blog.gradle.org/decommissioning-http]
Beginner’s Guide to Gradle for Android Developers
Gradle Tutorial for Android: Getting Started
How Gradle Works Part 1 – Startup
01.2023 [https://blog.gradle.org/how-gradle-works-1]
[https://blog.gradle.org/how-gradle-works-2]
[https://blog.gradle.org/how-gradle-works-3]
Understanding Gradle Tasks
11.2022 [https://betterprogramming.pub/understanding-gradle-tasks-417d6f5e13f4]
Fixing Dependency Metadata in Gradle
11.2022 [https://proandroiddev.com/fixing-dependency-metadata-in-gradle-65fd86abe4e1]
Gradle: Version Catalogs
05.2021 [https://blog.stylingandroid.com/gradle-version-catalogs]
Проекты в Gradle 7: как не зависеть от зависимостей
06.2021 [https://habr.com/ru/post/560868/]
Не бойтесь использовать Gradle
01.2023 [https://habr.com/ru/companies/itq_group/articles/711712/]
Understanding Gradle
[https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl2k2OmC_gsjDpdIBTN0qqkE]
Benchmarking Gradle Builds Using Gradle-Profiler
11.2020 [https://goobar.io/benchmarking-gradle-builds-using-gradle-profiler/]
Gradle Doctor
[https://runningcode.github.io/gradle-doctor]
How we reduced our Gradle build times by over 80%
11.2021 [https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b]
Graph
[https://github.com/savvasdalkitsis/module-dependency-graph]
[https://github.com/vanniktech/gradle-dependency-graph-generator-plugin]
[https://github.com/mariodujic/Android-multimodule-dependency-graph]
[https://github.com/inDriver/laniakea-gradle-plugin]
[https://proandroiddev.com/graphs-gradle-and-talaiot-b0c02c50d2b1]
Take care of your gradle home directory
01.2021 [https://jitinsharma.in/posts/take-care-of-your-gradle-home-directory]
Introducing Java toolchains
10.2020 [https://blog.gradle.org/java-toolchains]
New APIs in the Android Gradle Plugin
29.07.2020 [https://medium.com/androiddevelopers/new-apis-in-the-android-gradle-plugin-f5325742e614]
Introducing Configuration Caching
10.08.2020 [https://blog.gradle.org/introducing-configuration-caching]
Советы по работе с Gradle для Android-разработчиков
21.03.2021 [https://habr.com/ru/company/redmadrobot/blog/544630/]
Готовьсь, цельсь, пли! Как не обжечься при сборке Gradle-приложения, и настолько ли всё серьезно?
03.2021 [https://habr.com/ru/company/yota/blog/546664/]
The proper care and feeding of your Gradle build
[https://dev.to/autonomousapps/the-proper-care-and-feeding-of-your-gradle-build-d8g]
Gradle plugin for Java, Kotlin, and Android projects. Provides advice for managing dependencies and other applied plugins
[https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin]
dependency-analysis-android-gradle-plugin
[https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin]
10 ideas to improve your Gradle build times
[https://medium.com/dipien/10-great-ideas-to-improve-your-gradle-build-times-2a6b281c69c6]
[https://medium.com/dipien/10-ideas-to-improve-your-gradle-build-times-part-ii-9551bb10e9bd]
[https://blog.dipien.com/10-ideas-to-improve-your-gradle-build-times-part-iii-db06392f253]
Gradle plugin to keep your modules graph healthy and lean.
[https://github.com/jraska/modules-graph-assert]
Preparing your Gradle build for package visibility in Android 11
14.07.2020 [https://android-developers.googleblog.com/2020/07/preparing-your-build-for-package-visibility-in-android-11.html]
👉 org.gradle.configureondemand=true
👉 kapt.use.worker.api = true
👉 org.gradle.parallel=true
👉 org.gradle.caching=true
👉 room.incremental = true
👉 org.gradle.unsafe.watch-fs=true
10 Tips to Speed Up Android Gradle Build Times
[ https://heartbeat.fritz.ai/10-tips-to-speed-up-android-gradle-build-times-c0ec665fc800]
19 tips for Gradle in Android projects — 2019 Edition [https://medium.com/google-developer-experts/19-tips-for-gradle-in-android-projects-2019-edition-11af704eb06e]
Converting your Android Gradle scripts to Kotlin [https://proandroiddev.com/converting-your-android-gradle-scripts-to-kotlin-1172f1069880]
Know more about amazing Gradle in Android Studio [https://medium.com/@ahmedadelsaid/atat-know-more-about-the-amazing-gradle-in-android-studio-91a05e2cdf46]
Implementation Vs Api in Android Gradle plugin 3.0 [https://medium.com/mindorks/implementation-vs-api-in-gradle-3-0-494c817a6fa]
a Developer’s insight(s) about Android + Gradle [https://medium.com/compas/a-developers-insight-s-about-android-gradle-ccf5eb1882da]
Разработчики про использование Gradle в Android
Шпаргалка по Gradle [ https://habr.com/ru/post/458046/ ]
Трансформация кода в Android [ https://habr.com/ru/post/469237/ ]
Incremental testing for Gradle multi-projects [ https://medium.com/swlh/incremental-testing-for-gradle-multi-projects-2ad6cacd8e51 ]
Gradle Remote Build Cache Misses [ https://developers.soundcloud.com/blog/gradle-remote-build-cache-misses ]
Optimize Gradle build performance [ https://medium.com/@prashant.panwar777/optimize-gradle-build-performance-a767bba13d45 ]
Generating Java/Kotlin source files during Android Gradle build. [ https://medium.com/swlh/generating-java-kotlin-source-files-during-android-gradle-build-db6161674afc ]
O(1) Android build time at Tiki [ https://medium.com/@nlg.tuan.kiet/o-1-android-build-time-at-tiki-1a27a804bb6a ]
Introducing flaky test mitigation tools for Gradle [ https://blog.gradle.org/gradle-flaky-test-retry-plugin ]
Инкрементальный annotation proccesing для ускорения gradle-сборок [ https://habr.com/ru/company/hh/blog/484918/ ]
Optional dependencies are not optional [ https://blog.gradle.org/optional-dependencies ]
How to use Composite builds as a replacement of buildSrc in Gradle
[https://badootech.badoo.com/how-to-use-composite-builds-as-a-replacement-of-buildsrc-in-gradle-64ff99344b58]
10 Tips to Speed Up Android Gradle Build Times
[https://heartbeat.fritz.ai/10-tips-to-speed-up-android-gradle-build-times-c0ec665fc800]
Optimizing Gradle Daemon’s memory and cache usage
[https://proandroiddev.com/optimizing-gradle-daemons-memory-and-cache-usage-90b900065a34]
Stop using Gradle buildSrc
. Use composite builds instead
[https://proandroiddev.com/stop-using-gradle-buildsrc-use-composite-builds-instead-3c38ac7a2ab3]
Пишем Gradle plugin // Бесплатный урок OTUS
GDG Live / Разбор доклада Степана Гончарова “Gradle от А до Я” // 24.09.2020
Степан Гончаров — Gradle от A до Я
Как подружиться с Gradle
How to Show Library Dependency Tree in Android Studio?
01.2022 [https://vtsen.hashnode.dev/how-to-show-library-dependency-tree-in-android-studio]
[https://blog.droidchef.dev/mastering-the-gradle-dependency-tree/]
printDepsTreeInJson
task printDepsTreeInJson { doLast { configurations.compile.incoming.getResolutionResult().getAllDependencies().each { depResult -> println "{\"from\":\"" + depResult.getFrom() + "\"," + "\"requested\":\"" + depResult.getRequested() + "\"}" } } } task printSolvedDepsTreeInJson { doLast { def jsonOutput = "[" configurations.compile.resolvedConfiguration.firstLevelModuleDependencies.each { dep -> def addToJson addToJson = { resolvedDep -> jsonOutput += "\n{" jsonOutput += "\"groupId\":\"${resolvedDep.module.id.group}\",\"artifactId\":\"${resolvedDep.module.id.name}\",\"version\":\"${resolvedDep.module.id.version}\",\"file\":\"${resolvedDep.getModuleArtifacts()[0].file}\"" jsonOutput += ",\"dependencies\":[" if(resolvedDep.children.size()!=0){ resolvedDep.children.each { childResolvedDep -> if(resolvedDep in childResolvedDep.getParents() && childResolvedDep.getConfiguration() == 'compile'){ addToJson(childResolvedDep) } } if(jsonOutput[-1] == ','){ jsonOutput = jsonOutput[0..-2] } } jsonOutput += "]}," } addToJson(dep) } if(jsonOutput[-1] == ','){ jsonOutput = jsonOutput[0..-2] } jsonOutput += "]" println jsonOutput } }