Випуск складального інструментарію Qbs 1.17

представлений випуск складального інструментарію 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.ru

Додати коментар або відгук