Dúvida para alterar o build.xml (ANT)

Boa Tarde Galerinha, tudo bem ???

Eu sou nova no fórum, mas tenho alguma experiência em java. Estou com uma tremenda dúvida para alterar o meu script BUILD.XML (ANT).

Eu tenho um projeto WEB , gerado pelo eclipse (estrutura de pastas padrão web), que roda no Jboss. Até aí tudo bem.
Agora eu preciso “customizar” o meu empacotamento (war) através de um script ANT (build.xml) para fazer a seguinte coisa:

1- ao gerar o .WAR, gostaria que o ANT colocasse minhas classes dentro de um .jar (meuProjeto.jar) e depois colocasse esse jar dentro da pasta LIB.
2- ao gerar o .WAR, gostaria que o ANT removesse as extensões .jrxml (relatório feito no iReport) e deixasse apenas .jasper
3- ao gerar o .WAR, gostaria de ter duas opções, uma que gera um WAR para PRODUCAO e outra que gera um WAR para HOMOLOGACAO (com alguns arquivos de configuracao diferentes).
Dentro da minha pasta WEB-INF, eu tenho uma subpasta chamada “spring” e nela eu tenho dois arquivos (applicationContextProducao.xml e applicationContextHomologacao.xml)
A idéia é ao selecionar a opcao no build de deploy producao, ele empacota o war com o arquivo applicationContextProducao.xml e o renomeia para applicationContext.xml
e o mesmo seria para a homologacao, ao selecionar a opcao homologacao, ele ele empacota o war com o arquivo applicationContextHomologacao.xml e o renomeia para applicationContext.xml

Abaixo tem o meu script BUILD original, funciona bem, mas ele gera o war da mesma forma que eu mandar o eclipse exportar o “.war file”

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Deploy From Eclipse to Jboss" basedir=".">
	
	<property name="warfile" value="minhaAplicacao" />
	<property name="deploy.dir" value="C:\jboss\server\default\deploy" />
	<property name="diretorio.war" value="dist" />
	
	<target name="create">
		<mkdir dir="dist" />
		
		<war destfile="${diretorio.war}/${warfile}.war" webxml="WebContent/WEB-INF/web.xml" update="true">
			<classes dir="build\classes" />
			<fileset dir="WebContent">
				<exclude name="WEB-INF/web.xml" />
			</fileset>
		</war>
	</target>
	
	<target name="copy">		
		<copy todir="${deploy.dir}" overwrite="true">
			<fileset dir=".">
				<include name="*.war" />
			</fileset>
		</copy>
	</target>
	
	<target name="deploy">
		<antcall target="create" />
		<antcall target="copy" />
	</target>
	
	<target name="unpack">
		<unwar src="${warfile}.war" dest="${warfile}" />
	</target>
	
	<target name="clean">
		<delete dir="dist" />
	</target>
	
</project>

Agradeço pela atenção de vocês.

Bjks,
Paula

Aproveitando o tópico:

  • Alguém por acaso já leu um tutorial que ensine com exemplos diretos Ant/Maven?

Olá, grata pelas dicas!!!

Eu consegui excluir os arquivos usando a tag <exclude name="**/*.jrxml" /> , mas como gerar o jar com as classes do meu projeto eu não consegui. Para fazer isso é necessário setar algum param em alguma tag ou eu terei que usar outra tag (<jar) e depois ficar movendo para dentro da lib ???

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Deploy From Eclipse to Jboss" basedir=".">
	
	<property name="warfile" value="meuSistema" />
	<property name="deploy.dir" value="C:\jboss\server\default\deploy" />
	<property name="diretorio.war" value="dist" />
	
	<target name="create">
		<mkdir dir="dist" />		
		<war destfile="${diretorio.war}/${warfile}.war"  webxml="WebContent/WEB-INF/web.xml" update="true">
			<classes dir="build\classes" />
			<fileset dir="WebContent">
				<exclude name="WEB-INF/web.xml" />
				<exclude name="**/*.jrxml" />												
			</fileset>
		</war>		
	</target>
	
	<target name="copy">		
		<copy todir="${deploy.dir}" overwrite="true">
			<fileset dir=".">
				<include name="*.war" />
			</fileset>
		</copy>
	</target>
	
	<target name="deploy">
		<antcall target="create" />
		<antcall target="copy" />
	</target>
	
	<target name="unpack">
		<unwar src="${warfile}.war" dest="${warfile}" />
	</target>
	
	<target name="clean">
		<delete dir="dist" />
	</target>
	
</project>

Bjks!!!
Paula