強大的自動化構建工具 Bazel

2021-09-23 18:25:36 字數 1323 閱讀 5335

bazel是乙個開源的構建和測試工具。它使用一種易讀的高階構建語言。bazel支援多種語言,並且可以為多種平台構建輸出。

1.高水平的構建語言。bazel使用抽象、易讀的語言在高語義級別上描述你的專案的構建屬性。bazel基於庫、二進位制檔案、指令碼和資料集的概念進行操作,避免了對編譯器和鏈結器等工具的單獨呼叫的複雜性。

2.高效且可靠。簡單說來就是bazel會對構建過的內容和命令建立快取並監聽其變化,可以很方便的進行增量式重構;

3.跨平台性。bazel可以為多個平台構建二進位制檔案和可部署包。

4.靈活性。bazel會依據大量的庫執行構建任務。

5.可擴充套件性。bazel支援多種語言和框架,並支援擴充套件。

2.設定專案的工作空間,其中包括專案的構建檔案,構建生成的檔案也會存放於此。

3.編寫構建檔案。使用starlark編寫構建檔案。示例:

package(default_visibility = ["//visibility:public"])

cc_library(

name = "hello-lib",

srcs = ["hello-lib.cc"],

hdrs = ["hello-lib.h"],

)cc_binary(

name = "hello-world",

srcs = ["hello-world.cc"],

deps = [":hello-lib"],

)cc_test(

name = "hello-success_test",

srcs = ["hello-world.cc"],

deps = [":hello-lib"],

)cc_test(

name = "hello-fail_test",

srcs = ["hello-fail.cc"],

deps = [":hello-lib"],

)filegroup(

name = "srcs",

srcs = glob(["**"]),

)

4.通過命令方式執行bazel檔案。

除了構建之外,還可以使用bazel執行測試查詢構建以跟蹤**中的依賴關係。

當執行構建或測試時,bazel會按照以下步驟執行:

1.載入構建檔案;

2.分析輸入及其依賴關係,檔案指定的構建規則,並生成操作圖;

3.執行構建操作,生成最終的構建輸出。

gulp前端自動化構建工具

gulp是基於node.js的乙個構建工具 自動任務執行器 開發者可以使用它自動化工作流程。一些常見的 重複的任務,例如 網頁自動重新整理 css預處理 檢測 壓縮 等,只需要簡單的命令就能全部完成。使用它可以簡化工作,提高開發效率。gulp優點 簡潔 gulp側重 優於配置 最直觀的感受,更為簡單...

Python自動化構建工具scons使用入門筆記

這段時間用到了scons,這裡總結下,也方便我以後查閱。一 安裝scons linux環境 以centos為例 1 yum安裝 yum install scons 2 原始碼安裝 安裝scons python setup.py install 二 scons常用命令 scons c 可以清除生成的臨...

自動化構建工具gulp入門(二)

外掛程式官網 gulp sass 開發環境下書寫 sass 或 less 函式式的書寫自己的樣式是一種很好的開發體驗,但我們最終仍需將sass或less編譯轉化為css檔案引入。gulp sass可以幫助我們完成這部分的工作。npm install gulp sass外掛程式安裝後在gulpfile...