Выпуск сборочного инструментария Qbs 1.14, развитие которого продолжило сообщество

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

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

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

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

  • Поддержка Visual Studio 2019 и clang-cl (альтернативный интерфейс командной строки Clang, совместимый на уровне опций с компилятором cl.exe из состава Visual Studio);
  • Поддержка инструментариев разработки для встраиваемых устройств
    IAR, KEIL и SDCC, позволяющая использовать Qbs для проектов, развиваемых для нескольких аппаратных платформ;

  • Добавлены конфигурационный файлы и сборочные скрипты для системы непрерывной интеграции Travis CI, позволяющие собирать и тестировать каждый рецензируемый в Gerrit набор патчей для Qbs;
  • Полностью переработан Docker-образ на основе Debian, который можно использовать в качестве сборочного и тестового окружения;
  • Прекращена поддержка старых версий Android NDK (‹19).

Источник: opennet.ru