Geriye Dönük Uyumluluk

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ü kapsamında yayınlanan küçük sürümler geriye dönük olarak tamamen uyumludur. Ana LTS sürümleri arasındaki değişiklikler, taşıma işlemi için çaba gerektiren uyumsuz değişiklikler içerebilir. Bazel sürüm sıklığının işleyiş şekli hakkında daha fazla bilgi için Bazel Uzun Süreli Destek (LTS) sürümlerini duyurma bölümüne bakı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. --experimental_* işaretiyle korunan API'ler ve davranışlar herhangi bir zamanda değiştirilebilir.
  4. Ü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 sürümdeki her uyumsuz değişiklik için kodunuzu güncellemenize yardımcı olacak bir taşıma tarifi sağlamayı hedefliyor (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 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 (dolayısıyla bir sonraki Bazel aşamalı sürümüyle) bu değişiklik migration-ready etiketiyle işaretlenmelidir. Uyumsuz değişiklik sorunu, HEAD konumunda uyumsuz bayrak döndürüldüğünde kapatılır.