Update of /var/cvs/contributions/didactor2
In directory james.mmbase.org:/tmp/cvs-serv18782
Modified Files:
install-dependency.xml build.xml
Log Message:
web.xml
See also: http://cvs.mmbase.org/viewcvs/contributions/didactor2
Index: install-dependency.xml
===================================================================
RCS file: /var/cvs/contributions/didactor2/install-dependency.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- install-dependency.xml 18 Jul 2008 11:50:32 -0000 1.5
+++ install-dependency.xml 18 Jul 2008 12:10:51 -0000 1.6
@@ -12,6 +12,7 @@
<property name="remote.repository" value="http://www.mmbase.org/maven"
/>
<property name="remote.repository2"
value="http://repo1.maven.org/maven/" />
+ <property name="mmbase.ignorefiles" value="templates/index.jsp" />
<target name="unzipdownloadzip" if="download.zip.present"
unless="download.dir.present">
@@ -86,7 +87,7 @@
<mapper type="glob" from="blocks/*" to="*" />
</unzip>
<unzip src="${download.dir}/${prefix}${name}-${version}.mmbase-module"
dest="${dest}">
- <patternset excludes="${ignorefile},templates">
+ <patternset excludes="${ignorefiles}">
<include name="templates/**"/>
</patternset>
<mapper type="glob" from="templates/*" to="${mmbase.templates.path}*" />
@@ -116,7 +117,7 @@
<param name="name" value="" />
<param name="prefix" value="mmbase" />
<param name="mmbase.templates.path" value="" />
- <param name="ignorefile" value="templates/index.jsp" />
+ <param name="ignorefiles" value="${mmbase.ignorefiles}" />
</antcall>
</target>
Index: build.xml
===================================================================
RCS file: /var/cvs/contributions/didactor2/build.xml,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -b -r1.110 -r1.111
--- build.xml 26 Jun 2008 11:43:16 -0000 1.110
+++ build.xml 18 Jul 2008 12:10:51 -0000 1.111
@@ -1,5 +1,453 @@
-<project name="didactor2" default="webapp" basedir=".">
+<project name="didactor2_19" default="webapp" basedir=".">
+
+ <!-- We need the 'foreach' and 'if' tasks, therefore we use ant-contrib -->
+ <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+ <classpath>
+ <pathelement location="lib/ant-contrib-1.0b1.jar"/>
+ </classpath>
+ </taskdef>
+
+ <taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask">
+ <classpath>
+ <pathelement location="lib/AntelopeTasks_3.4.2.jar" />
+ </classpath>
+ </taskdef>
+
+ <property file="my.properties"/>
+ <property file="configure.properties"/>
+ <property file="build.properties"/>
+
+
+ <property name="defaultexcludes" value="no" />
+
+ <property name="build.webapp.dir" value="${build.dir}/webapp" />
+
+
+ <property name="download.dir" location="${basedir}/download" />
+ <property name="war.dir" value="${build.dir}" />
+ <property name="mmbase.version" value="1.9.0-SNAPSHOT" />
+
+ <property name="mmbaseroot.language" value="en" />
+ <property name="mmbaseroot.datadir" value="." /> <!-- defaults to
WEB-INF/data -->
+
+ <property name="example.war.filter" value="mynews,myyahoo,mycompany" />
+
+ <property name="dest" value="${build.webapp.dir}" />
+ <property name="jardest" value="${build.webapp.dir}/WEB-INF/lib" />
+
+ <property name="mmbase.ignorefiles"
value="templates/index.jsp,templates/WEB-INF/web.xml" />
+
+ <import file="install-dependency.xml" />
+
+ <target name="create.dirs">
+ <mkdir dir="${build.dir}" />
+ <mkdir dir="${build.dir}/classes" />
+ <mkdir dir="${build.webapp.dir}" />
+ <mkdir dir="${build.webapp.dir}/WEB-INF" />
+ <mkdir dir="${build.webapp.dir}/WEB-INF/config" />
+ <mkdir dir="${build.webapp.dir}/WEB-INF/lib" />
+ </target>
+
+
+ <target name="webapp" depends="minimalistic,create.dirs,build" />
+
+ <target name="build" depends="minimalistic,editwizard">
+ <echo message="Building components: ${components}" />
+ <delete file="${build.webapp.dir}/WEB-INF/web.xml" />
+
+ <foreach list="${components}" target="build.component" inheritall="true"
param="component" />
+ <foreach list="${providers}" target="build.provider" inheritall="true"
param="provider" />
+
+ <ant antfile="configure.xml" target="config"/>
+ <if>
+ <available file="${build.webapp.dir}/WEB-INF/config/applications"
type="dir" />
+ <then>
+ <copy todir="${build.webapp.dir}/WEB-INF/config/builders"
flatten="yes">
+ <!--
+ flatten yes? having builders in a sensible sub-dir would make
life a bit better
+ bearable ...
+ Btw, putting the builders under config/applications is
deprecated.
+ Put them under config/builders directly, in a nice sub-dir.
+ -->
+ <fileset dir="${build.webapp.dir}/WEB-INF/config/applications">
+ <include name="**/builders/*.xml"/>
+ </fileset>
+ </copy>
+ </then>
+ </if>
+ </target>
+
+ <target name="compileonly">
+ <echo message="Only compiling all classes" />
+ <foreach list="${components}" target="compile.component" inheritall="true"
param="component" />
+ </target>
+
+ <target name="clean">
+ <delete dir="${build.dir}" />
+ </target>
+
+
+ <target name="config">
+ <ant antfile="configure.xml" target="config"/>
+ </target>
+
+ <target name="build.provider">
+ <echo message="Building provider ${provider}" />
+
+ <!-- copy templates -->
+ <if>
+ <available file="src/core/templates/${provider}" type="dir" />
+ <then>
+ <echo message="Copying templates from src/core/templates/${provider}"
/>
+ <echo message="Warning: putting provider templates in
/src/core/templates is deprecated,
+ consider using /providers/${provider}/templates instead
${defaultexclude} "/>
+ <copy todir="${build.webapp.dir}/${provider}"
+ overwrite="true" preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/core/templates/${provider}">
+ <include name="**"/>
+ <exclude name="templates/**"/>
+ </fileset>
+ </copy>
+ </then>
+ <else>
+ <if>
+ <available file="providers/${provider}/templates" type="dir" />
+ <then>
+ <echo message="Copying templates from
providers/${provider}/templates" />
+ <copy todir="${build.webapp.dir}/${provider}" overwrite="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="providers/${provider}/templates">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ </then>
+ <else>
+ <echo message="WARNING! provider ${provider} does not have any
templates in /src/core/templates/${provider} or
/providers/${provider}/templates"/>
+ </else>
+ </if>
+ </else>
+ </if>
+ <if>
+ <available file="providers/${provider}/templates.zip" type="dir" />
+ <then>
+ <unzip dest="${build.webapp.dir}">
+ <fileset dir="providers/${provider}/templates.zip">
+ <include name="*.zip" />
+ <include name="*.war" />
+ </fileset>
+ </unzip>
+ </then>
+ </if>
+ <if>
+ <available file="providers/${provider}/webinf" type="dir" />
+ <then>
+ <echo message="Copying WEB-INF files from providers/${provider}/webinf"
/>
+ <copy todir="${build.webapp.dir}/WEB-INF" overwrite="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="providers/${provider}/webinf">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ <replace file="${build.webapp.dir}/WEB-INF/classes/oscache.properties"
+ token="$${mmbaseroot.datadir}"
+ value="${mmbaseroot.datadir}"/>
+ </then>
+ </if>
+ </target>
+
+ <target name="compile.component" depends="minimalistic">
+ <echo message="Compiling component ${component}" />
+ <if>
+ <available file="src/${component}/build.xml" type="file" />
+ <then>
+ <ant dir="src/${component}">
+ <property name="dest" value="${build.webapp.dir}" />
+ </ant>
+ </then>
+ </if>
+ <if>
+ <available file="src/${component}/config" type="dir"/>
+ <then>
+ <echo message="copying src/${component}/config" />
+ <mkdir dir="${build.dir}/classes/${component}/org/mmbase/config" />
+ <copy todir="${build.dir}/classes/${component}/org/mmbase/config"
preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/config">
+ <include name="applications/**" />
+ <include name="builders/**" />
+ <include name="components/**" />
+ <include name="di_components/**" />
+ <include name="translations/**" />
+ <include name="datatypes.xml" />
+ </fileset>
+ </copy>
+ </then>
+ </if>
+
+ <!-- build java sources and create a jar file -->
+ <if>
+ <available file="src/${component}/java" type="dir"/>
+ <then>
+ <path id="classpath">
+ <fileset dir="lib/">
+ <include name="*.jar" />
+ </fileset>
+ <fileset dir="${build.webapp.dir}/WEB-INF/lib">
+ <include name="*.jar" />
+ </fileset>
+ </path>
+ <mkdir dir="${build.dir}/classes/${component}" />
+
+ <copy todir="${build.dir}/classes/${component}">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/java">
+ <include name="**/*.properties" />
+ <include name="**/*.xsd" />
+ <include name="**/*.xml" />
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+
+
+ <javac srcdir="src/${component}/java"
+ destdir="${build.dir}/classes/${component}"
+ deprecation="off"
+ debug="yes"
+ classpathref="classpath" />
+
+ <if>
+ <!-- pretty ridiculous. See DIDACTOR-4
+ -->
+ <available file="src/${component}/java/hibernate.cfg.xml"
type="file"/>
+ <then>
+ <!-- hibernate configuration -->
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.driver}"
+ value="${jdbc.driver}"/>
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.host}"
+ value="${jdbc.host}"/>
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.port}"
+ value="${jdbc.port}"/>
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.database}"
+ value="${jdbc.database}"/>
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.user}"
+ value="${jdbc.user}"/>
+ <replace file="${build.dir}/classes/reports/hibernate.cfg.xml"
+ token="$${jdbc.password}"
+ value="${jdbc.password}"/>
+ </then>
+ </if>
+
+ <if>
+ <available file="src/${component}/metainf" />
+ <then>
+ <jar
jarfile="${build.webapp.dir}/WEB-INF/lib/didactor-${component}.jar"
+ includes="**"
+ basedir="${build.dir}/classes/${component}">
+ <metainf dir="src/${component}/metainf">
+ <include name="**" />
+ </metainf>
+ </jar>
+ </then>
+ <else>
+ <jar
jarfile="${build.webapp.dir}/WEB-INF/lib/didactor-${component}.jar"
+ includes="**"
+ basedir="${build.dir}/classes/${component}"
+ />
+ </else>
+ </if>
+ </then>
+ </if>
+ </target>
+
+ <target name="build.component" depends="compile.component">
+ <echo message="Building component ${component}" />
+
+ <!-- copy templates -->
+ <if>
+ <available file="src/${component}/templates" type="dir" />
+ <then>
+ <if>
+ <equals arg1="${component}" arg2="core"/>
+ <then>
+ <copy todir="${build.webapp.dir}" preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/templates">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ </then>
+ <else>
+ <copy todir="${build.webapp.dir}" overwrite="true"
preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/templates">
+ <include name="**"/>
+ <exclude name="CVS/**"/>
+ <exclude name="templates/**"/>
+ <exclude name="editwizards/**/extra_*.xml"/>
+ </fileset>
+ </copy>
+ </else>
+ </if>
+ </then>
+ <else>
+ <echo message="no templates dir in ${component}" />
+ </else>
+ </if>
+
+ <!-- copy component blocks -->
+ <if>
+ <available file="src/${component}/blocks" type="dir" />
+ <then>
+ <copy todir="${build.webapp.dir}/mmbase/components/${component}"
overwrite="true" preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/blocks">
+ </fileset>
+ </copy>
+ </then>
+ </if>
+
+ <!-- copy webinf -->
+ <if>
+ <available file="src/${component}/webinf" type="dir" />
+ <then>
+ <copy todir="${build.webapp.dir}/WEB-INF" preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/webinf">
+ <include name="**"/>
+ <exclude name="**/taglib-extra.tld" />
+ <exclude name="**/web-extra.xml" />
+ </fileset>
+ </copy>
+ <if>
+ <available file="src/${component}/webinf/web-extra.xml" />
+ <then>
+ <property name="mergeXmlFile"
+ location="src/${component}/webinf/web-extra.xml" />
+ <xslt style="merge-web.xml.xslt"
+ in="${build.webapp.dir}/WEB-INF/web.xml"
+ out="${build.webapp.dir}/WEB-INF/web.help.xml">
+ <param name="mergeXmlFile" expression="${mergeXmlFile}" />
+ </xslt>
+ <move file="${build.webapp.dir}/WEB-INF/web.help.xml"
+ tofile="${build.webapp.dir}/WEB-INF/web.xml" />
+ </then>
+ </if>
+
+ </then>
+ </if>
+
+
+ <!-- copy configuration files -->
+ <if>
+ <available file="src/${component}/config" type="dir" />
+ <then>
+ <copy todir="${build.webapp.dir}/WEB-INF/config"
+ preservelastmodified="true">
+ <fileset
+ defaultexcludes="${defaultexcludes}"
+ dir="src/${component}/config">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ </then>
+ </if>
+
+
+ <!-- merge editwizard definitions -->
+ <if>
+ <available file="src/${component}/templates/editwizards/data/config/" />
+ <then>
+ <echo message="Merging wizards of '${component}'" />
+ <foreach target="mergewizards" param="file">
+ <path>
+ <fileset dir="src/${component}/templates/editwizards/data/config/">
+ <include name="**/extra_*.xml" />
+ </fileset>
+ </path>
+ </foreach>
+ </then>
+ </if>
+ </target>
+
+ <target name="mergewizards">
+ <echo>MergeWizards: ${file}</echo>
+ <pathconvert property="cleaned_filename" dirsep="${file.separator}"
pathsep="${path.separator}">
+ <path path="${file}" />
+ <mapper>
+ <globmapper
from="${basedir}/src/${component}/templates/editwizards/data/config/*" to="*"
handledirsep="yes" />
+ </mapper>
+ </pathconvert>
+ <pathconvert property="destfile" dirsep="${file.separator}"
pathsep="${path.separator}">
+ <path
path="${build.webapp.dir}/editwizards/data/config/${cleaned_filename}" />
+ </pathconvert>
+ <echo>Destfile: ${destfile}</echo>
+ <if>
+ <available file="${destfile}" />
+ <then>
+ <echo>Merging in extra wizards defs for ${component}:
${cleaned_filename}</echo>
+ <concat destfile="${destfile}" append="true">
+ <path path="${file}" />
+ </concat>
+ </then>
+ <else>
+ <echo>Copying extra wizards defs for ${component}:
${cleaned_filename}</echo>
+ <copy file="${file}" tofile="${destfile}" preservelastmodified="true"
/>
+ </else>
+ </if>
+ </target>
+
+
+ <target name="war.name.postfix" unless="war.name.postfix">
+ <property name="tag" value="$Name: $" />
+ <if>
+ <contains string="${tag}" substring="Name: $" />
+ <then>
+ <tstamp />
+ <property name="war.name.postfix" value="${DSTAMP}_${TSTAMP}"
/>
+ </then>
+ <else>
+ <!--
+ WTF, I hate Ant
+ 2 external libraries and 8 lines to do something completely
trivial:
+ -->
+ <stringutil string="${tag}" property="tag.length">
+ <length/>
+ </stringutil>
+ <math result="shorter" operand1="${tag.length}" operation="-"
operand2="2" datatype="int"/>
+ <stringutil string="${tag}" property="tag.name">
+ <substring beginindex="7" endindex="${shorter}" />
+ </stringutil>
+ <property name="war.name.postfix" value=".${tag.name}" />
+ </else>
+ </if>
+ <tstamp />
+ <property name="war.name.postfix" value="${DSTAMP}_${TSTAMP}" />
+
+ </target>
+
+ <target name="war" depends="webapp,war.name.postfix">
+ <!-- there also exists a 'war' target, why not use it? -->
+ <jar destfile="${war.dir}/${war.name}${war.name.postfix}.war"
+ basedir="${build.webapp.dir}"
+ defaultexcludes="${defaultexcludes}"
+ />
+ </target>
+
- <import file="build19.xml" />
</project>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs