Geriye Dönük Uyumluluk

Sorun bildirin Kaynağı göster

Bu sayfada, bir sürümden diğerine geçiş ve uyumsuz değişikliklerin nasıl bildirileceği de dahil olmak üzere geriye dönük uyumluluğun nasıl ele alınacağıyla ilgili bilgiler sağlanmaktadır.

Bazel gelişiyor. LTS ana sürümünün parçası olarak yayınlanan küçük sürümler tamamen geriye dönük uyumludur. Ana LTS sürümleri arasındaki değişiklikler, taşıma işlemi gerektiren uyumsuz değişiklikler içerebilir. Bazel sürüm sıklığının işleyiş şekli hakkında daha fazla bilgi edinmek için Duyurulan Bazel Uzun Vadeli Destek (LTS) sürümlerini inceleyin.

Ö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, davranış değişikliğini açıklar ve bir taşıma tarifi sağlamayı amaçlar.
  3. --experimental_* işareti tarafından korunan API'ler ve davranışlar herhangi bir zamanda değişebilir.
  4. Üretim derlemelerini hiçbir zaman --experimental_* veya --incompatible_* işaretleriyle çalıştırmayın.

Bu politikaya nasıl uyabilirsiniz?

Kararlı işlev nedir?

Genel olarak, --experimental_... işareti olmayan API'ler veya davranışlar Bazel'de desteklenen kararlı, desteklenen özellikler olarak kabul edilir.

Bu tür içerikler aşağıdakileri kapsar:

  • 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 kodunuzu güncellemenize yardımcı olacak bir taşıma tarifi sağlamayı hedefler (BUILD ve .bzl dosyalarının yanı sıra komut dosyalarındaki Bazel kullanımı, Bazel API kullanımı vb.).

Uyumsuz değişikliklerle ilişkili bir --incompatible_* işareti ve buna karşılık gelen bir GitHub sorunu bulunmalıdır.

Uyumsuz değişiklikleri bildirme

Uyumsuz değişikliklerle ilgili birincil bilgi kaynağı, "uyumsuz-değişiklik" 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

HEAD konumunda Bazel ile (dolayısıyla da bir sonraki Bazel sürümü) taşınmaya hazır olan uyumsuz bir değişiklik, migration-ready etiketiyle işaretlenmelidir. Uyumsuz değişiklik sorunu, HEAD bölümünde uyumsuz işaret çevrildiğinde kapatılır.