Το Android μετακινείται στο σύστημα κατασκευής Bazel

Προγραμματιστές Google που είναι πίσω από την ανάπτυξη του Android, έδωσαν να γνωρίζει μέσω ανακοίνωσης ότι το Έργο κινείται Ανοιχτό λογισμικό Android (AOSP) για να χρησιμοποιήσετε το σύστημα κατασκευής Bazel αντί για το τρέχον σύστημα συλλογής Soong, Ninja και Make.

Η υποστήριξη Bazel έχει ήδη προστεθεί στο αποθετήριο AndroidΑλλά η μετάβαση στο νέο σύστημα κατασκευής από προεπιλογή sΤο e θα εξαπλωθεί σε πολλές εκδόσεις πλατφόρμα για να κάνει τη μετανάστευση όσο το δυνατόν πιο εύκολη και διαφανή.

Το 2020 και το 2021, δεν αναμένονται σημαντικές αλλαγές σε ροές εργασιών κατασκευής πλατφόρμας και θα διατηρηθεί η υποστήριξη για υπάρχοντα κατασκευαστικά συστήματα.

Για να επιτρέψουμε τη σταδιακή μετανάστευση, μερικές αλλαγές για απλοποίηση των εκδόσεων Android περιλαμβάνονται ήδη στο Bazel, όπως η ικανότητα ανάλυσης και εκτέλεσης αρχείων δημιουργίας μορφής Ninja.

Υποστηρίζεται ότι για την πλατφόρμα Android, η μετάβαση στο Bazel θα αυξήσει την ευελιξία της διαμόρφωσης της διαδικασίας κατασκευής, Θα βελτιώσει την ενδοσκόπηση / παρακολούθηση της προόδου κατασκευής και τη σύνδεση εξαρτήσεων, θα εφαρμόσει επαναλαμβανόμενες εκδόσεις, θα απλοποιήσει σύνθετα σενάρια build, θα βελτιώσει την ενσωμάτωση με διάφορους χειριστές build και test και θα μειώσει τον χρόνο κατασκευής.

Η μετεγκατάσταση στο Bazel θα επιτρέψει στο AOSP:

Παρέχετε περισσότερη ευελιξία στη διαμόρφωση της συλλογής AOSP (καλύτερη υποστήριξη για όρους)
Επιτρέψτε περισσότερη ενδοσκόπηση στο AOSP build πρόοδο και εξαρτήσεις
Ενεργοποίηση σωστών και παιχνιδιών AOSP
Εισαγάγετε έναν μηχανισμό διαμόρφωσης που θα μειώσει την πολυπλοκότητα των εκδόσεων AOSP
Ενεργοποιήστε την περαιτέρω ενοποίηση των δραστηριοτήτων κατασκευής και δοκιμών
Συνδυάστε όλα αυτά για να επιτύχετε σημαντικό χρόνο κατασκευής και βελτιώσεις εμπειρίας
Τα οφέλη αυτής της μετανάστευσης στην κοινότητα Bazel είναι:

Σημαντικές επενδύσεις βρίσκονται σε εξέλιξη στο Bazel για την υποστήριξη των πλατφορμών Android
Η επέκταση του οικοσυστήματος και της κοινότητας της Bazel περιλαμβάνει αρχικά δεκάδες χιλιάδες προγραμματιστές πλατφόρμας Android και κατασκευαστές γνήσιου εξοπλισμού τηλεφώνου Android (OEM) και προμηθευτές τσιπ.
Οι κανόνες της Google για τη δημιουργία εφαρμογών Android θα είναι ανοιχτού κώδικα, θα χρησιμοποιούνται στο AOSP και θα διατηρούνται από την Google σε συνεργασία με την κοινότητα Android / Bazel.
Καλύτερη συμβατότητα Bazel για τη δημιουργία εφαρμογών Android
Υποστήριξη καλύτερων κανόνων για άλλες γλώσσες που χρησιμοποιούνται για την κατασκευή της πλατφόρμας Android (Rust, Java, Python, Go κ.λπ.)
Ισχυρή υποστήριξη για εκδόσεις Bazel Long Term Support (LTS), που ωφελεί την διευρυμένη κοινότητα Bazel
Βελτιωμένη τεκμηρίωση (σεμινάρια και αναφορά)

Το οικοσύστημα της Το Bazel στο Android θα επεκτείνει τον αριθμό των συμμετεχόντων στην ανάπτυξη, θα απλοποιήσει την εφαρμογή για τη δημιουργία εφαρμογών Android (συμπεριλαμβανομένης της Google που σκοπεύει να ανοίξει τον κώδικα για τη δημιουργία σεναρίων για τις εφαρμογές του Android), θα βελτιώσει την υποστήριξη για διάφορες γλώσσες προγραμματισμού που χρησιμοποιούνται στο Android (Rust, Java, Python, Go), θα παρέχει πόρους για τη δημιουργία μεγάλης διάρκειας εκδόσεων και θα οδηγήσει σε καλύτερη και πιο εκτεταμένη τεκμηρίωση.

Το Bazel αναπτύχθηκε από μηχανικούς της Google και χρησιμοποιείται για την κατασκευή των περισσότερων εσωτερικών έργων της εταιρείας. Η εργασία ξεχωρίζει για την υψηλή ταχύτητα κατασκευής του, για τις οποίες χρησιμοποιούνται τεχνικές προσωρινής αποθήκευσης και παραλληλισμός της διαδικασίας κατασκευής.

Τα εργαλεία επίσης εξασφαλίστε επαναλαμβανόμενη συναρμολόγησηΜε άλλα λόγια, το αποτέλεσμα της κατασκευής του έργου στο μηχάνημα του προγραμματιστή θα είναι ακριβώς το ίδιο με το να βασίζεται σε συστήματα τρίτων, όπως οι διακομιστές συνεχούς ενοποίησης. Πρόσθετη λειτουργικότητα υλοποιείται μέσω του μηχανισμού σύνδεσης επεκτάσεων.

Σε αντίθεση με το Make και το Ninja, η Bazel ακολουθεί μια προσέγγιση υψηλότερου επιπέδου για να δημιουργήσετε κανόνες συλλογής που, αντί να ορίζουν δεσμεύσεις εντολών για τα αρχεία που μεταγλωττίζονται, χρησιμοποιούν πιο αφηρημένα προκατασκευασμένα μπλοκ και ορίζουν πλατφόρμες προορισμού / κατασκευής.

Τα στοιχεία του έργου περιγράφονται στο αρχείο κειμένου BUILD με τη μορφή ενός πακέτου βιβλιοθηκών, εκτελέσιμων και δοκιμών, χωρίς λεπτομέρειες στο επίπεδο των μεμονωμένων αρχείων και εντολών για κλήση του μεταγλωττιστή.

Στα αρχεία BUILD, όλες οι εξαρτήσεις πρέπει να καθοριστούν πλήρως, βάσει των οποίων λαμβάνονται αποφάσεις για την αναδημιουργία στοιχείων μετά την πραγματοποίηση αλλαγών (μόνο τροποποιημένα αρχεία ανακατασκευάζονται) και παραλληλίζουν τη διαδικασία κατασκευής.

πηγή: https://developers.googleblog.com


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.