Bu sayfada, bir sürümden diğerine geçiş yapma ve uyumlu olmayan değişiklikleri nasıl bildirme gibi geriye dönük uyumluluğu yönetmeyle ilgili bilgiler verilmektedir.
Bazel gelişiyor. LTS ana sürümü kapsamında yayınlanan alt sürümler tamamen geriye dönük uyumludur. Yeni büyük LTS sürümleri, bazı taşıma çalışmaları gerektiren uyumsuz değişiklikler içerebilir. Bazel'in sürüm modeli hakkında daha fazla bilgi için lütfen Sürüm Modeli sayfasına göz atın.
Özet
- Kullanıcı deneyimini bozan değişiklikler için
--incompatible_*
işaretleri kullanılması önerilir. - Her
--incompatible_*
işareti için davranıştaki değişikliği açıklayan ve taşıma tarifi sunmayı amaçlayan bir GitHub sorunu oluşturulur. - Uyumlu olmayan işaretlerin, varsayılan olarak etkinleştirilmeden en son LTS sürümüne geri bağlanması önerilir.
--experimental_*
işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değişebilir.- Üretim derlemelerini hiçbir zaman
--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: Uyumlu olmayan değişikliklerle ilgili en iyi uygulamalar
- Sürüm yöneticileri için: Sorun etiketlerini güncelleme ve sürüm yayınlama
Kararlı işlevsellik nedir?
Genel olarak, --experimental_...
işareti olmayan API'ler veya davranışlar Bazel'de kararlı ve desteklenen özellikler olarak kabul edilir.
Bunlardan bazıları:
- Starlark dili ve API'leri
- Bazel ile birlikte sunulan kurallar
- Remote Execution API'ler veya Build Event Protocol gibi Bazel API'leri
- Bayraklar ve anlamları
Uyumsuz değişiklikler ve taşıma tarifleri
Bazel ekibi, yeni sürümdeki her uyumsuz değişiklik için kodunuzu (BUILD
ve .bzl
dosyalarının yanı sıra komut dosyalarındaki Bazel kullanımı, Bazel API'nin kullanımı vb.) güncellemenize yardımcı olacak bir taşıma tarifi sunmayı amaçlar.
Uyumlu olmayan değişikliklerin ilişkili bir --incompatible_*
işareti ve ilgili bir GitHub sorunu olmalıdır.
Uyumlu olmayan işaretin ve ilgili değişikliklerin, varsayılan olarak işaret etkinleştirilmeden en son LTS sürümüne geri taşınması önerilir. Bu sayede kullanıcılar, sonraki LTS sürümü kullanıma sunulmadan önce uyumsuz değişiklikler için taşıma işlemini gerçekleştirebilir.
Uyumlu olmayan değişiklikleri bildirme
Uyumsuz değişikliklerle ilgili birincil bilgi kaynağı, "incompatible-change" etiketiyle işaretlenmiş GitHub sorunlarıdır.
Uyumlu olmayan her değişiklik için sorunda aşağıdakiler belirtilir:
- Uyumlu olmayan değişikliği kontrol eden işaretin adı
- Değiştirilen işlevin açıklaması
- Taşıma tarifi
Uyumlu olmayan bir değişiklik, HEAD'deki Bazel ile (dolayısıyla bir sonraki Bazel yayınıyla da) taşımaya hazır olduğunda migration-ready
etiketiyle işaretlenmelidir. HEAD'da uyumlu olmayan işareti değiştirildiğinde uyumlu olmayan değişiklik sorunu kapatılır.