Gradle 7.0, последняя версия популярного инструмента для сборки программного обеспечения, используемого в разработке Android и других местах, предлагает более быстрые инкрементные сборки, а также поддержку Java 16.

В выпуске Gradle 7.0, представленном 9 апреля, просмотр файловой системы включен по умолчанию, чтобы ускорить инкрементные сборки. Эта возможность была введена в качестве дополнительной функции в Gradle 6.5 и считается готовым к производству в Gradle 6.7.

Когда включено наблюдение за файловой системой, Gradle сохраняет в памяти полученные сведения о файловой системе между сборками и пропускает чтение из файловой системы при каждой сборке. При инкрементной сборке файлы ввода и вывода проверяются, чтобы выяснить, что нужно перестроить. Эта возможность обычно экономит много времени, но добавляет некоторые накладные расходы ввода-вывода, которые могут быть заметны в больших проектах, когда мало что изменилось с момента предыдущей сборки.

Чтобы перейти на Gradle 7.0, разработчики могут обновить свою оболочку:

./gradlew wrapper --gradle-version=7.0

Разработчики могут получить доступ к Руководство по обновлению Gradle а также примечания по совместимости чтобы узнать о критических изменениях, устаревших функциях и других аспектах.

Также в Gradle 7.0:

  • Для Android улучшена производительность для дополнительных изменений в проектах, особенно тех, которые используют инструмент Jetifer для миграции библиотек.
  • Gradle теперь поддерживает запуск и сборку с Java 16или Java Development Kit (JDK) 16, который был выпущен 16 марта. Для поддержки JDK 16 Gradle был обновлен для использования языка Groovy 3 в сценариях сборки Groovy DSL.
  • Встроенная поддержка предлагается для Яблочный кремний системы, каждая функция которых теперь поддерживается с использованием собственного Arm JDK. Предыдущие версии Gradle могли работать на Apple Silicon Mac, но были недостатки, например, некоторые функции Arm JDK приходилось отключать, в то время как Intel JDK работал примерно на половину скорости через слой совместимости Rosetta2.
  • Каталоги версий представлены как экспериментальная возможность, позволяющая авторам сборки централизовать координаты зависимостей (группа, артефакт, версии) своих сторонних зависимостей в обычном файле конфигурации и объявлять зависимости безопасным для типов способом.
  • Экспериментальная функция для оценщиков проекта обеспечивает безопасность типов и позволяет автозавершение кода в IDE.
  • Были сделаны улучшения надежности сборки, например, теперь выполнение задачи без преимущества параллельного выполнения, если задача не проходит проверку ввода / вывода.
  • Блокировка зависимостей, механизм, обеспечивающий воспроизводимые сборки при использовании версий с динамическими зависимостями, был улучшен. В выпуске по умолчанию используется улучшенный формат файла блокировки зависимостей, что приводит к уменьшению количества файлов блокировки в большинстве проектов.

Авторские права © 2021 IDG Communications, Inc.


#Gradle #улучшает #инкрементные #сборки #поддерживает #Java

Source link