A fost lansată versiunea 1.20 a uneltelor de construire Qbs. Aceasta este a șaptea versiune după ce compania Qt Company a încetat să mai dezvolte proiectul, fiind pregătită de comunitate, interesată să continue dezvoltarea Qbs. Pentru a construi cu Qbs, sunt necesare dependențe din Qt, deși Qbs este conceput pentru a organiza construcția oricăror proiecte. Qbs folosește o variantă simplificată a limbajului QML pentru a defini scenariile de construție a proiectului, ceea ce permite definirea unor reguli de construcție destul de flexibile, în care pot fi conectate module externe, utilizate funcții în JavaScript și create reguli de construcție arbitrare.
Limbajul de scripting utilizat în Qbs este adaptat pentru automatizarea generării și analizei scripturilor de construire în cadrul mediilor integrate de dezvoltare. În plus, Qbs nu generează fișiere make, ci controlează în mod direct, fără intermediari, cum ar fi utilitarul make, lansarea compilatoarelor și linkerelor, optimizând procesul de construire pe baza unui grafic detaliat al tuturor dependențelor. Disponibilitatea datelor inițiale despre structura și dependențele din proiect permite eficientizarea execuției operațiunilor în paralel. Pentru proiecte mari, formate dintr-un număr mare de fișiere și subdirectoare, performanța recompilării utilizând Qbs poate depăși cu mult făcând-o, recompilarea având loc aproape instantaneu și fără a face ca dezvoltatorul să piardă timp așteptând.
Amintim că, în 2018, compania Qt Company a decis să oprească dezvoltarea Qbs. Qbs a fost dezvoltat ca o alternativă la qmake, dar în cele din urmă s-a decis utilizarea CMake ca sistem de construcție principal pentru Qt pe termen lung. Dezvoltarea Qbs este acum continuată sub forma unui proiect independent, susținut de comunitate și de dezvoltatori interesați. Infrastructura Qt Company este încă folosită pentru dezvoltare.
Principalele noutăți din Qbs 1.20:
- A fost implementat suportul complet pentru framework-ul Qt 6, inclusiv ramura Qt 6.2.
- Modulul QtScript a fost actualizat și portat pe C++17, care nu mai este inclus în Qt 6 și acum face parte din Qbs.
- În cazul în care construcția se face cu un set diferit de proprietăți, este asigurat un output al listei de proprietăți vechi.
- În qbs-config a fost adăugată o comandă pentru a adăuga întregul profil, ceea ce permite evitarea adăugării separate a proprietăților și accelerează semnificativ lansarea având mai multe SDK-uri Android.
- A fost rezolvată problema cu procesarea incorectă a timpului de actualizare a fișierelor pe platforma FreeBSD.
- Suportul pentru C/C++ a fost îmbunătățit. A fost adăugat suport pentru compilatoarele COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 și STM32) și pentru instrumentele Digital Mars. Pentru compilatorul MSVC a fost implementată proprietatea cpp.enableCxxLanguageMacro și a fost adăugat suport pentru valoarea 'c++20' în cpp.cxxLanguageVersion.
- Pentru platforma Android a fost implementat suportul pentru utilizarea compilatorului dex d8 în loc de dx prin setarea proprietății Android.sdk.dexCompilerName. Suportul pentru Ministro, un program pentru a asigura funcționarea bibliotecilor Qt în sistemul Android, a fost întrerupt. Instrumentul pentru crearea pachetelor a fost actualizat de la aapt la aapt2 (Android Asset Packaging Tool).
Sursa: opennet.ro
