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ả việc chuyển từ bản phát hành này sang bản phát hành khác và cách thông báo những 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 phiên bản lớn LTS hoàn toàn tương thích ngược. Các bản phát hành LTS chính mới có thể chứa các thay đổi không tương thích và bạn cần nỗ lực di chuyển. Để biết thêm thông tin về mô hình phát hành của Bazel, vui lòng xem trang Mô hình phát hành.
Tóm tắt
- Bạn nên sử dụng cờ
--incompatible_*
để có thể gây lỗi cho các thay đổi. - Đối với mỗi cờ
--incompatible_*
, một vấn đề GitHub sẽ giải thích sự thay đổi trong hành vi và nhằm 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 sang bản phát hành LTS mới nhất mà không cần bật cờ theo mặc định.
- Các API và hành vi do cờ
--experimental_*
bảo vệ có thể thay đổi bất cứ lúc nào. - Tuyệt đối không chạy các bản dựng chính thức có cờ
--experimental_*
hoặc--incompatible_*
.
Cách tuân thủ chính sách này
- Đối với 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 đối với 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, được hỗ trợ trong Bazel.
Vấn đề này bao gồm:
- Ngôn ngữ và API của Starlark
- Các quy tắc đi kèm với Bazel
- Các API Bazel như API Thực thi từ xa hoặc Giao thức sự kiện bản dựng
- Cờ và ngữ nghĩa của cờ này
Các thay đổi và công thức di chuyển 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 muốn cung cấp công thức di chuyển giúp bạn cập nhật mã (tệp BUILD
và .bzl
, cũng như mọi cách sử dụng Bazel trong tập lệnh, cách sử dụng API Bazel, v.v.).
Các thay đổi không tương thích phải có một cờ --incompatible_*
liên kết và một vấn đề tương ứng trên GitHub.
Bạn nên điều chỉnh cờ không tương thích và các thay đổi có liên quan cho 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 để chấp nhận các thay đổi không tương thích trước khi bản phát hành LTS tiếp theo ra mắt.
Thông báo về các thay đổi không tương thích
Nguồn thông tin chính về các thay đổi không tương thích là các vấn đề trên GitHub được đánh dấu bằng nhãn"không tương thích-thay đổi".
Đối với mọi thay đổi không tương thích, vấn đề này sẽ chỉ định những thông tin 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 bị thay đổi
- Hướng dẫn di chuyển
Khi một thay đổi không tương thích sẵn sàng để di chuyển bằng Bazel tại HEAD (do đó, cũng với bản phát hành Bazel tiếp theo), thay đổi đó cần được đánh dấu bằng nhãn migration-ready
. Vấn đề thay đổi không tương thích sẽ được đóng khi cờ không tương thích được lật tại HEAD.