Bazel bayrağıyla ilgili yardımcı kısa bilgiler

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Bazel'in kapsamlı komut satırı işaretleri listesinde gezinmek zor olabilir. Bu sayfada, bilmeniz gereken en önemli işaretlere odaklanılmıştır.

Faydalı genel seçenekler

Aşağıdaki işaretlerin komut satırında açıkça ayarlanması gerekir.

İşaret Açıklama

--config

.bazelrc dosyasındaki işaretleri, hata ayıklama veya yayın derlemeleri gibi yapılandırmalar halinde düzenleyebilirsiniz. --config=<group> ile ek yapılandırma grupları seçilebilir.

--keep_going

Bazel, derleme ve test yürütme işlemlerine mümkün olduğunca devam etmeye çalışmalıdır. Bazel, varsayılan olarak hemen hata verir.

--remote_download_outputs

Uzaktan yürütme veya önbelleğe alma (hem disk hem de uzaktan) kullanırken Bazel'e tüm (ara) derleme yapıtlarını indirmek istediğinizi aşağıdaki gibi bildirebilirsiniz:
--remote_download_outputs=all
Varsayılan olarak Bazel yalnızca son ikili gibi üst düzey yapay nesneleri ve yerel işlemler için gerekli olan ara yapay nesneleri indirir.

--stamp

İkili dosyalara derleme bilgileri (kullanıcı, zaman damgası) ekler.

Derleme ve test sorunlarını ortaya çıkarma

Aşağıdaki işaretler, Bazel derleme veya test hatalarını daha iyi anlamanıza yardımcı olabilir.

İşaret Açıklama

--announce_rc

Kullanıcı tanımlı, makine tanımlı veya proje tanımlı .bazelrc dosyaları aracılığıyla hangi işaretlerin örtülü olarak ayarlandığını gösterir.

--auto_output_filter

Varsayılan olarak Bazel, günlük spam'ini önlemeye çalışır ve yalnızca komut satırında istenen paketler ve alt paketler için derleyici uyarılarını ve Starlark hata ayıklama çıkışını yazdırır. Tüm filtrelemeyi devre dışı bırakmak için --auto_output_filter=none olarak ayarlayın.

--sandbox_debug

Korumalı alan hatalarını ayrıntılı olarak incelemenizi sağlar. Bazel'in derlemeleri neden varsayılan olarak korumalı alana aldığı ve hangi öğelerin korumalı alana alındığıyla ilgili ayrıntılar için korumalı alan belgelerimize bakın.

--subcommands (-s)

Bazel'in derleme sırasında çalıştırdığı her komutun kapsamlı bir listesini gösterir (başarılı veya başarısız olmasına bakılmaksızın).

Başlangıç

İşaret Açıklama

--bazelrc

Varsayılan Bazel seçeneklerini .bazelrc dosyalarında belirtebilirsiniz. Birden fazla .bazelrc dosyası varsa --bazelrc=<path to the .bazelrc file> ekleyerek hangi .bazelrc dosyasının kullanılacağını seçebilirsiniz.

--host_jvm_args

Bazel sunucusunun kullandığı RAM miktarını sınırlar. Örneğin, aşağıda Bazel yığın boyutu 3 GB ile sınırlandırılmıştır:
--host_jvm_args=-Xmx3g

--output_base

Bazel'in çıkış ağacını kontrol eder. Bazel, günlükler de dahil olmak üzere derleme çıkışlarını kaynak ağacının kendisinde depolamaz. Bunun yerine, bu amaç için ayrı bir çıkış ağacı kullanır.

Bazel testleri

Aşağıdaki işaretler Bazel testiyle ilgilidir.

İşaret Açıklama

--java_debug

Java testlerinin yürütülmeden önce hata ayıklayıcı bağlantısı için beklemesine neden olur.

--runs_per_test

Testlerin kaç kez çalıştırılacağı. Örneğin, testleri N kez çalıştırmak için --runs_per_test=N ekleyin. Bu, kararsız testlerde hata ayıklamak ve bir düzeltmenin testin tutarlı bir şekilde geçmesini sağlayıp sağlamadığını görmek için yararlı olabilir.

--test_output

Çıkış modunu belirtir. Bazel, varsayılan olarak test çıkışını yerel günlük dosyalarına kaydeder. Bozuk bir testi yinelerken genellikle test çıktısını anlık olarak görmek için --test_output=streamed kullanmak istersiniz.

Bazel çalıştırması

Aşağıdaki işaretler Bazel çalıştırma ile ilgilidir.

İşaret Açıklama

--run_under

Çalıştırılabilir dosyaların nasıl çağrıldığını değiştirir. Örneğin, --run_under="strace -c" genellikle hata ayıklama için kullanılır.

Kullanıcıya özel bazelrc seçenekleri

Aşağıdaki işaretler, kullanıcıya özel .bazelrc seçenekleriyle ilgilidir.

İşaret Açıklama

--disk_cache

Bazel'in işlemleri ve işlem çıkışlarını okuyup yazabileceği bir dizinin yolu. Dizin yoksa oluşturulur. Derleme yapılarını birden fazla dal veya çalışma alanı arasında paylaşabilir ve komutunuza --disk_cache=<path> ekleyerek Bazel derlemelerini hızlandırabilirsiniz.

--jobs

Eşzamanlı olarak çalıştırılacak işlerin sayısı. Bu genellikle yalnızca, yerel olarak sahip olduğunuz çekirdek sayısından daha fazla işin uzak bir derleme kümesi tarafından yürütüldüğü uzak yürütme kullanılırken gereklidir.

--local_resources

Yerel olarak çalışan işlemlerin ne kadar CPU veya RAM tükettiğini sınırlar.

--sandbox_base

Korumalı alanın, bu yolun altında korumalı alan dizinlerini oluşturmasına izin verir. Varsayılan olarak Bazel, yerel işlemleri korumalı alanda yürütür. Bu da derlemeye biraz ek yük getirir.

Projeye özel bazelrc seçenekleri

Aşağıdaki işaretler, projeye özel .bazelrc seçenekleriyle ilgilidir.

İşaret Açıklama

--flaky_test_attempts

Test başarısız olursa her testi belirtilen sayıda yeniden deneyin. Bu özellik, özellikle sürekli entegrasyon için yararlıdır. Geçmek için birden fazla deneme gerektiren testler, test özetinde GÜVENİLİR OLMAYAN olarak işaretlenir.

--remote_cache

Bir önbelleğe alma uç noktasının URI'si. Uzak önbelleğe alma özelliğini ayarlamak, Bazel derlemelerini hızlandırmak için harika bir yöntem olabilir. Yerel disk önbelleğiyle birleştirilebilir.

--remote_download_regex

Yolu bu kalıpla eşleşen uzak derleme çıkışlarının, --remote_download_outputs ayarından bağımsız olarak indirilmesini zorunlu kılar. Bu işaret tekrarlanarak birden fazla desen belirtilebilir.

--remote_executor

HOST veya HOST:PORT uzaktan yürütme uç noktası. Uzaktan yürütme hizmeti kullanıyorsanız bunu iletin. Çoğu zaman --remote_instance_name=<name> eklemeniz gerekir.

--remote_instance_name

Uzak yürütme API'sinde instance_name olarak iletilecek değer.

--show-timestamps

Belirtilirse Bazel tarafından oluşturulan her iletiye, iletinin gösterildiği zamanı belirten bir zaman damgası eklenir. Bu, CI sistemlerinde hangi adımın ne kadar sürdüğünü hızlıca anlamak için kullanışlıdır.

--spawn_strategy

Uzak yürütme ile bile bazı derleme işlemlerini yerel olarak çalıştırmak daha hızlı olabilir. Bu süre, derleme kümenizin kapasitesi, ağ hızı ve ağ gecikmeleri gibi faktörlere bağlıdır.