Выпуск зборачнага інструментара Qbs 1.20

Прадстаўлены выпуск зборачнага інструментара Qbs 1.20. Гэта сёмы выпуск пасля сыходу кампаніі 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.20:

  • Рэалізавана поўная падтрымка фрэймворка Qt 6, уключаючы галінку Qt 6.2.
  • Абноўлены і партаваны на C++17 модуль QtScript, які больш не пастаўляецца ў Qt 6 і зараз уваходзіць у склад Qbs.
  • У выпадку зборкі з іншым наборам уласцівасцяў забяспечаны выснова спісу старых уласцівасцяў.
  • У qbs-config дададзеная каманда для дадання цалкам усяго профіля, якая дазваляе абыйсціся без паасобнага дадання ўласцівасцяў і істотна якая паскарае запуск пры наяўнасці некалькіх Android SDK.
  • Вырашана праблема з некарэктнай апрацоўкай часу абнаўлення файлаў на платформе FreeBSD.
  • Палепшана падтрымка C/C++. Дададзена падтрымка кампілятараў COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 і STM32) і інструментара Digital Mars. Для кампілятара MSVC рэалізавана ўласцівасць cpp.enableCxxLanguageMacro і дададзена падтрымка значэння "c++20" у cpp.cxxLanguageVersion.
  • Для платформы Android рэалізавана падтрымка выкарыстання dex-кампілятара d8 замест dx праз выстаўленні ўласцівасці Android.sdk.dexCompilerName. Спынена падтрымка Ministro, праграмы для забеспячэння працы Qt-бібліятэк у сістэме Android. Інструментарый для стварэння пакетаў абноўлены з aapt да aapt2 (Android Asset Packaging Tool).

Крыніца: opennet.ru

Дадаць каментар