ارسال شده توسط انتشار ابزار مونتاژ Qbs 1.17. این چهارمین نسخه از زمان خروج شرکت Qt از توسعه پروژه است که توسط جامعه علاقه مند به ادامه توسعه Qbs تهیه شده است. برای ساخت Qbs، Qt در بین وابستگی ها مورد نیاز است، اگرچه خود Qbs برای سازماندهی مونتاژ هر پروژه طراحی شده است. Qbs از یک نسخه ساده شده از زبان QML برای تعریف اسکریپت های ساخت پروژه استفاده می کند، که به شما امکان می دهد قوانین ساخت نسبتاً انعطاف پذیری را تعریف کنید که می تواند ماژول های خارجی را به هم متصل کند، از توابع جاوا اسکریپت استفاده کند و قوانین ساخت سفارشی ایجاد کند.
زبان برنامه نویسی مورد استفاده در Qbs برای خودکارسازی تولید و تجزیه اسکریپت های ساخت توسط IDE ها اقتباس شده است. علاوه بر این، Qbs فایلهای make-files تولید نمیکند و خودش، بدون واسطههایی مانند ابزار make، راهاندازی کامپایلرها و لینککنندهها را کنترل میکند و فرآیند ساخت را بر اساس یک نمودار دقیق از همه وابستگیها بهینه میکند. وجود داده های اولیه در مورد ساختار و وابستگی ها در پروژه به شما امکان می دهد تا به طور موثر اجرای عملیات را در چندین رشته موازی کنید. برای پروژه های بزرگ متشکل از تعداد زیادی فایل و دایرکتوری های فرعی، عملکرد بازسازی ها با استفاده از Qbs می تواند چندین برابر بهتر از ساخت باشد - بازسازی تقریباً آنی است و توسعه دهنده را وادار نمی کند که زمان خود را در انتظار صرف کند.
بیاد داشته باشیم که در سال 2018 شرکت Qt بود گرفته شده تصمیم برای توقف توسعه Qbs Qbs به عنوان جایگزینی برای qmake توسعه داده شد، اما در نهایت تصمیم گرفته شد از CMake به عنوان سیستم اصلی ساخت Qt در دراز مدت استفاده شود. توسعه Qbs اکنون به عنوان یک پروژه مستقل با حمایت جامعه و توسعه دهندگان علاقه مند ادامه یافته است. زیرساخت شرکت Qt همچنان برای توسعه استفاده می شود.
اضافه شدن ماژول capnp برای استفاده از پروتکل سریال سازی داده ها Cap'n Proto در برنامه های C++
اضافه توانایی تعیین متغیرهای محصول و پروژه در سمت راست تعاریف ویژگی moduleProvider (به عنوان مثال، "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
پشتیبانی از ابزارهای ساخت پروژههای C/C++ برای کار بر روی سختافزار بدون سیستمعامل (فلز خالی، با پارامتر qbs.targetPlatform تنظیم شده روی "هیچ"): KEIL (ARMCLANG، C166، C251)، IAR (CR16، AVR32، M68K) و
GCC (CR16، M68K، M32C، M32R، Super-H، V850، RISC-V، Xtensa).
پشتیبانی از محیط توسعه Xcode 12.0 برای macOS اضافه شد.
ماژولهای Qt برای اندروید پاک شدهاند.
پشتیبانی ساخت بهبود یافته برای پلتفرم اندروید. یک ویژگی packageType به ماژول Android.sdk اضافه کرد تا بستههای «aab» (بستههای برنامه Android) را به جای «apk» ایجاد کند، و همچنین ویژگی aaptName را برای استفاده از aapt2 (ابزار بستهبندی دارایی Android) جدید اضافه کرد. پشتیبانی از ساخت برنامه های اندروید برای پلتفرم های ARMv5، MIPS و MIPS64 متوقف شده است.