Geriye Dönük Uyumluluk

Sorun bildir Kaynağı göster

Bu sayfada, bir sürümden diğerine taşıma ve uyumsuz değişikliklerin nasıl bildirileceği dahil, geriye dönük uyumluluğun nasıl ele alınacağı hakkında bilgiler verilmektedir.

Bazel gelişiyor. LTS ana sürümünün bir parçası olarak yayınlanan küçük sürümler tamamen geriye dönük uyumludur. Yeni ana LTS sürümleri, taşıma işlemi için çaba gerektiren uyumsuz değişiklikler içerebilir. Bazel'in 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 bozmak için --incompatible_* işaretlerinin 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 formülü sunmayı amaçlar.
  3. Uyumsuz işaretlerin, varsayılan olarak etkinleştirmeden en son LTS sürümüne geri taşınması önerilir.
  4. --experimental_* işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değiştirilebilir.
  5. Üretim derlemelerini hiçbir zaman --experimental_* veya --incompatible_* işaretleriyle çalıştırmayın.

Bu politikaya uyma

Kararlı işlev nedir?

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

Bu kural kapsamına aşağıdakiler dahildir:

  • Starlark dili ve API'leri
  • Bazel ile birlikte gelen kurallar
  • Remote Execution API'leri veya Derleme Etkinlik Protokolü gibi Bazel API'leri
  • İşaretler ve anlamları

Uyumsuz değişiklikler ve taşıma tarifleri

Bazel ekibi, yeni bir sürümdeki uyumsuz her değişiklik için kodunuzu güncellemenize yardımcı olacak bir taşıma tarifi sağlamayı amaçlamaktadır (BUILD ve .bzl dosyalarının yanı sıra komut dosyalarında Bazel kullanımı, Bazel API kullanımı vb.).

Uyumsuz değişikliklerin ilişkili bir --incompatible_* işareti ve ilişkili bir GitHub sorunu olması gerekir.

Uyumsuz işaretin ve ilgili değişikliklerin, varsayılan olarak işareti 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 geçiş yapabilir.

Uyumsuz değişiklikleri bildirme

Uyumsuz değişikliklerle ilgili birincil bilgi kaynağı, "uyumlu olmayan-değişiklik" etiketiyle işaretlenen GitHub sorunlarıdır.

Uyumsuz her değişiklik için sorun şunları belirtir:

  • Uyumsuz değişikliği kontrol eden işaretin adı
  • Değiştirilen işlevin açıklaması
  • Taşıma tarifi

Uyumsuz bir değişiklik HEAD konumunda Bazel ile taşınmaya hazır olduğunda (bu nedenle bir sonraki Bazel aşamalı sürümüyle de) bu değişiklik migration-ready etiketiyle işaretlenmelidir. Uyumsuz değişiklik HEAD konumunda çevirildiğinde uyumsuz değişiklik sorunu kapatılır.