Kutolewa kwa mfumo wa ujenzi wa Bazel 1.0

Iliyowasilishwa na kutolewa kwa zana za kusanyiko wazi Bazel 1.0, iliyotengenezwa na wahandisi kutoka Google na kutumika kukusanya miradi mingi ya ndani ya kampuni. Toleo la 1.0 liliashiria mpito kwa toleo la kisemantiki na pia lilijulikana kwa kuanzisha idadi kubwa ya mabadiliko ambayo yalivunja uoanifu wa nyuma. Msimbo wa mradi kusambazwa na leseni chini ya Apache 2.0.

Bazel huunda mradi kwa kuendesha wakusanyaji na majaribio muhimu. Mfumo wa usanifu umeundwa kuanzia chini hadi kujenga miradi ya Google kikamilifu, ikijumuisha miradi na miradi mikubwa sana iliyo na msimbo katika lugha nyingi za programu, inayohitaji majaribio ya kina na imeundwa kwa ajili ya mifumo mbalimbali. Inaauni msimbo wa ujenzi na majaribio katika Java, C++, Objective-C, Python, Rust, Go na lugha nyingine nyingi, pamoja na kujenga programu za simu za Android na iOS. Matumizi ya faili za kusanyiko moja kwa majukwaa na usanifu tofauti yanaungwa mkono; kwa mfano, faili moja ya kusanyiko bila mabadiliko inaweza kutumika kwa mfumo wa seva na kifaa cha rununu.

Miongoni mwa vipengele tofauti vya Bazel ni kasi ya juu, kuegemea na kurudia kwa mchakato wa mkutano. Ili kufikia kasi ya juu ya ujenzi, Bazel hutumia kwa bidii mbinu za kuweka akiba na kusawazisha kwa mchakato wa ujenzi. BUILD faili lazima zifafanue kikamilifu utegemezi wote, kwa msingi ambao maamuzi yanafanywa ili kujenga upya vipengele baada ya mabadiliko kufanywa (faili zilizobadilishwa tu zinajengwa upya) na kusawazisha mchakato wa mkusanyiko. Vifaa pia huhakikisha kusanyiko linaloweza kurudiwa, i.e. matokeo ya kujenga mradi kwenye mashine ya msanidi programu yatafanana kabisa na muundo wa mifumo ya watu wengine, kama vile seva za ujumuishaji zinazoendelea.

Tofauti na Make na Ninja, Bazel hutumia mbinu ya hali ya juu ya kujenga sheria za mkusanyiko, ambapo, badala ya kufafanua ufungaji wa amri kwa faili zinazojengwa, vizuizi zaidi vilivyotengenezwa tayari hutumiwa, kama vile "kuunda faili inayoweza kutekelezwa ndani. C++”, "kujenga maktaba katika C++" au "kufanya jaribio la C++", pamoja na kutambua lengwa na majukwaa ya ujenzi. Katika faili ya maandishi ya BUILD, vipengele vya mradi vinaelezewa kama kundi la maktaba, faili zinazoweza kutekelezwa na majaribio, bila kuelezea kwa kiwango cha faili za kibinafsi na amri za simu za mkusanyaji. Utendaji wa ziada unatekelezwa kupitia utaratibu wa kuunganisha upanuzi.

Chanzo: opennet.ru

Kuongeza maoni