Ħruġ ta 'għodod tal-bini Qbs 1.21 u bidu tal-ittestjar Qt 6.3

Tħabbret ir-rilaxx tal-għodod tal-bini Qbs 1.21. Din hija t-tmien rilaxx minn meta l-Kumpanija Qt ħalliet l-iżvilupp tal-proġett, imħejji mill-komunità interessata li tkompli l-iżvilupp tal-Qbs. Biex tibni Qbs, Qt huwa meħtieġ fost id-dipendenzi, għalkemm Qbs innifsu huwa ddisinjat biex jorganizza l-assemblaġġ ta 'kwalunkwe proġett. Qbs juża verżjoni simplifikata tal-lingwa QML biex jiddefinixxi skripts tal-bini tal-proġett, li jippermettilek tiddefinixxi regoli tal-bini pjuttost flessibbli li jistgħu jgħaqqdu moduli esterni, jużaw funzjonijiet JavaScript, u ​​joħolqu regoli tal-bini tad-dwana.

Il-lingwa tal-kitba użata f'Qbs hija adattata biex awtomatizza l-ġenerazzjoni u l-parsing tal-iskripts tal-bini mill-IDEs. Barra minn hekk, Qbs ma jiġġenerax makefiles, u huwa nnifsu, mingħajr intermedjarji bħall-utilità make, jikkontrolla t-tnedija ta 'kompilaturi u linkers, jottimizza l-proċess tal-bini bbażat fuq graff dettaljat tad-dipendenzi kollha. Il-preżenza tad-dejta inizjali dwar l-istruttura u d-dipendenzi fil-proġett tippermettilek li titqabbel b'mod effettiv l-eżekuzzjoni ta 'operazzjonijiet f'diversi ħjut. Għal proġetti kbar li jikkonsistu f'numru kbir ta 'fajls u sottodirettorji, il-prestazzjoni ta' rebuilds bl-użu ta 'Qbs tista' taqbeż lil make b'diversi drabi - ir-ribuild huwa kważi istantanju u ma jagħmilx lill-iżviluppatur iqatta 'ħin jistenna.

Ifakkar li fl-2018, il-Kumpanija Qt iddeċidiet li tieqaf tiżviluppa Qbs. Qbs ġie żviluppat bħala sostitut għal qmake, iżda fl-aħħar mill-aħħar ġie deċiż li jintuża CMake bħala s-sistema ewlenija tal-bini għal Qt fit-tul. L-iżvilupp ta 'Qbs issa kompla bħala proġett indipendenti appoġġjat minn forzi tal-komunità u żviluppaturi interessati. L-infrastruttura Qt Company tkompli tintuża għall-iżvilupp.

Innovazzjonijiet ewlenin f'Qbs 1.21:

  • Il-mekkaniżmu tal-fornituri tal-moduli (ġeneraturi tal-moduli) ġie ddisinjat mill-ġdid. Għal oqfsa bħal Qt u Boost, issa huwa possibbli li tuża aktar minn fornitur wieħed, tispeċifika liema fornitur iħaddem bl-użu tal-proprjetà qbsModuleProviders il-ġdida, u tispeċifika prijorità għall-għażla ta 'moduli ġġenerati minn fornituri differenti. Pereżempju, tista' tispeċifika żewġ fornituri "Qt" u "qbspkgconfig", li l-ewwel wieħed jipprova juża l-installazzjoni ta' Qt tal-utent (permezz ta' qmake search), u jekk ma tinstab l-ebda installazzjoni bħal din, it-tieni fornitur jipprova jagħmel uża l-Qt ipprovdut mis-sistema (permezz ta' sejħa lil pkg-config): CppApplication { Jiddependi { name: "Qt.core" } fajls: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Żid il-fornitur "qbspkgconfig", li ssostitwixxa l-fornitur tal-modulu "fallback", li pprova jiġġenera modulu billi juża pkg-config jekk il-modulu mitlub ma kienx iġġenerat minn fornituri oħra. B'differenza għal "fallback", "qbspkgconfig" minflok issejjaħ l-utilità pkg-config tuża librerija C++ inkorporata biex taqra direttament fajls ".pc", li tħaffef ix-xogħol u tipprovdi informazzjoni addizzjonali dwar id-dipendenzi tal-pakketti li mhix disponibbli meta ssejjaħ lill- pkg-config utilità.
  • Appoġġ miżjud għall-ispeċifikazzjoni C++23, li tiddefinixxi l-istandard C++ futur.
  • Appoġġ miżjud għall-arkitettura Elbrus E2K għall-għodda tal-GCC.
  • Għall-pjattaforma Android, il-proprjetà Android.ndk.buildId ġiet miżjuda biex tegħleb il-valur default għall-bandiera tal-linker "--build-id".
  • Il-moduli capnproto u protobuf jimplimentaw l-abbiltà li jużaw runtimes ipprovduti mill-fornitur qbspkgconfig.
  • Kwistjonijiet solvuti bl-intraċċar tal-bidliet fil-fajls tas-sors fuq FreeBSD minħabba millisekondi waqgħu meta jiġu stmati l-ħinijiet tal-modifika tal-fajl.
  • Żiedet il-proprjetà ConanfileProbe.verbose biex tagħmilha aktar faċli biex tiddibaggja proġetti li jużaw il-maniġer tal-pakketti Conan.

Barra minn hekk, nistgħu ninnotaw il-bidu tal-ittestjar alfa tal-qafas Qt 6.3, li jimplimenta modulu ġdid "Qt Language Server" b'appoġġ għall-protokolli Language Server u JsonRpc 2.0, porzjon kbir ta 'funzjonijiet ġodda ġie miżjud mal-Qt Core modulu, u t-tip QML MessageDialog ġie implimentat fil-modulu Qt Quick Dialogs Biex tuża l-kaxxi tad-djalogu pprovduti mill-pjattaforma, server Qt Shell kompost u API għall-ħolqien tal-estensjonijiet tal-qoxra tal-utent tiegħek stess ġew miżjuda mal-modulu Qt Wayland Compositor .

Il-modulu Qt QML joffri implimentazzjoni tal-kompilatur qmltc (kompilatur tat-tip QML), li jippermettilek tiġbor strutturi ta 'oġġetti QML fi klassijiet f'C++. Għall-utenti kummerċjali ta 'Qt 6.3, beda l-ittestjar tal-prodott Qt Quick Compiler, li, minbarra l-Kompilatur tat-Tip QML imsemmi hawn fuq, jinkludi l-Kompilatur tal-Iskript QML, li jippermettilek tikkompila funzjonijiet u espressjonijiet QML f'kodiċi C++. Ta’ min jinnota li l-użu ta’ Qt Quick Compiler se jġib il-prestazzjoni ta’ programmi bbażati fuq QML eqreb lejn programmi indiġeni; b’mod partikolari, meta jiġu kkompilati l-estensjonijiet, hemm tnaqqis fil-ħin tal-istartjar u l-eżekuzzjoni b’madwar 30% meta mqabbel mal-użu tal-verżjoni interpretata. .

Sors: opennet.ru

Żid kumment