Lëshimi i veglave të ndërtimit të Qbs 1.21 dhe fillimi i testimit të Qt 6.3

Është njoftuar lëshimi i veglave të ndërtimit të Qbs 1.21. Ky është publikimi i tetë që nga largimi i kompanisë Qt nga zhvillimi i projektit, i përgatitur nga komuniteti i interesuar për të vazhduar zhvillimin e Qbs. Për të ndërtuar Qbs, Qt kërkohet midis varësive, megjithëse vetë Qbs është krijuar për të organizuar montimin e çdo projekti. Qbs përdor një version të thjeshtuar të gjuhës QML për të përcaktuar skriptet e ndërtimit të projektit, i cili ju lejon të përcaktoni rregulla ndërtimi mjaft fleksibël që mund të lidhin module të jashtme, të përdorin funksione JavaScript dhe të krijojnë rregulla ndërtimi me porosi.

Gjuha e skriptimit e përdorur në Qbs është përshtatur për të automatizuar gjenerimin dhe analizimin e skripteve të ndërtimit nga mjediset e integruara të zhvillimit. Për më tepër, Qbs nuk gjeneron skedarë make-files, por vetë, pa ndërmjetës të tillë si mjeti make, kontrollon nisjen e përpiluesve dhe lidhësve, duke optimizuar procesin e ndërtimit bazuar në një grafik të detajuar të të gjitha varësive. Prania e të dhënave fillestare në lidhje me strukturën dhe varësitë në projekt ju lejon të paralelizoni në mënyrë efektive ekzekutimin e operacioneve në disa fije. Për projekte të mëdha që përbëhen nga një numër i madh skedarësh dhe nëndrejtorish, performanca e rindërtimit duke përdorur Qbs mund të jetë disa herë më e shpejtë se ajo e prodhimit - rindërtimi kryhet pothuajse menjëherë dhe nuk e detyron zhvilluesin të humbasë kohë duke pritur.

Kujtojmë se në vitin 2018 kompania Qt vendosi të ndalojë zhvillimin e Qbs. Qbs u zhvillua si një zëvendësim për qmake, por në fund u vendos që të përdoret CMake si sistemi kryesor i ndërtimit për Qt në afat të gjatë. Zhvillimi i Qbs ka vazhduar tani si një projekt i pavarur i mbështetur nga komuniteti dhe zhvilluesit e interesuar. Infrastruktura e kompanisë Qt vazhdon të përdoret për zhvillim.

Risitë kryesore të Qbs 1.21:

  • Mekanizmi i ofruesve të moduleve (gjeneruesit e moduleve) është ridizajnuar. Për korniza të tilla si Qt dhe Boost, tani është e mundur të përdoren më shumë se një ofrues, të specifikoni se cilin ofrues të ekzekutohet duke përdorur veçorinë e re qbsModuleProviders dhe të specifikoni një përparësi për zgjedhjen e moduleve të krijuara nga ofrues të ndryshëm. Për shembull, mund të specifikoni dy ofrues "Qt" dhe "qbspkgconfig", i pari prej të cilëve do të përpiqet të përdorë instalimin e përdoruesit të Qt (nëpërmjet një kërkimi qmake), dhe nëse nuk gjendet një instalim i tillë, ofruesi i dytë do të përpiqet të përdorni Qt-në e ofruar nga sistemi (përmes një thirrjeje në pkg-config) : CppApplication { Varet { emri: "Qt.core" } skedarët: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • U shtua ofruesi "qbspkgconfig", i cili zëvendësoi ofruesin e modulit "fallback", i cili u përpoq të gjeneronte një modul duke përdorur pkg-config nëse moduli i kërkuar nuk ishte krijuar nga ofrues të tjerë. Ndryshe nga "fallback", "qbspkgconfig" në vend që të thërrasë programin pkg-config përdor një bibliotekë të integruar C++ për të lexuar drejtpërdrejt skedarët ".pc", e cila lejon përshpejtimin e punës dhe marrjen e informacionit shtesë rreth varësive të paketës që nuk disponohet kur telefononi mjeti pkg-config.
  • Mbështetje e shtuar për specifikimin C++23, i cili përcakton standardin e ardhshëm C++.
  • Mbështetje e shtuar për arkitekturën Elbrus E2K për paketën e veglave GCC.
  • Për platformën Android, veçoria Android.ndk.buildId është shtuar për të anashkaluar vlerën e paracaktuar për flamurin lidhës "--build-id".
  • Modulet capnproto dhe protobuf zbatojnë aftësinë për të përdorur kohëzgjatjen e ofruar nga ofruesi qbspkgconfig.
  • Zgjidhen çështjet me gjurmimin e ndryshimeve në skedarët burim në FreeBSD për shkak të milisekondave që humben kur vlerësohen kohët e modifikimit të skedarëve.
  • U shtua veçoria ConanfileProbe.verbose për ta bërë më të lehtë korrigjimin e projekteve që përdorin menaxherin e paketave Conan.

Për më tepër, mund të vërejmë fillimin e testimit alfa të kornizës Qt 6.3, i cili zbaton një modul të ri "Qt Language Server" me mbështetje për Serverin e gjuhës dhe protokollet JsonRpc 2.0, një pjesë e madhe e funksioneve të reja është shtuar në Qt Core moduli, dhe MessageDialog i tipit QML është implementuar në modulin Qt Quick Dialogs Për të përdorur kutitë e dialogut të ofruara nga platforma, një server i përbërë Qt Shell dhe një API për krijimin e shtesave tuaja të guaskës së përdoruesit janë shtuar në modulin Qt Wayland Compositor. .

Moduli Qt QML ofron një implementim të përpiluesit qmltc (përpilues i tipit QML), i cili ju lejon të përpiloni strukturat e objekteve QML në klasa në C++. Për përdoruesit komercialë të Qt 6.3, ka filluar testimi i produktit Qt Quick Compiler, i cili, përveç përpiluesit të tipit QML të lartpërmendur, përfshin përpiluesin e skriptit QML, i cili ju lejon të përpiloni funksionet dhe shprehjet QML në kodin C++. Vihet re se përdorimi i Qt Quick Compiler do të afrojë performancën e programeve të bazuara në QML me programet vendase; në veçanti, gjatë përpilimit të shtesave, ka një reduktim në kohën e fillimit dhe ekzekutimit me afërsisht 30% në krahasim me përdorimin e versionit të interpretuar. .

Burimi: opennet.ru

Shto një koment