Нашри системаи сохтани Bazel 1.0

муаррифӣ карда шуд баровардани асбобхои монтажкунии кушод Базел 1.0, ки аз ҷониби муҳандисони Google таҳия шудааст ва барои васл кардани аксари лоиҳаҳои дохилии ширкат истифода мешавад. Нашри 1.0 гузаришро ба версияи семантикии релиз нишон дод ва инчунин бо ворид намудани шумораи зиёди тағйироте, ки мутобиқати ақибро вайрон кардааст, намоён буд. Рамзи лоиҳа паҳн мекунад дар зери Apache 2.0 литсензия шудааст.

Базел лоиҳаро тавассути иҷро кардани компиляторҳо ва санҷишҳои зарурӣ месозад. Системаи сохтан аз ибтидо то ба таври оптималӣ сохтани лоиҳаҳои Google тарҳрезӣ шудааст, аз ҷумла лоиҳаҳо ва лоиҳаҳои хеле калон, ки дорои кодҳо бо забонҳои сершумори барномасозӣ мебошанд, санҷиши васеъро талаб мекунанд ва барои платформаҳои гуногун сохта шудаанд. Он коди сохтан ва санҷишро дар Java, C++, Objective-C, Python, Rust, Go ва бисёр забонҳои дигар, инчунин сохтани замимаҳои мобилиро барои Android ва iOS дастгирӣ мекунад. Истифодаи файлҳои ягонаи маҷмӯӣ барои платформаҳо ва меъмории гуногун дастгирӣ карда мешавад; масалан, як файли маҷлис бидуни тағирот метавонад ҳам барои системаи сервер ва ҳам дастгоҳи мобилӣ истифода шавад.

Дар байни хусусиятҳои фарқкунандаи Bazel суръати баланд, эътимоднокӣ ва такроршавандагии раванди васлкунӣ мебошанд. Барои ноил шудан ба суръати баланди сохтмон, Bazel усулҳои кэш ва параллелизатсияро барои раванди сохтмон фаъолона истифода мебарад. Файлҳои BUILD бояд ҳама вобастагиҳоро пурра муайян кунанд, ки дар асоси онҳо қарорҳо барои аз нав сохтани ҷузъҳо пас аз ворид кардани тағирот (танҳо файлҳои тағирёфта аз нав сохта мешаванд) ва параллелизатсияи раванди васлкунӣ қабул карда мешаванд. Асбоб инчунин васлкунии такроршавандаро таъмин мекунад, яъне. натиҷаи сохтани лоиҳа дар мошини таҳиягар комилан бо сохташуда дар системаҳои тарафи сеюм, ба монанди серверҳои муттаҳидсозии пайваста шабеҳ хоҳад буд.

Баръакси Make ва Ninja, Bazel барои сохтани қоидаҳои васлкунӣ як равиши сатҳи баландтарро истифода мебарад, ки дар он ба ҷои муайян кардани пайванди фармонҳо ба файлҳои сохташаванда, блокҳои абстрактии тайёр бештар истифода мешаванд, ба монанди "сохтани файли иҷрошаванда дар C++”, “сохтани китобхона дар C++” ё “гузаронидани санҷиш барои C++”, инчунин муайян кардани ҳадаф ва сохтани платформаҳо. Дар файли матнии BUILD ҷузъҳои лоиҳа ҳамчун як маҷмӯи китобхонаҳо, файлҳои иҷрошаванда ва санҷишҳо бидуни тафсилот дар сатҳи файлҳои инфиродӣ ва фармонҳои даъвати компилятор тавсиф карда мешаванд. Функсияи иловагӣ тавассути механизми пайваст кардани васеъшавӣ амалӣ карда мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ