規則
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 」的一般留言
通常是由
大部分的建構規則。
此屬性應用於列出其他 |
srcs
|
此屬性必須是單例模式清單,其元素為殼層指令碼。
這個指令碼必須是可執行檔,可以是來源檔案或由系統產生的檔案。
執行階段需要的所有其他檔案 (無論是指令碼還是資料) 都屬於
|
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」生成的圖片因此
而該規則有三個屬性,基本上都相同:
srcs
、deps
和data
。
目前的實作方式未區分這些清單的元素。
這三項屬性均接受規則、來源檔案和產生的檔案。
不過,屬性還是很適合用於一般用途 (就像其他規則一樣)。
範例
sh_library( name = "foo", data = [ ":foo_service_script", # an sh_binary with srcs ":deploy_foo", # another sh_binary with srcs ], )
引數
屬性 | |
---|---|
name |
此目標的專屬名稱。 |
deps
|
deps 」的一般留言
通常是由
大部分的建構規則。
此屬性應用於列出其他 |
srcs
|
這項屬性應用於列出屬於的殼層指令碼來源檔案
與這個程式庫有關指令碼可使用殼層的 |
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 」的一般留言
通常是由
大部分的建構規則。
此屬性應用於列出其他 |
srcs
|
此屬性必須是單例模式清單,其元素為殼層指令碼。
這個指令碼必須是可執行檔,可以是來源檔案或由系統產生的檔案。
執行階段需要的所有其他檔案 (無論是指令碼還是資料) 都屬於
|