Executar o Maven através de um Ant

1 resposta
Norxs
Encontrei uma solução para executar o maven através de um ant, exemplo:
<target name="modules">
		<!-- Compilação para os sistemas operacionais Windows -->
		<exec executable="${env.M2_HOME}/bin/mvn.bat" dir="modules/" 
			failonerror="true" os="Windows 2000,Windows 2003,Windows XP,Windows Vista">
			<arg value="clean"/>
			<arg value="install"/>
			<arg value="-Dmaven.test.skip=true"/>
		</exec>
		
		<!-- Compilação para os sistemas operacionais Linux, SunOS, Solaris e Mac OS X -->
		<exec executable="${env.M2_HOME}/bin/mvn" dir="modules/" 
			failonerror="true"  os="Linux,SunOS,Solaris,Mac OS X">
			<arg value="clean"/>
			<arg value="install"/>
			<arg value="-Dmaven.test.skip=true"/>
		</exec>
	</target>

Só que tem um problema nisso ... eu executo essa tarefa dentro do Maven, exemplo:

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>teste.oi</groupId>
	<artifactId>meu-maven</artifactId>
	<packaging>pom</packaging>
	<version>alfa</version>
	<name>Teste</name>
		
	<properties>
		<revision>0</revision>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-antrun-plugin</artifactId>
		        <executions>
		        	<execution>
			            <id>Copy Docs and Create Properties</id>
			            <phase>generate-resources</phase>
			            <configuration>	
			            	<tasks>
				                <ant antfile="${basedir}/build.xml">
				                  <target name="pre-build"/>
									<property name="build.version" value="${version}"/>
									<property name="build.revision" value="${revision}"/>
				                </ant>
			              	</tasks>
			            </configuration>
			            <goals>
			              	<goal>run</goal>
			            </goals>
					</execution>
		        	<execution>
			            <id>Compile Modules</id>
			            <phase>compile</phase>
			            <configuration>	
			            	<tasks>
				                <ant antfile="${basedir}/build.xml">
				                  <target name="modules"/>
									<property name="build.version" value="${version}"/>
									<property name="build.revision" value="${revision}"/>
				                </ant>
			              	</tasks>
			            </configuration>
			            <goals>
			              	<goal>run</goal>
			            </goals>
					</execution>
		        	<execution>
			            <id>Generate Installer</id>
			            <phase>install</phase>
			            <configuration>	
			            	<tasks>
				                <ant antfile="${basedir}/build.xml">
				                  <target name="generate-install"/>
									<property name="build.version" value="${version}"/>
									<property name="build.revision" value="${revision}"/>
				                </ant>
			              	</tasks>
			            </configuration>
			            <goals>
			              	<goal>run</goal>
			            </goals>
					</execution>
		        </executions>
	      	</plugin>
		</plugins>
	</build>
</project>

veja que ele precisa ser executado nessa ordem ... primeiro é gerado a documentação ... depois é compilado dos modulos do maven .. e depois é gerado instalador ...
O problema é que se der algum erro ao executar a compilaçao dos modulos do manven ... o processo continua para a geração de instaldor ... Eu queria saber se tem como parar a execução caso der erro no maven (exemplo executar o maven de outra forma) ... saca?

1 Resposta

Norxs

ninguém entendeu? ou ninguém pode ajudar?

Criado 19 de junho de 2009
Ultima resposta 23 de jun. de 2009
Respostas 1
Participantes 1