שחרור כלי הרכבה Qbs 1.17

שהוגש על ידי שחרור כלי הרכבה Qbs 1.17. Это четвёртый выпуск после ухода компании Qt Company от разработки проекта, подготовленный силами сообщества, заинтересованного в продолжении разработки Qbs. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

שפת הסקריפטים המשמשת ב-Qbs מותאמת להפוך את היצירה והניתוח של סקריפטים לבנות על ידי IDEs. בנוסף, Qbs אינה מייצרת קבצי makefile, ובעצמה, ללא מתווכים כגון תוכנית השירות make, שולטת בהשקה של מהדרים ומקשרים, תוך אופטימיזציה של תהליך הבנייה בהתבסס על גרף מפורט של כל התלות. הנוכחות של נתונים ראשוניים על המבנה והתלות בפרויקט מאפשרת לך להקביל ביעילות את ביצוע הפעולות במספר שרשורים. עבור פרויקטים גדולים המורכבים ממספר רב של קבצים ותתי ספריות, ביצועי הבנייה מחדש באמצעות Qbs יכולים לעלות על make פי כמה - הבנייה מחדש היא כמעט מיידית ואינה גורמת למפתח להקדיש זמן להמתנה.

בואו נזכור שבשנת 2018 הייתה חברת Qt נלקח החלטה להפסיק לפתח Qbs. Qbs פותחה כתחליף ל-qmake, אך בסופו של דבר הוחלט להשתמש ב-CMake כמערכת הבנייה הראשית של Qt בטווח הארוך. פיתוח Qbs נמשך כעת כפרויקט עצמאי הנתמך על ידי הקהילה ומפתחים מתעניינים. תשתית Qt Company ממשיכה לשמש לפיתוח.

העיקרי חידושים Qbs 1.17:

  • נוספה תמיכה ראשונית qt 6.
  • Добавлен модуль capnp для использования протокола сериализации данных Cap'n Proto в приложениях на C++.
  • נוסף возможность указания переменных product и project в правой части определений свойства moduleProvider (например, «moduleProviders.mygenerator.chooseLettersFrom: project.beginning»).
  • Добавлена поддержка инструментариев для сборки проектов C/C++ для работы поверх оборудования без ОС (bare-metal, с выставлением параметра qbs.targetPlatform в значение ‘none’): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) и
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Добавлена поддержка среды разработки Xcode 12.0 для macOS.
  • Проведена чистка модулей «Qt for Android».
  • Улучшена поддержка сборки для платформы Android. В модуль Android.sdk добавлено свойство packageType для создания пакетов «aab» (Android App Bundles) вместо «apk», а также свойство aaptName для использования нового aapt2 (Android Asset Packaging Tool). Прекращена поддержка сборки Android-приложений для платформ ARMv5, MIPS и MIPS64.

מקור: OpenNet.ru

הוספת תגובה