Обзор(EN,7М) как оценивать время выполнения Gradle тасков в разных условиях для Android проектов. Если коротко - используйте Gradle Profiler и правильно настраивайте сценарий
🔗 Альтернативная ссылка
#android #gradle #производительность
🔗 Альтернативная ссылка
#android #gradle #производительность
👍15
Т-Банк активно использовал подход демоприложений для фичей (минимальные приложения для тестирования и быстрой сборки), что привело к 90 app-модулям в Gradle-проекте.
Разработчик из T-Банка рассказал, как они занялись оптимизацией этого подхода и упрощением его поддержки, а именно:
👉 как они ушли от кода интеграции в application-модулях
👉 придумали подход collector + initializer (плагинная архитектура для настройки модулей)
👉 перешли на библиотеку App Startup, избавились от нее и стали использовать стандартный Java ServiceLoader из-за увеличения времени сборки, так как Jetpack-библиотека требует Android-модули и создает много задач
#android #gradle #оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Caupain - утилита для проверки доступности новых версий библиотек из Gradle Version Catalog (TOML файл). Можно использовать из консоли или подключить как Gradle плагин
Отчет может представить как HTML, Markdown или текстовый вывод в консоле
#gradle #инструменты
Отчет может представить как HTML, Markdown или текстовый вывод в консоле
#gradle #инструменты
🔥42👍9
Media is too big
VIEW IN TELEGRAM
Спикеры рассказали о том, как боролись за ускорение релизной сборки в мобильном банке и что из этого в итоге получилось. Разобрали особенности релизной сборки, связанные с подрезкой (shrinking) кода и ресурсов. Посмотрели, как профилировать и анализировать работу R8, а также отдельных Gradle-тасок, участвующих в подготовке релизной версии приложения.
Доклад для практикующих Андроид-инженеров с элементами хардкора.
🔗 Подробнее о конференции Mobius
🔗 Скачать презентацию
#android #mobius #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍11
Явное объявление зависимостей требуется чтобы корректно выстроить порядок выполнения task-ок, гарантировать воспроизводимость сборки.
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍12🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Develocity IntelliJ плагин интегрирует возможности Develocity и Build Scan прямо в IDE. В реальном времени будете видеть информацию о вашей производительность вашей Gradle сборки
#gradle #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65👍18❤2
Самое важное в Gradle 9 -
Что еще:
👉 Обновили используемый Kotlin до версии 2.2, а Groovy до версии 4.0
👉 Kotlin build script теперь поддерживают compilation avoidance - будет пропускаться их повторная компиляции, если не найдется значимых изменений. Это положительно скажется на время сборке, если вы используете Kotlin в buildSrc
👉 Перешли на использование JSpecify Nullability аннотаций
👉 Минимальная версия Java - 17
👉 Улучшения для авторов плагинов
Как и с любым мажорным релизом Gradle часть фичей стала стабильной, а deprecated API удалили, так что после миграции ваш проект может потребовать доработки или обновления подключенных Gradle плагинов.
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉39👍10🔥8❤3
Media is too big
VIEW IN TELEGRAM
00:00 – Что нового в Gradle 9 и как обновиться
03:08 – Configuration Cache
08:59 – Поддержка Kotlin 2.2
10:10 – Kotlin build script compilation avoidance
10:46 – Улучшения nullability в Gradle API
14:05 – Gradle теперь требует Java 17 или выше
15:39 – Обновление до Groovy 4
16:43 – Reproducible архивы включены по умолчанию
19:00 – JAVA_HOME теперь может использоваться как источник toolchain в Daemon JVM
21:39 – Gradle Wrapper теперь поддерживает символьные версии и SemVer (например, latest.release)
23:32 – Какие фичи стали стабильными, что устарело и что удалено
25:05 – Полезные ссылки на документацию и ресурсы
26:06 – Рекомендованные best practices для работы с Gradle 9
26:53 – Заключение
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26
Media is too big
VIEW IN TELEGRAM
00:00 - Папка buildSrc
02:06 - Convention Plugin
09:29 - Version Catalog
15:58 - Общие Task
19:09 - Производительность buildSrc
23:32 - included build
#gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍57🔥10❤3🤔1🤯1