殼層規則

回報問題 查看來源 夜間 7.2 7.1 7.0 6.5 6.4

規則

sh_binary

查看規則來源
sh_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, licenses, output_licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)

sh_binary 規則是用來宣告可執行的殼層指令碼。 (sh_binary 反之:輸出不一定是二進位檔。)這項規則可確保 所有依附元件都已建構完畢,並在執行時顯示在 runfiles 區域中。 建議您將 sh_binary() 規則命名為指令碼名稱減去 擴充功能 (例如:.sh);規則名稱和檔案名稱不得重複。 sh_binary尊重剪裁,因此可以使用任何可用的翻譯服務,例如 #!/bin/zsh)

範例

針對沒有依附元件和一些資料檔案的簡易殼層指令碼:

sh_binary(
    name = "foo",
    srcs = ["foo.sh"],
    data = glob(["datafiles/*.txt"]),
)

引數

屬性
name

名稱;必選

此目標的專屬名稱。

deps

標籤清單;預設為 []

「圖書館」清單匯總到這個目標中 查看關於「deps」的一般留言 通常是由 大部分的建構規則

此屬性應用於列出其他sh_library 解譯程式原始碼取決於 srcs 中的程式碼。這些檔案 這些規則提供的值會顯示在此目標的 runfiles 中。

srcs

標籤清單;必選

包含殼層指令碼的檔案。

此屬性必須是單例模式清單,其元素為殼層指令碼。 這個指令碼必須是可執行檔,可以是來源檔案或由系統產生的檔案。 執行階段需要的所有其他檔案 (無論是指令碼還是資料) 都屬於 data 屬性。

sh_library

查看規則來源
sh_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)

這項規則的主要用途是匯總一個邏輯運算子 「圖書館」其中包含相關指令碼,也就是 不需編譯或連結的解譯語言 例如 Bourne shell—,這些程式需要 指令這類「程式庫」在這之後 其中一個 data 屬性, 還有更多 sh_binary 規則

您可以使用 filegroup 規則匯總資料 檔案。

在解譯程式設計語言中 將「程式碼」與「data」: 只提供「data」生成的圖片因此 而該規則有三個屬性,基本上都相同: srcsdepsdata。 目前的實作方式未區分這些清單的元素。 這三項屬性均接受規則、來源檔案和產生的檔案。 不過,屬性還是很適合用於一般用途 (就像其他規則一樣)。

範例

sh_library(
    name = "foo",
    data = [
        ":foo_service_script",  # an sh_binary with srcs
        ":deploy_foo",  # another sh_binary with srcs
    ],
)

引數

屬性
name

名稱;必選

此目標的專屬名稱。

deps

標籤清單;預設為 []

「圖書館」清單匯總到這個目標中 查看關於「deps」的一般留言 通常是由 大部分的建構規則

此屬性應用於列出其他sh_library 解譯程式原始碼取決於 srcs 中的程式碼。這些檔案 這些規則提供的值會顯示在此目標的 runfiles 中。

srcs

標籤清單;預設為 []

輸入檔案清單。

這項屬性應用於列出屬於的殼層指令碼來源檔案 與這個程式庫有關指令碼可使用殼層的 source 載入其他指令碼 或 . 指令

sh_test

查看規則來源
sh_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, licenses, local, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)

sh_test() 規則會建立以 Bourne 殼層指令碼編寫的測試。

請參閱 所有測試規則通用的屬性 (*_test)

範例

sh_test(
    name = "foo_integration_test",
    size = "small",
    srcs = ["foo_integration_test.sh"],
    deps = [":foo_sh_lib"],
    data = glob(["testdata/*.txt"]),
)

引數

屬性
name

名稱;必選

此目標的專屬名稱。

deps

標籤清單;預設為 []

「圖書館」清單匯總到這個目標中 查看關於「deps」的一般留言 通常是由 大部分的建構規則

此屬性應用於列出其他sh_library 解譯程式原始碼取決於 srcs 中的程式碼。這些檔案 這些規則提供的值會顯示在此目標的 runfiles 中。

srcs

標籤清單;必選

包含殼層指令碼的檔案。

此屬性必須是單例模式清單,其元素為殼層指令碼。 這個指令碼必須是可執行檔,可以是來源檔案或由系統產生的檔案。 執行階段需要的所有其他檔案 (無論是指令碼還是資料) 都屬於 data 屬性。