Regras de shell

Informar um problema Ver fonte Nightly · 8.3 · 8.2 · 8.1 ·

Regras

sh_binary

Ver origem da regra
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)

A regra sh_binary é usada para declarar scripts de shell executáveis. sh_binary é um nome inadequado: as saídas não são necessariamente binárias. Essa regra garante que todas as dependências sejam criadas e apareçam na área runfiles no momento da execução. Recomendamos que você nomeie as regras sh_binary() com o nome do script menos a extensão (por exemplo, .sh). O nome da regra e o nome do arquivo precisam ser diferentes. O sh_binary respeita shebangs, então qualquer interpretador disponível pode ser usado (por exemplo, #!/bin/zsh)

Exemplo

Para um script shell simples sem dependências e com alguns arquivos de dados:

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

Argumentos

Atributos
name

Nome: obrigatório

Um nome exclusivo para essa segmentação.

deps

Lista de rótulos. O padrão é [].

A lista de destinos de "biblioteca" a serem agregados a este destino. Consulte comentários gerais sobre deps em Atributos típicos definidos pela maioria das regras de build.

Esse atributo deve ser usado para listar outras regras de sh_library que fornecem código-fonte de programa interpretado de que o código em srcs depende. Os arquivos fornecidos por essas regras estarão entre os runfiles desse destino.

srcs

Lista de rótulos. O padrão é [].

A lista de arquivos de entrada.

Esse atributo deve ser usado para listar arquivos de origem de script shell que pertencem a esta biblioteca. Os scripts podem carregar outros scripts usando o comando source ou . do shell.

env_inherit

Lista de strings. O padrão é [].

sh_library

Ver origem da regra
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)

O principal uso dessa regra é agregar uma "biblioteca" lógica que consiste em scripts relacionados (programas em uma linguagem interpretada que não exige compilação ou vinculação, como o shell Bourne) e todos os dados necessários para esses programas em tempo de execução. Essas "bibliotecas" podem ser usadas no atributo data de uma ou mais regras sh_binary.

É possível usar a regra filegroup para agregar arquivos de dados.

Em linguagens de programação interpretadas, nem sempre há uma distinção clara entre "código" e "dados". Afinal, o programa é apenas "dados" do ponto de vista do intérprete. Por isso, essa regra tem três atributos que são essencialmente equivalentes: srcs, deps e data. A implementação atual não distingue os elementos dessas listas. Todos os três atributos aceitam regras, arquivos de origem e arquivos gerados. No entanto, é recomendável usar os atributos para a finalidade normal deles, assim como em outras regras.

Exemplos

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

Argumentos

Atributos
name

Nome: obrigatório

Um nome exclusivo para essa segmentação.

deps

Lista de rótulos. O padrão é [].

A lista de destinos de "biblioteca" a serem agregados a este destino. Consulte comentários gerais sobre deps em Atributos típicos definidos pela maioria das regras de build.

Esse atributo deve ser usado para listar outras regras de sh_library que fornecem código-fonte de programa interpretado de que o código em srcs depende. Os arquivos fornecidos por essas regras estarão entre os runfiles desse destino.

srcs

Lista de rótulos. O padrão é [].

A lista de arquivos de entrada.

Esse atributo deve ser usado para listar arquivos de origem de script shell que pertencem a esta biblioteca. Os scripts podem carregar outros scripts usando o comando source ou . do shell.

sh_test

Ver origem da regra
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)

A regra sh_binary é usada para declarar scripts de shell executáveis. sh_binary é um nome inadequado: as saídas não são necessariamente binárias. Essa regra garante que todas as dependências sejam criadas e apareçam na área runfiles no momento da execução. Recomendamos que você nomeie as regras sh_binary() com o nome do script menos a extensão (por exemplo, .sh). O nome da regra e o nome do arquivo precisam ser diferentes. O sh_binary respeita shebangs, então qualquer interpretador disponível pode ser usado (por exemplo, #!/bin/zsh)

Exemplo

Para um script shell simples sem dependências e com alguns arquivos de dados:

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

Argumentos

Atributos
name

Nome: obrigatório

Um nome exclusivo para essa segmentação.

deps

Lista de rótulos. O padrão é [].

A lista de destinos de "biblioteca" a serem agregados a este destino. Consulte comentários gerais sobre deps em Atributos típicos definidos pela maioria das regras de build.

Esse atributo deve ser usado para listar outras regras de sh_library que fornecem código-fonte de programa interpretado de que o código em srcs depende. Os arquivos fornecidos por essas regras estarão entre os runfiles desse destino.

srcs

Lista de rótulos. O padrão é [].

A lista de arquivos de entrada.

Esse atributo deve ser usado para listar arquivos de origem de script shell que pertencem a esta biblioteca. Os scripts podem carregar outros scripts usando o comando source ou . do shell.