В недавно выпущенном Gradle 4.2 упор сделан на улучшенную поддержку создания собственных приложений, что позволило сократить время сборки для собственной производительности почти вдвое. Еще одним важным моментом является включение Gradle Kotlin DSL.
Улучшения производительности в Gradle 4.2 были достигнуты тремя способами:
Параллельная нативная компиляция и задачи связывания Нативные задачи компиляции и связывания теперь по умолчанию выполняются параллельно, что делает нативные сборки быстрее, чем когда-либо. Это означает, что когда две (или более) задачи компиляции или связывания не зависят друг от друга, они могут выполняться одновременно (до предела max-worker для каждого вызова Gradle). Результативное улучшение производительности во многом зависит от структуры проекта и компонентов (например, чем больше взаимозависимостей между компонентами, тем меньше возможностей для параллельного выполнения задач), но в нашем тестировании время собственной сборки улучшилось на столько же как 50% и более.
Более быстрые zipTree и tarTree Реализации zipTree и tarTree имели серьезную проблему с производительностью, распаковывая файлы каждый раз при обходе дерева. Время сборки значительно улучшилось за счет исключения повторных посещений деревьев.
Снижение накладных расходов кэша сборки Благодаря усилиям по обеспечению очень небольших накладных расходов кеша сборки сборки, которые разрешают все выходные задачи из локального кеша сборки, выполняются до 20% быстрее из-за улучшений в распаковке.
Gradle Kotlin DSL v0.11.1 включен в Gradle 4, который, согласно его примечаниям к выпуску:
приносит последний и лучший Kotlin (1.1.4-3) и делает большие шаги к общему удобству использования с помощью утилит для Groovy-тяжелых DSL, таких как настройка Maven POM, использование Ant и тех, которые предоставляются подключаемыми модулями сообщества, ориентированными на Groovy.
Также были внесены улучшения в плагин Kotlin DSL:
Другие улучшения включают первоклассную поддержку репозиториев с поддержкой Google Cloud Storage, позволяющую публиковать и использовать плагины ivy-publish и maven-publish. Это работает аналогично поддержке Gradle Amazon S3, и примеры в руководстве пользователя помогут вам их использовать.
Поддержка платформы Play также улучшена в Gradle 4.2 с поддержкой Play v2.6, встроенных типов шаблонов Twirl и определяемых пользователем форматов Twirl. Кроме того, в этой версии представлены новые функции восстановления и перезагрузки по требованию для PlayRun, которые, как утверждается, обеспечивают более приятный опыт разработки для некоторых рабочих процессов.
Если вы заинтересованы в использовании Gradle в среде Android, см. Руководство для инсайдеров по Udacity Android Developer Nanodegree, часть 4 — Build it Bigger, в котором Никос Вагаллис из программиста узнает, как использовать Gradle, чтобы «превратить кучу исходного кода и ресурсов в готовую версию. проверенное и работающее приложение ».