Slide 3 de 74

Todos os comandos

$ hive emit hello.hive > main.go

$ hive check hello.hive --verbose
hive: `hive check` takes an entrypoint and nothing else. `--verbose` was given to it.

$ hive chekc hello.hive
hive: `chekc` is not a command. `hive` alone lists the ones there are.

$ hive build
hive: `hive build` needs an entrypoint: `hive build <entrypoint.hive>`.

Sete comandos recebem um ponto de entrada, e cada um é ensinado mais adiante, onde pertence:

  • hive check, hive run e hive build — os três de antes. build também aceita --target <goos>/<goarch> para construir para outra plataforma.
  • hive test roda todo bloco test que o programa alcança, e reporta a cobertura.
  • hive emit imprime o Go para o qual um programa compila, e não precisa do Go instalado.
  • hive analyze dá uma nota ao custo de rodar cada proc e func, lista o que o programa declara e nunca alcança, e escreve uma página de achados ao lado do ponto de entrada.
  • hive container escreve um Dockerfile que constrói o programa e o roda.
  • hive export --target android/arm64 empacota um programa com janela como um app Android instalável.

Dois não recebem nada: hive version imprime qual versão é esta, e hive agents escreve .hivedocs/ — uma página por recurso, para um agente de programação ler — na pasta atual. hive sozinho lista todos eles.

Um comando recusa qualquer coisa que não aceita, em vez de ignorá-la: uma flag que ele não usa, um segundo arquivo, um comando que não existe. Esses erros estão no que foi digitado e não em código-fonte algum, então as mensagens deles dizem quem está reclamando — hive: — e terminam com código diferente de zero.