ルール
- <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
|
この属性は、要素がシェル スクリプトであるシングルトン リストである必要があります。
このスクリプトは実行可能でなければならず、ソースファイルまたは生成されたファイルを指定できます。
実行時に必要なその他のファイル(スクリプトまたはデータ)はすべて、
|