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

Bazel'in geniş komut satırı işaretleri listesinde gezinmek zor olabilir. Bu sayfada, bilmeniz gereken en önemli işaretler ele alınmaktadır.

Faydalı genel seçenekler

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

İşaret Açıklama

--config

.bazelrc dosyasındaki işaretleri, hata ayıklama veya sürüm derlemeleri için olanlar 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ütmeye devam etmek için mümkün olduğunca çaba göstermelidir. Bazel varsayılan olarak hevesle başarısız olur.

--remote_download_outputs

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

--stamp

Derleme bilgilerini (kullanıcı, zaman damgası) ikili dosyalara ekler.

Derleme ve test sorunlarını tespit etme

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 değerini ayarlayın.

--sandbox_debug

Korumalı alan hatalarını ayrıntılı olarak incelemenize olanak tanır. Bazel'in neden varsayılan olarak derlemeleri korumalı alana aldığı ve nelerin korumalı alana alındığı hakkında ayrıntılı bilgi için korumalı alan dokümanlarımıza bakın.

--subcommands (-s)

Derleme sırasında Bazel'in çalıştırdığı tüm komutların kapsamlı bir listesini gösterir (başarısız olup olmadığı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ğıdaki komut Bazel yığın boyutunu 3 GB ile sınırlar:
--host_jvm_args=-Xmx3g

--output_base

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

Bazel testleri

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

İşaret Açıklama

--java_debug

Java testlerinin çalıştırılmadan önce hata ayıklayıcı bağlantısı beklemesine neden olur.

--runs_per_test

Testlerin çalıştırılacak sayısı. Örneğin, testleri N kez çalıştırmak için --runs_per_test=N ekleyin. Bu, kararsız testlerde hata ayıklama yapmak ve bir düzeltmenin testin tutarlı bir şekilde geçilmesine neden olup olmadığını görmek için yararlı olabilir.

--test_filter

Bu işaret, özellikle tek bir test yönteminde iterasyon yaparken (ör. yaptığınız bir değişiklik bir testi bozduğunda) yararlıdır. Test paketindeki tüm test yöntemlerini yeniden çalıştırmak yerine yalnızca başarısız olan testlere odaklanabilirsiniz. Bu sayede daha hızlı geri bildirim alabilir ve daha verimli bir şekilde hata ayıklama yapabilirsiniz. Bu işaret, gerçek zamanlı test çıkışı için genellikle --test_output=streamed ile birlikte kullanılır.

--test_output

Çıkış modunu belirtir. Bazel varsayılan olarak test çıkışını yerel günlük dosyalarında yakalar. Bozuk bir testi iterasyon yaparken test çıktısını anlık olarak görmek için genellikle --test_output=streamed simgesini kullanırsınız.

Bazel çalıştırma

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

İşaret Açıklama

--run_under

Yürütülebilir 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şaretçiler, 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. Komutunuza --disk_cache=<path> ekleyerek derleme yapılarını birden fazla dal veya çalışma alanı arasında paylaşabilir ve Bazel derlemelerini hızlandırabilirsiniz.

--jobs

Çalıştırılacak eşzamanlı işlerin sayısı. Bu genellikle yalnızca uzak derleme kümesinin yerel çekirdek sayınızdan daha fazla iş yürüttüğü uzak yürütme kullanılırken gereklidir.

--local_resources

Yerel olarak çalıştırılan işlemler tarafından ne kadar CPU veya RAM kullanıldığını sınırlar.

--sandbox_base

Korumalı alanın, bu yolun altında korumalı alan dizinlerini oluşturmasına olanak tanır. Bazel varsayılan olarak yerel işlemleri korumalı alanda yürütür. Bu da derlemeye ek yük ekler.

Projeye özel bazelrc seçenekleri

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

İşaret Açıklama

--flaky_test_attempts

Test başarısız olursa her testi belirtilen sayıda tekrar dener. Bu, özellikle sürekli entegrasyonda yararlıdır. Geçmesi için birden fazla deneme gerektiren testler, test özetinde FLAKY (Güvenilir 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ırmanın mükemmel bir yolu olabilir. Yerel disk önbelleğiyle birleştirilebilir.

--remote_download_regex

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

--remote_executor

Uzaktan yürütme uç noktasının HOST veya HOST:PORT. Uzaktan yürütme hizmeti kullanıyorsanız bu parametreyi iletin. Genellikle --remote_instance_name=<name> eklemeniz gerekir.

--remote_instance_name

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

--show-timestamps

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

--spawn_strategy

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