Выпуск сборочного инструментария Qbs 1.17

Материал из Викиновостей, свободного источника новостей
Перейти к навигации Перейти к поиску

14 сентября 2020 года

Wikinews-logo-ru.svg

Представлен выпуск сборочного инструментария Qbs 1.17. Это четвёртый выпуск после ухода компании Qt Company от разработки проекта, подготовленный силами сообщества, заинтересованного в продолжении разработки Qbs. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

Используемый в Qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, Qbs не генерирует make-файлы, а сам, без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием Qbs может опережать make в разы - пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.

Напомним, что в 2018 году компанией Qt Company было принято решение о прекращении разработки Qbs. Qbs развивался как замена qmake, но в конечном счёте было решено использовать CMake в качестве основной сборочной системы для Qt в долгосрочной перспективе. Разработка Qbs теперь продолжена в форме независимого проекта, поддерживаемого силами сообщества и заинтересованными разработчиками. Для разработки пока продолжает использоваться инфраструктура Qt Company.

Основные новшества Qbs 1.17:

  • Добавлена начальная поддержка Qt 6.
  • Добавлен модуль capnp для использования протокола сериализации данных Cap'n Proto в приложениях на C++.
  • Добавлена возможность указания переменных product и project в правой части определений свойства moduleProvider (например, "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Добавлена поддержка инструментариев для сборки проектов C/C++ для работы поверх оборудования без ОС (bare-metal, с выставлением параметра qbs.targetPlatform в значение 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) и GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).
  • Добавлена поддержка среды разработки Xcode 12.0 для macOS.
  • Проведена чистка модулей "Qt for Android".
  • Улучшена поддержка сборки для платформы Android. В модуль Android.sdk добавлено свойство packageType для создания пакетов "aab" (Android App Bundles) вместо "apk", а также свойство aaptName для использования нового aapt2 (Android Asset Packaging Tool). Прекращена поддержка сборки Android-приложений для платформ ARMv5, MIPS и MIPS64.
 

Источники[править]

OpenNET logo.png
Creative Commons
Эта статья содержит материалы из статьи «Выпуск сборочного инструментария Qbs 1.17», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Cartoon Robot.svg
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Выпуск сборочного инструментария Qbs 1.17