[jboss-cvs] jboss-seam/examples/wiki ...
Christian Bauer
christian at hibernate.org
Wed Mar 7 13:37:36 EST 2007
User: cbauer
Date: 07/03/07 13:37:36
Modified: examples/wiki build.xml build.properties
Removed: examples/wiki .classpath .project .exploded.launch
Log:
Moved to hot-redeploy WAR build structure
Revision Changes Path
1.5 +278 -238 jboss-seam/examples/wiki/build.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: build.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/build.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- build.xml 28 Feb 2007 04:01:49 -0000 1.4
+++ build.xml 7 Mar 2007 18:37:36 -0000 1.5
@@ -1,32 +1,41 @@
<?xml version="1.0"?>
-<project name="wiki" default="deploy" basedir=".">
+<project name="wiki" default="explodewar" basedir=".">
+
+ <!-- ################## CONFIG ####################### -->
<!-- Give user a chance to override without editing this file or typing -D -->
<property file="${basedir}/build.properties" />
+ <property name="profile" value="dev"/>
+
<!-- set global properties for this build -->
<property name="project.name" value="wiki"/>
+
+ <property name="src.java.dir" value="src/main"/>
+ <property name="src.test.dir" value="src/test"/>
+ <property name="src.etc.dir" value="src/etc"/>
+ <property name="view.dir" value="view"/>
+
+ <property name="build.dir" value="build"/>
+ <property name="classes.dir" value="${build.dir}/classes"/>
+ <property name="testclasses.dir" value="${build.dir}/testclasses"/>
+ <property name="exploded.dir" value="${build.dir}/exploded"/>
+ <property name="exploded.war.dir" value="${exploded.dir}/${project.name}.war"/>
+
+ <property name="deploy.dir" value="${jboss.home}/server/default/deploy"/>
+ <property name="deploy.war.dir" value="${deploy.dir}/${project.name}.war"/>
+
<property name="dist.dir" value="dist" />
- <property name="src.java.dir" value="src" />
- <property name="src.test.dir" value="test" />
+
<property name="seam.home" value="../../"/>
<property name="lib.dir" value="${seam.home}/lib" />
<property name="seamlibs.dir" value="${seam.home}"/>
<property name="drools.lib.dir" value="${seam.home}/drools/lib"/>
- <property name="ear.dir" value="exploded-archives/${project.name}.ear" />
- <property name="jar.dir" value="exploded-archives/${project.name}.jar" />
- <property name="war.dir" value="exploded-archives/${project.name}.war" />
- <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="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
- <property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
- <property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
- <property name="testng.jar" value="${lib.dir}/testng-4.5.1-jdk15.jar" />
- <property name="javac.debug" value="true" />
- <property name="javac.deprecation" value="false" />
- <property name="profile" value="dev" />
+
+ <!-- ################## ALIASES ####################### -->
<fileset id="lib" dir="${lib.dir}">
<include name="*.jar" />
@@ -34,11 +43,14 @@
<fileset id="seamlibs" dir="${seamlibs.dir}">
<include name="jboss-seam*.jar"/>
+ <exclude name="jboss-seam-gen.jar"/>
</fileset>
<zipfileset id="droolslibs"
dir="${drools.lib.dir}">
<include name="*.jar"/>
+ <exclude name="commons-lang*.jar"/>
+ <exclude name="commons-logging*.jar"/>
</zipfileset>
<zipfileset id="jcaptchalibs" dir="${lib.dir}">
@@ -50,227 +62,208 @@
<fileset refid="seamlibs"/>
</path>
- <target name="init" description="Initialize the build">
- <mkdir dir="${jar.dir}" />
- <mkdir dir="${ear.dir}" />
- <mkdir dir="${war.dir}" />
- <mkdir dir="${dist.dir}" />
+ <patternset id="meta.files">
+ <include name="**/*.xml"/>
+ <include name="**/*.properties"/>
+ <include name="**/*.sql"/>
+ <include name="**/*.MF"/>
+ </patternset>
+
+ <!-- ################## SETUP ####################### -->
+
+ <target name="init" description="Initialize the project build">
+ <mkdir dir="${classes.dir}"/>
+ <mkdir dir="${testclasses.dir}"/>
+ <mkdir dir="${exploded.war.dir}"/>
</target>
- <target name="compile" depends="init"
- description="Compile the Java source code"
- unless="eclipse.running">
+ <target name="clean" description="Cleans up all build artifacts">
+ <delete dir="${build.dir}"/>
+ </target>
+
+ <!-- ################## COMPILE ####################### -->
+
+ <target name="compileclasses" depends="init"
+ description="Compile the main Java source code">
+
<javac classpathref="build.classpath"
- destdir="${jar.dir}"
+ destdir="${classes.dir}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
- nowarn="on">
+ nowarn="${javac.nowarn}">
<src path="${src.java.dir}" />
</javac>
- </target>
- <target name="jar" depends="compile"
- description="Build the distribution .jar file">
- <copy todir="${jar.dir}">
- <fileset dir="${basedir}/resources">
- <include name="seam.properties" />
+ <!-- Copy resources (mapping files, properties, etc.) to classes -->
+ <copy todir="${classes.dir}">
+ <fileset dir="${src.java.dir}">
+ <patternset refid="meta.files"/>
</fileset>
</copy>
- <copy todir="${jar.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="ejb-jar.xml" />
- <include name="wiki.taglib.xml" />
- <include name="MANIFEST.MF" />
- </fileset>
- </copy>
- <copy tofile="${jar.dir}/META-INF/persistence.xml"
- file="${basedir}/resources/META-INF/persistence-${profile}.xml"
- overwrite="true"/>
- <copy tofile="${jar.dir}/import.sql"
- file="${basedir}/resources/import-${profile}.sql"
- overwrite="true"/>
- <!-- Replace @@LF@@ in import.sql with real SQL char(10) linefeed (concat)-->
- <replace file="${jar.dir}/import.sql" token="@@LF@@" value="'+char(10)+'"/>
+
</target>
- <target name="war" depends="compile"
- description="Build the distribution .war file">
- <copy todir="${war.dir}">
- <fileset dir="${basedir}/view" />
+ <!-- ################## EXPLODE ####################### -->
+
+ <target name="explodewar" depends="explodehotdeployclasses, exploderesources"
+ description="Creates a hot-redeployable exploded WAR directory">
+ </target>
+
+ <target name="explodehotdeployclasses" depends="compileclasses">
+ <copy todir="${exploded.war.dir}/WEB-INF/classes">
+ <fileset dir="${classes.dir}" excludes="${hotdeploy.classes}"/>
</copy>
- <copy todir="${war.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="MANIFEST.MF" />
- </fileset>
+ <copy todir="${exploded.war.dir}/WEB-INF/dev">
+ <fileset dir="${classes.dir}" includes="${hotdeploy.classes}"/>
</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>
+ </target>
+
+ <target name="explodeallclasses" depends="compileclasses">
+ <copy todir="${exploded.war.dir}/WEB-INF/classes">
+ <fileset dir="${classes.dir}"/>
</copy>
- <copy todir="${war.dir}/WEB-INF">
- <fileset dir="${basedir}/resources/WEB-INF">
- <include name="lib/*.*"/>
- <include name="classes/**/*.class"/>
- </fileset>
+ </target>
+
+ <target name="exploderesources" depends="compileclasses">
+
+ <!-- ########## XHTML ########### -->
+ <copy todir="${exploded.war.dir}">
+ <fileset dir="${view.dir}"/>
</copy>
- <copy todir="${war.dir}/WEB-INF/lib">
+
+ <!-- ########## Libs ########### -->
+ <copy todir="${exploded.war.dir}/WEB-INF/lib">
+ <fileset refid="droolslibs"/>
+ <fileset refid="jcaptchalibs"/>
+ <fileset refid="seamlibs"/>
<fileset dir="${lib.dir}">
+ <include name="ajax4jsf.jar" />
+ <include name="oscache*.jar" />
<include name="jsf-facelets.jar" />
+ <include name="jboss-seam.jar" />
+ <include name="jboss-seam-*.jar" />
+ <exclude name="jboss-seam-gen.jar" />
+ <include name="commons-jci-*.jar"/>
+ <include name="jbpm*.jar" />
+ <include name="el-*.jar" />
</fileset>
- <fileset dir="${seamlibs.dir}">
- <include name="jboss-seam-debug.jar" />
- <include name="jboss-seam-ui.jar" />
- <include name="jboss-seam-mail.jar" />
+ </copy>
+ <!-- TODO: Do we need this in etc? -->
+ <copy todir="${exploded.war.dir}/WEB-INF">
+ <fileset dir="${src.etc.dir}/WEB-INF">
+ <include name="lib/*.*"/>
</fileset>
</copy>
- <copy todir="${war.dir}/WEB-INF/classes">
- <fileset dir="${basedir}/resources">
- <include name="messages*.properties"/>
+
+ <!-- ########## Configuration files (WEB-INF) ########### -->
+ <copy todir="${exploded.war.dir}/WEB-INF">
+ <fileset dir="${src.etc.dir}/WEB-INF">
+ <patternset refid="meta.files"/>
</fileset>
+ <!-- Set JBoss JNDI lookup pattern and disable embeddable EJB 3.0 container in Seam config files-->
+ <filterset>
+ <filter token="jndiPattern" value="${project.name}/#{ejbName}/local"/>
+ <filter token="embeddedEjb" value="false"/>
+ </filterset>
</copy>
- </target>
- <target name="ear" description="Build the EAR">
- <copy todir="${ear.dir}">
- <fileset dir="${basedir}/resources">
+ <!-- ########## Configuration files (WEB-INF/classes) ########### -->
+ <copy todir="${exploded.war.dir}/WEB-INF/classes">
+ <fileset dir="${src.etc.dir}">
+ <include name="seam.properties" />
+ <include name="security.drl" />
+ <include name="messages*.properties"/>
<include name="*jpdl.xml" />
<include name="hibernate.cfg.xml" />
<include name="jbpm.cfg.xml" />
</fileset>
- <fileset dir="${lib.dir}">
- <include name="jbpm*.jar" />
- <include name="el-*.jar" />
- </fileset>
- <fileset dir="${seamlibs.dir}">
- <include name="jboss-seam.jar" />
- </fileset>
- <fileset refid="droolslibs"/>
- <fileset refid="jcaptchalibs"/>
</copy>
- <copy todir="${ear.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="application.xml" />
- <include name="jboss-app.xml" />
- <include name="security-rules.drl" />
+ <copy tofile="${exploded.war.dir}/WEB-INF/classes/import.sql"
+ file="${src.etc.dir}/import-${profile}.sql"
+ overwrite="true"/>
+ <!-- Replace @@LF@@ in import.sql with real SQL char(10) linefeed (concat)-->
+ <replace file="${exploded.war.dir}/WEB-INF/classes/import.sql" token="@@LF@@" value="'+char(10)+'"/>
+
+ <!-- ########## Configuration files (WEB-INF/classes/META-INF) ########### -->
+ <copy todir="${exploded.war.dir}/WEB-INF/classes/META-INF">
+ <fileset dir="${src.etc.dir}/META-INF">
+ <include name="wiki.taglib.xml"/>
</fileset>
</copy>
+ <copy tofile="${exploded.war.dir}/WEB-INF/classes/META-INF/persistence.xml"
+ file="${src.etc.dir}/META-INF/persistence-${profile}-war.xml"
+ overwrite="true"/>
+
</target>
- <target name="archive" depends="jar,war,ear"
- description="Package the archives">
- <jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
- <jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
- <jar jarfile="${dist.dir}/${project.name}.ear">
- <fileset dir="${ear.dir}"/>
- <fileset dir="${dist.dir}">
- <include name="${project.name}.jar"/>
- <include name="${project.name}.war"/>
- </fileset>
- </jar>
+ <!-- ################## DEPLOYMENT ####################### -->
+
+ <target name="hotdeploy" depends="compileclasses"
+ description="Deploys only hotdeployable classes/resources to JBoss AS">
+ <fail unless="jboss.home">jboss.home not set</fail>
+
+ <!-- ######## Classes ######## -->
+ <copy todir="${deploy.war.dir}/WEB-INF/dev">
+ <fileset dir="${classes.dir}" includes="${hotdeploy.classes}"/>
+ </copy>
+
+ <!-- ######## XHTML ######## -->
+ <copy todir="${deploy.war.dir}">
+ <fileset dir="${view.dir}"/>
+ </copy>
+
</target>
- <target name="datasource">
+ <target name="deploy" depends="explodewar"
+ description="Deploy datasource and exploded archive to JBoss AS">
<fail unless="jboss.home">jboss.home not set</fail>
+
+ <!-- ######## Datasoure ######## -->
<copy todir="${deploy.dir}">
- <fileset dir="${basedir}/resources">
+ <fileset dir="${src.etc.dir}">
<include name="${project.name}-${profile}-ds.xml" />
</fileset>
</copy>
+
+ <!-- ######## Exploded WAR ######## -->
+ <copy todir="${deploy.war.dir}">
+ <fileset dir="${exploded.war.dir}"/>
+ </copy>
+
</target>
- <target name="explode" depends="jar,war,ear,datasource"
- description="Deploy the exploded archive">
+ <target name="undeploy"
+ description="Undeploy datasource and exploded archive">
<fail unless="jboss.home">jboss.home not set</fail>
- <mkdir dir="${jar.deploy.dir}"/>
- <mkdir dir="${war.deploy.dir}"/>
+ <delete dir="${deploy.war.dir}" failonerror="no"/>
+ <delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
- <copy todir="${jar.deploy.dir}">
- <fileset dir="${jar.dir}"/>
- </copy>
- <copy todir="${war.deploy.dir}">
- <fileset dir="${war.dir}"/>
- </copy>
- <copy todir="${ear.deploy.dir}">
- <fileset dir="${ear.dir}"/>
- </copy>
</target>
- <target name="unexplode" description="Undeploy the exploded archive">
- <delete failonerror="no">
- <fileset dir="${ear.deploy.dir}">
- <exclude name="**/*.jar"/>
- </fileset>
- </delete>
- <delete file="${deploy.dir}/${project.name}-ds.xml" failonerror="no"/>
- <delete dir="${ear.deploy.dir}" failonerror="no"/>
+ <target name="redeploy" depends="deploy" description="Deploy and restart the WAR">
+ <touch file="${deploy.war.dir}/WEB-INF/web.xml"/>
</target>
- <target name="restart" depends="explode" description="Restart the exploded archive">
- <touch file="${ear.deploy.dir}/META-INF/application.xml"/>
- </target>
+ <!-- ######################## DISTRIBUTION ################## -->
- <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}.ear" />
- </target>
+ <target name="dist" depends="clean, explodeallclasses, exploderesources"
+ description="Package a WAR archive">
- <target name="undeploy" description="Undeploy the example from JBoss">
- <delete file="${deploy.dir}/${project.name}.ear" />
- <delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
- <delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
- </target>
+ <delete dir="${dist.dir}"/>
+ <mkdir dir="${dist.dir}"/>
- <target name="clean" description="Cleans up the build directory">
- <delete dir="${dist.dir}" />
- <delete dir="${test.dir}" />
- <delete dir="${ear.dir}" />
- <delete dir="${war.dir}" />
- <delete>
- <fileset dir="${jar.dir}">
- <exclude name="**/*.class" if="eclipse.running"/>
- </fileset>
- </delete>
- </target>
+ <jar jarfile="${dist.dir}/${project.name}.war" basedir="${exploded.war.dir}"/>
- <target name="test" depends="jar,war,ear" description="Run the tests">
+ <copy tofile="${dist.dir}/${project.name}-ds.xml"
+ file="${src.etc.dir}/${project.name}-${profile}-ds.xml"/>
- <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>
- <copy todir="${test.dir}">
- <fileset dir="${basedir}/resources" />
- </copy>
- <copy todir="${test.dir}" flatten="true">
- <fileset dir="${src.test.dir}">
- <include name="**/*Test.xml" />
- </fileset>
- </copy>
-
- <taskdef resource="testngtasks" classpath="${testng.jar}" />
- <testng outputdir="${basedir}/testng-report">
- <classpath path="${test.dir}" />
- <classpath path="${embedded-ejb3.dir}" />
- <classpath refid="build.classpath" />
- <xmlfileset dir="${test.dir}" includes="*Test.xml" />
- </testng>
+ <antcall target="clean"/>
</target>
- <!-- Database schema export -->
+ <!-- ######################## TOOLS ################## -->
+
<path id="tools.classpath">
<fileset dir="../../seam-gen/lib">
<include name="*.jar"/>
@@ -287,21 +280,68 @@
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="tools.classpath"/>
- <target name="schemaexport" depends="jar"
+ <target name="schemaexport" depends="explodewar"
description="Exports a generated schema to a file">
+ <mkdir dir="${dist.dir}"/>
+
<hibernatetool destdir="${basedir}">
- <classpath path="${jar.dir}"/>
+ <classpath path="${exploded.war.dir}/WEB-INF/classes"/>
<jpaconfiguration/> <!-- Use META-INF/persistence.xml -->
<hbm2ddl
drop="false"
create="true"
export="false"
- outputfilename="${dist.dir}/wiki-ddl.sql"
+ outputfilename="${dist.dir}/${project.name}-ddl.sql"
delimiter=";"
format="true"/>
</hibernatetool>
<echo message="Exported DDL to file: ${dist.dir}/wiki-ddl.sql"/>
</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.components.dir}" />
+ <src path="${src.other.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>
1.3 +5 -3 jboss-seam/examples/wiki/build.properties
(In the diff below, changes in quantity of whitespace are not shown.)
Index: build.properties
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/build.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- build.properties 21 Feb 2007 16:24:10 -0000 1.2
+++ build.properties 7 Mar 2007 18:37:36 -0000 1.3
@@ -1,4 +1,6 @@
-#Set this if you move the 'wiki' example out of the Seam example directory
-#seam.home = /Users/turin/work/remote/jboss/public/jboss-seam
-
jboss.home = /Users/turin/work/local/jboss/jboss-4.0.5.GA
\ No newline at end of file
+hotdeploy.classes = **/wiki/core/action/* **/wiki/core/dao/* **/wiki/core/links/*
+javac.debug = true
+javac.deprecation = false
+javac.nowarn = on
+
More information about the jboss-cvs-commits
mailing list