Modulo II Clirr Professor Ismael H F Santos – [email protected] April 05 Prof. Ismael H. F. Santos - [email protected] 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