No public targets defined.
<?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 'tools.jar' 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>