Qbs 1.21 куруу куралдарын чыгаруу жана Qt 6.3 тестирлөөнүн башталышы

Qbs 1.21 куруу куралдарынын релизи жарыяланды. Бул Qt компаниясы Qbs өнүктүрүүнү улантууга кызыкдар коомчулук тарабынан даярдалган долбоорду иштеп чыгуудан кеткенден бери сегизинчи чыгарылыш. Qbs куруу үчүн Qt көз карандылыктын арасында талап кылынат, бирок Qbs өзү кандайдыр бир долбоорлорду чогултууну уюштуруу үчүн иштелип чыккан. Qbs долбоорду түзүү скрипттерин аныктоо үчүн QML тилинин жөнөкөйлөштүрүлгөн версиясын колдонот, бул сизге тышкы модулдарды туташтыра турган, JavaScript функцияларын колдоно турган жана ыңгайлаштырылган куруу эрежелерин түзө ала турган кыйла ийкемдүү куруу эрежелерин аныктоого мүмкүндүк берет.

Qbs'те колдонулган скрипт тили IDEлер тарабынан куруу скрипттерин генерациялоону жана талдоону автоматташтыруу үчүн ылайыкташтырылган. Кошумчалай кетсек, Qbs makefiles жаратпайт жана өзү make утилитасы сыяктуу ортомчуларсыз компиляторлорду жана шилтемелерди ишке киргизип, бардык көз карандылыктардын деталдуу графигинин негизинде куруу процессин оптималдаштырат. Долбоордогу структура жана көз карандылык боюнча баштапкы маалыматтардын болушу бир нече жиптеги операциялардын аткарылышын эффективдүү параллелдештирүүгө мүмкүндүк берет. Көп сандаган файлдардан жана подкаталогдордон турган ири долбоорлор үчүн 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"] }
  • Эгерде суралган модул башка провайдерлер тарабынан түзүлбөсө, pkg-config аркылуу модулду түзүүгө аракет кылган "кайра" модул провайдерин алмаштырган "qbspkgconfig" провайдери кошулду. “Кайрадан” айырмаланып, “qbspkgconfig” pkg-config утилитасына чалуунун ордуна, “.pc” файлдарын түздөн-түз окуу үчүн орнотулган C++ китепканасын колдонот, бул ишти тездетет жана пакеттик көз карандылыктар жөнүндө кошумча маалымат менен камсыз кылат. pkg-конфигурациялоо программасы.
  • Келечектеги C++ стандартын аныктаган C++23 спецификациясына колдоо кошулду.
  • GCC инструменттери үчүн Elbrus E2K архитектурасына колдоо кошулду.
  • Android платформасы үчүн "--build-id" шилтеме берүүчү желеги үчүн демейки маанини жокко чыгаруу үчүн Android.ndk.buildId касиети кошулду.
  • capnproto жана protobuf модулдары qbspkgconfig провайдери тарабынан берилген иштөө убакыттарын колдонуу мүмкүнчүлүгүн ишке ашырат.
  • Файлды өзгөртүү убакыттарын эсептеп жатканда миллисекунддор түшүп калгандыктан, FreeBSDдеги баштапкы файлдардагы өзгөрүүлөргө көз салуу маселелери чечилди.
  • Conan пакет менеджерин колдонгон долбоорлорду оңдоону жеңилдетүү үчүн ConanfileProbe.verbose касиети кошулду.

Кошумчалай кетсек, Qt 6.3 негизинин альфа тестирлөөнүн башталышын белгилей кетсек болот, ал тил серверин жана JsonRpc 2.0 протоколдорун колдоо менен жаңы “Qt Language Server” модулун ишке ашырат, Qt Core жаңы функциялардын чоң бөлүгү кошулду. модулу жана QML түрү MessageDialog Qt Quick Dialogs модулунда ишке ашырылган. Платформа тарабынан берилген диалог кутучаларын колдонуу үчүн Qt Wayland Compositor модулуна композиттик Qt Shell сервери жана өзүңүздүн жеке кабык кеңейтүүлөрүн түзүү үчүн API кошулду. .

Qt QML модулу qmltc (QML түрү компилятору) компиляторду ишке ашырууну сунуштайт, ал QML объектинин структураларын C++ тилинде класстарга компиляциялоого мүмкүндүк берет. Qt 6.3 коммерциялык колдонуучулары үчүн Qt Quick Compiler продуктуну тестирлөө башталды, ал жогоруда айтылган QML Type Compiler программасынан тышкары QML Script Compiler программасын камтыйт, ал QML функцияларын жана туюнтмаларын C++ кодуна компиляциялоого мүмкүндүк берет. Qt Quick Compiler колдонуу QML негизиндеги программалардын иштешин жергиликтүү программаларга жакындатат деп белгиленет; атап айтканда, кеңейтүүлөрдү компиляциялоодо, чечмеленген версияны колдонууга салыштырмалуу баштоо жана аткаруу убактысы болжол менен 30% га кыскарат. .

Source: opennet.ru

Комментарий кошуу