julho 8, 2015

Compilação de múltiplos projetos Maven

Por Rogerio Coli

Em projetos de desenvolvimento de software mais complexos não é muito incomum a necessidade de quebrarmos uma aplicação em pedaços menores que poderão ser reutilizados por outros projetos. E assim, acabamos criando a necessidade da compilação de múltiplos projetos de uma vez e em uma determinada ordem.

O Maven nos ajuda muito na tarefa de gestão de dependências e para o build de múltiplos projetos ao mesmo tempo eles devem ter uma relação modular ou uma relação de pai para filho, saiba mais aqui e isto nem sempre é desejado num ambiente de integração contínua.

O generic-maven-build nada mais é do que um script preparado para compilação de múltiplos projetos de uma só vez, validando se compilaram corretamente e exibindo o tempo decorrido ao final.

A instrução executada partiu de uma necessidade de um projeto atual,  mvn clean install -U, no entanto nada impede que você faça a alteração no arquivo de acordo com a sua necessidade.

Explicando um pouco melhor as intruções contidas no arquivo:

  • clean:  attempts to clean a project’s working directory of the files that we’re generated at build-time. By default, it discovers and deletes the directories configured in project.build.directory, project.build.outputDirectory, project.build.testOutputDirectory, and project.reporting.outputDirectory.

  • install: install the package into the local repository, for use as a dependency in other projects locally

  • -U: Force Update, atualiza todas as dependências a partir dos repositórios configurados no pom.xml ou settings.xml

Instruções de uso

Baixe o arquivo no meu repositório do bitbuket em uma pasta local do seu computador: https://rcoli@bitbucket.org/rcoli/generic-maven-build.git

Ali existem as versões para Windows (pouco evoluída, fique a vontade para melhorá-la) e linux.

Para executá-lo, acesso o terminal ou prompt de comando e digite da seguinte forma:

Executando sem testes: generic-maven-build.sh /home/user/repository/project1/pom.xml /home/user/repository/project1/pom.xml semTestes

Executando com testes: generic-maven-build.sh /home/user/repository/project1/pom.xml /home/user/repository/project1/pom.xml

No Eclipse:

Clique no ícone External Tools na barra de tarefas do eclipse, escolha External Tools Configurations. Clique com o botão direito em Program e escolha new. Configure conforme as imagens abaixo:

Screenshot from 2015-07-08 10:26:07

Screenshot from 2015-07-08 10:26:28

Screenshot from 2015-07-08 10:28:35

Screenshot from 2015-07-08 10:28:48

Screenshot from 2015-07-08 10:37:19

Pré-requisitos:

Maven instalado e configurado, arquivo .sh ou .bat baixado em seu computador.

Referências:

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

http://maven.apache.org/plugins/maven-clean-plugin/

http://books.sonatype.com/mvnex-book/reference/multimodule-web-spring-sect-intro.html