Neden Bazel?

Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Bazel hızlı, doğru ve genişletilebilir birden fazla desteği destekleyen entegre test özellikli geliştirme aracı diller, depolar ve platform ve sektör lideri ekosistemde.

Bazel hızlı

Bazel, her bir derleme komutunun hangi giriş dosyalarına ihtiyaç duyduğunu bilir ve işlemi yalnızca giriş dosyaları dizisinde mevcut olduğunda yeniden çalıştırarak değişiklik gösterir. Derleme komutlarını aynı bilgisayarda veya uzaktan derleme düğümlerinde bulunmalıdır. Derlemenin yapısı sayesinde binlerce derleme veya test komutunu aynı anda çalıştırabilir.

Bu işlem, bellekteki, diskteki ve cihazdaki uzaktan kurma çiftliği. Google'da düzenli olarak önbellek isabet oranlarına %99'un kuzeyindedir.

Bazel doğru

Bazel, ikili programlarınızın yalnızca kendi ikili programlarınızdan derlenmesini sağlar kaynak kodudur. Bazel işlemleri bağımsız korumalı alanlarda ve Bazel kanallarında çalışır derlemenin her giriş dosyası (yalnızca ve her zaman yeniden çalışan derleme) komutlarını çalıştırın. Bu, ikili programlarınızı güncel tutar. Böylece, aynı kaynak kodu, her zaman aynı ikili programla, bitle sonuçlanır birer birer.

Sayısız make clean çağrısına ve hayalet böceklerin peşine düşün aslında hiç oluşturulmamış bir kaynak kodunda çözülür.

Bazel genişletilebilir

URL'nize kendi kurallarınızı ve makrolarınızı yazarak Bazel'in tüm gücünden birçok farklı projede Bazel'i özel ihtiyaçlarınıza göre özelleştirebilirsiniz.

Bazel kuralları Starlark'ta yazılır. şirket içi programlama dilidir. Starlark birçok geliştiricinin erişebileceği kurallar yazmanın yanı sıra, olması gerektiğine inanıyoruz.

Entegre test

Bazel'in entegre test çalıştırıcısı uzaktan yürütme yöntemini kullanarak yalnızca yeniden çalıştırılması gereken testleri bilir ve çalıştırır (varsa) yazın. Uzaktan kumandayla pulları erkenden tespit edin binlerce kez hızla çalıştırabilmenizi sağlar.

Bazel test sonuçlarını merkeze yüklemek için olanaklar sağlıyor test sonuçlarının etkili iletişimini kolaylaştırır; CI veya bireysel geliştiriciler tarafından yapıldığını söyler.

Birden fazla dil desteği

Bazel; C++, Java ve daha pek çok yaygın programlama dilini destekler. Kotlin, Python, Go ve Rust. Birden fazla ikili program oluşturabilirsiniz (örneğin, arka uç, web kullanıcı arayüzü ve mobil uygulama) aynı Bazel çağrısında tek bir dilin deyimsel oluşturma aracıyla sınırlandırılır.

Çoklu depo desteği

Bazel birden fazla konumdan kaynak kodu toplayabilir: bağımlılıklarınızı tedarik etmeniz gerekmez (ama yapabilirsiniz!), Kaynak kodunuzun veya önceden oluşturulmuş yapıların (ör. bir git) konumuna Bazel ekleyin deposu veya Maven Central'dan oluşur) ve gerisini halleder.

Çoklu platform desteği

Bazel; Linux gibi birçok platform için aynı anda proje oluşturabilir. macOS, Windows ve Android'de kullanılabilir. Aynı zamanda güçlü ve çapraz derleme olanakları başka bir platformda çalıştırır.

Geniş ekosistem

Sektör liderleri Bazel'i çok seviyor. geliştiricilerden oluşan bir topluluktur. Araçları ve hizmetleri bulun danışmanlık ve SaaS teklifleri de dahil olmak üzere belgeler ve belgeler Bazel kullanabilir. Şuradaki programlama dilleri desteği gibi uzantıları keşfedin: açık kaynak yazılım depolarımızda.