Site icon AppTractor

Мониторим здоровье Gradle-сборки KMP проекта

Gradle-сборка нашего большого КМП-проекта жутко тормозила: больше 20 минут IDE sync, 7 минут Android debug clean build. Миллион строк кода, 30 мобильщиков, таргеты Android и iOS, 98% переиспользование UI и логики (Compose Multiplatform).

Пробовали замерять оптимизации ручками, ударились о нестабильность окружения и гору ручной работы. Пробовали найти полноценное решение, чтобы мониторить здоровье сборки, — кроме Develocity «коробки» нет, а Develocity в России нельзя купить. Отдельные open-source инструменты решают только части проблемы. Статьи и доклады в интернете в основном про чистые Android-проекты, без привкуса KMP.

Пришлось разобраться и собрать Франкенштейна из open-source решений и самопала. Итог — MVP системы мониторинга здоровья сборки KMP проекта, которая закрывает потребность по правилу 20/80 и легко скейлится на любые проекты компании. Ключевые элементы:

Все три инструмента составляют «святую троицу», только вместе дают мощную синергию.

Несмотря на то что проект KMP, — выгоднее всего фокуситься на мониторинге именно Android debug-сборки. Важно не забыть про IDE sync, однако измерять его крайне сложно — обсудим, как с этим жить. iOS-билд — последний по приоритету, однако тоже важно учесть.

Система уже себя оправдала, расскажу про реальные кейсы ценности, например:

Дам практические рекомендации, как минимальными усилиями поднять аналогичный инструмент в рамках любого крупного проекта. Помогу понять, как продавать оптимизации сборки руководству.

Exit mobile version