Android, Bazel derleme sistemine geçiyor

Google geliştiricileri Android'in geliştirilmesinin arkasındakiler, bir duyuru yoluyla projenin hareket ettiğini bilmek Android açık kaynak (AOSP) Bazel derleme sistemini kullanmak için mevcut Soong, Ninja ve Make derleme sistemi yerine.

Bazel desteği, Android deposuna zaten eklendiAncak geçiş varsayılan olarak yeni derleme sisteminee birden çok sürüme yayılacak geçişi olabildiğince kolay ve şeffaf hale getirmek için platform.

2020 ve 2021'de önemli bir değişiklik beklenmiyor Platform inşaatı iş akışlarında ve mevcut inşaat sistemlerine destek sağlanacaktır.

Kademeli bir geçişe izin vermek için, bazı değişiklikler Android yapılarını basitleştirmek için zaten Bazel'e dahil edildi, Ninja biçimli derleme dosyalarını ayrıştırma ve çalıştırma yeteneği gibi.

Android platformu içinBazel'e geçmek, derleme sürecini yapılandırma esnekliğini artıracak, Derleme ilerlemesinin ve bağımlılıkların bağlantısının iç gözlemini / izlenmesini iyileştirecek, tekrarlanabilir yapılar uygulayacak, karmaşık derleme komut dosyalarını basitleştirecek, çeşitli derleme ve test işleyicileriyle entegrasyonu iyileştirecek ve derleme süresini azaltacaktır.

Bazel'e geçiş, AOSP'nin şunları yapmasına olanak tanır:

AOSP derlemesini yapılandırmak için daha fazla esneklik sağlayın (koşullu ifadeler için daha iyi destek)
AOSP derleme ilerlemesi ve bağımlılıkları hakkında daha fazla iç gözlem yapılmasına izin verin
Doğru ve oynanabilir (su geçirmez) AOSP yapılarını etkinleştirin
AOSP yapılarının karmaşıklığını azaltacak bir yapılandırma mekanizması tanıtın
İnşaat ve test faaliyetlerinin daha fazla entegrasyonunu sağlayın
Önemli derleme süresi sağlamak ve iyileştirmeleri tecrübe etmek için tüm bunları birleştirin
Bu geçişin Bazel topluluğuna faydaları şunlardır:

Android platform kurulumlarını desteklemek için Bazel'e önemli yatırımlar yapılıyor
Bazel'in ekosistemi ve topluluk genişlemesi, başlangıçta on binlerce Android platform geliştiricisini ve Android telefon orijinal ekipman üreticilerini (OEM'ler) ve çip satıcılarını içerecek şekilde genişletildi.
Google'ın Android uygulamaları oluşturmaya yönelik Bazel kuralları açık kaynak olacak, AOSP'de kullanılacak ve Android / Bazel topluluğu ile ortaklaşa Google tarafından sürdürülecektir.
Android uygulamaları oluşturmak için daha iyi Bazel uyumluluğu
Android platformunu oluşturmak için kullanılan diğer diller için daha iyi kural desteği (Rust, Java, Python, Go vb.)
Genişletilmiş Bazel topluluğuna fayda sağlayan Bazel Uzun Süreli Destek (LTS) sürümleri için güçlü destek
İyileştirilmiş belgeler (eğitimler ve referans)

Ekosistemi Android'de Bazel, dahil olan katılımcı sayısını artıracak gelişimde, Android uygulamaları oluşturmak için uygulamayı basitleştirecek (Google dahil olmak üzere, Android uygulamaları için komut dosyaları oluşturmak için kodu açmayı planlıyor), Android'de kullanılan çeşitli programlama dilleri (Rust, Java, Python, Go) için desteği iyileştirecek, uzun sürümler oluşturmak için kaynaklar sağlayacak ve daha iyi ve daha kapsamlı belgelere yol açacaktır.

Bazel, Google mühendisleri tarafından geliştirilmiştir ve şirketin dahili projelerinin çoğunu inşa etmek için kullanılır. Proje yüksek yapım hızı ile dikkat çeker, hangi önbelleğe alma teknikleri ve yapım sürecinin paralelleştirilmesinin kullanıldığı.

Araçlar da tekrarlanabilir montaj sağlamakBaşka bir deyişle, projeyi geliştiricinin makinesinde oluşturmanın sonucu, sürekli entegrasyon sunucuları gibi üçüncü taraf sistemler üzerine inşa etmekle tamamen aynı olacaktır. Uzantıları bağlama mekanizması aracılığıyla ek işlevsellik uygulanır.

Make ve Ninja'nın aksine, Bazel daha üst düzey bir yaklaşım benimsiyor derlenmekte olan dosyalar için komut bağlamalarını tanımlamak yerine, daha soyut önceden oluşturulmuş bloklar kullanan ve hedef / derleme platformlarını tanımlayan derleme kuralları oluşturmak için.

Projenin bileşenleri BUILD metin dosyasında açıklanmaktadır derleyiciyi çağırmak için ayrı dosyalar ve komutlar düzeyinde ayrıntıya girmeden kitaplıklar, çalıştırılabilir dosyalar ve testlerden oluşan bir paket biçiminde.

BUILD dosyalarında, tüm bağımlılıklar tam olarak tanımlanmalıdır, değişiklikleri yaptıktan sonra bileşenleri yeniden oluşturmak için hangi kararların alındığına göre (yalnızca değiştirilen dosyalar yeniden oluşturulur) ve oluşturma sürecini paralelleştirin.

kaynak: https://developers.googleblog.com


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.