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...