Phát hành công cụ lắp ráp Qbs 1.20

Bản phát hành công cụ xây dựng Qbs 1.20 đã được công bố. Đây là bản phát hành thứ bảy kể từ khi Công ty Qt rời bỏ việc phát triển dự án, được chuẩn bị bởi cộng đồng quan tâm đến việc tiếp tục phát triển Qbs. Để xây dựng Qbs, Qt được yêu cầu trong số các phần phụ thuộc, mặc dù bản thân Qbs được thiết kế để tổ chức việc lắp ráp bất kỳ dự án nào. Qbs sử dụng phiên bản đơn giản của ngôn ngữ QML để xác định tập lệnh xây dựng dự án, cho phép bạn xác định các quy tắc xây dựng khá linh hoạt có thể kết nối các mô-đun bên ngoài, sử dụng các hàm JavaScript và tạo quy tắc xây dựng tùy chỉnh.

Ngôn ngữ kịch bản được sử dụng trong Qbs được điều chỉnh để tự động hóa việc tạo và phân tích cú pháp các tập lệnh xây dựng bằng IDE. Ngoài ra, Qbs không tạo tệp tạo tệp và chính nó, không có trung gian như tiện ích tạo, kiểm soát việc khởi chạy trình biên dịch và trình liên kết, tối ưu hóa quy trình xây dựng dựa trên biểu đồ chi tiết của tất cả các phụ thuộc. Sự hiện diện của dữ liệu ban đầu về cấu trúc và các phụ thuộc trong dự án cho phép bạn thực hiện song song hiệu quả việc thực hiện các hoạt động trong một số luồng. Đối với các dự án lớn bao gồm một số lượng lớn tệp và thư mục con, hiệu suất của quá trình xây dựng lại bằng Qbs có thể vượt trội hơn nhiều lần so với thực hiện - quá trình xây dựng lại gần như tức thời và không khiến nhà phát triển mất thời gian chờ đợi.

Nhớ lại năm 2018, Công ty Qt đã quyết định ngừng phát triển Qbs. Qbs được phát triển để thay thế cho qmake, nhưng cuối cùng người ta quyết định sử dụng CMake làm hệ thống xây dựng chính cho Qt về lâu dài. Sự phát triển của Qbs hiện đã tiếp tục như một dự án độc lập được hỗ trợ bởi lực lượng cộng đồng và các nhà phát triển quan tâm. Cơ sở hạ tầng của Công ty Qt tiếp tục được sử dụng để phát triển.

Những cải tiến chính trong Qbs 1.20:

  • Hỗ trợ đầy đủ cho khung Qt 6 đã được triển khai, bao gồm cả nhánh Qt 6.2.
  • Mô-đun QtScript, không còn được cung cấp trong Qt 17 và hiện được đưa vào Qbs, đã được cập nhật và chuyển sang C++6.
  • Trong trường hợp một tập hợp có tập thuộc tính khác, danh sách các thuộc tính cũ sẽ được cung cấp.
  • Một lệnh đã được thêm vào qbs-config để thêm toàn bộ cấu hình, cho phép bạn thực hiện mà không cần thêm thuộc tính riêng biệt và tăng tốc đáng kể quá trình khởi động khi bạn có một số SDK Android.
  • Vấn đề xử lý sai thời gian cập nhật tệp trên nền tảng FreeBSD đã được giải quyết.
  • Cải thiện hỗ trợ C/C++. Đã thêm hỗ trợ cho trình biên dịch COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 và STM32) và các công cụ Digital Mars. Đối với trình biên dịch MSVC, thuộc tính cpp.enableCxxLanguageMacro đã được triển khai và hỗ trợ cho giá trị “c++20” đã được thêm vào cpp.cxxLanguageVersion.
  • Đối với nền tảng Android, hỗ trợ đã được triển khai để sử dụng trình biên dịch d8 dex thay vì dx bằng cách đặt thuộc tính Android.sdk.dexCompilerName. Ministro, một chương trình chạy thư viện Qt trên Android, đã bị ngừng hoạt động. Bộ công cụ tạo gói đã được cập nhật từ aapt lên aapt2 (Công cụ đóng gói tài sản Android).

Nguồn: opennet.ru

Thêm một lời nhận xét