Bazel是什么

Bazel是一個(gè)開源的構(gòu)建和測(cè)試工具,類似于Make、Maven及Gradle。它使用一種人易于理解的高級(jí)構(gòu)建語(yǔ)言。Bazel支持多種開發(fā)語(yǔ)言的項(xiàng)目,能夠基于多個(gè)平臺(tái)來(lái)構(gòu)建。Bazel支持跨多個(gè)制品庫(kù)和大規(guī)模用戶的大型代碼倉(cāng)庫(kù)。

Bazel具有以下優(yōu)勢(shì):

高級(jí)構(gòu)建語(yǔ)言Bazel使用一種抽象的、人易于理解的、語(yǔ)義級(jí)別的高級(jí)語(yǔ)言來(lái)描述項(xiàng)目的構(gòu)建屬性。與其他工具不同,Bazel基于庫(kù),二進(jìn)制文件,腳本和 數(shù)據(jù)集 的概念進(jìn)行操作,使您免于陷入將單個(gè)調(diào)用編寫到編譯器和鏈接器等工具的復(fù)雜性。

Bazel高效可靠Bazel緩存以前完成的所有工作,并跟蹤文件內(nèi)容和構(gòu)建命令的更改。通過這種方式,Bazel知道何時(shí)需要重建某些東西,并僅重建那些東西。為了進(jìn)一步加快構(gòu)建速度,您可以將項(xiàng)目設(shè)置為以并行和增量的方式構(gòu)建。

Bazel是跨平臺(tái)的Bazel可以在Linux,macOS和Windows上運(yùn)行。Bazel可以為同一個(gè)項(xiàng)目中的多個(gè)平臺(tái)(包括桌面,服務(wù)器和移動(dòng)設(shè)備)構(gòu)建二進(jìn)制文件和可部署軟件包。

Bazel擴(kuò)展性強(qiáng)Bazel在使用100k+源文件處理構(gòu)建時(shí)仍然保持良好的性能表現(xiàn)。它適用于多個(gè)制品存儲(chǔ)庫(kù)和10K用戶規(guī)模。

Bazel是可擴(kuò)展的您可以擴(kuò)展Bazel以支持您選擇的語(yǔ)言。