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
- Değişiklikleri zarar vermek için
--incompatible_*
işaretinin kullanılması önerilir. - 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. --experimental_*
işareti tarafından korunan API'ler ve davranışlar herhangi bir zamanda değişebilir.- Üretim derlemelerini hiçbir zaman
--experimental_*
veya--incompatible_*
işaretleriyle çalıştırmayın.
Bu politikaya nasıl uyabilirsiniz?
- Bazel kullanıcıları için: Bazel'i güncelleme
- Katkıda bulunanlar için - Uyumsuz değişikliklerle ilgili en iyi uygulamalar
- Sürüm yöneticileri için: Sorun etiketlerini ve sürüm güncelleme
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.