Bu sayfada, bir sürümden diğerine geçiş yapma ve uyumsuz değişiklikleri bildirme de dahil olmak üzere geriye dönük uyumluluğun nasıl ele alınacağı hakkında bilgi verilmektedir.
Bazel gelişiyor. LTS ana sürümü kapsamında yayınlanan alt sürümler tamamen geriye dönük uyumludur. Ana LTS sürümleri arasındaki değişiklikler, bazı taşıma işlemleri gerektiren uyumsuz değişiklikler içerebilir. Bazel'in yayın sıklığı hakkında daha fazla bilgi için Announcing Bazel Long Term Support (LTS) releases başlıklı makaleyi inceleyin.
Özet
- Kırıcı değişiklikler için
--incompatible_*
işaretlerinin kullanılması önerilir. - Her
--incompatible_*
işareti için bir GitHub sorunu, davranış değişikliğini açıklar ve taşıma tarifi sağlamayı amaçlar. --experimental_*
işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değişebilir.- Üretim derlemelerini asla
--experimental_*
veya--incompatible_*
işaretleriyle çalıştırmayın.
Bu politikaya uyma
- Bazel kullanıcıları için: Bazel'i güncelleme
- Katkıda bulunanlar için: Uyumsuz değişikliklerle ilgili en iyi uygulamalar
- Yayın yöneticileri için: Sorun etiketlerini ve yayını güncelleme
Kararlı işlev nedir?
Genel olarak, --experimental_...
işaretleri olmayan API'ler veya davranışlar, Bazel'deki kararlı ve desteklenen özellikler olarak kabul edilir.
Bunlardan bazıları:
- Starlark dili ve API'ler
- Bazel ile birlikte gelen kurallar
- Remote Execution API'ler veya Build Event Protocol gibi Bazel API'leri
- Bayraklar ve anlamları
Uyumsuz değişiklikler ve taşıma tarifleri
Yeni bir sürümdeki her uyumsuz değişiklik için Bazel ekibi, kodunuzu güncellemenize yardımcı olacak bir taşıma tarifi sunmayı amaçlar (BUILD
ve .bzl
dosyaları, komut dosyalarındaki Bazel kullanımı, Bazel API'sinin kullanımı vb.).
Uyumsuz değişikliklerle ilişkili bir --incompatible_*
işareti ve ilgili bir GitHub sorunu olmalıdır.
Uyumlu olmayan değişiklikleri bildirme
Uyumsuz değişikliklerle ilgili temel bilgi kaynağı, "incompatible-change" etiketiyle işaretlenmiş GitHub sorunlarıdır.
Her uyumsuz değişiklik için sorun, aşağıdakileri belirtir:
- Uyumsuz değişikliği kontrol eden işaretin adı
- Değişen işlevin açıklaması
- Taşıma tarifi
Uyumsuz bir değişiklik, Bazel ile HEAD'de (dolayısıyla bir sonraki Bazel yayınında da) taşınmaya hazır olduğunda migration-ready
etiketiyle işaretlenmelidir. Uyumsuzluk işareti HEAD'de değiştirildiğinde uyumsuz değişiklik sorunu kapatılır.