Executar uma tarefa Ant com Maven

Executar uma tarefa Ant com Maven

1. Introdução

Maven e Ant são ferramentas de automação de construção conhecidas para Java. Embora na maioria das vezes usaremos apenas um deles, há casos em que usar os dois juntos faz sentido.

A common use case is when working on a legacy project that uses Ant, and we want to introduce Maven gradually enquanto ainda mantém algumas tarefas Ant existentes no lugar.

Neste tutorial, vamos cobrir como fazer isso usando o plug-in Maven AntRun.

2. Plugin MavenAntRun

Maven AntRun Plugin nos permite executar tarefas Ant dentro do Maven.

2.1. Adicionando o Plugin

Para usar este plug-in, precisamos adicioná-lo aos plug-ins de compilação do nosso projeto Maven:


    org.apache.maven.plugins
    maven-antrun-plugin
    1.8
    
        ...
    

A versão mais recente do plugin pode ser encontrada emMaven Central (embora não seja atualizada há muito tempo).

2.2. Execuções de Plugin

Como em qualquer outro plug-in Maven, para usar o plug-in AntRun, precisamos definir execuções.

No exemplo abaixo, estamos definindo uma execução vinculada à fasepackage do Maven, que compactará o arquivo JAR final do diretório de destino do projeto:


    org.apache.maven.plugins
    maven-ant-run-plugin
    1.8
    
        
            zip-artifacts
            package
            
                run
            
            
                
                    
                
            
        
    

Para executar o plugin, executamos o comando:

mvn package

Já que declaramos que nosso plugin deve ser executado durante a fasepackage do Maven, executar a metapackage do Maven executará a configuração do plugin acima.

3. Exemplo usando o arquivobuild.xml

Além de nos permitir definir destinos Ant na configuração do plugin, também podemos usar um arquivo Antbuild.xml  existente.

3.1. build.xml

Abaixo está um exemplo de arquivo Antbuild.xml de um projeto com um destino definido para fazer upload de arquivos zip do diretório base do projeto para um servidor FTP:


   Project Description

   ...

    
        
            
            
        
    

3.2. Configuração de plugins

Para usar o arquivobuild.xml acima, definimos a execução em nossa declaração de plugin:


    deploy-artifact
    install
    
        run
    
    
        
            
                
            
        
    

Uma vez que a tarefaftp não está incluída emant.jar, precisamos adicionar as dependências opcionais do Ant à nossa configuração de plugin:


    
       ...
    
    
        
            commons-net
            commons-net
            1.4.1
        
        
            org.apache.ant
            ant-commons-net
            1.8.1
        
    

Para executar o plugin, executamos o comando:

mvn install

4. Conclusão

Neste breve artigo, discutimos a execução de tarefas Ant com o pluginAntRun do Maven. Mesmo sendo um plugin muito simples, com apenas um objetivo, este plugin pode ser eficaz em projetos e equipes que preferem o uso do Ant para instruções específicas de construção.

E, se você quiser saber mais sobre o Ant e o Maven, pode ler nossoarticle, comparando os dois - junto com o Gradle.