Qbs 1.17 հավաքման գործիքի թողարկում

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

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

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

Հիմնական նորամուծություններ Qbs 1.17:

  • Ավելացվեց նախնական աջակցություն Qt 6.
  • Տվյալների սերիալացման արձանագրությունն օգտագործելու համար ավելացվել է capnp մոդուլ Cap'n Proto C++ հավելվածներում։
  • Ավելացված է «moduleProvider» հատկության սահմանումների աջ կողմում արտադրանքի և նախագծի փոփոխականները նշելու ունակություն (օրինակ՝ «moduleProviders.mygenerator.chooseLettersFrom: project.beginning»):
  • Ավելացվել է C/C++ նախագծերի կառուցման գործիքներ՝ առանց ՕՀ-ի սարքաշարի վրա աշխատելու համար (մերկ մետաղ, qbs.targetPlatform պարամետրը դրված է «ոչ մեկը»). KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) Եվ
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa):

  • Ավելացվել է macOS-ի Xcode 12.0 մշակման միջավայրի աջակցություն:
  • Android-ի համար նախատեսված Qt մոդուլները մաքրվել են:
  • Android պլատֆորմի կառուցման բարելավված աջակցություն: Android.sdk մոդուլին ավելացրել է packageType հատկություն՝ «apk»-ի փոխարեն «aab» (Android հավելվածների փաթեթներ) փաթեթներ ստեղծելու համար, ինչպես նաև aaptName հատկություն՝ նոր aapt2-ը (Android Asset Packaging Tool) օգտագործելու համար: ARMv5, MIPS և MIPS64 հարթակների համար Android հավելվածների ստեղծման աջակցությունը դադարեցվել է:

Source: opennet.ru

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