Desenvolvimento - abntex/limarka GitHub Wiki
Informações gerais
- Desenvolvimento ruby utilizando bundle e rake
Testes automatizados no travis
Os testes ocorrem em duas etapas (stages)
Stage Test
Configuração do Stage 1: https://github.com/abntex/limarka/blob/21459effc5f7a36a7c644688fe0416967f3bccc4/.travis.yml#L8-L16 Execução dos testes apenas das funcionalidades do Ruby, não requer instalação de Latex.
Configuração do Stage 2: https://github.com/abntex/limarka/blob/21459effc5f7a36a7c644688fe0416967f3bccc4/.travis.yml#L17-L35 Execução dos testes das funcionalidades que requer instalação de Latex.
Stage Deploy
Esses dois stages são executados em paralelo (pois tem o mesmo nome test
), caso os dois passem o próximo que realiza o deploy será executado:
Terceiro stage: https://github.com/abntex/limarka/blob/21459effc5f7a36a7c644688fe0416967f3bccc4/.travis.yml#L36-L47
Dependências de desenvolvimento
As dependências de desenvolvimento são:
- bundler
- libreoffice (para execução de alguns testes, já vem com o Ubuntu)
- pdftotext (
poppler-utils
)
sudo gem install bundler
bin/setup
Depois execute os testes:
bin/test
Detalhes de implementação
Comandos de linha
O limarka é uma ferramenta de comandos de linha (sem interface gráfica), os comandos são especificados no arquivo cli.rb. Eles foram especificados utilizando o gem thor, veja sua documentação.
Comando exec
O principal comando do limarka é o exec
, que foi implementado através das classes Trabalho e Conversor.
Testes
Teste inicial
rspec spec/dependencias/latex_spec.rb
Existem vários testes na paste spec
. Para executar os testes mais rápidos (o padrão), digite:
rake
templates
A pasta templates
possui os templates utilizados para gerar o documento Latex. No entanto, o limarka irá utilizar a pasta templates
do seu projeto, que provavelmente será diferente dessa. No momento ela existe para os testes funcionarem. Depois será substituída pela pasta do modelo padrão.
Gerando versões
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, close all issues of the version/milestone, generate the new CHANGELOG.md (rake changelog
), and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.