Liberigo de la konstrusistemo Bazel 1.0

Enkondukita liberigo de malfermaj kunigiloj Bazel 1.0, evoluigita fare de inĝenieroj de Guglo kaj kutimis kunveni la plej multajn el la internaj projektoj de la firmao. Eldonaĵo 1.0 markis la transiron al semantika eldonversiado kaj ankaŭ estis rimarkinda pro lanĉado de granda nombro da ŝanĝoj kiuj rompis malantaŭen kongruecon. Projekta kodo distribuita de licencita sub Apache 2.0.

Bazel konstruas la projekton rulante la necesajn kompililojn kaj testojn. La konstrusistemo estas dizajnita de la grundo por optimume konstrui Guglo-projektojn, inkluzive de tre grandaj projektoj kaj projektoj kiuj enhavas kodon en pluraj programlingvoj, postulas ampleksan testadon, kaj estas konstruitaj por pluraj platformoj. Ĝi subtenas konstruadon kaj testadon de kodo en Java, C++, Objective-C, Python, Rust, Go kaj multaj aliaj lingvoj, kaj ankaŭ konstrui moveblajn aplikojn por Android kaj iOS. La uzo de ununuraj kunigdosieroj por malsamaj platformoj kaj arkitekturoj estas subtenata; ekzemple, unu kunigdosiero sen ŝanĝoj povas esti uzata por kaj servilsistemo kaj movebla aparato.

Inter la karakterizaj trajtoj de Bazel estas la alta rapido, fidindeco kaj ripeteblo de la kunigprocezo. Por atingi altan konstrurapidecon, Bazel aktive uzas konservadon kaj paraleligajn teknikojn por la konstruprocezo. BUILD-dosieroj devas plene difini ĉiujn dependecojn, surbaze de kiuj decidoj estas faritaj por rekonstrui komponentojn post kiam ŝanĝoj estas faritaj (nur ŝanĝitaj dosieroj estas rekonstruitaj) kaj paraleligi la kunigprocezon. Ilado ankaŭ certigas ripeteblan kunigon, t.e. la rezulto de konstruado de projekto sur la maŝino de la programisto estos tute identa al la konstruo sur triaj sistemoj, kiel daŭraj integrigaj serviloj.

Male al Make kaj Ninja, Bazel uzas pli altnivelan aliron al konstruado de kunigreguloj, en kiuj, anstataŭ difini la ligadon de komandoj al la konstruataj dosieroj, pli abstraktaj pretaj blokoj estas uzataj, kiel ekzemple "konstruado de plenumebla dosiero en C++", "konstruante bibliotekon en C++" aŭ "fari teston por C++", same kiel identigi celon kaj konstruplatformojn. En la tekstdosiero BUILD, la projektaj komponantoj estas priskribitaj kiel amaso da bibliotekoj, ruleblaj dosieroj kaj testoj, sen detaligo je la nivelo de individuaj dosieroj kaj kompililvokomandoj. Kroma funkcieco estas efektivigita per la mekanismo por ligado de etendaĵoj.

fonto: opennet.ru

Aldoni komenton