Представлен выпуск сборочного инструментария Qbs 2.0. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.
በQbs ውስጥ ጥቅም ላይ የሚውለው የስክሪፕት ቋንቋ የግንባታ ስክሪፕቶችን በራስ-ሰር ለማመንጨት እና በIDEs ለመተንተን የተስማማ ነው። በተጨማሪም Qbs makefiles አያመነጭም, እና እራሱ, እንደ ማምረቻው የመሳሰሉ አማላጆች ከሌለ, የማጠናቀቂያዎችን እና ማያያዣዎችን መጀመርን ይቆጣጠራል, በሁሉም ጥገኞች ዝርዝር ግራፍ ላይ በመመስረት የግንባታ ሂደቱን ያመቻቻል. በፕሮጀክቱ ውስጥ ባለው መዋቅር እና ጥገኝነት ላይ የመነሻ መረጃ መኖሩ በበርካታ ክሮች ውስጥ ያሉትን ስራዎች አፈፃፀም ውጤታማ በሆነ መንገድ ለማዛመድ ያስችልዎታል. ብዙ ፋይሎችን እና ንዑስ ማውጫዎችን ላቀፉ ትላልቅ ፕሮጀክቶች Qbs ን በመጠቀም መልሶ መገንባት አፈፃፀሙን ከበርካታ ጊዜዎች ሊበልጥ ይችላል - መልሶ ግንባታው በቅጽበት ነው እና ገንቢው በመጠባበቅ ላይ ጊዜ እንዲያጠፋ አያደርገውም።
እ.ኤ.አ. በ2018 የQt ኩባንያ የQbs ልማትን ለማቆም ወሰነ። Qbs የተሰራው qmakeን ለመተካት ሲሆን በመጨረሻ ግን CMakeን ለዘለቄታው ለ Qt እንደ ዋና የግንባታ ስርዓት ለመጠቀም ተወሰነ። የQbs ልማት አሁን በማህበረሰብ ኃይሎች እና ፍላጎት ባላቸው ገንቢዎች የሚደገፍ ራሱን የቻለ ፕሮጀክት ቀጥሏል። የQt ኩባንያ መሠረተ ልማት ለልማት ጥቅም ላይ መዋሉን ቀጥሏል።
Значительное изменение номера версии связано с реализацией нового JavaScript-бэкенда, который пришёл на смену QtScript, объявленному устаревшим в Qt 6. Продолжать сопровождение QtScript своими силами из-за сложных привязок к JavaScriptCore признано нереалистичным, поэтому в качестве основы для нового бэкенда выбран самодостаточный и компактный JavaScript-движок QuickJS, созданный Фабрисом Белларом (Fabrice Bellard), основавшим в своё время проекты QEMU и FFmpeg. Движок поддерживает спецификацию ES2019 и по производительности заметно превосходит имеющиеся аналоги (XS на 35%, DukTape более чем в два раза, JerryScript в три раза, а MuJS в семь раз).
С точки зрения разработки сборочных сценариев переход на новый движок не должен привести к заметным изменениям. Производительность также сохранится примерно на том же уровне. Из отличий отмечаются более строгие требования в новом движке к использованию неопределённых значений, что может выявить проблемы в имеющихся проектах, которые оставались незамеченными при использовании QtScript.
ምንጭ: opennet.ru
