Pular para o conteúdo principal

build_runner

Uma ferramenta para construir, testar e executar código Dart.

O pacote build_runner fornece comandos de propósito geral para gerar arquivos, incluindo testar os arquivos gerados ou servir tanto arquivos de origem quanto arquivos gerados. Esta página explica como usar o build_runner. Para aprender a usar o build_runner com um pacote específico, consulte a documentação desse pacote.

Os comandos do build_runner funcionam com builders, pacotes que usam o sistema de build do Dart para gerar arquivos de saída a partir de arquivos de entrada. Por exemplo, os pacotes json_serializable e built_value_generator definem builders que geram código Dart.

Embora o sistema de build do Dart seja uma boa alternativa à reflection (que tem problemas de desempenho) e às macros (que os compiladores do Dart não suportam), ele pode fazer mais do que apenas ler e escrever código Dart. Por exemplo, o pacote sass_builder implementa um builder que gera arquivos .css a partir de arquivos .scss e .sass.

Configurando o build_runner

#

Para usar o build_runner, adicione uma dev dependency em build_runner no pubspec da sua aplicação:

yaml
dev_dependencies:
  # ···
  build_runner: ^2.15.1
  build_test: ^3.5.16

Depender de build_test é opcional; faça isso se você for testar seu código.

Como de costume após alterações no pubspec.yaml, execute dart pub get ou dart pub upgrade:

dart pub get

Usando comandos integrados

#

A seguir, um exemplo de uso do comando build do build_runner:

# From a directory that contains a pubspec.yaml file:
dart run build_runner build

O pacote build_runner inclui os seguintes comandos:

build

Executa uma construção única.

serve

Executa um servidor de desenvolvimento. Em vez de usar este comando diretamente, você pode usar webdev serve, que tem um comportamento padrão conveniente.

test

Executa testes.

watch

Inicia um servidor de build que observa edições nos arquivos de entrada. Responde a mudanças executando rebuilds incrementais.

Mais informações

#

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.