pelepasan alat perakitan Ini adalah rilis keempat sejak Qt Company menarik diri dari pengembangan proyek. Rilis ini disiapkan oleh komunitas yang tertarik untuk melanjutkan pengembangan Qbs. Qbs membutuhkan Qt sebagai dependensi untuk membangun, meskipun Qbs sendiri dirancang untuk menangani pembangunan proyek apa pun. Qbs menggunakan versi bahasa QML yang disederhanakan untuk mendefinisikan skrip pembangunan proyek, memungkinkan pendefinisian aturan pembangunan yang cukup fleksibel yang dapat mencakup modul eksternal, menggunakan fungsi JavaScript, dan membuat aturan pembangunan kustom.
Bahasa skrip yang digunakan di Qbs diadaptasi untuk mengotomatiskan pembuatan dan penguraian skrip build dengan lingkungan pengembangan terintegrasi. Selain itu, Qbs tidak menghasilkan makefile, tetapi dirinya sendiri, tanpa perantara seperti utilitas make, mengontrol peluncuran kompiler dan linker, mengoptimalkan proses pembangunan berdasarkan grafik terperinci dari semua dependensi. Kehadiran data awal tentang struktur dan ketergantungan dalam proyek memungkinkan Anda untuk secara efektif memparalelkan pelaksanaan operasi di beberapa thread. Untuk proyek besar yang terdiri dari sejumlah besar file dan subdirektori, kinerja pembangunan kembali menggunakan Qbs bisa beberapa kali lebih cepat daripada pembuatan ulang - pembangunan kembali dilakukan hampir seketika dan tidak memaksa pengembang membuang waktu menunggu.
Perlu kami ingatkan bahwa pada tahun 2018, Perusahaan Qt adalah keputusan untuk berhenti mengembangkan Qbs. Qbs dikembangkan sebagai pengganti qmake, namun pada akhirnya diputuskan untuk menggunakan CMake sebagai sistem build utama untuk Qt dalam jangka panjang. Pengembangan Qbs kini berlanjut sebagai proyek independen yang didukung oleh komunitas dan pengembang yang berminat. Infrastruktur Perusahaan Qt terus digunakan untuk pembangunan.
Utama Qbs 1.17:
- Menambahkan dukungan awal .
- Menambahkan modul capnp untuk menggunakan protokol serialisasi data dalam aplikasi C++.
- kemampuan untuk menentukan variabel produk dan proyek di sisi kanan definisi properti moduleProvider (misalnya "moduleProviders.mygenerator.chooseLettersFrom:project.beginning").
- Menambahkan dukungan untuk membangun proyek C/C++ pada perangkat keras bare-metal (dengan parameter qbs.targetPlatform diatur ke 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) dan
GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa). - Menambahkan dukungan untuk lingkungan pengembangan Xcode 12.0 untuk macOS.
- Modul "Qt for" telah dibersihkan. Android'.
- Dukungan pengembangan yang lebih baik untuk platform ini. AndroidDi dalam modul Android.sdk menambahkan properti packageType untuk membuat paket "aab" (Android Bundel Aplikasi) sebagai pengganti "apk", dan properti aaptName untuk menggunakan aapt2 yang baru (Android Asset Packaging Tool (APT) telah dihentikan. Android-aplikasi untuk platform ARMv5, MIPS, dan MIPS64.
Sumber: opennet.ru
