Qbs 1.21 build գործիքների թողարկում և Qt 6.3 թեստավորման սկիզբ

Հայտարարվել է Qbs 1.21 build գործիքների թողարկումը: Սա արդեն ութերորդ թողարկումն է այն պահից, երբ Qt ընկերությունը լքել է նախագծի մշակումը, որը պատրաստել է համայնքը, որը հետաքրքրված է Qbs-ի զարգացումը շարունակելու մեջ: Qbs կառուցելու համար Qt-ը պահանջվում է կախվածության մեջ, թեև Qbs-ն ինքնին նախատեսված է ցանկացած նախագծի հավաքումը կազմակերպելու համար: Qbs-ն օգտագործում է QML լեզվի պարզեցված տարբերակը՝ նախագծի կառուցման սկրիպտները սահմանելու համար, ինչը թույլ է տալիս սահմանել բավականին ճկուն կառուցման կանոններ, որոնք կարող են միացնել արտաքին մոդուլները, օգտագործել JavaScript ֆունկցիաները և ստեղծել հատուկ կառուցման կանոններ:

Qbs-ում օգտագործվող սկրիպտային լեզուն հարմարեցված է IDE-ների կողմից կառուցապատման սցենարների ստեղծումն ու վերլուծումն ավտոմատացնելու համար: Բացի այդ, Qbs-ը չի ստեղծում makefiles, և ինքը, առանց միջնորդների, ինչպիսին է make utility-ը, վերահսկում է կոմպիլյատորների և կապակցիչների գործարկումը՝ օպտիմալացնելով կառուցման գործընթացը՝ հիմնված բոլոր կախվածությունների մանրամասն գրաֆիկի վրա: Նախագծում կառուցվածքի և կախվածությունների վերաբերյալ նախնական տվյալների առկայությունը թույլ է տալիս արդյունավետորեն զուգահեռացնել գործողությունների կատարումը մի քանի թելերով: Մեծ թվով ֆայլերից և ենթադիրեկտորներից բաղկացած խոշոր նախագծերի համար Qbs-ի միջոցով վերակառուցումների կատարումը կարող է մի քանի անգամ գերազանցել արտադրությանը. վերակառուցումը գրեթե ակնթարթային է և չի ստիպում ծրագրավորողին սպասել ժամանակ անցկացնել:

Հիշեցնենք, որ 2018 թվականին Qt ընկերությունը որոշել է դադարեցնել Qbs-ի զարգացումը։ Qbs-ը մշակվել է որպես qmake-ի փոխարինում, սակայն, ի վերջո, որոշվել է երկարաժամկետ հեռանկարում օգտագործել CMake-ը որպես Qt-ի հիմնական կառուցման համակարգ: Qbs-ի զարգացումն այժմ շարունակվել է որպես անկախ ծրագիր, որն աջակցում է համայնքային ուժերին և շահագրգիռ ծրագրավորողներին: Qt ընկերության ենթակառուցվածքը շարունակում է օգտագործվել զարգացման համար:

Հիմնական նորամուծությունները Qbs 1.21-ում.

  • Մոդուլների մատակարարների (մոդուլների գեներատորների) մեխանիզմը վերանախագծվել է: Շրջանակների համար, ինչպիսիք են Qt-ը և Boost-ը, այժմ հնարավոր է օգտագործել մեկից ավելի պրովայդեր, նշել, թե որ պրովայդերին պետք է գործարկել՝ օգտագործելով նոր qbsModuleProviders հատկությունը, և սահմանել առաջնահերթություն տարբեր մատակարարների կողմից ստեղծված մոդուլների ընտրության համար: Օրինակ, կարող եք նշել երկու պրովայդեր «Qt» և «qbspkgconfig», որոնցից առաջինը կփորձի օգտագործել օգտվողի կողմից Qt-ի տեղադրումը (qmake որոնման միջոցով), իսկ եթե այդպիսի տեղադրում չգտնվի, ապա երկրորդ մատակարարը կփորձի օգտագործեք համակարգի կողմից տրամադրված Qt-ը (pkg-config-ին զանգի միջոցով): CppApplication {Կախված է {անունը՝ «Qt.core» } ֆայլեր՝ «main.cpp» qbsModuleProviders՝ [«Qt», «qbspkgconfig»] }
  • Ավելացվել է «qbspkgconfig» մատակարարը, որը փոխարինել է «fallback» մոդուլի մատակարարին, որը փորձել է ստեղծել մոդուլ՝ օգտագործելով pkg-config, եթե պահանջվող մոդուլը չի ​​ստեղծվել այլ մատակարարների կողմից: Ի տարբերություն «fallback»-ի՝ «qbspkgconfig»-ը pkg-config կոմունալ ծառայությունը կանչելու փոխարեն օգտագործում է ներկառուցված C++ գրադարան՝ «.pc» ֆայլերը ուղղակիորեն կարդալու համար, որն արագացնում է աշխատանքը և լրացուցիչ տեղեկատվություն է տրամադրում փաթեթի կախվածության մասին, որը հասանելի չէ հեռախոսը զանգահարելիս: pkg-config կոմունալ.
  • Ավելացվեց աջակցություն C++23 ճշգրտման համար, որը սահմանում է ապագա C++ ստանդարտը:
  • Ավելացվել է աջակցություն Elbrus E2K ճարտարապետության համար GCC գործիքակազմի համար:
  • Android պլատֆորմի համար Android.ndk.buildId հատկությունն ավելացվել է «--build-id» կապող դրոշակի լռելյայն արժեքը վերացնելու համար:
  • Capnproto և protobuf մոդուլներն իրականացնում են qbspkgconfig մատակարարի կողմից տրամադրված գործարկման ժամանակի օգտագործման հնարավորությունը:
  • Լուծվել են FreeBSD-ի սկզբնաղբյուր ֆայլերի փոփոխության հետագծման հետ կապված խնդիրները՝ ֆայլերի փոփոխման ժամանակները գնահատելիս միլիվայրկյանների կրճատման պատճառով:
  • Ավելացրել է ConanfileProbe.verbose հատկությունը՝ Conan փաթեթների կառավարիչ օգտագործող նախագծերի վրիպազերծումը հեշտացնելու համար:

Բացի այդ, մենք կարող ենք նշել Qt 6.3 շրջանակի ալֆա թեստավորման սկիզբը, որն իրականացնում է նոր մոդուլ «Qt Language Server»՝ Լեզվի սերվերի և JsonRpc 2.0 արձանագրությունների աջակցությամբ, նոր գործառույթների մեծ մասը ավելացվել է Qt Core-ին: մոդուլը, և QML տիպի MessageDialog-ը ներդրվել է Qt Quick Dialogs մոդուլում Պլատֆորմի կողմից տրամադրված երկխոսության տուփերն օգտագործելու համար Qt Wayland Compositor մոդուլին ավելացվել են Qt Shell սերվեր և API՝ ձեր սեփական օգտատերերի կեղևի ընդարձակումները ստեղծելու համար։ .

Qt QML մոդուլն առաջարկում է qmltc (QML տիպի կոմպիլյատոր) կոմպիլյատորի իրականացում, որը թույլ է տալիս C++-ում QML օբյեկտների կառուցվածքները կազմել դասերի: Qt 6.3-ի կոմերցիոն օգտատերերի համար սկսվել է Qt Quick Compiler արտադրանքի թեստավորումը, որը, ի լրումն վերը նշված QML Type Compiler-ի, ներառում է QML Script Compiler-ը, որը թույլ է տալիս Ձեզ կոմպիլացնել QML ֆունկցիաները և արտահայտությունները C++ կոդի մեջ: Նշվում է, որ Qt Quick Compiler-ի օգտագործումը QML-ի վրա հիմնված ծրագրերի արդյունավետությունը կմոտեցնի բնիկ ծրագրերին, մասնավորապես, ընդլայնումներ կազմելիս կա գործարկման և կատարման ժամանակի կրճատում մոտավորապես 30%-ով՝ համեմատած մեկնաբանված տարբերակի օգտագործման հետ։ .

Source: opennet.ru

Добавить комментарий