Qbs 1.21 koostööriistakomplekti vÀljaandmine ja Qt 6.3 testimise algus

Esitletud on Qbs 1.21 kogumisvahendite vĂ€ljaanne. See on juba kaheksas vĂ€ljaanne pĂ€rast Qt Company lahkumist projekti arendamisest, mille on ette valmistanud kogukond, kes on huvitatud Qbs-i arendamise jĂ€tkamisest. Qbs-i töötlemiseks on vajalik Qt sĂ”ltuvus, kuigi ise Qbs on mĂ”eldud paljude projektide kogumise korraldamiseks. Qbs kasutab projekti kogumise stsenaariumide mÀÀratlemiseks lihtsustatud QML keelt, mis vĂ”imaldab mÀÀratleda piisavalt paindlikke kogumise reegleid, kus on vĂ”imalik ĂŒhendada vĂ€liseid mooduleid, kasutada JavaScripti funktsioone ja luua omapĂ€raseid kogumise reegleid.

Qbs-i skriptikeel on kohandatud automaatseks genereerimiseks ja töötluseks integreeritud arenduskeskkondades. Lisaks sellele ei genereeri Qbs make-failide, vaid kontrollib otse, ilma vahekohtadeta, nagu make utiliit, kompilaatorite ja linkijate kĂ€ivitamist, optimeerides build-protsessi kĂ”igi sĂ”ltuvuste detailse graafi alusel. Projekti struktuuri ja sĂ”ltuvuste originaalandmete olemasolu vĂ”imaldab tĂ”husalt jaotada toimingute tĂ€itmist mitme lĂ”ime vahel. Suurte projektide puhul, mis koosnevad paljusid faile ja alamkaustu, vĂ”ib Qbs-i kasutamisega toimunud uuesti buildimise efektiivsus ĂŒletada make'i oma mitu korda — uuesti buildimine toimub peaaegu hetkega ning ei sunni arendajat aega raiskama ootamisele.

Tuletame meelde, et 2018. aastal tegi Qt Company otsuse Qbs arendamise lĂ”petamise kohta. Qbs arenes vĂ€lja qmake'i asendajana, kuid lĂ”puks otsustati kasutada CMake'i pikaajalise ehitusĂŒsteemina Qt jaoks. Qbs-i arendamine on nĂŒĂŒd jĂ€tkuvalt iseseisva projektina, mida toetavad kogukonna ja huvitatud arendajate jĂ”ud. Arendamiseks kasutatakse endiselt Qt Company infrastruktuuri.

Qbs 1.21 peamised uuendused:

  • Moodulite pakkujate mehhanism on ĂŒmber tehtud (mooduligeneraatorid). Raamistikes nagu Qt ja Boost on nĂŒĂŒd vĂ”imalik kasutada mitut pakkujat, mÀÀrata, millist pakkujat kasutada uue omaduse qbsModuleProviders abil ja mÀÀrata prioriteet erinevate pakkujate loodud moodulite valimiseks. NĂ€iteks on vĂ”imalik mÀÀrata kaks pakkujat, "Qt" ja "qbspkgconfig", kusjuures esimene ĂŒritab kasutada kasutaja installatsiooni Qt (otsides qmake'i), ja kui sellist installatsiooni ei leita, ĂŒritab teine pakkuja kasutada sĂŒsteemi pakutavat Qt (kutsudes ĂŒles pkg-config): CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Lisatud on teenusepakkuja «qbspkgconfig», mis asendab moodulite teenusepakkujat «fallback», mis ĂŒritas genereerida moodulit pkg-configi abil, kui vajalikku moodulit ei olnud genereeritud teiste teenusepakkujate poolt. Erinevalt «fallback’ist» kasutab «qbspkgconfig» utiliidi pkg-config asemel sisseehitatud C++ raamatukogu, et otse lugeda «.pc» faile, mis vĂ”imaldab kiirendada tööd ja saada lisainfot pakettide sĂ”ltuvuste kohta, mis ei ole saadaval pkg-configi kasutamisel.
  • Lisatud on C++23 spetsifikatsiooni tugi, mis mÀÀratleb tulevase C++ standardi.
  • GCC tööriistadele on lisatud toetust Elbrus E2K arhitektuurile.
  • Androidi platvormile on lisatud omadus Android.ndk.buildId, mis vĂ”imaldab ĂŒletada vaikevÀÀrtuse linker’l flahile «—build-id».
  • Moodulites capnproto ja protobuf on rakendatud vĂ”imalus kasutada runtime’i, mida pakub teenusepakkuja qbspkgconfig.
  • Lahendatud on probleemid FreeBSD platvormil allikafailide muudatuste jĂ€lgimisel, mis tulenesid millisekundite eemaldamisest faili muutmise aja hindamisel.
  • Lisatud on omadus ConanfileProbe.verbose, mis lihtsustab Conan paketihalduriga töötavate projektide tĂ”rkeotsingut.

TĂ€iendavalt vĂ”ib mĂ€rkida Qt 6.3 raamistikku, mille alpha-testimine on alanud. Selles on rakendatud uus moodul "Qt Language Server", mis toetab Language Serveri ja JsonRpc 2.0 protokolle. Qt Core moodulisse on lisatud suur hulk uusi funktsioone, Qt Quick Dialogs moodulisse on rakendatud QML-tĂŒĂŒpi MessageDialog platformi pakutavate dialoogide kasutamiseks ning Qt Wayland Compositoris on lisatud koostaja. server Qt Shell ja API, et luua oma kohandatud kasutajaliidese laiendusi.

Qt QML moodulis on pakutud qmltc (QML tĂŒĂŒbi kompilaatori) rakendust, mis vĂ”imaldab QML objektistruktuure kompileerida C++ klassideks. Kaubanduslikele kasutajatele on alustanud Qt 6.3 toote Qt Quick Compiler testimist, mis lisaks ĂŒlaltoodud QML tĂŒĂŒbi kompilaatorile sisaldab ka QML skripti kompilaatorit, mis vĂ”imaldab QML funktsioone ja vĂ€ljendeid kompileerida C++ koodiks. Toodetakse, et Qt Quick Compileri kasutamine vĂ”imaldab QML-pĂ”histe rakenduste jĂ”udlust tuua lĂ€hemale natiivsetele programmidele, sealhulgas moodulite kompileerimise puhul tĂ€heldatakse kĂ€ivitamise ja tĂ€itmise aega ligikaudu 30% vĂ”rra lĂŒhemana vĂ”rreldes interpreteeritava variandiga.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster