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