అవసరమైన కంపైలర్లు మరియు పరీక్షలను అమలు చేయడం ద్వారా Bazel ప్రాజెక్ట్ను నిర్మిస్తుంది. బహుళ ప్రోగ్రామింగ్ భాషల్లో కోడ్ను కలిగి ఉన్న చాలా పెద్ద ప్రాజెక్ట్లు మరియు ప్రాజెక్ట్లతో సహా, విస్తృతమైన టెస్టింగ్ అవసరమయ్యే మరియు బహుళ ప్లాట్ఫారమ్ల కోసం రూపొందించబడిన Google ప్రాజెక్ట్లను ఉత్తమంగా రూపొందించడానికి బిల్డ్ సిస్టమ్ గ్రౌండ్ అప్ నుండి రూపొందించబడింది. ఇది Java, C++, Objective-C, Python, Rust, Go మరియు అనేక ఇతర భాషలలో కోడ్ను రూపొందించడం మరియు పరీక్షించడం, అలాగే Android మరియు iOS కోసం మొబైల్ అప్లికేషన్లను రూపొందించడం వంటి వాటికి మద్దతు ఇస్తుంది. వేర్వేరు ప్లాట్ఫారమ్లు మరియు ఆర్కిటెక్చర్ల కోసం ఒకే అసెంబ్లీ ఫైల్ల వినియోగానికి మద్దతు ఉంది; ఉదాహరణకు, మార్పులు లేకుండా ఒక అసెంబ్లీ ఫైల్ సర్వర్ సిస్టమ్ మరియు మొబైల్ పరికరం రెండింటికీ ఉపయోగించబడుతుంది.
Bazel యొక్క విలక్షణమైన లక్షణాలలో అధిక వేగం, విశ్వసనీయత మరియు అసెంబ్లీ ప్రక్రియ యొక్క పునరావృతత ఉన్నాయి. అధిక నిర్మాణ వేగాన్ని సాధించడానికి, బజెల్ బిల్డ్ ప్రాసెస్ కోసం కాషింగ్ మరియు సమాంతరీకరణ పద్ధతులను చురుకుగా ఉపయోగిస్తుంది. BUILD ఫైల్లు తప్పనిసరిగా అన్ని డిపెండెన్సీలను పూర్తిగా నిర్వచించాలి, దాని ఆధారంగా మార్పులు చేసిన తర్వాత భాగాలను పునర్నిర్మించడానికి నిర్ణయాలు తీసుకోబడతాయి (మార్చబడిన ఫైల్లు మాత్రమే పునర్నిర్మించబడతాయి) మరియు అసెంబ్లీ ప్రక్రియను సమాంతరంగా చేస్తాయి. సాధనం పునరావృతమయ్యే అసెంబ్లీని కూడా నిర్ధారిస్తుంది, అనగా. డెవలపర్ మెషీన్లో ప్రాజెక్ట్ను నిర్మించడం వల్ల వచ్చే ఫలితం, నిరంతర ఇంటిగ్రేషన్ సర్వర్ల వంటి థర్డ్-పార్టీ సిస్టమ్లపై బిల్డ్కి పూర్తిగా సమానంగా ఉంటుంది.
Make మరియు Ninja వలె కాకుండా, Bazel అసెంబ్లీ నియమాలను రూపొందించడానికి ఒక ఉన్నత-స్థాయి విధానాన్ని ఉపయోగిస్తుంది, దీనిలో నిర్మించబడుతున్న ఫైల్లకు ఆదేశాల బైండింగ్ను నిర్వచించే బదులు, "ఎక్జిక్యూటబుల్ ఫైల్ను రూపొందించడం వంటి మరింత వియుక్త రెడీమేడ్ బ్లాక్లు ఉపయోగించబడతాయి. C++”, “C++లో లైబ్రరీని నిర్మించడం" లేదా "C++ కోసం పరీక్షను అమలు చేయడం", అలాగే లక్ష్యాన్ని గుర్తించడం మరియు ప్లాట్ఫారమ్లను రూపొందించడం. BUILD టెక్స్ట్ ఫైల్లో, ప్రాజెక్ట్ భాగాలు వ్యక్తిగత ఫైల్లు మరియు కంపైలర్ కాల్ ఆదేశాల స్థాయిలో వివరించకుండా లైబ్రరీలు, ఎక్జిక్యూటబుల్ ఫైల్లు మరియు పరీక్షల సమూహంగా వర్ణించబడ్డాయి. పొడిగింపులను కనెక్ట్ చేయడానికి మెకానిజం ద్వారా అదనపు కార్యాచరణ అమలు చేయబడుతుంది.
మూలం: opennet.ru