Geriye Dönük Uyumluluk

Sorun bildir Kaynağı göster Gece · 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'ın sürüm modeli hakkında daha fazla bilgi için lütfen Model sayfası.

Özet

  1. Değişiklikleri zarar vermek için --incompatible_* işaretinin kullanılması önerilir.
  2. Her --incompatible_* işareti için bir GitHub sorunu, bir geçiş tarifi sunmaktır.
  3. Uyumsuz flag'lerin en son LTS'ye geri taşınması önerilir varsayılan olarak bayrağı etkinleştirmeden serbest bırakın.
  4. --experimental_* işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değişebilir gerekir.
  5. Üretim derlemelerini hiçbir zaman --experimental_* veya --incompatible_* ile çalıştırma işaretidir.

Bu politikaya nasıl uyabilirsiniz?

Kararlı işlev nedir?

Genel olarak, --experimental_... işareti olmayan API'ler veya davranışlar dikkate alınır ve Bazel'da desteklenen kararlı özellikler bulunuyor.

Bunlardan bazıları:

  • Starlark dili ve API'ler
  • Bazel ile gruplandırılmış kurallar
  • Remoteecution API'leri veya Derleme Etkinliği Protokolü gibi Bazel API'leri
  • İşaretler ve anlamları

Uyumsuz değişiklikler ve taşıma yöntemleri

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.).

Uyumsuz değişiklikler için ilişkili bir --incompatible_* işareti ve ilgili GitHub sorununu düzeltmenizi sağlar.

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.

Uyumsuz değişiklikleri bildirme

Uyumsuz değişikliklerle ilgili birincil bilgi kaynağı GitHub sorunlarıdır "uyumsuz-değişiklik" ile işaretlendi etiket ekleyin.

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

HEAD alanında Bazel ile uyumsuz bir değişiklik taşınmaya hazır olduğunda (bu nedenle, bir sonraki Bazel kullanıma sunulan sürümde de) migration-ready etiketi. Uyumsuz değişiklik sorunu, uyumsuz işaret HEAD konumunda döndürüldü.