Rilaxx tas-sistema tal-bini Bazel 1.0

Introdott rilaxx ta 'għodda ta' assemblaġġ miftuħa Bazel 1.0, żviluppat minn inġiniera minn Google u użat biex jiġbor ħafna mill-proġetti interni tal-kumpanija. Ir-rilaxx 1.0 immarka t-tranżizzjoni għall-verżjoni semantika tar-rilaxx u kien notevoli wkoll għall-introduzzjoni ta 'numru kbir ta' bidliet li kissru l-kompatibilità b'lura. Kodiċi tal-proġett imqassma minn liċenzjat taħt Apache 2.0.

Bazel jibni l-proġett billi jmexxi l-kompilaturi u t-testijiet meħtieġa. Is-sistema tal-bini hija ddisinjata mill-art biex tibni bl-aħjar mod proġetti Google, inklużi proġetti kbar ħafna u proġetti li fihom kodiċi f'diversi lingwi ta' programmar, jeħtieġu ttestjar estensiv, u huma mibnija għal pjattaformi multipli. Jappoġġja kodiċi tal-bini u tal-ittestjar f'Java, C++, Objective-C, Python, Rust, Go u ħafna lingwi oħra, kif ukoll il-bini ta' applikazzjonijiet mobbli għal Android u iOS. L-użu ta 'fajls ta' assemblaġġ singoli għal pjattaformi u arkitetturi differenti huwa appoġġjat; pereżempju, fajl ta 'assemblaġġ wieħed mingħajr bidliet jista' jintuża kemm għal sistema ta 'server kif ukoll għal apparat mobbli.

Fost il-karatteristiċi distintivi ta' Bazel hemm il-veloċità għolja, l-affidabbiltà u r-ripetibbiltà tal-proċess tal-assemblaġġ. Biex tikseb veloċità għolja tal-bini, Bazel juża b'mod attiv tekniki ta 'caching u parallelizzazzjoni għall-proċess tal-bini. Il-fajls BUILD għandhom jiddefinixxu bis-sħiħ id-dipendenzi kollha, li fuq il-bażi tagħhom jittieħdu deċiżjonijiet biex jerġgħu jinbnew il-komponenti wara li jsiru l-bidliet (fajls mibdula biss jinbnew mill-ġdid) u jipparallelizzaw il-proċess tal-assemblaġġ. L-għodda tiżgura wkoll assemblaġġ ripetibbli, i.e. ir-riżultat tal-bini ta 'proġett fuq il-magna tal-iżviluppatur se jkun kompletament identiku għall-bini fuq sistemi ta' partijiet terzi, bħal servers ta 'integrazzjoni kontinwa.

B'differenza Make u Ninja, Bazel juża approċċ ta 'livell ogħla għall-bini ta' regoli ta 'assemblaġġ, li fih, minflok jiddefinixxi l-irbit tal-kmandi mal-fajls li qed jinbnew, jintużaw blokki lesti aktar astratti, bħal "bini ta' fajl eżekutibbli f' C++”, “bini ta’ librerija f’C++” jew “tmexxija ta’ test għal C++”, kif ukoll identifikazzjoni ta’ pjattaformi ta’ mira u ta’ bini. Fil-fajl tat-test BUILD, il-komponenti tal-proġett huma deskritti bħala mazz ta 'libreriji, fajls eżekutibbli u testijiet, mingħajr dettalji fil-livell ta' fajls individwali u kmandi tas-sejħa tal-kompilatur. Funzjonalità addizzjonali hija implimentata permezz tal-mekkaniżmu għall-konnessjoni tal-estensjonijiet.

Sors: opennet.ru

Żid kumment