Trang này cung cấp thông tin về cách xử lý khả năng tương thích ngược, bao gồm cả cách di chuyển từ bản phát hành này sang bản phát hành khác và cách truyền đạt các thay đổi không tương thích.
Bazel đang phát triển. Các phiên bản nhỏ được phát hành trong khuôn khổ LTS lớn hoàn toàn tương thích ngược. LTS chuyên ngành mới bản phát hành có thể chứa những thay đổi không tương thích đòi hỏi phải di chuyển một chút. Để biết thêm thông tin về mô hình phát hành của Bazel, vui lòng xem Bản phát hành Mô hình.
Tóm tắt
- Bạn nên sử dụng cờ
--incompatible_*
cho các thay đổi có thể gây lỗi. - Đối với mỗi cờ
--incompatible_*
, một vấn đề trên GitHub sẽ giải thích sự thay đổi trong và nhằm mục đích cung cấp công thức di chuyển. - Bạn nên chuyển các cờ không tương thích về phiên bản LTS mới nhất phát hành mà không bật cờ theo mặc định.
- Các API và hành vi được bảo vệ bằng cờ
--experimental_*
có thể thay đổi bất cứ lúc nào bất cứ lúc nào. - Không bao giờ chạy các bản dựng chính thức bằng
--experimental_*
hoặc--incompatible_*
cờ.
Cách tuân thủ chính sách này
- Dành cho người dùng Bazel – cách cập nhật Bazel
- Dành cho cộng tác viên – các phương pháp hay nhất cho những thay đổi không tương thích
- Dành cho người quản lý bản phát hành – cách cập nhật nhãn vấn đề và bản phát hành
Chức năng ổn định là gì?
Nhìn chung, các API hoặc hành vi không có cờ --experimental_...
được xem là
các tính năng ổn định và được hỗ trợ trong Bazel.
Nội dung như vậy bao gồm:
- Ngôn ngữ và API của Starlark
- Quy tắc đi kèm với Bazel
- Các API Bazel, chẳng hạn như API Thực thi từ xa hoặc Giao thức sự kiện Xây dựng
- Cờ và ngữ nghĩa của cờ
Công thức di chuyển và thay đổi không tương thích
Đối với mọi thay đổi không tương thích trong bản phát hành mới, nhóm Bazel cố gắng cung cấp
công thức di chuyển giúp bạn cập nhật mã của mình (các tệp BUILD
và .bzl
, như
cũng như mọi hoạt động sử dụng Bazel trong các tập lệnh, việc sử dụng Bazel API, v.v.).
Các thay đổi không tương thích phải có cờ --incompatible_*
đi kèm và
vấn đề tương ứng trên GitHub.
Bạn nên điều chỉnh phiên bản cũ cho cờ không tương thích và các thay đổi có liên quan bản phát hành LTS mới nhất mà không cần bật cờ theo mặc định. Điều này cho phép người dùng để di chuyển những thay đổi không tương thích trước khi bản phát hành LTS tiếp theo được sẵn có.
Thông báo về các thay đổi không tương thích
Nguồn thông tin chính về những thay đổi không tương thích là các vấn đề trên GitHub được đánh dấu bằng "thay đổi không tương thích" nhãn.
Đối với mỗi thay đổi không tương thích, vấn đề nêu rõ những nội dung sau:
- Tên của cờ kiểm soát thay đổi không tương thích
- Nội dung mô tả về chức năng đã thay đổi
- Công thức di chuyển
Khi một thay đổi không tương thích đã sẵn sàng để di chuyển bằng Bazel ở HEAD
(do đó, cũng với bản phát hành cuộn tiếp theo của Bazel), bản phát hành này sẽ được đánh dấu bằng
nhãn migration-ready
. Vấn đề thay đổi không tương thích được đóng khi
cờ không tương thích được lật ở HEAD.