Global Properties and Directory Layout Module

Public Targets

No public targets defined.

Source: props-global.xml

				<?xml version="1.0" encoding="UTF-8"?>
<project name="global">
	<description>
  + ==\_/============J=A=V=A=G=E=N===A=N=T===M=O=D=U=L=E=S================= +
  +  \(_)/                                                                  +
  +  -(_)-       Global Properties and Directory Layout Module              +
  +  /(_)\                                                                  +
  + ======================================================================= +
  +    Copyright (c) 2002-2005 Outsource Cafe, Inc.  All rights reserved.   +
  + ======================================================================= +
  +
  + This file defines global properties and the directory layout for JAM
  + (JavaGen Ant Modules).  It should be imported into all build.xml files.
  + Customization can be achieved by declaring properties in your build file
  + before importing this file or in larger projects, by organizing property
  + files by scope.  For example the following general import sequence has
  + proven flexible:
  +
  + 1) props-user.xml    - cross-project properties (maven.repo, etc).
  + 2) props-maven.xml   - properties generated from POM (module.name, etc.).
  + 3) props-project.xml - properties common to a project (database.name, etc.).
  + 4) props-global.xml  - this file.
  + 5) classpath.xml     - dependencies generated from POM (jars,targets,paths, etc.).
  +
  + Remember Ant binds a property upon first encountering it, ignoring subsequent 
  + settings.
  +
  + Todo: add directory diagram
  +
  + The directory layout follows Apache Maven's (maven.apache.org) standard, but
  + adds an additional source tree, 'src-gen' for generated files.  Source files
  + may be moved back and forth between 'src' and 'src-gen' without effecting the
  + build results.
  + 
  + Property/task names use the follow suffix patterns:
  +   *.folder    - a relitive directory name (value)
  +   *.dir       - an absolute directory path (location)
  +   *.file.name - a file name (value)
  +   *.file      - an absolute file path (location)
  +   *.home      - an absolute directory path (location) usualy set from an 
  +                 envirenmental variable
  +   *.dist      - same as '*.home'
  +   *.macro     - User-defined macro task names.
  +
  + developer: RichardEasterling@OutsourceCafe.com
  + ======================================================================= +
  + Licensed under the Apache License, Version 2.0 (the "License");
  + you may not use this file except in compliance with the License.
  + You may obtain a copy of the License at
  +
  +   http://www.apache.org/licenses/LICENSE-2.0
  +
  + Unless required by applicable law or agreed to in writing, software
  + distributed under the License is distributed on an "AS IS" BASIS,
  + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  + See the License for the specific language governing permissions and
  + limitations under the License.
  + =J=A=M===========================================J=A=V=A=G=E=N=.=C=O=M= +
  </description>
	<property name="jam.version" value="2.1"></property>
	<property name="PROPS-GLOBAL.PRESENT" value="true"></property>
	<!-- ===================================================================== -->
	<!-- environmental variable prefix -->
	<!-- ===================================================================== -->
	<property environment="env"></property>
	<!-- ===================================================================== -->
	<!-- DEFAULT JAM PROPERTIES - SHOULD BE DEFINED FOR EACH BUILD FILE:       -->
	<!-- ===================================================================== -->
	<!-- project.name is used for naming all project-wide artifacts.  -->
	<property name="project.name" value="${ant.project.name}"></property>
	<!-- project.version is used for distribution file names and version tracking. -->
	<property name="project.version" value="1.0"></property>
	<!-- project.home usualy changes to '..' in multi-module projects. You usualy -->
	<!-- have to define it in each build file becuse it is used to import other -->
	<!-- Ant scripts. -->
	<property name="project.home" location="${basedir}"></property>
	<!-- model.name should match the UML file name (less the file extension).  -->
	<property name="model.name" value="${project.name}"></property>
	<!-- module.name is used for naming all module-wide artifacts.  If there is -->
	<!-- only one module in your project, leave all project and module settings -->
	<!-- the same. -->
	<property name="module.name" value="${ant.project.name}"></property>
	<!-- module.version can be specified if different from project.version. -->
	<property name="module.version" value="${project.version}"></property>
	<!-- ===================================================================== -->
	<!-- Maven repository properties -->
	<!-- ===================================================================== -->
	<property name="maven.repo" location="${user.home}/.maven/repository"></property>
	<!-- groupId defaults to project name.  It is used as repository sub-directory-->
	<property name="maven.groupId" value="${project.name}"></property>
	<!-- set maven.home if defined as an environmental variable -->
	<condition property="maven.home" value="${env.MAVEN_HOME}">
		<isset property="env.MAVEN_HOME"></isset>
	</condition>
	<!-- ===================================================================== -->
	<!-- global folder names -->
	<!-- ===================================================================== -->
	<property name="src.folder" value="src"></property>
	<property name="java.folder" value="java"></property>
	<property name="build.folder" value="target"></property>
	<property name="webservice.folder" value="webservice"></property>
	<property name="web.folder" value="html"></property>
	<property name="webapp.folder" value="webapp"></property>
	<property name="test.folder" value="test"></property>
	<property name="itest.folder" value="itest"></property>
	<property name="cactus.test.folder" value="test-cactus"></property>
	<property name="model.folder" value="uml"></property>
	<property name="aspect.folder" value="aspect"></property>
	<property name="classes.folder" value="classes"></property>
	<property name="iclasses.folder" value="itclasses"></property>
	<property name="gen.src.folder" value="src-gen"></property>
	<property name="sql.folder" value="sql"></property>
	<property name="dist.folder" value="dist"></property>
	<property name="xdoclet.folder" value="xdoclet"></property>
	<property name="resources.folder" value="resources"></property>
	<property name="config.folder" value="config"></property>
	<property name="reports.folder" value="reports"></property>
	<property name="ant.folder" value="ant"></property>
	<property name="temp.folder" value="temp"></property>
	<property name="wsdl.folder" value="wsdl"></property>
	<property name="lib.folder" value="lib"></property>
	<property name="tld.folder" value="WEB-INF/tld"></property>
	<!-- ===================================================================== -->
	<!-- source directory layout -->
	<!-- ===================================================================== -->
	<!-- folders -->
	<property name="src.web.folder" value="${src.folder}/${web.folder}"></property>
	<!-- directories -->
	<property name="src.dir" location="${basedir}/${src.folder}"></property>
	<property name="src.java.dir" location="${src.dir}/${java.folder}"></property>
	<property name="src.test.dir" location="${src.dir}/${test.folder}"></property>
	<property name="src.itest.dir" location="${src.dir}/${itest.folder}"></property>
	<property name="src.model.dir" location="${src.dir}/${model.folder}"></property>
	<property name="src.config.dir" location="${src.dir}/${config.folder}"></property>
	<property name="src.aspect.dir" location="${src.dir}/${aspect.folder}"></property>
	<property name="src.web.dir" location="${basedir}/${src.web.folder}"></property>
	<property name="src.metainf.dir" location="${src.dir}/META-INF"></property>
	<property name="src.webinf.dir" location="${src.dir}/WEB-INF"></property>
	<property name="src.resources.dir" location="${src.dir}/${resources.folder}"></property>
	<!-- ===================================================================== -->
	<!-- src-gen directory layout - for JavaGen generatated code -->
	<!-- ===================================================================== -->
	<!-- folders -->
	<property name="gen.java.folder" value="${gen.src.folder}/${java.folder}"></property>
	<property name="gen.test.folder" value="${gen.src.folder}/${test.folder}"></property>
	<property name="gen.itest.folder" value="${gen.src.folder}/${itest.folder}"></property>
	<property name="gen.ant.folder" value="${gen.src.folder}/${ant.folder}"></property>
	<property name="gen.web.folder" value="${gen.src.folder}/${web.folder}"></property>
	<property name="gen.webinf.folder" value="${gen.web.folder}/WEB-INF"></property>
	<property name="gen.web.classes.folder" value="${gen.webinf.folder}/${classes.folder}"></property>
	<property name="gen.web.resources.folder" value="${gen.web.classes.folder}/${resources.folder}"></property>
	<!-- directories -->
	<property name="gen.dir" location="${basedir}/${gen.src.folder}"></property>
	<property name="gen.java.dir" location="${basedir}/${gen.java.folder}"></property>
	<property name="gen.test.dir" location="${basedir}/${gen.test.folder}"></property>
	<property name="gen.itest.dir" location="${basedir}/${gen.itest.folder}"></property>
	<property name="gen.ant.dir" location="${basedir}/${gen.ant.folder}"></property>
	<property name="gen.web.dir" location="${basedir}/${gen.web.folder}"></property>
	<property name="gen.webinf.dir" location="${basedir}/${gen.webinf.folder}"></property>
	<property name="gen.metainf.dir" location="${gen.dir}/META-INF"></property>
	<property name="gen.web.classes.dir" location="${basedir}/${gen.web.classes.folder}"></property>
	<property name="gen.web.resources.dir" location="${basedir}/${gen.web.resources.folder}"></property>
	<property name="gen.sql.dir" location="${gen.dir}/${sql.folder}"></property>
	<property name="gen.wsdl.dir" location="${gen.dir}/${wsdl.folder}"></property>
	<!-- ===================================================================== -->
	<!-- build directory layout -->
	<!-- ===================================================================== -->
	<property name="build.dir" location="${basedir}/${build.folder}"></property>
	<property name="build.classes.dir" location="${build.dir}/classes"></property>
	<property name="build.resources.dir" location="${build.classes.dir}/${resources.folder}"></property>
	<property name="build.metainf.dir" location="${build.dir}/META-INF"></property>
	<property name="build.temp.dir" location="${build.dir}/${temp.folder}"></property>
	<property name="build.docs.dir" location="${build.dir}/docs"></property>
	<property name="build.javadocs.dir" location="${build.docs.dir}/api"></property>
	<property name="build.webservice.dir" location="${build.dir}/${webservice.folder}"></property>
	<!-- ===================================================================== -->
	<!-- unit test directory layout -->
	<!-- ===================================================================== -->
	<property name="build.test.dir" location="${build.dir}/${test.folder}"></property>
	<property name="build.test.classes.dir" location="${build.test.dir}/${classes.folder}"></property>
	<property name="build.test.metainf.dir" location="${build.test.dir}/META-INF"></property>
	<property name="build.test.temp.dir" location="${build.test.dir}/${temp.folder}"></property>
	<property name="build.test.docs.dir" location="${build.dir}/${reports.folder}"></property>
	<property name="build.test.reports.dir" location="${build.dir}/docs"></property>
	<property name="build.test.javadocs.dir" location="${build.test.docs.dir}/api"></property>
	<!-- ===================================================================== -->
	<!-- integration test directory layout -->
	<!-- ===================================================================== -->
	<property name="build.itest.dir" location="${build.dir}/${itest.folder}"></property>
	<property name="build.itest.classes.dir" location="${build.itest.dir}/${iclasses.folder}"></property>
	<property name="build.itest.metainf.dir" location="${build.itest.dir}/META-INF"></property>
	<property name="build.itest.webinf.dir" location="${build.itest.dir}/WEB-INF"></property>
	<property name="build.itest.war.classes.dir" location="${build.itest.webinf.dir}/${classes.folder}"></property>
	<property name="build.itest.reports.dir" location="${build.dir}/${itest.folder}-reports"></property>
	<!-- ===================================================================== -->
	<!-- web app directory layout -->
	<!-- ===================================================================== -->
	<property name="build.web.folder" value="${build.folder}/web"></property>
	<property name="build.web.dir" location="${basedir}/${build.web.folder}"></property>
	<property name="build.web.webinf.dir" location="${build.web.dir}/WEB-INF"></property>
	<!-- DEPRICATED, replaced by build.classes.dir.  Optionaly you can override this
	       property to leave classes un-jarred in webapps as follows:

		<property name="build.classes.dir" location="${basedir}/target/web/WEB-INF/classes"/>
	
	<property name="build.web.classes.dir" location="${build.web.webinf.dir}/${classes.folder}"/>
	<property name="build.web.resources.dir" location="${build.web.classes.dir}/${resources.folder}"/>
	-->
	<property name="build.web.temp.dir" location="${build.dir}/web-temp"></property>
	<property name="build.web.jspc.dir" location="${build.dir}/jspc"></property>
	<property name="build.web.tld.folder" value="/WEB-INF/tld"></property>
	<property name="build.web.tld.dir" location="${build.web.dir}${build.web.tld.folder}"></property>
	<property name="build.web.exclude.libs" value=""></property>
	<!-- ===================================================================== -->
	<!-- archive directory layout -->
	<!-- ===================================================================== -->
	<property name="archive.dir" location="${basedir}/archives"></property>
	<property name="archive.file.name" value="${module.name}-src-${module.version}.zip"></property>
	<property name="archive.file" value="${archive.dir}/${archive.file.name}"></property>
	<property name="archive.tar.file.name" value="${module.name}-src-${module.version}.tar"></property>
	<property name="archive.tar.file" value="${archive.dir}/${archive.tar.file.name}"></property>
	<!-- ===================================================================== -->
	<!-- XDoclet directory layout -->
	<!-- ===================================================================== -->
	<property name="xdoclet.build.dir" location="${build.dir}/${xdoclet.folder}"></property>
	<property name="xdoclet.build.java.dir" location="${xdoclet.build.dir}/${java.folder}"></property>
	<property name="xdoclet.build.web.folder" value="${build.folder}/xdoc-web-src"></property>
	<property name="xdoclet.build.web.dir" location="${basedir}/${xdoclet.build.web.folder}"></property>
	<property name="xdoclet.build.metainf.dir" location="${xdoclet.build.dir}/META-INF"></property>
	<property name="xdoclet.build.webinf.dir" location="${xdoclet.build.dir}/WEB-INF"></property>
	<property name="xdoclet.merge.folder" value="${src.folder}/xdoclet-merge"></property>
	<property name="xdoclet.merge.dir" location="${basedir}/${xdoclet.merge.folder}"></property>
	<property name="xdoclet.build.webservice.dir" location="${xdoclet.build.dir}/${webservice.folder}"></property>
	<!-- properties -->
	<property name="xdoclet.ejb.entity.baseclass" value="javax.ejb.EntityBean"></property>
	<property name="xdoclet.ejb.version" value="2.0"></property>
	<property name="xdoclet.ejb.include.guid" value="false"></property>
	<property name="xdoclet.ejb.cache.homes" value="true"></property>
	<!--  xdoclet.jndi.kind values are: logical, physical, none? -->
	<property name="xdoclet.jndi.kind" value="physical"></property>
	<property name="xdoclet.ejb.cascade.delete" value="true"></property>
	<property name="xdoclet.force" value="true"></property>
	<property name="xdoclet.verbose" value="false"></property>
	<property name="xdoclet.validatexml" value="true"></property>
	<property name="xdoclet.xmlencoding" value="UTF-8"></property>
	<property name="xdoclet.excludedtags" value="@version,@author,@todo"></property>
	<property name="xdoclet.ejb.suffix" value="EJB"></property>
	<property name="xdoclet.dto.suffix" value="DTO"></property>
	<property name="xdoclet.vo.suffix" value="Value"></property>
	<property name="xdoclet.webservice.suffix" value="WS"></property>
	<!-- ===================================================================== -->
	<!-- distribution properties -->
	<!-- ===================================================================== -->
	<property name="dist.dir" location="${basedir}/${dist.folder}"></property>
	<property name="dist.file.name" value="${module.name}"></property>
	<property name="dist.ejb.suffix" value="-ejb"></property>
	<property name="dist.test.suffix" value="-test"></property>
	<property name="dist.web.suffix" value="-web"></property>
	<!-- include version at end of dist file name:-->
	<property name="dist.version.suffix" value=""></property>
	<!-- ===================================================================== -->
	<!-- Define tools.jar if available.  Make sure javac class is available -->
	<!-- ===================================================================== -->
	<available file="${java.home}/../lib/tools.jar" type="file" property="tools.jar" value="${java.home}/../lib/tools.jar"></available>
	<available file="${java.home}/lib/tools.jar" type="file" property="tools.jar" value="${java.home}/lib/tools.jar"></available>
	<condition property="javac.present" value="true">
		<or>
			<isset property="tools.jar"></isset>
			<available classname="sun.tools.javac.Main"></available>
			<available classname="com.sun.tools.javac.Main"></available>
		</or>
	</condition>
	<fail message="javac class/tools.jar not found, make sure you have the JDK, override &apos;tools.jar&apos; property, or fix this test as necessary." unless="javac.present"></fail>
	<!-- if not present, still need a dummy tools.jar for maven.xml other modules -->
	<property name="tools.jar" value="${jam.home}/misc/dummy/tools.jar"></property>
	<!-- ===================================================================== -->
	<!-- Java compiler properties -->
	<!-- ===================================================================== -->
	<!--  java compiler settings:-->
	<property name="compiler.debug" value="on"></property>
	<property name="compiler.deprecation" value="off"></property>
	<property name="compiler.optimize" value="off"></property>
	<property name="compiler.type" value="modern"></property>
	<property name="compiler.excludes" value="**/package.htm*"></property>
	<property name="compiler.target" value="1.4"></property>
	<property name="compiler.source" value="1.4"></property>
	<!-- ===================================================================== -->
	<!-- database properties -->
	<!-- ===================================================================== -->
	<!-- 
	 Supported databases:
	   McKoi,InterBase,DB2,Oracle9i,Oracle8,Oracle7,Sybase,PostgreSQL,
		PostgreSQL 7.2,Hypersonic SQL,PointBase,SOLID,mySQL,MS SQLSERVER,
		MS SQLSERVER2000,DB2/400,SapDB,Cloudscape,InformixDB

  	 If database.name is not set, the imported appserver file will set its dafault db.
  	 
    Note: JAM currently uses JBoss db names, however the future server-neutral db name list will be:
	   mckoi,interbase,db2,oracle9i,oracle8,oracle7,sybase,postgresql,
		postgresql-7.2,hypersonic-sql,pointbase,solid,mysql,ms-sqlserver,
		ms-sqlserver2000,db2-400,sapdb,cloudscape,informixdb
	-->
	<!--
	<property name="database.name" value="Hypersonic SQL"/>
	-->
	<property name="datasource.name" value="java:/DefaultDS"></property>
	<!-- ===================================================================== -->
	<!-- J2EE properties -->
	<!-- ===================================================================== -->
	<property name="ejb.cmp.version" value="2.x"></property>
	<property name="ejb.spec.version" value="2.0"></property>
	<property name="jsp.spec.version" value="1.2"></property>
	<property name="servlet.spec.version" value="2.3"></property>
	<!--  session timeout in minutes (default 30):-->
	<property name="servlet.session.timeout" value="30"></property>
	<!--  distributed session management (default false):-->
	<!--  must match clustered mode of JBoss or errors occur-->
	<property name="servlet.distributable" value="false"></property>
	<!--  logical JNDI of javax.sql.DataSource-->
	<property name="jndi.logical.datasource" value="jdbc/default"></property>
	<!--  physical JNDI of the datasource-->
	<property name="jndi.physical.datasource" value="java:/DefaultDS"></property>
	<!--  webapp context -->
	<property name="webapp.context" value="/${module.name}"></property>
	<!-- ===================================================================== -->
	<!-- Unit test properties -->
	<!-- ===================================================================== -->
	<property name="utest.batchtest.exclude" value="**/*AbstractTestCase.java"></property>
	<!-- ===================================================================== -->
	<!-- optional module-specific libs location for jars not in repository -->
	<!-- ===================================================================== -->
	<property name="module.lib.dir" location="${basedir}/${lib.folder}"></property>
	<!-- ===================================================================== -->
	<!-- build timestamp -->
	<!-- ===================================================================== -->
	<property name="timestamp.filename" value="timestamp.txt"></property>
	<property name="timestamp.path" value="${build.dir}/${timestamp.filename}"></property>
	<!-- ===================================================================== -->
	<!-- miscellaneous properties -->
	<!-- ===================================================================== -->
	<property name="author" value="RichardEasterling@OutsourceCafe.com"></property>
	<property name="CR" value="
"></property>
	<!--=====================================================================-->
	<!--add these files to Ant's default excludes patterns -->
	<!--=====================================================================-->
	<defaultexcludes echo="false" add="**/*.$$$$$$"></defaultexcludes>
	<defaultexcludes echo="false" add="**/hs~*"></defaultexcludes>
	<defaultexcludes echo="false" add="**/tmp00*.html"></defaultexcludes>
	<defaultexcludes echo="false" add="**/*.bak"></defaultexcludes>
	<!-- =================================================================== -->
	<!-- HTML/XHTML DTD Catalog -->
	<!-- =================================================================== -->
	<property name="schema.dir" location="${jam.home}/schema"></property>
	<xmlcatalog id="html.catalog">
		<entity publicId="-//W3C//ENTITIES Latin1//EN//HTML" location="${schema.dir}/HTMLlat1x.ent"></entity>
		<entity publicID="-//W3C//ENTITIES Symbols//EN//HTML" location="${schema.dir}/HTMLsymbolx.ent"></entity>
		<entity publicID="-//W3C//ENTITIES Special//EN//HTML" location="${schema.dir}/HTMLspecialx.ent"></entity>
		<entity publicID="-//W3C//ENTITIES Latin 1 for XHTML//EN" location="${schema.dir}/xhtml-lat1.ent"></entity>
		<entity publicID="-//W3C//ENTITIES Special for XHTML//EN" location="${schema.dir}/xhtml-special.ent"></entity>
		<entity publicID="-//W3C//ENTITIES Symbols for XHTML//EN" location="${schema.dir}/xhtml-symbol.ent"></entity>
		<dtd publicID="-//W3C//DTD XHTML 1.0 Strict//EN" location="${schema.dir}/xhtml1-strict.dtd"></dtd>
		<dtd publicID="-//W3C//DTD XHTML 1.0 Transitional//EN" location="${schema.dir}/xhtml1-transitional.dtd"></dtd>
		<dtd publicID="-//W3C//DTD XHTML 1.0 Frameset//EN" location="${schema.dir}/xhtml1-frameset.dtd"></dtd>
	</xmlcatalog>
	<!-- =================================================================== -->
	<!-- J2EE XML DTD Catalog, WARNING these files do not ship with JAM -->
	<!-- You can copy them into the location below or reset j2ee.schema.dir. -->
	<!-- JBoss users can try: ${env.JBOSS_DIST}/docs/dtd -->
	<!-- =================================================================== -->
	<property name="j2ee.schema.dir" location="${jam.home}/schema/j2ee"></property>
	<xmlcatalog id="j2ee.catalog">
		<dtd publicID="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" location="${j2ee.schema.dir}/ejb-jar_1_1.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" location="${j2ee.schema.dir}/ejb-jar_2_0.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" location="${j2ee.schema.dir}/web-app_2_2.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" location="${j2ee.schema.dir}/web-app_2_3.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" location="${j2ee.schema.dir}/application_1_2.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" location="${j2ee.schema.dir}/application_1_3.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD Connector 1.0//EN" location="${j2ee.schema.dir}/connector_1_0.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" location="${j2ee.schema.dir}/web-jsptaglibrary_1_2.dtd"></dtd>
		<dtd publicID="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" location="${j2ee.schema.dir}/web-jsptaglibrary_1_1.dtd"></dtd>
	</xmlcatalog>
</project>