ルール
- <ph type="x-smartling-placeholder"></ph> sh_binary
- <ph type="x-smartling-placeholder"></ph> sh_library
- <ph type="x-smartling-placeholder"></ph> sh_test
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)
このルールの主な用途は、1 つの論理的な境界を 1 つの
「library」関連スクリプト(1 つのコード内でのプログラム)で
コンパイルやリンクを必要としないインタプリタ言語
そのプログラムに必要なあらゆるデータを
あります。そのような「図書館」その API を使用して
1 つ以上の data 属性
他 sh_binary 個のルール。
filegroup ルールを使用してデータを集計できます。
できます。
インタプリタ型プログラミング言語では、
「code」とそして "data": 結局、プログラムは
単なる「データ」難しいと感じるでしょうこのため、
このルールには、基本的にすべて同じ 3 つの属性があります。
srcs、deps、data。
現在の実装では、これらのリストの要素が区別されません。
これら 3 つの属性はすべて、ルール、ソースファイル、生成されたファイルを受け入れます。
ただし、属性は(他のルールと同様に)通常の目的に使用することをおすすめします。
例
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
|
この属性は、要素がシェル スクリプトであるシングルトン リストである必要があります。
このスクリプトは実行可能でなければならず、ソースファイルまたは生成されたファイルを指定できます。
実行時に必要なその他のファイル(スクリプトまたはデータ)はすべて、
|