Bazel 1.0 құрастыру жүйесінің шығарылымы

Жіберген ашық құрастыру құралдарын шығару Bazel 1.0, Google инженерлері әзірлеген және компанияның ішкі жобаларының көпшілігін құрастыру үшін пайдаланылған. 1.0 шығарылымы семантикалық шығарылым нұсқасына көшуді белгіледі және сонымен қатар кері үйлесімділікті бұзатын көптеген өзгерістер енгізуімен ерекшеленді. Жоба коды таралады Apache 2.0 бойынша лицензияланған.

Базел жобаны қажетті компиляторлар мен сынақтарды іске қосу арқылы құрастырады. Құрастыру жүйесі Google жобаларын оңтайлы құру үшін басынан бастап жасалған, соның ішінде өте үлкен жобалар мен бірнеше бағдарламалау тілдеріндегі кодтары бар, ауқымды тестілеуді қажет ететін және бірнеше платформалар үшін жасалған жобалар. Ол Java, C++, Objective-C, Python, Rust, Go және басқа да көптеген тілдерде код құруға және тестілеуге, сондай-ақ Android және iOS үшін мобильді қосымшаларды құруға қолдау көрсетеді. Әртүрлі платформалар мен архитектуралар үшін жалғыз жинақ файлдарын пайдалануға қолдау көрсетіледі; мысалы, өзгеріссіз бір жинақ файлын серверлік жүйе үшін де, мобильді құрылғы үшін де пайдалануға болады.

Базелдің айрықша белгілерінің арасында құрастыру процесінің жоғары жылдамдығы, сенімділігі және қайталануы болып табылады. Құрастырудың жоғары жылдамдығына қол жеткізу үшін Базел құрастыру процесінде кэштеу және параллельдеу әдістерін белсенді түрде қолданады. BUILD файлдары барлық тәуелділіктерді толық анықтауы керек, олардың негізінде өзгерістер енгізілгеннен кейін (тек өзгертілген файлдар қайта құрылады) құрамдастарды қайта құру туралы шешімдер қабылданады және құрастыру процесін параллельді етеді. Құрал-саймандар қайталанатын құрастыруды қамтамасыз етеді, яғни. әзірлеушінің машинасында жобаны құру нәтижесі үздіксіз интеграция серверлері сияқты үшінші тарап жүйелеріндегі құрастырумен толығымен бірдей болады.

Make және Ninja-дан айырмашылығы, Bazel құрастыру ережелерін құруға жоғары деңгейлі тәсілді пайдаланады, онда пәрмендердің құрастырылып жатқан файлдарға байланыстыруын анықтаудың орнына, «орындалатын файлды құру» сияқты абстрактілі дайын блоктар пайдаланылады. C++», «C++ тілінде кітапхана құру» немесе «C++ үшін сынақ жүргізу», сонымен қатар мақсатты және құрастыру платформаларын анықтау. BUILD мәтіндік файлында жоба құрамдастары жеке файлдар деңгейінде және компиляторды шақыру пәрмендерінде егжей-тегжейлі айтылмай, кітапханалар, орындалатын файлдар және сынақтар жиынтығы ретінде сипатталады. Қосымша функционалдылық кеңейтімдерді қосу механизмі арқылы жүзеге асырылады.

Ақпарат көзі: opennet.ru

пікір қалдыру