シェルルール

問題を報告 ソースを表示 Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

ルール

sh_binary

ルールソースを表示
sh_binary(name, deps, srcs, data, args, compatible_with, deprecation, env, env_inherit, exec_compatible_with, exec_group_compatible_with, exec_properties, features, output_licenses, package_metadata, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)

sh_binary ルールは、実行可能なシェル スクリプトを宣言するために使用されます。(sh_binary は誤称です。出力は必ずしもバイナリではありません)。このルールにより、すべての依存関係がビルドされ、実行時に runfiles 領域に表示されます。sh_binary() ルールには、スクリプトの名前から拡張子を除いた名前(.sh など)を付けることをおすすめします。ルール名とファイル名は異なる必要があります。sh_binary は shebang を尊重するため、使用可能なインタープリタを使用できます(例:#!/bin/zsh

依存関係のない単純なシェル スクリプトといくつかのデータファイルの場合:

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

引数

属性
name

名前(必須)

このターゲットの一意の名前。

deps

ラベルのリスト。デフォルトは []

このターゲットに集約される「ライブラリ」ターゲットのリスト。deps に関する一般的なコメントについては、ほとんどのビルドルールで定義される一般的な属性をご覧ください。

この属性は、srcs のコードが依存する解釈済みプログラム ソースコードを提供する他の sh_library ルールをリストするために使用する必要があります。これらのルールで提供されるファイルは、このターゲットの runfiles に含まれます。

srcs

ラベルのリスト。デフォルトは []

入力ファイルのリスト。

この属性は、このライブラリに属するシェル スクリプトのソースファイルをリストするために使用します。スクリプトは、シェルの source コマンドまたは . コマンドを使用して他のスクリプトを読み込むことができます。

env_inherit

文字列のリスト。デフォルトは [] です。

sh_library

ルールソースを表示
sh_library(name, deps, srcs, data, compatible_with, deprecation, exec_compatible_with, exec_group_compatible_with, exec_properties, features, package_metadata, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)

このルールの主な用途は、関連するスクリプト(コンパイルやリンクを必要としない解釈型言語のプログラム。Bourne シェルなど)と、それらのプログラムが実行時に必要とするデータをまとめた論理的な「ライブラリ」をまとめることです。このような「ライブラリ」は、1 つ以上の sh_binary ルールの data 属性から使用できます。

filegroup ルールを使用して、データファイルを統合できます。

解釈型プログラミング言語では、「コード」と「データ」の区別が明確でない場合があります。結局のところ、プログラムはインタープリタの観点から見ると単なる「データ」です。このため、このルールには 3 つの属性(srcsdepsdata)があり、これらはすべて基本的に同等です。現在の実装では、これらのリストの要素は区別されません。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_library ルールをリストするために使用する必要があります。これらのルールで提供されるファイルは、このターゲットの runfiles に含まれます。

srcs

ラベルのリスト。デフォルトは []

入力ファイルのリスト。

この属性は、このライブラリに属するシェル スクリプトのソースファイルをリストするために使用します。スクリプトは、シェルの source コマンドまたは . コマンドを使用して他のスクリプトを読み込むことができます。

sh_test

ルールソースを表示
sh_test(name, deps, srcs, data, args, compatible_with, deprecation, env, env_inherit, exec_compatible_with, exec_group_compatible_with, exec_properties, features, flaky, local, package_metadata, restricted_to, shard_count, size, tags, target_compatible_with, testonly, timeout, toolchains, visibility)

sh_binary ルールは、実行可能なシェル スクリプトを宣言するために使用されます。(sh_binary は誤称です。出力は必ずしもバイナリではありません)。このルールにより、すべての依存関係がビルドされ、実行時に runfiles 領域に表示されます。sh_binary() ルールには、スクリプトの名前から拡張子を除いた名前(.sh など)を付けることをおすすめします。ルール名とファイル名は異なる必要があります。sh_binary は shebang を尊重するため、使用可能なインタープリタを使用できます(例:#!/bin/zsh

依存関係のない単純なシェル スクリプトといくつかのデータファイルの場合:

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

引数

属性
name

名前(必須)

このターゲットの一意の名前。

deps

ラベルのリスト。デフォルトは []

このターゲットに集約される「ライブラリ」ターゲットのリスト。deps に関する一般的なコメントについては、ほとんどのビルドルールで定義される一般的な属性をご覧ください。

この属性は、srcs のコードが依存する解釈済みプログラム ソースコードを提供する他の sh_library ルールをリストするために使用する必要があります。これらのルールで提供されるファイルは、このターゲットの runfiles に含まれます。

srcs

ラベルのリスト。デフォルトは []

入力ファイルのリスト。

この属性は、このライブラリに属するシェル スクリプトのソースファイルをリストするために使用します。スクリプトは、シェルの source コマンドまたは . コマンドを使用して他のスクリプトを読み込むことができます。