Qbs 1.17 koostetööriista vabastamine

Tutvustatakse montaažitööriistade vabastamine Qbs 1.17. See on neljas väljalase pärast seda, kui Qt ettevõte projekti arendusest lahkus, mille valmistas ette Qbs-i arendamise jätkamisest huvitatud kogukond. Qb-de loomiseks on sõltuvuste hulgas nõutav Qt, kuigi Qbs ise on mõeldud mis tahes projektide kokkupanemise korraldamiseks. Qbs kasutab projekti koostamise skriptide määratlemiseks QML-keele lihtsustatud versiooni, mis võimaldab määratleda üsna paindlikke ehitusreegleid, millega saab ühendada väliseid mooduleid, kasutada JavaScripti funktsioone ja luua kohandatud ehitusreegleid.

Qbs-is kasutatav skriptikeel on kohandatud integreeritud arenduskeskkondade abil ehitusskriptide genereerimise ja sõelumise automatiseerimiseks. Lisaks ei genereeri Qbs makefile, vaid ise, ilma vahendajateta, nagu make-utiliit, kontrollib kompilaatorite ja linkerite käivitamist, optimeerides ehitusprotsessi kõigi sõltuvuste üksikasjaliku graafiku alusel. Algandmete olemasolu projekti struktuuri ja sõltuvuste kohta võimaldab toimingute täitmist mitmes lõimes tõhusalt paralleelstada. Suurte projektide puhul, mis koosnevad suurest hulgast failidest ja alamkataloogidest, võib Qbs-i abil taastamine olla mitu korda kiirem kui make – ümberehitamine toimub peaaegu kohe ega sunni arendajat ootamisele aega raiskama.

Meenutagem, et 2018. aastal oli Qt Company võetud otsus lõpetada Qb-de arendamine. Qbs töötati välja qmake asendusena, kuid lõpuks otsustati pikemas perspektiivis kasutada CMake'i Qt peamise ehitussüsteemina. Qbs-i arendus on nüüdseks jätkunud iseseisva projektina, mida toetavad kogukond ja huvitatud arendajad. Arenduseks kasutatakse jätkuvalt Qt Company taristut.

Kõik uuendused Qbs 1.17:

  • Lisatud esialgne tugi Qt 6.
  • Andmete serialiseerimisprotokolli kasutamiseks on lisatud capnp-moodul Cap'n Proto C++ rakendustes.
  • Lisatud võimalus määrata toote- ja projektimuutujad moodulipakkuja atribuutide definitsioonide paremal küljel (näiteks "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Lisatud on toetus tööriistadele C/C++ projektide koostamiseks, et töötada riistvara peal ilma operatsioonisüsteemita (paljas metall, parameetri qbs.targetPlatform väärtuseks on seatud 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) Ja
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Lisatud on MacOS-i Xcode 12.0 arenduskeskkonna tugi.
  • Androidi Qt moodulid on puhastatud.
  • Androidi platvormi täiustatud ehitustugi. Moodulile Android.sdk lisati atribuut packageType, et luua paketid "aab" (Android App Bundles) "apk" asemel, samuti atribuut aaptName, et kasutada uut aapt2 (Android Asset Packaging Tool). Androidi rakenduste loomise tugi platvormidele ARMv5, MIPS ja MIPS64 on lõpetatud.

Allikas: opennet.ru

Lisa kommentaar