Android beralih ke sistem build Bazel

Pengembang Google yang berada di belakang pengembangan Android, memberi untuk mengetahui melalui pengumuman bahwa Proyek sedang bergerak Android open source (AOSP) untuk menggunakan sistem build Bazel alih-alih sistem kompilasi Soong, Ninja dan Make saat ini.

Dukungan Bazel telah ditambahkan ke repositori Androidtapi transisi ke sistem build baru secara default se akan tersebar di berbagai versi platform untuk membuat migrasi semudah dan setransparan mungkin.

Pada 2020 dan 2021, diperkirakan tidak ada perubahan signifikan dalam alur kerja konstruksi platform, dan dukungan untuk sistem konstruksi yang ada akan dipertahankan.

Untuk memungkinkan migrasi bertahap, Beberapa perubahan untuk menyederhanakan versi Android sudah termasuk dalam Bazel, seperti kemampuan untuk mengurai dan menjalankan file build berformat Ninja.

Dikatakan bahwa untuk platform Android, beralih ke Bazel akan meningkatkan fleksibilitas dalam mengonfigurasi proses pembuatan, Ini akan meningkatkan introspeksi / pemantauan kemajuan build dan koneksi dependensi, mengimplementasikan build yang dapat diulang, menyederhanakan skrip build yang kompleks, meningkatkan integrasi dengan berbagai penangan build dan pengujian, dan mengurangi waktu build.

Migrasi ke Bazel akan memungkinkan AOSP untuk:

Memberikan lebih banyak fleksibilitas untuk mengonfigurasi kompilasi AOSP (dukungan yang lebih baik untuk kondisional)
Izinkan lebih banyak introspeksi tentang kemajuan dan dependensi build AOSP
Aktifkan build AOSP yang benar dan dapat dimainkan (kedap air)
Memperkenalkan mekanisme konfigurasi yang akan mengurangi kompleksitas build AOSP
Memungkinkan integrasi lebih lanjut dari aktivitas konstruksi dan pengujian
Gabungkan semua ini untuk mendorong waktu build yang signifikan dan mengalami peningkatan
Manfaat dari migrasi ini ke komunitas Bazel adalah:

Investasi signifikan sedang dilakukan di Bazel untuk mendukung pembuatan platform Android
Ekosistem Bazel dan perluasan komunitas pada awalnya mencakup puluhan ribu pengembang platform Android dan produsen peralatan asli (OEM) ponsel Android serta vendor chip.
Aturan Bazel Google untuk membuat aplikasi Android akan menjadi open source, digunakan di AOSP, dan dikelola oleh Google dalam kemitraan dengan komunitas Android / Bazel.
Kompatibilitas Bazel yang lebih baik untuk membuat aplikasi Android
Dukungan aturan yang lebih baik untuk bahasa lain yang digunakan untuk membangun platform Android (Rust, Java, Python, Go, dll.)
Dukungan kuat untuk versi Bazel Long Term Support (LTS), menguntungkan komunitas Bazel yang diperluas
Dokumentasi yang ditingkatkan (tutorial dan referensi)

Ekosistem Bazel di Android akan menambah jumlah peserta yang terlibat dalam pengembangan, akan menyederhanakan aplikasi untuk membangun aplikasi Android (termasuk Google bermaksud untuk membuka kode untuk membangun skrip untuk aplikasi Android-nya), itu akan meningkatkan dukungan untuk berbagai bahasa pemrograman yang digunakan di Android (Rust, Java, Python, Go), itu akan menyediakan sumber daya untuk membuat durasi versi yang lama dan akan menghasilkan dokumentasi yang lebih baik dan lebih ekstensif.

Bazel dikembangkan oleh teknisi Google dan digunakan untuk membangun sebagian besar proyek internal perusahaan. Proyek menonjol karena kecepatan konstruksinya yang tinggi, yang digunakan teknik caching dan paralelisasi proses konstruksi.

Alatnya juga memastikan perakitan berulangDengan kata lain, hasil membangun proyek di mesin pengembang akan sama persis dengan membangun di sistem pihak ketiga, seperti server integrasi berkelanjutan. Fungsionalitas tambahan diimplementasikan melalui mekanisme untuk menghubungkan ekstensi.

Tidak seperti Make dan Ninja, Bazel mengambil pendekatan tingkat yang lebih tinggi untuk membuat aturan kompilasi yang, alih-alih menentukan binding perintah untuk file yang sedang dikompilasi, gunakan lebih banyak blok abstrak yang dibuat sebelumnya dan tentukan platform target / build.

Komponen proyek dijelaskan dalam file teks BUILD dalam bentuk paket pustaka, file yang dapat dieksekusi, dan pengujian, tanpa merinci tingkat file dan perintah individu untuk memanggil kompilator.

Dalam file BUILD, semua dependensi harus ditentukan sepenuhnya, atas dasar keputusan yang dibuat untuk membangun kembali komponen setelah membuat perubahan (hanya file yang dimodifikasi yang dibangun kembali) dan memparalelkan proses pembangunan.

sumber: https://developers.googleblog.com


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.