Geriye Dönük Uyumluluk

Sorun bildirme Kaynağı görüntüleme Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

  1. Kullanıcı deneyimini bozan değişiklikler için --incompatible_* işaretleri kullanılması önerilir.
  2. 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.
  3. Uyumlu olmayan işaretlerin, varsayılan olarak etkinleştirilmeden en son LTS sürümüne geri bağlanması önerilir.
  4. --experimental_* işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değişebilir.
  5. Üretim derlemelerini hiçbir zaman --experimental_* veya --incompatible_* işaretleriyle çalıştırmayın.

Bu politikaya uyma

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.