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

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

  • Забяспечана зліццё спісачных уласцівасцяў у модулях, злучаных узаемнымі залежнасцямі, што важна, напрыклад, пры апрацоўцы такіх сцягоў, як cpp.staticLibraries;
  • Дададзена аўтаматычнае вызначэнне GCC і IAR для мікракантролераў Renesas;
  • Дададзена падтрымка Xcode 11.4 у macOS;
  • Пашыраны магчымасці модуля падтрымкі clang-cl;
  • Забяспечана аўтаматычнае вызначэнне MSVC, clang-cl і MinGW у профілях, дзе відавочна не вызначана месцазнаходжанне інструментара;
  • Спрошчана ўключэнне і настройка асобна ўсталёўванай адладкавай інфармацыі (cpp.separateDebugInformation) праз секцыі Application і DynamicLibrary у параметрах праекту;
  • Дададзена падтрымка Qt 5.14 для Android і абноўлена ўтыліта qbs-setup-android;
  • У налады Qt.core.generateMetaTypesFile і Qt.core.metaTypesInstallDir дададзеная падтрымка JSON-файлаў, генераваных утылітай moc (Qt >= 5.15);
  • Дададзена падтрымка прадстаўленага ў Qt 5.15 новага механізму дэкларавання тыпаў для QML;
  • Дададзена настройка ConanfileProbe для спрашчэння інтэграцыі Qbs з пакетным мэнэджэрам Конан (для C/C++).

Крыніца: opennet.ru

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