Como utilizar o Yamllint: validador de arquivos .yaml
- maio 23, 2022
- By Jamilli Gioielli
- 0 Comments
Um dos primeiros itens necessários para iniciar os trabalhos na disciplina de PDS é que "após a criação da pasta no repositório Subversion um arquivo equipe.yaml deve ser criado com os dados da equipe e projeto de acordo com modelo no repositório". Estes dados nada mais são do que aqueles existentes na página Blogs de Trabalhos do Dicas Ivan, mas para que os trabalhos criados sejam expostos nesta página é preciso seguir alguns critérios na criação do arquivo, e o primeiro deles é a utilização de um validador de arquivos com extensão .yaml, isto é, o yamllint.
Diante da dificuldade de alguns colegas em validar o arquivo e após fazer algumas pesquisas sobre o validador, percebi que a maior parte dos conteúdos sobre o assunto está em inglês e, arquivos dessa natureza possuem muitas especificações minuciosas para serem validadas, e muitas vezes a documentação do yamllint não as deixa tão claras ao leitor. Por isso, resolvi compartilhar um pouco do que entendi sobre o processo de validação do arquivo, o que inclui a instalação do validador, erros comuns após a validação e a espera até que o projeto apareça na página de Blogs de Trabalhos.
O que é o yamllint e por que devo validar um arquivo .yaml?
- O YAML utiliza recuo no estilo Python para alinhamento;
- Caracteres de tabulação (os chamados "\t" ou apenas "TAB") não são permitidos, por isso utilize espaços em branco;
- A forma que os espaços em branco estão dispostos faz diferença na formatação do arquivo e pode apontar erros no validador. Por exemplo: esquecer de colocar um espaço após o caractere ":";
- Não há sÃmbolos de formatos comuns, como chaves, colchetes, tags de fechamento, etc;
- Os arquivos .yaml são estruturados em mapas ou listas;
- As listas têm ordem especÃfica e sua sequência começa com um traço (-) seguido de um espaço.
Como instalar o yamllint?
Em sistemas tipo Unix (alternativa)
- Primeiro, abra seu terminal Bash e verifique já se possui, na sua pasta $HOME, o arquivo .bash_profile (é nele que ficam suas variáveis de ambiente), com o comando open $HOME/.bash_profile;
- Caso ele não exista, crie-o na sua pasta de usuário e depois siga os passos para a instalação do gerenciador de pacotes Homebrew;
- Dependendo do seu tipo de SO, pode ser que o comando brew não funcione após a instalação, isso acontece porque você precisa criar uma variável de ambiente para ele no seu arquivo .bash_profile;
- Para isso, se o próprio instalador não lhe alertar sobre os próximos passos, insira com o comando: echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> $HOME/.bash_profile
- Depois, insira o comando source $HOME/.bash_profile para atualizar o arquivo;
- Agora, basta instalar o yamllint com o comando brew install yamllint.
No Windows
Antes, já deixe seu Prompt de Comando/cmd aberto e vamos lá!- Baixar o pacote via npm install -g yaml-lint
- Verificar se a instalação está foi feita com sucesso inserindo o comando yamllint -v ou yamllint --version
Obs.: Nesse caso, você deve tomar cuidado se seu arquivo constar como válido, mesmo não estando, pois a versão do yamllint para Node.js, até este momento, vem apresentando algumas instabilidades que ainda estão sendo corrigidas. Por isso, tente atualizar sempre para a versão mais recente ou prefira utilizar o Python.
- Instale a última versão do gerenciador de pacotes pip, com o comando pip install --upgrade pip ;
- Para instalar o yamllint, digite o comando pip install yamllint, depois, verifique se a instalação foi inserindo o comando yamllint -v ou yamllint --version.
Obs.: É melhor fazer a instalação global ao invés de dentro da pasta usuário, por isso, pode ser que utilizar o parâmetro --user na instalação cause instabilidades para rodar em outros lugares.
Como funciona a validação?
Fonte: yamllint docs |
- Erro - trailling spaces: esse erro acontece quando você não remove o espaço depois da última palavra de uma linha. Por isso, fique atento aos números a direita do log, eles mostram em qual linha está aquele erro. Por exemplo:
O cursor precisaria estar "colado" no número 2 para que não apontasse o erro de trailling spaces. |
- Erro - no new line at the end of file: nesse caso você precisa se certificar de que a última linha do seu arquivo é uma linha em branco. Dessa maneira:
Aqui percebemos que a linha 15 é a última linha
do arquivo e está em branco. - Erro - line too long (X > 80 characters): esse erro indica que as linhas de um arquivo .yaml não podem ter mais do 80 caracteres, então se você se deparar com ele, quer dizer que no lugar do "X" estará a quantidade de caracteres daquela linha, sendo essa maior do que 80. Uma dica para isso é quebrar as linhas do texto dando alguns espaços aqui e ali, e não fazer um texto corrido de uma vez (mas cuidado com as monografias).
- Erro - found character '\t' that cannot start any token (syntax): aqui você deve se lembrar lá de cima quando falei sobre a formatação do arquivo, pois esse erro é devido ao uso de tabulação em alguma linha do seu equipe.yaml.
0 comments