Kjo është një lëshim i mjetit të ndërtimeve Qbs 1.21. Ky është lëshimi i tetë pas largimit të kompanisë Qt Company nga zhvillimi i projektit, i përgatitur nga forcat e komunitetit të interesuar për vazhdimin e zhvillimit të Qbs. Për ndërtimin e Qbs, kërkohet Qt si një nga varësitë, edhe pse vetë Qbs është i dizajnuar për organizimin e ndërtimit të çdo projekti. Qbs përdor një variant të thjeshtuar të gjuhës QML për të përcaktuar skenarët e ndërtimit të projektit, që mundëson përcaktimin e rregullave mjaft fleksibile të ndërtimit, ku mund të lidhen modulet e jashtme, të përdoren funksione në JavaScript dhe të krijohen rregulla ndërtimi të rastit.
Gjuha e skriptit e pĂ«rdorur nĂ« Qbs Ă«shtĂ« adaptuar pĂ«r automatizimin e gjenerimit dhe analizĂ«s sĂ« skenareve tĂ« ndĂ«rtimit nga mjediset e integruara tĂ« zhvillimit. PĂ«rveç kĂ«saj, Qbs nuk gjeneron skedarĂ« make, por kontrollon personalisht, pa ndĂ«rmjetĂ«s siç Ă«shtĂ« utilita make, ekzekutimin e kompilatorĂ«ve dhe lidhĂ«sve, duke optimizuar procesin e ndĂ«rtimit mbi njĂ« grafik tĂ« detajuar tĂ« tĂ« gjitha varĂ«save. Prania e tĂ« dhĂ«nave fillestare pĂ«r strukturĂ«n dhe varĂ«sitĂ« nĂ« projekt lejon ekzekutimin efikas tĂ« operacioneve nĂ« shumĂ«_thread. PĂ«r projektet e mĂ«dha, tĂ« pĂ«rbĂ«ra nga njĂ« numĂ«r tĂ« madh skedash dhe nĂ«n-drejtorish, performanca e rindĂ«rtimit tĂ« pĂ«rsĂ«ritur me Qbs mund tĂ« tejkalojĂ« make disa herĂ« â rindĂ«rtimi kryhet pothuajse menjĂ«herĂ« dhe nuk e detyron zhvilluesin tĂ« kalojĂ« kohĂ« duke pritur.
Kujtojmë se në vitin 2018, kompania Qt Company mori vendimin për të ndaluar zhvillimin e Qbs. Qbs u zhvillua si zëvendësim për qmake, por në përfundim u vendos të përdoret CMake si sistemi kryesor i ndërtimit për Qt në afat të gjatë. Zhvillimi i Qbs tani vazhdon në formën e një projekti të pavarur, të mbështetur nga forcat e komunitetit dhe zhvilluesit e interesuar. Për zhvillimin akoma vazhdohet të përdoret infrastruktura e kompanisë Qt.
Novitetet kryesore në Qbs 1.21:
- Mekanizmi i ofruesve të moduleve (gjeneratorëve të moduleve) është ristrukturuar. Tani për kuadrot si Qt dhe Boost, mund të përdoren më shumë se një ofrues, të përcaktohet cili nga ofruesit duhet të ekzekutohet me anë të pronës së re qbsModuleProviders dhe të përcaktohet prioriteti për zgjedhjen e moduleve të gjeneruara nga ofrues të ndryshëm. Për shembull, mund të përcaktohen dy ofrues, 'Qt' dhe 'qbspkgconfig', ku i pari do të përpiqet të përdorë instalimin e përdoruesit të Qt (nëpërmjet kërkimit qmake), dhe nëse një instalim i tillë nuk do të gjendet, ofruesi i dytë do të përpiqet të angazhojë Qt të siguruar nga sistemi (nëpërmjet thirrjes pkg-config): CppApplication { Depends { name: 'Qt.core' } files: 'main.cpp' qbsModuleProviders: ['Qt', 'qbspkgconfig'] }
- Ofruesi 'qbspkgconfig' është shtuar, i cili zëvendëson ofruesin e moduleve 'fallback', i cili përpiqej të gjeneronte një modul nëpërmjet pkg-config, nëse moduli i kërkuar nuk ishte gjeneruar nga ofrues të tjerë. Ndryshe nga 'fallback', në 'qbspkgconfig', në vend të thirrjes së utilitetit pkg-config, përdoret një bibliotekë e integruar C++ për të lexuar direkt skedarët '.pc', që mundëson të përshpejtonte punën dhe të merrte informacion shtesë mbi varësitë e paketave, informacion që nuk është i aksesueshëm nëpërmjet thirrjes së utilitetit pkg-config.
- Shtuar mbështetje për specifikimin C++23, i cili përcakton standartin e ardhshëm të C++.
- Për kit-in e GCC, është shtuar mbështetje për arkitekturën Elbrus E2K.
- PĂ«r platformĂ«n Android Ă«shtĂ« shtuar prona Android.ndk.buildId, qĂ« lejon kalimin e vlerĂ«s standarde pĂ«r flagun e lidhĂ«sit 'âbuild-id'.
- Në modulet capnproto dhe protobuf është realizuar mundësia e përdorimit të runtime-eve, të ofruara nga ofruesi qbspkgconfig.
- Problemet me gjurmimin e ndryshimeve në skedarët me kod burimor në platformën FreeBSD janë zgjidhur, të shkaktuara nga heqja e milisekondave në vlerësimin e kohës së ndryshimit të skedarit.
- Shtohet prona ConanfileProbe.verbose, që lehtëson debuggimin e projekteve që përdorin menaxherin e paketave Conan.
Gjatë kësaj periudhe, filloi testimi alfa i kornizës Qt 6.3, e cila implementon modulin e ri 'Qt Language Server' me mbështetje për protokollet Language Server dhe JsonRpc 2.0. Moduli Qt Core është pasuruar me një sasi të madhe funksionesh të reja, ndërsa moduli Qt Quick Dialogs prezanton llojin QML MessageDialog për përdorimin e dritareve të dialogut të ofruara nga platforma. Në modulin Qt Wayland Compositor është shtuar një kompozitor. server Qt Shell dhe API për krijimin e zgjerimeve të veta të ndërfaqes përdoruesve.
NĂ« modulin Qt QML Ă«shtĂ« propozuar implementimi i kompilatorit qmltc (QML type compiler), qĂ« lejon kompilimin e strukturave tĂ« objekteve QML nĂ« klasa nĂ« gjuhĂ«n C++. PĂ«r pĂ«rdoruesit komercialĂ«, testi i produktit Qt Quick Compiler ka filluar qĂ« pĂ«rveç QML Type Compiler pĂ«rfshin gjithashtu QML Script Compiler, i cili lejon kompilimin e funksioneve dhe shprehjeve QML nĂ« kod C++. ĂshtĂ« theksuar se pĂ«rdorimi i Qt Quick Compiler do tĂ« sjellĂ« afĂ«rsisht performancĂ«n e aplikacioneve tĂ« bazuara nĂ« QML nĂ« nivelin e aplikacioneve native; veçanĂ«risht gjatĂ« kompilimit tĂ« zgjerimeve, vĂ«rehet njĂ« reduktim i kohĂ«s sĂ« startit dhe ekzekutimit pĂ«rreth 30% nĂ« krahasim me versionin e interpretuar.
Burimi: opennet.ru
