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. Yeni büyük LTS sürümleri, biraz 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 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 bir GitHub sorunu, davranıştaki değişikliği açıklar ve bir taşıma tarifi sağlamayı hedefler.
  3. Uyumsuz flag'lerin, varsayılan olarak işareti etkinleştirmeden en yeni LTS sürümüne geri taşınması ö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 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 (BUILD ve .bzl dosyalarının yanı sıra komut dosyalarındaki Bazel kullanımı, Bazel API kullanımı vb.) güncellemenize yardımcı olacak bir taşıma tarifi sağlamayı hedefler.

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

Uyumsuz işaretin ve ilgili değişikliklerin, işareti varsayılan olarak etkinleştirmeden en son LTS sürümüne geri taşınması önerilir. Bu sayede kullanıcılar, bir sonraki LTS sürümü kullanıma sunulmadan önce uyumsuz değişiklikler için taşıma yapabilir.

Uyumsuz değişiklikleri bildirme

Uyumsuz değişikliklerle ilgili birincil bilgi kaynağı, "uyumsuz-değişiklik" etiketiyle işaretlenen 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 taşıma için hazır olan uyumsuz bir değişiklik (bu nedenle, bir sonraki Bazel sürümüyle de birlikte) migration-ready etiketiyle işaretlenmelidir. Uyumsuz değişiklik sorunu, HEAD konumunda uyumlu olmayan işaret çevrildiğinde kapatılır.