Geriye Dönük Uyumluluk

Sorun bildirme Kaynağı görüntüleme Nightly · 7.4 . 7.3 · 7,2 · 7.1 · 7,0 · 6,5

Bu sayfada, geriye dönük uyumluluğun nasıl işleneceği ve ve bu bilgilerin nasıl kullanılacağını uyumsuz değişiklikler var.

Bazel gelişiyor. LTS ana planı kapsamında yayınlanan küçük sürümler sürümü tamamen geriye dönük uyumludur. Yeni ana LTS sürümler, taşıma işlemi 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. Değişiklikleri zarar vermek için --incompatible_* işaretinin 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_* ile çalıştırma işaretidir.

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'ler
  • 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 bir sürümdeki her uyumsuz değişiklik için taşıma tarifini kullanabilirsiniz (BUILD ve .bzl dosyaları, komut dosyalarındaki Bazel kullanımı, Bazel API kullanımı vb.).

Uyumlu olmayan değişikliklerin ilişkili bir --incompatible_* işareti ve ilgili bir GitHub sorunu olmalıdır.

Uyumsuz işaretin ve ilgili değişikliklerin en son LTS sürümünü yayınlar. Bu sayede kullanıcılar son LTS sürümüne geçmeden önce uyumlu olmayan değişiklikleri kullanılabilir.

Uyumlu olmayan değişiklikleri bildirme

Uyumsuz değişikliklerle ilgili birincil 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 bayrağın 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. Uyumsuz değişiklik sorunu, uyumsuz işaret HEAD konumunda döndürüldü.