Home > Dev Stuffs > Apache Maven – Relatórios

Apache Maven – Relatórios

Os relatórios gerados pelo Maven são recursos disponíveis para visualizar o estado atual de um projeto. Existem vários relatórios disponíveis.

Relatórios sobre o Projeto

O Maven não mantém um conjunto de relatórios padrões para geração. Todos os relatórios são “plugáveis”. Isso significa que a instituição pode definir quais relatórios podem ser gerados para o site de seu projeto.

Os relatórios comumente utilizados são:

A lista dos plugins disponíveis para o Maven pode ser encontrada em:

Changelog

Este relatório é utilizado para verificar os detalhes das recentes alterações em código (ação de “commit”) realizadas pelos membros sobre os arquivos do projeto em um intervalo de tempo definido.

Possui três finalidades:

  • Changelog: apresentar informações sobre os arquivos do projeto sincronizados por cada membro no CVS;
  • Dev Activity: apresentar informações consolidadas sobre a sincronização dos arquivos no CVS pelos membros do projeto;
  • File Activity: apresentar informações consolidadas sobre a sincronização dos arquivos no CVS.

Por padrão, são apresentados os resultados referentes aos últimos 30 dias.

Este relatório é integrado com o CVS e gerado automaticamente.

Para mais detalhes, clique aqui.

Changes

Este relatório é utilizado para verificar os detalhes das versões do projeto (ação “Tag as Version”).

As informações apresentadas neste relatório são definidas manualmente no arquivo “changes.xml”.

É possível definir endereços de e-mail para receber uma notificação das alterações realizadas (opcional).

Para mais detalhes, clique aqui.

Checkstyle

Este relatório é utilizado para verificar o estilo de codificação dos arquivos.

Por padrão, é utilizado o estilo de codificação sugerido pela SUN (tudo é capturado como “Errors”). No entanto, é possível personalizar os tipos de checagem.

As informações apresentadas nesse relatório devem ser corrigidas pelos programadores.

Para mais detalhes, clique aqui.

CPD

Este relatório é utilizado para verificar a existência de códigos duplicados.

As informações apresentadas nesse relatório devem ser corrigidas pelos programadores.

Para mais detalhes, clique aqui.

PMD

Este relatório é utilizado para verificar a existência de possíveis bugs, códigos não usados, códigos que podem ser substituídos por códigos mais otimizados, códigos desnecessários e códigos duplicados.

As informações apresentadas nesse relatório devem ser corrigidas pelos programadores.

Para mais detalhes, clique aqui.

Dashboard

Este relatório agrega as informações geradas pelos relatórios Checkstyle, Cobertura, Surefire, PMD e CPD.

Para que este relatório seja gerado, é necessário adicionar a linha de código abaixo:

mvn site -Djava.awt.headless=true

Para mais detalhes, clique aqui.

FindBugs

Este relatório é utilizado para apresentar os possíveis problemas (bugs) no código, separados em categorias como:

  • Código malicioso
  • Má Prática
  • Internacionalização
  • Performance, dentre outras.

As informações apresentadas nesse relatório devem ser corrigidas pelos programadores.

Para mais detalhes, clique aqui.

JavaDocs

Este relatório apresenta a documentação gerada para todas os pacotes, classes e interfaces existentes no projeto.

Para mais detalhes, clique aqui.

JDepend

Este relatório é utilizado para verificar as métricas de qualidade para cada pacote de código do projeto, a fim de medir a qualidade do design em termos de extensibilidade, reusabilidade e manutenibilidade para controlar as dependências entre os pacotes.

As principais informações relativas aos pacotes são:

  • Number of Classes: número total de classes;
  • Concrete Classes: número total de classes concretas;
  • Abstract Classes: número total de classes abstratas e interfaces;
  • Afferent Couplings: qual o impacto de alterações nas classes do atual pacote para as classes dos outros pacotes do projeto?
  • Efferent Couplings: qual o impacto de alterações nas classes dos outros pacotes do projeto nas classes do pacote atual?
  • Abstractness: porcentagem relativa ao número de classes abstratas do pacote;
  • Instability: quanto mais o pacote atual depende de outros pacotes do sistema, mais instável ele é;
  • Distance: a relação entre o pacote e “abstractness” e “instability”, ou seja, o pacote é mais abstrato (0) ou instável (1);
  • Cycles: pacotes ciclicamente dependentes.

A intenção desse relatório é mostrar o quanto os pacotes e classes são interdependentes. A principal causa dessa dependência é o fato de existir classes concretas utilizando outras classes concretas de pacotes distintos.

Para mais detalhes, clique aqui.

Tag List

Este relatório é utilizado para verificar as marcações “TODO” existentes no código. É possível personalizar as marcações a serem verificadas (marcações “FIXME” e “@deprecated”, por exemplo).

Para mais detalhes, clique aqui.

  1. No comments yet.
  1. No trackbacks yet.

Leave a comment