Regras para contribuidores do InVesalius
Esta página visa atender desenvolvedores que querem contribuir código para o InVesalius.
Espera-se que os colaboradores sigam o seguinte Guia de Estilo.
1. Ferramentas
Os desenvolvedores devem estar familiarizados com as seguintes ferramentas:
- SVN
- Patch
- Epydoc
1.1. SVN
Comentário do commit
É uma boa idéia especificar o tipo de commit que você está fazendo. Basicamente existem 4 tipos:
- ADD: Quando você adicionar uma nova ferramenta ao InVesalius
- ENH: Quando melhorar uma funcionalidade já existente (seja em desempenho, seja em relação ao código fonte)
- DOC: Quando você adicionar ou arrumar a documentação do InVesalius
- STYLE: Patch cosmético (identação, convenção de estilo)
- FIX: Correção de bug
Correções de Warning devem ser tratados como "STYLE".
Exemplo:
$ svn ci -m "ENH: Adding OBJ exportation support" ivExport.py
Gerando patches
É importante sempre enviar o patch para a lista invesalius-devel para discutir o que seria inserido. Ao invés de mandar grandes arquivos, apenas envie a diferença entre o código fonte e o trunk, utilizando o comando svn di.
$ svn di > /tmp/invesalius.patch
1.2. Patch
Para aplicar determinado patch basta utilizar o comando patch:
$ patch -p0 < /tmp/invesalius.patch
Patches Unix são facilmente lidos:
+ line: line added - line: line removed
1.3. Epydoc
A documentação do código fonte do InVesalius é gerada automaticamente pelo Epydoc,software semelhante ao Doxygen.
2. Processo de Release
Não há um cronograma fixo para releases do InVesalius.
O processo de release envolve:
- Verificar se todos os testes funcionaram (futuro: dashboard).
- Adicionar mudanças para o branch invesalius2.v
- Verificar se todos os testes funcionaram (futuro: dashboard)
- Criar o tag da versão
O que significa que qualquer patch aplicado ao GDCM deve ir antes ao trunk, depois oara o branch, e, posteriormente, será gerado o tag. A idéia é ter uma versão menos propensa a erros.
Observação: o SVN é bastante flexível e permite alterações em tags. Entretanto, isso deve ser evitado a todo custo.
