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