[jboss-cvs] jboss-seam/seam-gen/build-scripts ...

Gavin King gavin.king at jboss.com
Tue Jan 30 00:56:43 EST 2007


  User: gavin   
  Date: 07/01/30 00:56:43

  Added:       seam-gen/build-scripts  build-war.xml
  Log:
  add support for war deployment to seam-gem
  
  Revision  Changes    Path
  1.1      date: 2007/01/30 05:56:43;  author: gavin;  state: Exp;jboss-seam/seam-gen/build-scripts/build-war.xml
  
  Index: build-war.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <project name="@projectName@" default="deploy" basedir=".">
  
  	<!-- Give user a chance to override without editing this file or typing -D -->
  	<property file="${basedir}/build.properties" />
  
  	<!-- set global properties for this build -->
  	<property name="project.name" value="@projectName@"/>
  	<property name="dist.dir" value="dist" />
  	<property name="src.java.dir" value="src" />
  	<property name="src.test.dir" value="test" />
  	<property name="lib.dir" value="lib" />
  	<property name="war.dir" value="exploded-archives/${project.name}.war" />
  	<property name="classes.dir" value="${war.dir}/WEB-INF/classes" />
  	<property name="test.dir" value="test-build" />
  	<property name="embedded-ejb3.dir" value="${basedir}/embedded-ejb/conf" />
  	<property name="deploy.dir" value="${jboss.home}/server/default/deploy" />
  	<property name="war.deploy.dir" value="${deploy.dir}/${project.name}.war" />
  	<property name="testng.jar" value="${basedir}/lib/testng-4.5.1-jdk15.jar" />
  	<property name="javac.debug" value="true" />
  	<property name="javac.deprecation" value="false" />
  	<property name="profile" value="dev" />
  
  	<fileset id="lib" dir="${lib.dir}">
  		<include name="*.jar" />
  	</fileset>
  
  	<path id="build.classpath">
  		<fileset refid="lib" />
  	</path>
  
  	<target name="init" description="Initialize the build">
  		<mkdir dir="${war.dir}/WEB-INF/classes" />
  		<mkdir dir="${dist.dir}" />
  	</target>
  
  	<target name="compile" depends="init" 
  			description="Compile the Java source code"
  		    unless="eclipse.running">
  		<javac classpathref="build.classpath" 
  			        destdir="${war.dir}/WEB-INF/classes" 
  			          debug="${javac.debug}" 
  			    deprecation="${javac.deprecation}" 
  			        nowarn="on">
  			<src path="${src.java.dir}" />
  		</javac>
  	</target>
  
  	<target name="copyclasses" depends="init" 
  			description="Copy the classes that were compiled by eclipse"
  		    if="eclipse.running">
  		<copy todir="${war.dir}/WEB-INF/classes">
  			<fileset dir="${test.dir}">
  				<include name="**/*.class"/>
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="war" depends="compile,copyclasses" 
  			description="Build the distribution .war file">
  
  		<copy todir="${war.dir}/WEB-INF/classes">
  			<fileset dir="${basedir}/resources">
  				<include name="seam.properties" />
  			</fileset>
  		</copy>
  		
  		<copy tofile="${war.dir}/WEB-INF/classes/META-INF/persistence.xml" 
  			    file="${basedir}/resources/META-INF/persistence-${profile}-war.xml"
  		   overwrite="true"/>
  		
  		<copy tofile="${war.dir}/WEB-INF/classes/import.sql" 
  			    file="${basedir}/resources/import-${profile}.sql"
  		   overwrite="true"/>
  
  		<copy todir="${war.dir}">
  			<fileset dir="${basedir}/view" />
  		</copy>
  		
  		<copy todir="${war.dir}/WEB-INF">
  			<fileset dir="${basedir}/resources/WEB-INF">
  				<include name="*.*"/>
  				<include name="classes/**/*.*"/>
  				<exclude name="classes/**/*.class"/>
  			</fileset>
  			<filterset>
  				<filter token="jndiPattern" value="${project.name}/#{ejbName}/local"/>
  				<filter token="embeddedEjb" value="false"/>
  			</filterset>
  		</copy>
  		
  		<copy todir="${war.dir}/WEB-INF">
  			<fileset dir="${basedir}/resources/WEB-INF">
  				<include name="lib/*.*"/>
  				<include name="classes/**/*.class"/>
  			</fileset>
  		</copy>
  		
  		<copy todir="${war.dir}/WEB-INF/lib">
  			<fileset dir="${lib.dir}">
  				<include name="jsf-facelets.jar" />
  				<include name="jboss-seam-debug.jar" />
  				<include name="jboss-seam-ui.jar" />
  			</fileset>
  		</copy>
  		
  		<copy todir="${war.dir}/WEB-INF/classes">
  			<fileset dir="${basedir}/resources"> 
  				<include name="messages*.properties"/>
  			</fileset>
  		</copy>
  
  		<copy todir="${war.dir}/WEB-INF/classes">
  			<fileset dir="${basedir}/resources">
  				<include name="*jpdl.xml" />
  				<include name="hibernate.cfg.xml" />
  				<include name="jbpm.cfg.xml" />
  			</fileset>
  		</copy>
  			
  		<copy todir="${war.dir}/WEB-INF/lib">
  			<fileset dir="${lib.dir}">
  				<include name="jboss-seam.jar" />
  				<include name="jbpm*.jar" />
  				<include name="el-*.jar" />
  			</fileset>
  		</copy>
  		
  	</target>
  	
  	<target name="archive" depends="war" 
  			description="Package the archives">
  		<jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
  	</target>
  	
  	<target name="datasource">
  		<fail unless="jboss.home">jboss.home not set</fail>
  		<copy todir="${deploy.dir}">
  			<fileset dir="${basedir}/resources">
  				<include name="${project.name}-${profile}-ds.xml" />
  			</fileset>
  		</copy>
  	</target>
  	
  	<target name="explode" depends="war,datasource" 
  			description="Deploy the exploded archive">
  		<fail unless="jboss.home">jboss.home not set</fail>
  		
  		<mkdir dir="${war.deploy.dir}"/>
  		<copy todir="${war.deploy.dir}">
  			<fileset dir="${war.dir}"/>
  		</copy>
  	</target>
  
  	<target name="unexplode" description="Undeploy the exploded archive">
  		<delete failonerror="no">
  			<fileset dir="${war.deploy.dir}">
  				<exclude name="**/*.jar"/>
  			</fileset>
  		</delete>
  		<delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
  		<delete dir="${war.deploy.dir}" failonerror="no"/>
  	</target>
  	
  	<target name="restart" depends="explode" description="Restart the exploded archive">
  		<touch file="${war.deploy.dir}/WEB-INF/web.xml"/>
  	</target>
  
  	<target name="deploy" depends="archive,datasource" description="Deploy to JBoss AS">
  		<fail unless="jboss.home">jboss.home not set</fail>
  		<copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.war" />
  	</target>
  
  	<target name="undeploy" description="Undeploy the example from JBoss">
  		<delete file="${deploy.dir}/${project.name}.war" />
  		<delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
  		<delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
  	</target>
  
  	<target name="clean" description="Cleans up the build directory">
  		<delete dir="${dist.dir}"/>
  		<delete dir="${war.dir}"/>
  		<delete dir="${basedir}/test-report"/>
  		<delete dir="${basedir}/test-output"/>
  		<delete failonerror="no">
  			<fileset dir="${test.dir}">
  				<exclude name="**/*.class" if="eclipse.running"/>
  			</fileset>
  		</delete>
  	</target>
  
  	<target name="compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
          <mkdir dir="${test.dir}"/>
          <javac classpathref="build.classpath"
                          destdir="${test.dir}"
                            debug="${javac.debug}"
                      deprecation="${javac.deprecation}"
                          nowarn="on">
                  <src path="${src.java.dir}" />
                  <src path="${src.test.dir}" />
          </javac>
  	</target>
  	
  	<target name="buildtest" depends="compiletest" description="Build the tests">
  		<copy todir="${test.dir}">
  			<fileset dir="${basedir}/resources">
  				<exclude name="META-INF/persistence*.xml"/>
  				<exclude name="import*.sql"/>
  				<exclude name="${project.name}-*-ds.xml"/>
  			</fileset>
  		</copy>
  		<copy tofile="${test.dir}/META-INF/persistence.xml" 
  			    file="${basedir}/resources/META-INF/persistence-test-war.xml"
  		   overwrite="true"/>
  		<copy tofile="${test.dir}/import.sql" 
  			    file="${basedir}/resources/import-test.sql"
  		   overwrite="true"/>
  		<copy todir="${test.dir}" flatten="true">
  			<fileset dir="${src.test.dir}">
  				<include name="**/*Test.xml" />
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="test" depends="buildtest" description="Run the tests">		
  		<taskdef resource="testngtasks" classpath="${testng.jar}" />
  		<testng outputdir="${basedir}/test-report">
  			<classpath path="${test.dir}" />
  			<classpath path="${embedded-ejb3.dir}" />
  			<classpath refid="build.classpath" />
  			<xmlfileset dir="${test.dir}" includes="*Test.xml" />
  		</testng>
  	</target>
  	
  </project>
  
  
  



More information about the jboss-cvs-commits mailing list