Bugfixes, CCM_HOME bezieht sich jetzt auf den web application context

git-svn-id: https://svn.libreccm.org/ccm/trunk@148 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2009-04-24 22:19:14 +00:00
parent 6fa618b948
commit 54aac049a1
5 changed files with 181 additions and 183 deletions

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:common="http://exslt.org/common"
xmlns:xalan="http://xml.apache.org/xslt"
xmlns:ccm="http://ccm.redhat.com/ccm-project"
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:common="http://exslt.org/common"
xmlns:xalan="http://xml.apache.org/xslt"
xmlns:ccm="http://ccm.redhat.com/ccm-project"
exclude-result-prefixes="ccm common">
<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
xalan:indent-amount="4"/>
<xsl:template match="ccm:project">
@ -54,13 +54,16 @@
</xsl:template>
<xsl:template name="SharedProperties">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="prettyName" select="@prettyName"/>
<xsl:variable select="@name" name="name"/>
<xsl:variable select="@prettyName" name="prettyName" />
<xsl:variable select="@webapp" name="context" />
<!-- Setting the layout of the basic build environment -->
<!-- just in case:
check environment to set properties not already set by parent scripts -->
<property environment="env"/>
<!-- Development libraries requirred by compile / build / deploy step -->
<property value="${{env.CCM_BUILD_LIBS}}" name="ccm.build.lib.dir"/>
<fail message="ccm.build.lib.dir or CCM_DEVEL_LIBS not set.
@ -76,16 +79,19 @@
<fail message="ccm.tools.rh-jdo.dir or CCM_TOOLS_JDO not set.
Please check the invoking build.xml script."
unless="ccm.tools.rh-jdo.dir" />
<!-- Base directory of the application server to deploy to, i.e. CATALINA_HOME -->
<property value="${{env.APP_SERVER_HOME}}" name="app.server.home.dir"/>
<fail message="app.server.home.dir or APP_SERVER_HOME not set.
Please check the invoking build.xml script."
unless="app.server.home.dir" />
<!-- Shared Lib directory for use by several web applications of the application server -->
<property value="${{env.APP_SERVER_LIB}}" name="app.server.lib.dir"/>
<fail message="app.server.lib.dir or APP_SERVER_LIB not set.
Please check the invoking build.xml script."
unless="app.server.lib.dir" />
<!-- XXX deprecated -->
<!-- Used to be the same as CATALINA_HOME and a requirred base for PackageMastertool -->
<property value="${{env.CCM_HOME}}" name="ccm.home"/>
@ -97,11 +103,16 @@
<!-- Base directory for the package step to create a binary repo -->
<property value="packages" name="package.dir"/>
<!-- currently no longer used
<property value="ant.properties" name="property.file"/>
<property file="${{property.file}}"/>
<property name="app.name" value="{$name}"/>
<property name="app.prettyname" value="{$prettyName}"/>
-->
<!-- here: taken from project.xml-->
<property name="this.appName" value="{$name}"/>
<property name="this.appPrettyname" value="{$prettyName}"/>
<property name="this.appContext" value="{$context}"/>
<!-- CCM source dir structure-->
<property value="build" name="build.dir"/>
<property value="lib" name="lib.dir"/>
<property value="etc/lib" name="etclib.dir"/>
@ -111,6 +122,7 @@
<property value="web" name="web.dir"/>
<property value="ddl" name="ddl.dir"/>
<property value="bin" name="bin.dir"/>
<property value="8300" name="test.remote.port"/>
<property value="false" name="test.sql.verbose"/>
<property value="true" name="test.sql.continue"/>
@ -120,6 +132,7 @@
<property value="test/src" name="test.src.dir"/>
<property value="${{build.dir}}/test" name="test.deploy.dir"/>
<property value="${{build.dir}}/tmp" name="test.tmp.dir"/>
<property value="${{build.dir}}/src" name="build.src.dir"/>
<property value="${{build.dir}}/classes" name="build.classes.dir"/>
<property value="${{build.dir}}/sql" name="build.sql.dir"/>
@ -127,6 +140,7 @@
<property value="${{build.test.dir}}/classes" name="build.test.classes.dir"/>
<property value="${{build.test.dir}}/sql" name="build.test.sql.dir"/>
<property value="${{etclib.dir}}" name="javacc.home.dir"/>
<property value="*Suite.class" name="junit.suite"/>
<property value="" name="junit.test"/>
<property value="off" name="junit.haltonfailure"/>
@ -137,6 +151,7 @@
<property value="xml" name="junit.formatter.extension"/>
<property value="false" name="junit.showoutput"/>
<property value="com.arsdigita.tools.junit.extensions.CoreInitializer" name="junit.initializer.classname"/>
<property value="${{build.dir}}/api" name="javadoc.dir"/>
<property value="${{build.dir}}/api-apps" name="app.javadoc.dir"/>
<property value="" name="pdl.args"/>
@ -153,6 +168,7 @@
<property value="${{shared.lib.dist.dir}}/jdo" name="jdo.lib.dir"/> -->
<property value="com.arsdigita.persistence.pdl.PDL" name="ddl.generator.classname"/>
<property value="com.arsdigita.persistence.pdl.TestPDLGenerator" name="test.ddl.generator.classname"/>
<xsl:choose>
<xsl:when test="@webxml">
<property name="webxml.source.file">
@ -162,9 +178,11 @@
</property>
</xsl:when>
<xsl:otherwise>
<property name="webxml.source.file" value="web.xml-default"/>
<property name="webxml.source.file" value="web.xml-core"/>
</xsl:otherwise>
</xsl:choose>
<echo message="web.xml file requested: ${{webxml.source.file}}" />
<path id="ccm.base.classpath">
<dirset dir="${{ccm.home}}">
<include name="conf"/>
@ -370,7 +388,8 @@
<xsl:variable name="name" select="@name"/>
<path refid="{$name}.{$type}.classpath"/>
</xsl:for-each>
<path refid="ccm.base.classpath"/>
<!-- <path refid="ccm.base.classpath"/> -->
<pathelement path="${{java.class.path}}"/>
</path>
<xsl:if test="/ccm:project/ccm:build/ccm:application[@name = $target]">
<path id="{$target}.{$type}.classpath.internal">
@ -460,11 +479,11 @@
<!-- XXX OOPS must be replaced by the individual files which have been copied !
<delete dir="${{deploy.shared.lib.dir}}"/>
-->
<!-- is now part of the deploy.webapp.dir
<!-- is now part of the this.deploy.dir
<delete dir="${{deploy.external.lib.dir}}"/>
-->
<!-- XXX OOPS, works for now, but must be replaced by individual files! -->
<delete dir="${{deploy.webapp.dir}}"/>
<delete dir="${{this.deploy.dir}}"/>
</target>
<xsl:call-template name="LocalGroupingTarget">
<xsl:with-param name="targetname" select="'clean'"/>
@ -493,7 +512,8 @@
not($application/ccm:directories)"/>
<xsl:variable name="jdodirs" select="$application/ccm:jdo/ccm:directory"/>
<xsl:variable name="requires"
select="/ccm:project/ccm:application[@name=$fullname]/ccm:dependencies/ccm:requires"/>
select="/ccm:project/ccm:application[@name=$fullname]/ccm:dependencies/ccm:requires"/>
<target name="compile-{$name}"
description="Compiles the Java code for the '{$name}' application" depends="init">
<xsl:if test="$buildhooks">
@ -526,10 +546,14 @@
<pathelement location="{$name}/${{build.src.dir}}"/>
</path>
<xsl:call-template name="TargetJavaC">
<xsl:with-param name="destdir" select="concat($name, '/${build.classes.dir}')"/>
<xsl:with-param name="srcdir" select="concat($name,'/${src.dir}')"/>
<xsl:with-param name="srcpathref" select="concat($name,'.compile.srcpath')"/>
<xsl:with-param name="classpathref" select="concat($name,'.build.classpath')"/>
<xsl:with-param name="destdir"
select="concat($name, '/${build.classes.dir}')"/>
<xsl:with-param name="srcdir"
select="concat($name,'/${src.dir}')"/>
<xsl:with-param name="srcpathref"
select="concat($name,'.compile.srcpath')"/>
<xsl:with-param name="classpathref"
select="concat($name,'.build.classpath')"/>
</xsl:call-template>
</xsl:if>
</target>
@ -558,12 +582,14 @@
<include name="{$name}"/>
</xsl:for-each>
</dirset>
<mapper type="merge" to="${{basedir}}/{$name}/${{build.dir}}/.jdo-timestamp"/>
<mapper type="merge"
to="${{basedir}}/{$name}/${{build.dir}}/.jdo-timestamp"/>
<jdo>
<pathelement location="{$name}/${{src.dir}}"/>
</jdo>
</jdoenhance>
<echo message="jdo-timestamp" file="{$name}/${{build.dir}}/.jdo-timestamp"/>
<echo message="jdo-timestamp"
file="{$name}/${{build.dir}}/.jdo-timestamp"/>
</target>
</xsl:if>
@ -603,7 +629,8 @@
</then>
</if>
<mkdir dir="{$name}/${{build.dir}}"/>
<echo message="ddl-timestamp" file="{$name}/${{build.sql.dir}}/.ddl-timestamp"/>
<echo message="ddl-timestamp"
file="{$name}/${{build.sql.dir}}/.ddl-timestamp"/>
</target>
<xsl:call-template name="TargetManifest">
<xsl:with-param name="target" select="$name"/>
@ -850,6 +877,7 @@
description="Verifies that JSP files compile (requires Tomcat 4.1)"/>
</xsl:template>
<xsl:template name="TargetDeploySystemJar">
<xsl:param name="name"/>
<xsl:param name="package"/>
@ -868,9 +896,13 @@
</if>
</xsl:template>
<!-- D E P L O Y
construct ant script for the deploy target -->
<xsl:template name="TargetDeploy">
<xsl:variable name="name" select="@name"/>
<!-- step through the list of included modules in project.xml and
execute for each one -->
<xsl:for-each select="/ccm:project/ccm:build/ccm:application">
<xsl:variable name="name" select="@name"/>
<xsl:variable
@ -900,8 +932,8 @@
<!-- Deploy Jar -->
<target name="deploy-jar-classes-{$name}" depends="init,jar-classes-{$name}">
<mkdir dir="${{deploy.lib.dir.{$name}}}"/>
<copy todir="${{deploy.lib.dir.{$name}}}"
<mkdir dir="${{this.deploy.lib.dir}}"/>
<copy todir="${{this.deploy.lib.dir}}"
file="{$name}/${{build.dir}}/${{apps.{$name}.name}}-${{apps.{$name}.version}}.jar"/>
<xsl:for-each select="$application/ccm:systemPackages/ccm:package">
<xsl:call-template name="TargetDeploySystemJar">
@ -914,8 +946,8 @@
<!-- Deploy classes -->
<xsl:if test="$hassrcdir or $haspdldir">
<target name="deploy-classes-{$name}" depends="init,build-{$name}">
<mkdir dir="${{deploy.classes.dir.{$name}}}"/>
<copy todir="${{deploy.classes.dir.{$name}}}">
<mkdir dir="${{this.deploy.classes.dir}}"/>
<copy todir="${{this.deploy.classes.dir}}">
<fileset dir="{$name}/${{build.classes.dir}}"/>
</copy>
<xsl:for-each select="$application/ccm:systemPackages/ccm:package">
@ -926,62 +958,68 @@
</xsl:for-each>
</target>
</xsl:if>
<!-- Deploy external libs, not developed by the CCM project.
Located in a modules lib directory. -->
<target name="deploy-lib-{$name}" depends="init">
<mkdir dir="${{deploy.external.lib.dir.{$name}}}"/>
<copy todir="${{deploy.external.lib.dir.{$name}}}" preservelastmodified="true">
<mkdir dir="${{this.deploy.externallib.dir}}"/>
<copy todir="${{this.deploy.externallib.dir}}" preservelastmodified="true">
<fileset dir="{$name}">
<include name="${{lib.dir}}/**"/>
</fileset>
<mapper type="glob" to="*" from="${{lib.dir}}${{file.separator}}*"/>
</copy>
</target>
<!-- Deploy pdl -->
<!-- Deploy pdl -->
<xsl:if test="$haspdldir">
<target name="deploy-pdl-{$name}" depends="init,jar-pdl-{$name}">
<mkdir dir="${{deploy.lib.dir.{$name}}}"/>
<copy todir="${{deploy.lib.dir.{$name}}}">
<mkdir dir="${{this.deploy.lib.dir}}"/>
<copy todir="${{this.deploy.lib.dir}}">
<fileset dir="{$name}/${{build.dir}}">
<include name="*pdl.jar"/>
</fileset>
</copy>
</target>
</xsl:if>
<!-- Deploy sql -->
<!-- Deploy sql -->
<xsl:if test="$hassqldir or $haspdldir">
<target name="deploy-sql-{$name}"
depends="init,generate-ddl-{$name},jar-sql-{$name}">
<mkdir dir="${{deploy.lib.dir.{$name}}}"/>
<copy todir="${{deploy.lib.dir.{$name}}}">
<mkdir dir="${{this.deploy.lib.dir}}"/>
<copy todir="${{this.deploy.lib.dir}}">
<fileset dir="{$name}/${{build.dir}}">
<include name="*sql.jar"/>
</fileset>
</copy>
</target>
</xsl:if>
<!-- Deploy web -->
<target name="deploy-web-{$name}" depends="init">
<copy todir="${{deploy.dir.{$name}}}">
<copy todir="${{this.deploy.dir}}">
<fileset dir="{$name}">
<include name="${{web.dir}}/**"/>
</fileset>
<mapper type="glob" to="*" from="${{web.dir}}${{file.separator}}*"/>
</copy>
</target>
<!-- Deploy bin -->
<target name="deploy-bin-{$name}" depends="init">
<copy todir="${{deploy.bin.dir.{$name}}}">
<copy todir="${{this.deploy.bin.dir}}">
<fileset dir="{$name}">
<include name="${{bin.dir}}/**"/>
</fileset>
<mapper type="glob" to="*" from="${{bin.dir}}${{file.separator}}*"/>
</copy>
</target>
<!-- Deploy Javadoc -->
<!-- Deploy Javadoc -->
<xsl:if test="$hassrcdir">
<target name="deploy-javadoc-{$name}" depends="init,javadoc-{$name}">
<copy todir="${{deploy.api.dir.{$name}}}">
<copy todir="${{this.deploy.api.dir.{$name}}}">
<fileset dir="${{app.javadoc.dir}}/{$name}"/>
</copy>
</target>
@ -1006,7 +1044,7 @@
<xsl:value-of select="concat(',deploy-web-',$name)"/>
<xsl:value-of select="concat(',deploy-bin-',$name)"/>
</xsl:attribute>
<echo message="deployed '{$name}' to ${{deploy.dir.{$name}}}"/>
<echo message="deployed '{$name}' to ${{this.deploy.dir}}"/>
</target>
</xsl:for-each>
@ -1043,13 +1081,13 @@
</fileset>
<mapper type="glob" to="*" from="{$name}-{$version}${{file.separator}}*"/>
</copy>
<copy todir="${{deploy.webapp.dir}}" preservelastmodified="true">
<copy todir="${{this.deploy.dir}}" preservelastmodified="true">
<fileset dir="${{webapp.dist.dir}}">
<include name="{$name}-{$version}/**"/>
</fileset>
<mapper type="glob" to="*" from="{$name}-{$version}${{file.separator}}*"/>
</copy>
<echo message="deployed '{$name}' to ${{deploy.webapp.dir}}"/>
<echo message="deployed '{$name}' to ${{this.deploy.dir}}"/>
</target>
</xsl:for-each>
@ -1075,13 +1113,13 @@
</target>
<target name="copy-webxml-init" depends="init">
<available file="${{deploy.webapp.dir}}/ROOT/WEB-INF" type="dir"
<available file="${{this.deploy.dir}}/WEB-INF" type="dir"
property="root.webapp.exists"/>
<condition property="resolved.webxml.source.file"
value="${{deploy.webapp.dir}}/ROOT/WEB-INF/${{webxml.source.file}}">
value="${{this.deploy.dir}}/WEB-INF/${{webxml.source.file}}">
<and>
<isset property="root.webapp.exists"/>
<available file="${{deploy.webapp.dir}}/ROOT/WEB-INF/${{webxml.source.file}}"/>
<available file="${{this.deploy.dir}}/WEB-INF/${{webxml.source.file}}"/>
<not>
<available file="${{webxml.source.file}}"/>
</not>
@ -1090,12 +1128,13 @@
<condition property="resolved.webxml.source.file" value="${{webxml.source.file}}">
<not><isset property="resolved.webxml.source.file"/></not>
</condition>
<echo message="web.xml to use: ${{this.deploy.dir}}/WEB-INF/${{webxml.source.file}}" />
</target>
<target name="copy-webxml"
depends="init,copy-webxml-init" if="root.webapp.exists">
<copy file="${{resolved.webxml.source.file}}"
tofile="${{deploy.webapp.dir}}/ROOT/WEB-INF/web.xml"/>
tofile="${{this.deploy.dir}}/WEB-INF/web.xml"/>
</target>
<!-- Master deploy -->
@ -1282,7 +1321,6 @@
</echo>
<xsl:variable name="name" select="@name"/>
<xsl:variable name="context" select="@webxml"/>
<!-- web.xml will be copied implicitly from deployed WEB-INF! -->
<war needxmlfile="False" >
@ -1293,7 +1331,7 @@
<xsl:text>.war</xsl:text>
</xsl:attribute>
<fileset dir="${{deploy.dir}}/webapps/ROOT/">
<fileset dir="${{this.deploy.dir}}">
<exclude name="**/classes/**"/>
</fileset>
<xsl:for-each select="/ccm:project/ccm:application">
@ -1616,6 +1654,7 @@
</xsl:attribute>
</target>
</xsl:template>
<xsl:template name="TargetManifest">
<xsl:param name="target"/>
<xsl:param name="type"/>
@ -1820,6 +1859,8 @@
</pmd>
</target>
<!-- I N I T
target initializes all the name space -->
<target name="init">
<echo message="${{ant.file}}"/>
<tstamp><format property="YEAR" pattern="yyyy"/></tstamp>
@ -1833,6 +1874,8 @@
property="apps.{$name}.pdl.path.internal"
refid="apps.{$name}.pdl.path.internal"/>
</xsl:for-each>
<!-- should be deprecated, TODO: check for usage -->
<path id="ccm.java.ext.dirs">
<!-- no longer present in APLAWS 1.0.4
<dirset dir="${{ccm.tools.dir}}">
@ -1841,6 +1884,7 @@
-->
<pathelement path="${{java.ext.dirs}}"/>
</path>
<pathconvert dirsep="/" pathsep=":" property="ccm.java.ext.dirs"
refid="ccm.java.ext.dirs"/>
<condition property="junit.jvmargs"
@ -1856,96 +1900,42 @@
</condition>
<!-- Deployment directory structure -->
<condition property="deploy.dir" value="deploy">
<not><isset property="deploy.dir"/></not>
</condition>
<condition property="deploy.webapp.dir" value="${{deploy.dir}}/webapps">
<not><isset property="deploy.webapp.dir"/></not>
</condition>
<!-- deploy.conf.dir used to deploy the log4j.properties file to a
non-standard location CATALINA_HOME/conf, which is not meant to
hold user or webapps specific configuration files.
not used anymore
<condition property="deploy.conf.dir" value="${{deploy.dir}}/conf">
<not><isset property="deploy.conf.dir"/></not>
</condition>
-->
<condition property="deploy.shared.lib.dir" value="${{app.server.lib.dir}}">
<not><isset property="deploy.shared.lib.dir"/></not>
</condition>
<!-- deploy.private.lib.dir might be no longer used.
Previouls used for external libs, too.
<condition property="deploy.private.lib.dir" value="${{deploy.dir}}/webapps/WEB-INF/lib">
<not><isset property="deploy.private.lib.dir"/></not>
</condition>
-->
<condition property="deploy.shared.classes.dir" value="${{app.server.lib.dir}}">
<not><isset property="deploy.shared.classes.dir"/></not>
</condition>
<condition property="deploy.system.jars.dir" value="${{app.server.lib.dir}}/system">
<property value="${{app.server.webapp.dir}}/${{this.appContext}}" name="this.deploy.dir"/>
<!-- DEPRECATED
system jar should be no longer requirred. Will be removed asap. -->
<condition property="deploy.system.jars.dir" value="${{app.server.shared.dir}}/system">
<not><isset property="deploy.system.jars.dir"/></not>
</condition>
<condition property="deploy.war.dir" value="${{deploy.dir}}/webapps">
<not><isset property="deploy.war.dir"/></not>
</condition>
<xsl:for-each select="/ccm:project/ccm:build/ccm:application">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="application"
select="document(concat(@name,'/application.xml'),/ccm:project)/ccm:application"/>
<!-- property shared does not work / not documented how to use
setting in modules application.xml as part of application has no effect -->
<xsl:variable name="shared" select="$application/@shared"/>
<property value="${{deploy.webapp.dir}}/${{apps.{$name}.webapp.name}}" name="deploy.dir.{$name}"/>
<!--
<xsl:choose>
<!-- Should the jars and/or libs get installed into a shared directory?
<xsl:choose>
<xsl:when test="$shared = 'false'">
-->
<!-- will copy modules classes/libs into module's WEB-INF directory. Works. -->
<property value="${{deploy.dir.{$name}}}/WEB-INF/classes" name="deploy.classes.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/lib" name="deploy.lib.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/lib" name="deploy.external.lib.dir.{$name}"/>
<!--
<!-- will copy modules classes/libs into applications WEB-INF directory. Works. -->
<property value="${{this.deploy.dir}}/WEB-INF/classes" name="this.deploy.classes.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/lib" name="this.deploy.lib.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/lib" name="this.deploy.externallib.dir"/>
<!--
</xsl:when>
<xsl:otherwise>
-->
-->
<!-- will copy modules classes/libs into shared directory. 6.1 - 6.4: webapps/WEB-INF non-standard
up to 6.4 the only metheod that works.
<property value="${{deploy.shared.classes.dir}}" name="deploy.classes.dir.{$name}"/>
<property value="${{deploy.shared.lib.dir}}" name="deploy.lib.dir.{$name}"/>
<property value="${{deploy.shared.lib.dir}}" name="deploy.external.lib.dir.{$name}"/> -->
<!--
</xsl:otherwise>
</xsl:choose>
-->
<property value="${{app.server.shared.dir}}" name="this.deploy.classes.dir"/>
<property value="${{app.server.shared.dir}}" name="this.deploy.lib.dir"/>
<property value="${{app.server.shared.dir}}" name="this.deploy.externallib.dir"/> -->
<!--
</xsl:otherwise>
</xsl:choose>
-->
<property value="${{deploy.dir.{$name}}}/WEB-INF/src" name="deploy.src.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/doc" name="deploy.doc.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/test" name="deploy.test.dir.{$name}"/>
<property value="${{deploy.test.dir.{$name}}}/classes" name="deploy.test.classes.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/api" name="deploy.api.dir.{$name}"/>
<property value="${{deploy.dir.{$name}}}/WEB-INF/bin" name="deploy.bin.dir.{$name}"/>
</xsl:for-each>
<property value="${{this.deploy.dir}}/WEB-INF/src" name="this.deploy.src.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/doc" name="this.deploy.doc.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/api" name="this.deploy.api.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/bin" name="this.deploy.bin.dir"/>
<property value="${{this.deploy.dir}}/WEB-INF/test" name="this.deploy.test.dir"/>
<property value="${{this.deploy.test.dir}}/classes" name="this.deploy.test.classes.dir"/>
<!-- xml version of log4j configuration not supported
<condition property="log4j.configuration.sysproperty"
value="file://${{ccm.home}}/conf/log4j.xml">
<and>
<not><isset property="log4j.configuration.sysproperty"/></not>
<available file="${{ccm.home}}/conf/log4j.xml"/>
</and>
</condition>
-->
<!-- Non standard location of log4j configuration no longer supported as of GE 6.5
<condition property="log4j.configuration.sysproperty"
value="file://${{ccm.home}}/conf/log4j.properties">
<and>
<not><isset property="log4j.configuration.sysproperty"/></not>
<available file="${{ccm.home}}/conf/log4j.properties"/>
</and>
</condition>
-->
<!-- location of log4j configuration is handled inside the running CCM application.
But may be requirred for junit tests? Otherwise not needed
-->

View File

@ -33,13 +33,12 @@
##
app.server.parent.dir=${ccm.project.dir}/runtime
app.server.deploy.dir=${app.server.parent.dir}/${app.server.bundles.name}
app.server.home.dir=${app.server.parent.dir}/${app.server.bundles.name}
app.server.conf.dir=${app.server.home.dir}/conf
# shared lib used by several web apps
app.server.lib.dir=${app.server.home.dir}/lib
app.server.shared.dir=${app.server.home.dir}/lib
app.server.webapp.dir=${app.server.home.dir}/webapps
catalina.home.dir=${app.server.home.dir}
catalina.base.dir=${app.server.deploy.dir}
catalina.base.dir=${app.server.home.dir}

View File

@ -7,36 +7,12 @@
app.server.home.dir dir the server are installed into (i.e. CATALINA_HOME)
app.server.deploy.dir dir the server are installed into (i.e. CATALINA_BASE)
app.server.conf.dir name of the servers configuration dir
webapp.dist.dir distribution dir for web applications -->
app.server.webapp.dir distribution dir for web applications -->
<project name="load">
<target name="load-bundle">
<target name="load-bundle" depends="prepare-load">
<echo>Loading bundle ${ccm.bundle.folder} into ${ccm.home}</echo>
<copy file="${ccm.bundle.folder}/cfg/applications.cfg"
tofile=".tmp.applications.cfg" overwrite="yes" />
<replaceregexp file=".tmp.applications.cfg" match="#.*" replace="" byline="true" />
<replaceregexp file=".tmp.applications.cfg"
match="[ \t\r\n]+" replace=" " flags="gs" />
<loadfile property="applications" srcFile=".tmp.applications.cfg" />
<delete file=".tmp.applications.cfg"/>
<tstamp>
<format pattern="yyyymmddhhmmss" property="timestamp" />
</tstamp>
<!-- nolonger in use
<move file="${app.server.conf.dir}/registry"
tofile="${app.server.conf.dir}/registry.${timestamp}" preservelastmodified="yes"
failonerror="no" verbose="true" />
-->
<!-- classpath used by command line tools load-bundle, update, ... -->
<path id="ccm.classpath">
<path refid="ccm.tools.classpath"/>
<!-- <pathelement location="runtime/apache-tomcat-6.0.18/webapps/ROOT/WEB-INF/classes"/> -->
<pathelement location="${app.server.webapp.dir}/ROOT/WEB-INF/classes"/>
<!-- <fileset dir="runtime/apache-tomcat-6.0.18/webapps/ROOT/WEB-INF/lib" includes="**/*.jar" /> -->
<fileset dir="${app.server.webapp.dir}/ROOT/WEB-INF/lib" includes="**/*.jar" />
</path>
<java classname="com/arsdigita/packaging/MasterTool" fork="yes">
<classpath refid="ccm.classpath" />
@ -53,8 +29,8 @@
-->
</target>
<target name="load-init">
<echo>load ${applications} --init</echo>
<target name="load-init" depends="prepare-load">
<echo>load ${applications} --init using ${ccm.bundle.folder}/cfg/integration.properties</echo>
<java classname="com.arsdigita.packaging.MasterTool"
classpathref="ccm.classpath" fork="yes">
<sysproperty key="ccm.home" value="${ccm.home}" />
@ -64,11 +40,11 @@
<sysproperty key="java.protocol.handler.pkgs"
value="${java.protocol.handler.pkgs}" />
-->
<arg line="load ${applications} --init" />
<arg line="load ${applications} --config --parameter-file ${ccm.bundle.folder}/cfg/integration.properties" />
</java>
</target>
<target name="load">
<target name="load" depends="prepare-load">
<echo>load ${applications}</echo>
<java classname="com.arsdigita.packaging.MasterTool"
classpathref="ccm.classpath" fork="yes">
@ -83,4 +59,32 @@
</java>
</target>
<target name="prepare-load">
<echo>prepare bundle ${ccm.bundle.folder}</echo>
<copy file="${ccm.bundle.folder}/cfg/applications.cfg"
tofile=".tmp.applications.cfg" overwrite="yes" />
<replaceregexp file=".tmp.applications.cfg" match="#.*" replace="" byline="true" />
<replaceregexp file=".tmp.applications.cfg"
match="[ \t\r\n]+" replace=" " flags="gs" />
<loadfile property="applications" srcFile=".tmp.applications.cfg" />
<delete file=".tmp.applications.cfg"/>
<tstamp>
<format pattern="yyyymmddhhmmss" property="timestamp" />
</tstamp>
<!-- nolonger in use
<move file="${app.server.conf.dir}/registry"
tofile="${app.server.conf.dir}/registry.${timestamp}" preservelastmodified="yes"
failonerror="no" verbose="true" />
-->
<!-- classpath used by command line tools load-bundle, update, ... -->
<path id="ccm.classpath">
<path refid="ccm.tools.classpath"/>
<!-- <pathelement location="runtime/apache-tomcat-6.0.18/webapps/ROOT/WEB-INF/classes"/> -->
<pathelement location="${app.server.webapp.dir}/ROOT/WEB-INF/classes"/>
<!-- <fileset dir="runtime/apache-tomcat-6.0.18/webapps/ROOT/WEB-INF/lib" includes="**/*.jar" /> -->
<fileset dir="${app.server.webapp.dir}/ROOT/WEB-INF/lib" includes="**/*.jar" />
</path>
</target>
</project>

View File

@ -51,15 +51,15 @@
<property file="${ccm.project.dir}/local.ccm.properties" />
<property file="${ccm.ecdc.conf.dir}/ccm.properties" />
<property name="ccm.home" value="${app.server.deploy.dir}"/>
<property name="ccm.build.lib.dir" value="${ccm.project.dir}/tools-ng/devel/lib"/>
<property name="ccm.tools.lib.dir" value="${ccm.project.dir}/tools-ng/common/lib"/>
<property name="ccm.tools.rh-jdo.dir" value="${ccm.project.dir}/tools-ng/common/classes"/>
<property name="deploy.dir" value="${app.server.deploy.dir}"/>
<!-- preliminary, must be taken from project.xml -->
<property name="ccm.home" value="${app.server.webapp.dir}/ROOT"/>
<!-- deprecated? used by prebuild modules only -->
<!-- deprecated used by prebuild modules only -->
<property name="shared.lib.dist.dir" value="${ccm.tools.lib.dir}"/>
<!-- deprecated? used by prebuild modules only -->
<!-- deprecated used by prebuild modules only -->
<property name="webapp.dist.dir" value="${ccm.project.dir}/distribution"/>
<!-- http://antelope.tigris.org/ -->

View File

@ -2,39 +2,45 @@
<!-- Already definded:
ccm.project.dir: base dir of the development project (environment)
app.server.bundles.zip name of the installation file
app.server.parent.dir name of the dir to install into the server into
app.server.home.dir dir the server is to be installed into (i.e. CATALINA_HOME)
app.server.deploy.dir dir the server is to be installed into (i.e. CATALINA_BASE)
app.server.conf.dir name of the servers configuration dir
webapp.dist.dir distribution dir for ccm web application -->
in conf/runtime.properties:
app.server.bundles.zip full name of the installation file
app.server.parent.dir full name of the dir where to install the server software into
app.server.home.dir full name of the servers dir (i.e. CATALINA_HOME)
app.server.conf.dir full name of the servers configuration dir
app.server.shared.dir full name of dir where shared libraries are to be installed (i.e. lib)
app.server.webapp.dir full name of dir where web applications to install (deploy) (i.e. webapps)
-->
<project name="appserver" default="start">
<target name="install-tomcat">
<echo>Installing app server into ${deploy.dir}</echo>
<echo>Installing app server into ${app.server.parent.dir}</echo>
<unzip src="${app.server.bundles.zip}" dest="${app.server.parent.dir}"
overwrite="true">
<patternset>
<exclude name="**/webapps/**" />
<exclude name="**/ROOT/**" />
</patternset>
</unzip>
<!-- Nolonger NEEDED! when lib files are copied to another location
<!-- Nolonger NEEDED!
lib files are placed int the webapps WEB-INF dir now (or in a standard shared dir)
<replaceregexp file="${app.server.conf.dir}/catalina.properties" match="shared.loader=(.*)"
replace="shared.loader=\1,${catalina.base}/webapps/WEB-INF/classes,${catalina.base}/webapps/WEB-INF/lib/*.jar"
byline="true" />
-->
<!-- Copy additional files needed for operation -->
<copy file="ccm-core/lib/xercesImpl.jar"
todir="${app.server.home.dir}/lib/endorsed" preservelastmodified="true"/>
todir="${app.server.shared.dir}/endorsed" preservelastmodified="true"/>
<copy file="tools-ng/devel/lib/ojdbc14.jar"
todir="${app.server.home.dir}/lib" preservelastmodified="true"/>
todir="${app.server.shared.dir}" preservelastmodified="true"/>
<copy file="tools-ng/devel/lib/postgresql-jdbc-8.2.506.jar"
todir="${app.server.home.dir}/lib" preservelastmodified="true"/>
todir="${app.server.shared.dir}" preservelastmodified="true"/>
</target>
<target name="start">
<java classname="org.apache.catalina.startup.Bootstrap" fork="yes">
<!-- nolonger needed ? (if anything works as expected)
<sysproperty key="ccm.home" value="${ccm.home}" />
<sysproperty key="ccm.conf" value="${webapp.registry.dir}" />
@ -42,15 +48,14 @@
<sysproperty key="log4j.configuration" value="file:///${app.server..conf.dir}/log4j.xml" />
<sysproperty key="java.protocol.handler.pkgs" value="${java.protocol.handler.pkgs}" />
-->
<!-- nolonger needed ? (if anything works as expected)
Required until URL protocol resource is replaced by ResourceParameter or startup.java
is modified to handle the ccm extra protocol properly. Copy directy into java lib/ext!
<!-- Required until URL protocol resource is replaced by ResourceParameter or startup.java
is modified to handle the ccm extra protocol properly. Copy directy into java lib/ext!
<sysproperty key="java.ext.dirs"
value="${env.JAVA_HOME}/jre/lib/ext;${env.JAVA_HOME}/lib/ext;${app.server.home.dir}/lib/system" />
-->
<!-- nolonger needed ? (if anything works as expected)
-->
<sysproperty key="java.endorsed.dirs" value="${app.server.deploy.dir}/lib/endorsed" />
<sysproperty key="java.endorsed.dirs" value="${app.server.shared.dir}/endorsed" />
<!-- required to prevent Tomcat from using AElfred to check web.xml / taglibs -->
<sysproperty key="javax.xml.transform.TransformerFactory" value="com.icl.saxon.TransformerFactoryImpl" />
@ -59,7 +64,7 @@
<!-- standard parameter to Tomcat operation -->
<sysproperty key="catalina.home" value="${app.server.home.dir}" />
<sysproperty key="catalina.base" value="${app.server.deploy.dir}" />
<sysproperty key="catalina.base" value="${app.server.home.dir}" />
<sysproperty key="catalina.config" value="file:///${app.server.conf.dir}/catalina.properties" />
<jvmarg value="-Xms256m" />
<jvmarg value="-Xmx512m" />