Modulo II
Clirr
Professor
Ismael H F Santos – ismael@tecgraf.puc-rio.br
April 05
Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br
1
Bibliografia

Introduction to Apache Maven 2

March 09
Tutorial ibm developerWorks:
Prof. Ismael H. F. Santos
2
Ementa
 Traditional Build x Maven Build
March 09
Prof. Ismael H. F. Santos
3
Descrição
 Clirr
é uma ferramenta que verifica
bibliotecas
Java
para
ver
se
há
compatibilidade do código binário e fonte
com versões mais antigas. Basicamente
utiliza-se dois conjuntos de arquivos jar.
March 09
Prof. Ismael H. F. Santos
4
Descrição


O Clirr no processo de integração contínua
pode automaticamente impedir a introdução
acidental de problemas de compatibilidade
binária ou fonte.
O Clirr maven Plugin está disponível para o
Maven 2.
March 09
Prof. Ismael H. F. Santos
5
Descrição
 Características:



March 09
Relatório de todas as mudanças na API
(atualmente apenas parcialmente implementado).
Suporte de texto simples e relatórios XML.
Tratamento de falha flexível (advertências contra
erros, quebrar o build ou
configurar a
propriedade erro).
Prof. Ismael H. F. Santos
6
Descrição

Meta:


clirr:check - é usado como parte da buid a
fim de garantir um nível configurável de
compatibilidade.
clirr:clirr - gera um relatório como parte
dos projetos website.
March 09
Prof. Ismael H. F. Santos
7
Como utilizar o plugin Clirr no Maven

Verificar a Compatibilidade
A meta clirr:check é usada para verificar a
compatibilidade com versões anteriores. Para
utilizar esta meta, adicione uma seção como
descrito abaixo no POM do projeto:
<build>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
</plugin>
...
</plugins>
</build>
March 09
Prof. Ismael H. F. Santos
8
Como utilizar o plugin Clirr no Maven

Gerar um relatório
O plugin também pode ser usado para adicionar
um relatório para o site gerado. Para gerar um
Clirr relatório, adicione uma seção como esta
no POM do projeto:
<reporting>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
</plugin>
...
</plugins>
</reporting>
March 09
Prof. Ismael H. F. Santos
9
Como utilizar o plugin Clirr no Maven

Exemplos


Comparando a versão atual com uma versão
específica.
Comparando a versão atual com a de um artefato
arbitrário diferente.
March 09
Prof. Ismael H. F. Santos
10
Como utilizar o plugin Clirr no Maven

Comparando com uma versão específica

Por padrão, o Clirr maven Plugin compara o
código atual com a última versão liberada, que
é mais mais antiga do que a versão atual. Isto
é, o parâmetro comparisonVersion tem o
valor
padrão
(,$ project.version). Este
parâmetro pode ser alterado, caso queira
comparar seu código com uma versão
específica:
March 09
Prof. Ismael H. F. Santos
11
Como utilizar o plugin Clirr no Maven
<build>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<!-- Compare the current code against version 1.2 -->
<comparisonVersion>1.2</comparisonVersion>
</configuration>
</plugin>
...
</plugins>
</build>
March 09
Prof. Ismael H. F. Santos
12
Como utilizar o plugin Clirr no Maven

Da mesma forma, para a geração do relatório:
<reporting>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<!-- Compare the current code against version 1.2 -->
<comparisonVersion>1.2</comparisonVersion>
</configuration>
</plugin>
...
</plugins>
</reporting>
March 09
Prof. Ismael H. F. Santos
13
Como utilizar o plugin Clirr no Maven


Comparando com um artefato específico
Por padrão, o Clirr maven Plugin compara o código atual
com outro artefato do mesmo projeto. Em outras palavras, o
artefato comparado tem o mesmo artifactId e groupId
como o projeto.

O parâmetro de configuração comparisonArtifacts
permite substituir este padrão com um determinado conjunto
de outros artefatos. Isso permite, por exemplo, comparar o
seu projeto com outra implementação da mesma API. Ou, se
o projeto é um superconjunto de vários antecessores, você
pode escolher especificar todos os artefatos antecessores.
March 09
Prof. Ismael H. F. Santos
14
Como utilizar o plugin Clirr no Maven

Veja como você pode configurar o clirr:check: objetivo
comparar o seu projeto com fooGroup:barProject1.1.jar:
<build>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<comparisonArtifacts>
<comparisonArtifact>
<groupId>fooGroup</groupId>
<artifactId>barProject</artifactId>
<version>1.1</version>
</comparisonArtifact>
</comparisonArtifacts>
</configuration>
</plugin>
...
</plugins>
March 09
Prof. Ismael H. F. Santos
</build>
15
Como utilizar o plugin Clirr no Maven

A seguir a mesma configuração para o relatório clirr:
<reporting>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<comparisonArtifacts>
<comparisonArtifact>
<groupId>fooGroup</groupId>
<artifactId>barProject</artifactId>
<version>1.1</version>
<comparisonArtifact>
</comparisonArtifacts>
</configuration>
</plugin>
...
</plugins>
</reporting>
March 09
Prof. Ismael H. F. Santos
16
Como usar no Eclipse
 Clique com o botão direito do mouse no pom.xml do projeto.
 Selecione "Run As" e clique em "4 Maven build...".
March 09
Prof. Ismael H. F. Santos
17
Como usar no Eclipse
 Clique em "Select...".
March 09
Prof. Ismael H. F. Santos
18
Como usar no Eclipse
 Localize "clirr" na lista, clique no sinal +, clique em "check" e a
seguir em "OK".
March 09
Prof. Ismael H. F. Santos
19
Como usar no Eclipse
 Clique em "Run".
March 09
Prof. Ismael H. F. Santos
20
Como usar no Eclipse
 O relatório será exibido em "Console" após a linha [clirr:check].
March 09
Prof. Ismael H. F. Santos
21
Como usar no Eclipse
 Para gerar o relatório como o clirr:clirr.
 Siga o procedimento anterior e na tela Goals selecione ”clirr”, clique em
”clirr” e a seguir em ”OK”.
March 09
Prof. Ismael H. F. Santos
22
Como usar no Eclipse
 Clique em "Run".
March 09
Prof. Ismael H. F. Santos
23
Como usar no Eclipse
 O relatório será exibido em "Console" após a linha [clirr:clirr].
March 09
Prof. Ismael H. F. Santos
24
Fontes
 http://clirr.sourceforge.net/
 http://mojo.codehaus.org/clirr-maven-plugin/
index.html
March 09
Prof. Ismael H. F. Santos
25
Download

Clirr - PUC-Rio