Ir-rilaxx finali tal-għodod tal-bini Qbs ġie ppubblikat

Kumpanija Qt ippubblikat għodda tal-assemblaġġ Qbs 1.13 (Qt Build Suite). Din hija l-aħħar ħarġa ta 'Qbs prodotta mill-Kumpanija Qt. Ejja niftakru x’ġara qabel aċċettat deċiżjoni li tieqaf tiżviluppa Qbs. Qbs ġie żviluppat bħala sostitut għal qmake, iżda fl-aħħar mill-aħħar ġie deċiż li jintuża CMake bħala s-sistema ewlenija tal-bini għal Qt fit-tul.

Fil-futur qarib, huwa mistenni li jinħoloq proġett indipendenti biex ikompli l-iżvilupp ta 'Qbs mill-komunità, li d-destin tiegħu se jiddependi fuq l-interess fis-sistema ta' assemblaġġ inkwistjoni minn żviluppaturi indipendenti. Qt Company tieqaf taħdem fuq Qbs minħabba l-ħtieġa għal investiment addizzjonali u spejjeż għoljin għall-promozzjoni tal-Qbs.

Ejja nfakkru li biex tibni Qbs, Qt huwa meħtieġ bħala dipendenza, għalkemm Qbs innifsu huwa ddisinjat biex jorganizza l-assemblaġġ ta 'kwalunkwe proġett. Qbs juża verżjoni simplifikata tal-lingwa QML biex jiddefinixxi skripts tal-bini tal-proġett, li jippermettilek tiddefinixxi regoli tal-bini pjuttost flessibbli li jistgħu jgħaqqdu moduli esterni, jużaw funzjonijiet JavaScript, u ​​joħolqu regoli tal-bini tad-dwana.
Qbs ma jiġġenerax makefiles u jikkontrolla b'mod indipendenti t-tnedija ta 'kompilaturi u linkers, u jottimizza l-proċess tal-bini bbażat fuq grafika dettaljata tad-dipendenzi kollha. Il-preżenza tad-dejta inizjali dwar l-istruttura u d-dipendenzi fil-proġett tippermettilek li titqabbel b'mod effettiv l-eżekuzzjoni ta 'operazzjonijiet f'diversi ħjut.

Innovazzjonijiet ewlenin f'Qbs 1.13:

  • Miżjud il-kapaċità li tuża moduli pkg-config fi proġetti li jużaw l-istess mekkaniżmu ta 'proċessar tad-dipendenza li jintuża għall-moduli Qbs. Pereżempju, jekk is-sistema tiegħek għandha pakkett għall-bini ta' OpenSSL ibbażat fuq pkg-config, biex tużah fi proġett Qbs, żid biss 'Depends { name: "openssl" }';
  • Sejbien awtomatiku implimentat ta 'moduli Qt disponibbli. L-iżviluppaturi m'għadhomx jeħtieġu li joħolqu profil b'mogħdijiet tal-moduli bl-użu tal-kmand setup-qt; il-moduli Qt kollha speċifikati fid-dipendenzi se jiġu kkonfigurati awtomatikament;
  • Għodod miżjuda biex jikkontrollaw in-numru ta 'kompiti ta' assemblaġġ li jaħdmu b'mod parallel fil-livell ta 'kmandi individwali. Pereżempju, il-linking joħloq tagħbija I/O kbira u jikkonsma ammont sinifikanti ta 'RAM, għalhekk il-linker jeħtieġ settings tal-istartjar differenti mill-kompilatur. Settings separati issa jistgħu jiġu stabbiliti bl-użu tal-kmand “qbs —job-limits linker:2,compiler:8”;
  • Saru bidliet fil-lingwa tal-iskript. Ir-regoli issa jistgħu jiġu definiti mingħajr ma jiġi speċifikat stub file għall-output, u mhux meħtieġ li tintuża d-direttiva "import qbs" fil-bidu tal-fajls tal-proġett. Proprjetajiet ġodda install u installDir ġew miżjuda mal-Applikazzjoni, DynamicLibrary u StaticLibrary elementi għal installazzjoni aktar konvenjenti ta 'fajls eżekutibbli;
  • Appoġġ miżjud għall-iskannjar rikorsiv tal-iskripts tal-linker
    GNU linker;

  • Għal C++, il-proprjetà cpp.linkerVariant ġiet implimentata biex tisforza l-użu tal-linkers ld.gold, ld.bfd jew lld;
  • Qt jintroduċi proprjetà Qt.core.enableBigResources għall-ħolqien ta 'riżorsi kbar Qt
  • Minflok l-element AndroidApk skadut, huwa propost li jintuża t-tip ta 'Applikazzjoni ġeneriku;
  • Miżjud modulu għall-ħolqien ta 'testijiet ibbażati fuq l-awtotest;
  • Modulu texttemplate miżjud b'kapaċitajiet simili għal QMAKE_SUBSTITUTES f'qmake;
  • Żid l-appoġġ inizjali għall-format tal-Protocol Buffers għal C++ u Objective-C.

Sors: opennet.ru

Żid kumment