Hi gang,
I figured I'd have a go at publishing some stuff on http://incubator.apache.org/geronimo/. I found that typing 'maven site' consumes over 400mb of memory, then throws an OutOfMemoryException. I guess there's a 'few' leaks in maven :D
Anyway, to be able to build the site, I just redirected some functionality to an old-fashioned shell script. Works handy-dandy; it just highly inefficiently calls maven for each subproject. I also did some other tweaks. Patches attached for your consideration.
In short, here's how to get the mavenized website in place (under unix or cygwin; I'm sure its possible under windoze as well):
# get geronimo and incubator-site cvs and apply patches cd ~/cvs cvs -z3 -d cvs.apache.org:/home/cvs co -P \ incubator-geronimo incubator-site cd incubator-geronimo cvs -z3 up -Pd cp /tmp/site.sh . patch -p0 < /tmp/patch.txt chmod +x site.sh
# build site ./site.sh maven site:tocvs cd ../incubator-site/build/projects/geronimo
# add and commit cvsaddall # this is something like
# ssh -f -N cvs.apache.org # for i in `find . -type d ! -name CVS`; do # cvs -q add $i # done # cvs -q add -R * # kill %1 # # I think cvsutils contains a script for handling this a little # more gracefully
cvs commit -m 'Publish website'
# update the live site manually (optional) ssh cvs.apache.org umask 002 # don't forget this! cd /www/incubator.apache.org/projects/geronimo cvs -z3 up -Pd exit
I probably have the karma to do this, but it's probably best if some active geronimo committers do some QA and then get to grips on this. Once that happens, it should also be possible to automate and run a script like this once every night.
comments, thoughts?
cheers,
- LSD
#!/bin/bash # build all the module websites. Actually, only does the coyping unless # you specify "build" as the argument
if [[ "$1" == "build" ]]; then echo Building module websites... cd modules for i in `find . -type d -maxdepth 1 -mindepth 1 ! -name CVS ! -name target -printf '%P\n'`; do if [[ -f $i/project.xml ]]; then echo - $i website cd $i maven site 2>&1 > ../../project-$i-site.log cd .. fi done cd .. echo Building spec websites... cd specs for i in `find . -type d -maxdepth 1 -mindepth 1 ! -name CVS ! -name target -printf '%P\n'`; do if [[ -f $i/project.xml ]]; then echo - $i website cd $i maven site 2>&1 > ../../spec-$i-site.log cd .. fi done cd .. # generate the main site echo Building main site... maven site 2>&1 > main-site.log fi # copy module docs to main site echo Copy module websites... cd modules for i in `find . -type d -maxdepth 1 -mindepth 1 ! -name CVS ! -name target -printf '%P\n'`; do echo - $i if [[ -f $i/target/docs/index.html ]]; then mkdir -p ../target/docs/modules/$i cp -Rf $i/target/docs/* ../target/docs/modules/$i fi done cd .. echo Copy Specs websites... cd specs for i in `find . -type d -maxdepth 1 -mindepth 1 ! -name CVS ! -name target -printf '%P\n'`; do echo - $i if [[ -f $i/target/docs/index.html ]]; then mkdir -p ../target/docs/specs/$i cp -Rf $i/target/docs/* ../target/docs/specs/$i fi done cd ..
Index: maven.xml
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/maven.xml,v
retrieving revision 1.41
diff -u -r1.41 maven.xml
--- maven.xml 22 Oct 2003 02:31:13 -0000 1.41
+++ maven.xml 27 Oct 2003 19:30:57 -0000
@@ -433,13 +433,12 @@
<!--<attainGoal name="maven-developer-activity-plugin:deregister"/>-->
</postGoal>
- <preGoal name="site">
+ <!--<preGoal name="site">
<attainGoal name="modules:aggregate:site"/>
- </preGoal>
+ </preGoal>-->
<goal name="modules:aggregate:site" prereqs="modules:site"
description="Copy the generated websites of all the modules into the
root project">
-
<ant:echo>Aggregating module site documentation...</ant:echo>
<!-- Setup the target aggregation directory -->
Index: etc/maven.xml
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/etc/maven.xml,v
retrieving revision 1.21
diff -u -r1.21 maven.xml
--- etc/maven.xml 1 Sep 2003 22:06:55 -0000 1.21
+++ etc/maven.xml 27 Oct 2003 19:30:58 -0000
@@ -1,337 +1,356 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Revision: 1.21 $ $Date: 2003/09/01 22:06:55 $ -->
-
-<project default="default"
- xmlns:j="jelly:core"
- xmlns:u="jelly:util"
- xmlns:ant="jelly:ant"
- xmlns:maven="jelly:maven"
- xmlns:define="jelly:define"
- xmlns:xdoclet="common:xdoclet"
- xmlns:castor="common:castor">
-
- <!-- ================= -->
- <!-- Global Properties -->
- <!-- ================= -->
-
- <!-- Determine what the top-level project root is -->
- <j:set var="project.root"
value="${pom.parentBasedir().getParentFile().getCanonicalFile()}"/>
-
- <!-- Load the global properties -->
- <ant:property file="${project.root}/etc/global.properties"/>
-
-
- <!-- ==================== -->
- <!-- Default Global Goals -->
- <!-- ==================== -->
-
- <goal name="default">
- <attainGoal name="jar:install"/>
- </goal>
-
- <goal name="build">
- <attainGoal name="default"/>
- </goal>
-
- <goal name="rebuild">
- <attainGoal name="clean"/>
- <attainGoal name="build"/>
- </goal>
-
- <!-- For testing -->
- <goal name="hello">
- <ant:echo>
- H E L L O
- ---------
- Module Name: ${pom.name}
- </ant:echo>
- </goal>
-
- <!-- Remove classes which depend on changed files, so they will rebuild. -->
- <preGoal name="java:compile">
- <j:if test="${sourcesPresent}">
- <ant:depend srcdir="${maven.compile.source}"
- destdir="${maven.build.dest}"
- dump="false"
- closure="false">
- <j:forEach var="sm" items="${pom.build.sourceModifications}">
- <ant:available property="classPresent" classname="${sm.className}"/>
- <j:if test="${classPresent != 'true'}">
- <j:forEach var="exclude" items="${sm.excludes}">
- <ant:exclude name="${exclude}"/>
- </j:forEach>
- <j:forEach var="include" items="${sm.includes}">
- <ant:include name="${include}"/>
- </j:forEach>
- </j:if>
- </j:forEach>
- </ant:depend>
- </j:if>
- </preGoal>
-
- <!-- Remove the log files -->
- <goal name="clobber"
- description="Removes all (non-repository installed) build generated
files">
-
- <!-- Let clean:clean do some work first -->
- <attainGoal name="clean:clean"/>
-
- <j:jelly xmlns="jelly:ant">
- <delete quiet="false" failonerror="false">
- <fileset dir="${basedir}">
- <include name="maven.log"/>
- <include name="velocity.log*"/>
- <include name="junit*.properties"/>
- </fileset>
- </delete>
- </j:jelly>
-
- </goal>
-
- <!-- Cleanse source files -->
- <goal name="cleanse-sources"
- description="Cleanse source files, removing tabs and translating CRLF
-> LF">
-
- <j:scope xmlns="jelly:ant">
-
- <!-- Cleanse sources -->
- <j:set var="srcdir" value="${basedir}/src/java"/>
- <u:available file="">
- <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
- <include name="**/*.java"/>
- </fixcrlf>
- <fixcrlf srcdir="${basedir}" eol="lf" eof="remove" tab="remove"
tablength="2">
- <include name="**/*.xml"/>
- <include name="**/*.html"/>
- </fixcrlf>
- </u:available>
-
- <!-- Cleanse test sources -->
- <j:set var="srcdir" value="${basedir}/src/test"/>
- <u:available file="${srcdir}">
- <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
- <include name="**/*.java"/>
- <include name="**/*.xml"/>
- <include name="**/*.html"/>
- </fixcrlf>
- <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="2">
- <include name="**/*.xml"/>
- <include name="**/*.html"/>
- </fixcrlf>
- </u:available>
-
- <!-- Cleanse xdocs -->
- <j:set var="srcdir" value="${basedir}/src/xdocs"/>
- <u:available file="${srcdir}">
- <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="2">
- <include name="**/*.xml"/>
- <include name="**/*.html"/>
- </fixcrlf>
- </u:available>
-
- <!-- Cleanse build files -->
- <fixcrlf srcdir="." eol="lf" tab="remove" eof="remove" tablength="2">
- <include name="project.xml"/>
- <include name="maven.xml"/>
- </fixcrlf>
-
- <!-- Cleanse scripts -->
- <j:set var="srcdir" value="${basedir}/src/bin"/>
- <u:available file="${srcdir}">
- <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
- <include name="**/*"/>
- </fixcrlf>
- </u:available>
-
- </j:scope>
-
- </goal>
-
- <!-- Check if the tests need to run -->
- <preGoal name="test:test">
- <j:if test="${context.getVariable('maven.test.force') == null}">
- <j:set var="uptodatePropName" value="tests.uptodate"/>
- <j:remove var="${uptodatePropName}"/>
- <ant:mkdir dir="${basedir}/target/test-reports/"/>
- <j:set var="uptodateFile" value="${basedir}/target/test-reports/tstamp"/>
-
- <ant:uptodate property="${uptodatePropName}"
- targetfile="${uptodateFile}">
- <ant:srcfiles dir="${basedir}/src/" includes="**/*"/>
- </ant:uptodate>
-
- <j:if test="${context.getVariable(uptodatePropName) == 'true'}">
- <ant:echo>NOTICE: Skipping tests; they seem to have passed
already</ant:echo>
- <j:set var="maven.test.skip" value="true"/>
- <j:set var="unitTestSourcesPresent" value="false"/>
- </j:if>
- </j:if>
- </preGoal>
-
- <!-- Update the timestamp of the last successful test -->
- <postGoal name="test:test">
- <j:if test="${context.getVariable('maven.test.failure') == null}">
- <ant:touch file="${basedir}/target/test-reports/tstamp"/>
- </j:if>
- </postGoal>
-
-
- <!-- =================== -->
- <!-- XDoclet Integration -->
- <!-- =================== -->
-
- <define:taglib uri="common:xdoclet">
-
- <define:tag name="jmxdoclet" xmlns="jelly:ant">
- <j:if test="${srcdir == null}">
- <fail>Missing required attribute: srcdir</fail>
- </j:if>
- <j:if test="${destdir == null}">
- <fail>Missing required attribute: destdir</fail>
- </j:if>
-
- <!-- Inlcude the generated sources in the Javac compile -->
- <j:if test="${appendSet != null}">
- <path id="xdoclet.jmx.compile.src.set" location="${destdir}"/>
- <maven:addPath id="${appendSet}" refid="xdoclet.jmx.compile.src.set"/>
- </j:if>
-
- <j:set var="uptodatePropName" value="xdoclet.jmx.uptodate"/>
- <j:expr value="${context.setVariable(uptodatePropName, null)}"/>
- <j:set var="uptodateFile" value="${destdir}/tstamp"/>
-
- <uptodate property="${uptodatePropName}"
- targetfile="${uptodateFile}">
- <srcfiles dir="${srcdir}" includes="**/*.java"/>
- </uptodate>
-
- <j:if test="${context.getVariable(uptodatePropName) == null}">
- <echo>Generating MBean interfaces...</echo>
-
- <!-- Load the jmxdoclet task -->
- <taskdef name="jmxdoclet"
classname="xdoclet.modules.jmx.JMXDocletTask">
- <classpath>
- <path refid="maven.dependency.classpath"/>
- </classpath>
- </taskdef>
-
- <!-- Where sources will be generated -->
- <mkdir dir="${destdir}"/>
-
- <!-- Generate MBean interfaces -->
- <jmxdoclet destDir="${destdir}" verbose="false">
-
- <fileset dir="${srcdir}">
- <include name="**/*.java"/>
- </fileset>
-
- <mbeaninterface
templateFile="${project.root}/etc/xdoclet/template/jmx/mbean.xdt"/>
- </jmxdoclet>
-
- <touch file="${uptodateFile}"/>
- </j:if>
-
- </define:tag>
- </define:taglib>
-
- <goal name="xdoclet:jmxdoclet:compile">
- <xdoclet:jmxdoclet
- srcdir="${basedir}/src/java"
- destdir="${basedir}/target/xdoclet/jmx"
- appendSet="maven.compile.src.set"/>
- </goal>
-
- <goal name="xdoclet:jmxdoclet:test-compile">
- <xdoclet:jmxdoclet
- srcdir="${basedir}/src/test"
- destdir="${basedir}/target/test-xdoclet/jmx"
- appendSet="maven.test.compile.src.set"/>
- </goal>
-
-
- <!-- ===================================== -->
- <!-- Castor Integration (Plugin is Broken) -->
- <!-- ===================================== -->
-
- <define:taglib uri="common:castor">
-
- <define:tag name="generate" xmlns="jelly:ant">
- <j:if test="${schema == null}">
- <fail>Missing required attribute: schema</fail>
- </j:if>
- <j:if test="${package == null}">
- <fail>Missing required attribute: package</fail>
- </j:if>
- <!-- types can be null -->
- <!-- marshal can be null -->
- <!-- binding can be null -->
-
- <j:set var="maven.castor.dest" value="${basedir}/target/castor/gen"/>
- <mkdir dir="${maven.castor.dest}"/>
-
- <path id="maven.castor.compile.src.set"
- location="${maven.castor.dest}"/>
- <maven:addPath id="maven.compile.src.set"
- refid="maven.castor.compile.src.set"/>
-
- <u:file var="schemaFile" name="${schema}"/>
- <j:if test="${binding != null}">
- <u:file var="bindingFile" name="${binding}"/>
- </j:if>
- <j:set var="uptodatePropName"
value="castor.schema.${schemaFile.name}.uptodate"/>
- <j:set var="uptodateFile"
value="${basedir}/target/castor/${schemaFile.name}.tstamp"/>
-
- <uptodate property="${uptodatePropName}"
- targetfile="${uptodateFile}">
- <!-- Evil hack to make uptodate work when I do not have a known
basedir -->
- <srcfiles dir="${schemaFile.parentFile.path}"
includes="${schemaFile.name}"/>
- <j:if test="${binding != null}">
- <srcfiles dir="${bindingFile.parentFile.path}"
includes="${bindingFile.name}"/>
- </j:if>
- </uptodate>
-
- <j:if test="${context.getVariable(uptodatePropName) != 'true'}">
- <echo message="Generating sources for ${schema}"/>
-
- <path id="castor.classpath">
- <path refid="maven.dependency.classpath"/>
- </path>
-
- <java className="org.exolab.castor.builder.SourceGenerator"
- failonerror="true"
- fork="yes">
-
- <classpath refid="castor.classpath"/>
- <arg value="-i"/>
- <arg value="${schema}"/>
-
- <j:if test="${binding != null}">
- <arg value="-binding-file"/>
- <arg value="${binding}"/>
- </j:if>
-
- <arg value="-package"/>
- <arg value="${package}"/>
-
- <j:if test="${types != null}">
- <arg value="-types"/>
- <arg value="${types}"/>
- </j:if>
-
- <j:if test="${marshal == 'false'}">
- <arg value="-nomarshall"/>
- </j:if>
-
- <arg value="-f"/>
- <arg value="-dest"/>
- <arg value="${maven.castor.dest}"/>
- </java>
-
- <touch file="${uptodateFile}"/>
- </j:if>
-
- </define:tag>
- </define:taglib>
-
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Revision: 1.21 $ $Date: 2003/09/01 22:06:55 $ -->
+
+<project default="default"
+ xmlns:j="jelly:core"
+ xmlns:u="jelly:util"
+ xmlns:ant="jelly:ant"
+ xmlns:maven="jelly:maven"
+ xmlns:define="jelly:define"
+ xmlns:xdoclet="common:xdoclet"
+ xmlns:castor="common:castor">
+
+ <!-- ================= -->
+ <!-- Global Properties -->
+ <!-- ================= -->
+
+ <!-- Determine what the top-level project root is -->
+ <j:set var="project.root"
value="${pom.parentBasedir().getParentFile().getCanonicalFile()}"/>
+
+ <!-- Load the global properties -->
+ <ant:property file="${project.root}/etc/global.properties"/>
+
+
+ <!-- ==================== -->
+ <!-- Default Global Goals -->
+ <!-- ==================== -->
+
+ <goal name="default">
+ <attainGoal name="jar:install"/>
+ </goal>
+
+ <goal name="build">
+ <attainGoal name="default"/>
+ </goal>
+
+ <goal name="rebuild">
+ <attainGoal name="clean"/>
+ <attainGoal name="build"/>
+ </goal>
+
+ <!-- For testing -->
+ <goal name="hello">
+ <ant:echo>
+ H E L L O
+ ---------
+ Module Name: ${pom.name}
+ </ant:echo>
+ </goal>
+
+ <!-- Remove classes which depend on changed files, so they will rebuild. -->
+ <preGoal name="java:compile">
+ <j:if test="${sourcesPresent}">
+ <ant:depend srcdir="${maven.compile.source}"
+ destdir="${maven.build.dest}"
+ dump="false"
+ closure="false">
+ <j:forEach var="sm" items="${pom.build.sourceModifications}">
+ <ant:available property="classPresent" classname="${sm.className}"/>
+ <j:if test="${classPresent != 'true'}">
+ <j:forEach var="exclude" items="${sm.excludes}">
+ <ant:exclude name="${exclude}"/>
+ </j:forEach>
+ <j:forEach var="include" items="${sm.includes}">
+ <ant:include name="${include}"/>
+ </j:forEach>
+ </j:if>
+ </j:forEach>
+ </ant:depend>
+ </j:if>
+ </preGoal>
+
+ <!-- Remove the log files -->
+ <goal name="clobber"
+ description="Removes all (non-repository installed) build generated
files">
+
+ <!-- Let clean:clean do some work first -->
+ <attainGoal name="clean:clean"/>
+
+ <j:jelly xmlns="jelly:ant">
+ <delete quiet="false" failonerror="false">
+ <fileset dir="${basedir}">
+ <include name="maven.log"/>
+ <include name="velocity.log*"/>
+ <include name="junit*.properties"/>
+ </fileset>
+ </delete>
+ </j:jelly>
+
+ </goal>
+
+ <!-- Cleanse source files -->
+ <goal name="cleanse-sources"
+ description="Cleanse source files, removing tabs and translating CRLF
-> LF">
+
+ <j:scope xmlns="jelly:ant">
+
+ <!-- Cleanse sources -->
+ <j:set var="srcdir" value="${basedir}/src/java"/>
+ <u:available file="">
+ <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
+ <include name="**/*.java"/>
+ </fixcrlf>
+ <fixcrlf srcdir="${basedir}" eol="lf" eof="remove" tab="remove"
tablength="2">
+ <include name="**/*.xml"/>
+ <include name="**/*.html"/>
+ </fixcrlf>
+ </u:available>
+
+ <!-- Cleanse test sources -->
+ <j:set var="srcdir" value="${basedir}/src/test"/>
+ <u:available file="${srcdir}">
+ <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
+ <include name="**/*.java"/>
+ <include name="**/*.xml"/>
+ <include name="**/*.html"/>
+ </fixcrlf>
+ <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="2">
+ <include name="**/*.xml"/>
+ <include name="**/*.html"/>
+ </fixcrlf>
+ </u:available>
+
+ <!-- Cleanse xdocs -->
+ <j:set var="srcdir" value="${basedir}/src/xdocs"/>
+ <u:available file="${srcdir}">
+ <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="2">
+ <include name="**/*.xml"/>
+ <include name="**/*.html"/>
+ </fixcrlf>
+ </u:available>
+
+ <!-- Cleanse build files -->
+ <fixcrlf srcdir="." eol="lf" tab="remove" eof="remove" tablength="2">
+ <include name="project.xml"/>
+ <include name="maven.xml"/>
+ </fixcrlf>
+
+ <!-- Cleanse scripts -->
+ <j:set var="srcdir" value="${basedir}/src/bin"/>
+ <u:available file="${srcdir}">
+ <fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove"
tablength="4">
+ <include name="**/*"/>
+ </fixcrlf>
+ </u:available>
+
+ </j:scope>
+
+ </goal>
+
+ <!-- Check if the tests need to run -->
+ <preGoal name="test:test">
+ <j:if test="${context.getVariable('maven.test.force') == null}">
+ <j:set var="uptodatePropName" value="tests.uptodate"/>
+ <j:remove var="${uptodatePropName}"/>
+ <ant:mkdir dir="${basedir}/target/test-reports/"/>
+ <j:set var="uptodateFile" value="${basedir}/target/test-reports/tstamp"/>
+
+ <ant:uptodate property="${uptodatePropName}"
+ targetfile="${uptodateFile}">
+ <ant:srcfiles dir="${basedir}/src/" includes="**/*"/>
+ </ant:uptodate>
+
+ <j:if test="${context.getVariable(uptodatePropName) == 'true'}">
+ <ant:echo>NOTICE: Skipping tests; they seem to have passed
already</ant:echo>
+ <j:set var="maven.test.skip" value="true"/>
+ <j:set var="unitTestSourcesPresent" value="false"/>
+ </j:if>
+ </j:if>
+ </preGoal>
+
+ <!-- Update the timestamp of the last successful test -->
+ <postGoal name="test:test">
+ <j:if test="${context.getVariable('maven.test.failure') == null}">
+ <ant:touch file="${basedir}/target/test-reports/tstamp"/>
+ </j:if>
+ </postGoal>
+
+
+ <!-- =================== -->
+ <!-- XDoclet Integration -->
+ <!-- =================== -->
+
+ <define:taglib uri="common:xdoclet">
+
+ <define:tag name="jmxdoclet" xmlns="jelly:ant">
+ <j:if test="${srcdir == null}">
+ <fail>Missing required attribute: srcdir</fail>
+ </j:if>
+ <j:if test="${destdir == null}">
+ <fail>Missing required attribute: destdir</fail>
+ </j:if>
+
+ <!-- Inlcude the generated sources in the Javac compile -->
+ <j:if test="${appendSet != null}">
+ <path id="xdoclet.jmx.compile.src.set" location="${destdir}"/>
+ <maven:addPath id="${appendSet}" refid="xdoclet.jmx.compile.src.set"/>
+ </j:if>
+
+ <j:set var="uptodatePropName" value="xdoclet.jmx.uptodate"/>
+ <j:expr value="${context.setVariable(uptodatePropName, null)}"/>
+ <j:set var="uptodateFile" value="${destdir}/tstamp"/>
+
+ <uptodate property="${uptodatePropName}"
+ targetfile="${uptodateFile}">
+ <srcfiles dir="${srcdir}" includes="**/*.java"/>
+ </uptodate>
+
+ <j:if test="${context.getVariable(uptodatePropName) == null}">
+ <echo>Generating MBean interfaces...</echo>
+
+ <!-- Load the jmxdoclet task -->
+ <taskdef name="jmxdoclet"
classname="xdoclet.modules.jmx.JMXDocletTask">
+ <classpath>
+ <path refid="maven.dependency.classpath"/>
+ </classpath>
+ </taskdef>
+
+ <!-- Where sources will be generated -->
+ <mkdir dir="${destdir}"/>
+
+ <!-- Generate MBean interfaces -->
+ <jmxdoclet destDir="${destdir}" verbose="false">
+
+ <fileset dir="${srcdir}">
+ <include name="**/*.java"/>
+ </fileset>
+
+ <mbeaninterface
templateFile="${project.root}/etc/xdoclet/template/jmx/mbean.xdt"/>
+ </jmxdoclet>
+
+ <touch file="${uptodateFile}"/>
+ </j:if>
+
+ </define:tag>
+ </define:taglib>
+
+ <goal name="xdoclet:jmxdoclet:compile">
+ <xdoclet:jmxdoclet
+ srcdir="${basedir}/src/java"
+ destdir="${basedir}/target/xdoclet/jmx"
+ appendSet="maven.compile.src.set"/>
+ </goal>
+
+ <goal name="xdoclet:jmxdoclet:test-compile">
+ <xdoclet:jmxdoclet
+ srcdir="${basedir}/src/test"
+ destdir="${basedir}/target/test-xdoclet/jmx"
+ appendSet="maven.test.compile.src.set"/>
+ </goal>
+
+
+ <!-- ===================================== -->
+ <!-- Castor Integration (Plugin is Broken) -->
+ <!-- ===================================== -->
+
+ <define:taglib uri="common:castor">
+
+ <define:tag name="generate" xmlns="jelly:ant">
+ <j:if test="${schema == null}">
+ <fail>Missing required attribute: schema</fail>
+ </j:if>
+ <j:if test="${package == null}">
+ <fail>Missing required attribute: package</fail>
+ </j:if>
+ <!-- types can be null -->
+ <!-- marshal can be null -->
+ <!-- binding can be null -->
+
+ <j:set var="maven.castor.dest" value="${basedir}/target/castor/gen"/>
+ <mkdir dir="${maven.castor.dest}"/>
+
+ <path id="maven.castor.compile.src.set"
+ location="${maven.castor.dest}"/>
+ <maven:addPath id="maven.compile.src.set"
+ refid="maven.castor.compile.src.set"/>
+
+ <u:file var="schemaFile" name="${schema}"/>
+ <j:if test="${binding != null}">
+ <u:file var="bindingFile" name="${binding}"/>
+ </j:if>
+ <j:set var="uptodatePropName"
value="castor.schema.${schemaFile.name}.uptodate"/>
+ <j:set var="uptodateFile"
value="${basedir}/target/castor/${schemaFile.name}.tstamp"/>
+
+ <uptodate property="${uptodatePropName}"
+ targetfile="${uptodateFile}">
+ <!-- Evil hack to make uptodate work when I do not have a known
basedir -->
+ <srcfiles dir="${schemaFile.parentFile.path}"
includes="${schemaFile.name}"/>
+ <j:if test="${binding != null}">
+ <srcfiles dir="${bindingFile.parentFile.path}"
includes="${bindingFile.name}"/>
+ </j:if>
+ </uptodate>
+
+ <j:if test="${context.getVariable(uptodatePropName) != 'true'}">
+ <echo message="Generating sources for ${schema}"/>
+
+ <path id="castor.classpath">
+ <path refid="maven.dependency.classpath"/>
+ </path>
+
+ <java className="org.exolab.castor.builder.SourceGenerator"
+ failonerror="true"
+ fork="yes">
+
+ <classpath refid="castor.classpath"/>
+ <arg value="-i"/>
+ <arg value="${schema}"/>
+
+ <j:if test="${binding != null}">
+ <arg value="-binding-file"/>
+ <arg value="${binding}"/>
+ </j:if>
+
+ <arg value="-package"/>
+ <arg value="${package}"/>
+
+ <j:if test="${types != null}">
+ <arg value="-types"/>
+ <arg value="${types}"/>
+ </j:if>
+
+ <j:if test="${marshal == 'false'}">
+ <arg value="-nomarshall"/>
+ </j:if>
+
+ <arg value="-f"/>
+ <arg value="-dest"/>
+ <arg value="${maven.castor.dest}"/>
+ </java>
+
+ <touch file="${uptodateFile}"/>
+ </j:if>
+
+ </define:tag>
+ </define:taglib>
+
+ <!-- ===================================== -->
+ <!-- Turn of most reports...it takes ages! -->
+ <!-- ===================================== -->
+
+ <postGoal name="xdoc:register-reports">
+ <attainGoal name="maven-license-plugin:deregister"/>
+ <attainGoal name="maven-checkstyle-plugin:deregister"/>
+ <attainGoal name="maven-pmd-plugin:deregister"/>
+ <attainGoal name="maven-simian-plugin:deregister"/>
+ <attainGoal name="maven-jdepend-plugin:deregister"/>
+ <attainGoal name="maven-statcvs-plugin:deregister"/>
+ <!--<attainGoal name="maven-jxr-plugin:deregister"/>-->
+ <!--<attainGoal name="maven-javadoc-plugin:deregister"/>-->
+ <!--<attainGoal name="maven-junit-report-plugin:deregister"/>-->
+ <attainGoal name="maven-clover-plugin:deregister"/>
+ <attainGoal name="maven-changelog-plugin:deregister"/>
+ <attainGoal name="maven-file-activity-plugin:deregister"/>
+ <attainGoal name="maven-developer-activity-plugin:deregister"/>
+ </postGoal>
</project>
Index: etc/global.properties
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/etc/global.properties,v
retrieving revision 1.5
diff -u -r1.5 global.properties
--- etc/global.properties 1 Sep 2003 18:47:14 -0000 1.5
+++ etc/global.properties 27 Oct 2003 19:30:58 -0000
@@ -1,77 +1,77 @@
-##
-## $Revision: 1.5 $ $Date: 2003/09/01 18:47:14 $
-##
-
-#####################################################
-# Build and Deployment
-#####################################################
-
-maven.repo.remote=http://www.ibiblio.org/maven/
-
-maven.compile.source=1.4
-maven.compile.target=1.4
-maven.compile.deprecation=true
-maven.compile.debug=true
-maven.compile.optimize=true
-
-maven.junit.fork=true
-
-maven.simian.linecount=3
-
-# Force module tests to run, even if maven thinks they have passed
-#maven.test.force=true
-
-
-#####################################################
-# Properties related to project-site
-#####################################################
-
-maven.xdoc.date=left
-maven.xdoc.version=${pom.currentVersion}
-
-maven.linkcheck.enable=true
-
-maven.javadoc.links=http://java.sun.com/j2se/1.4.1/docs/api/
-maven.javadoc.source=1.4
-
-
-#####################################################
-# Site Colors
-#####################################################
-
-maven.ui.body.background=#FFFFFF
-maven.ui.body.foreground=#1F354D
-maven.ui.section.background=#A2B7C5
-maven.ui.section.foreground=#FFFFFF
-maven.ui.subsection.foreground=#1F354D
-maven.ui.subsection.background=#F2F5F7
-maven.ui.table.header.background=#E5E3DB
-maven.ui.table.header.foreground=#686868
-maven.ui.table.row.odd.foreground=#686868
-maven.ui.table.row.even.background=#F5F4F1
-maven.ui.table.row.odd.background=#F5F4F1
-maven.ui.table.row.even.foreground=#686868
-maven.ui.banner.background=#FFFFFF
-maven.ui.banner.foreground=#FFFFFF
-maven.ui.banner.border.top=#A2B7C5
-maven.ui.banner.border.bottom=#A2B7C5
-maven.ui.source.background=#FFFFFF
-maven.ui.source.foreground=#000000
-maven.ui.source.border.right=#A2B7C5
-maven.ui.source.border.top=#A2B7C5
-maven.ui.source.border.left=#A2B7C5
-maven.ui.source.border.bottom=#A2B7C5
-maven.ui.navcol.background=#F2F5F7
-maven.ui.navcol.background.ns4=#F2F5F7
-maven.ui.navcol.foreground=#000000
-maven.ui.navcol.foreground.ns4=#555
-maven.ui.navcol.border.top=#F2F5F7
-maven.ui.navcol.border.right=#A2B7C5
-maven.ui.navcol.border.bottom=#A2B7C5
-maven.ui.breadcrumbs.background=#D5E1E9
-maven.ui.breadcrumbs.foreground=#000000
-maven.ui.breadcrumbs.border.bottom=#A2B7C5
-maven.ui.breadcrumbs.border.top=#D5E1E9
-maven.ui.href.link=#1F354D
-maven.ui.href.link.active=#FF5A00
-maven.ui.href.link.selfref=#1F354D
+##
+## $Revision: 1.5 $ $Date: 2003/09/01 18:47:14 $
+##
+
+#####################################################
+# Build and Deployment
+#####################################################
+
+maven.repo.remote=http://www.ibiblio.org/maven/
+
+maven.compile.source=1.4
+maven.compile.target=1.4
+maven.compile.deprecation=true
+maven.compile.debug=true
+maven.compile.optimize=true
+
+maven.junit.fork=true
+
+maven.simian.linecount=3
+
+# Force module tests to run, even if maven thinks they have passed
+#maven.test.force=true
+
+
+#####################################################
+# Properties related to project-site
+#####################################################
+
+maven.xdoc.date=left
+maven.xdoc.version=DEV
+
+maven.linkcheck.enable=true
+
+maven.javadoc.links=http://java.sun.com/j2se/1.4.1/docs/api/
+maven.javadoc.source=1.4
+
+
+#####################################################
+# Site Colors
+#####################################################
+
+maven.ui.body.background=#FFFFFF
+maven.ui.body.foreground=#1F354D
+maven.ui.section.background=#A2B7C5
+maven.ui.section.foreground=#FFFFFF
+maven.ui.subsection.foreground=#1F354D
+maven.ui.subsection.background=#F2F5F7
+maven.ui.table.header.background=#E5E3DB
+maven.ui.table.header.foreground=#686868
+maven.ui.table.row.odd.foreground=#686868
+maven.ui.table.row.even.background=#F5F4F1
+maven.ui.table.row.odd.background=#F5F4F1
+maven.ui.table.row.even.foreground=#686868
+maven.ui.banner.background=#FFFFFF
+maven.ui.banner.foreground=#FFFFFF
+maven.ui.banner.border.top=#A2B7C5
+maven.ui.banner.border.bottom=#A2B7C5
+maven.ui.source.background=#FFFFFF
+maven.ui.source.foreground=#000000
+maven.ui.source.border.right=#A2B7C5
+maven.ui.source.border.top=#A2B7C5
+maven.ui.source.border.left=#A2B7C5
+maven.ui.source.border.bottom=#A2B7C5
+maven.ui.navcol.background=#F2F5F7
+maven.ui.navcol.background.ns4=#F2F5F7
+maven.ui.navcol.foreground=#000000
+maven.ui.navcol.foreground.ns4=#555
+maven.ui.navcol.border.top=#F2F5F7
+maven.ui.navcol.border.right=#A2B7C5
+maven.ui.navcol.border.bottom=#A2B7C5
+maven.ui.breadcrumbs.background=#D5E1E9
+maven.ui.breadcrumbs.foreground=#000000
+maven.ui.breadcrumbs.border.bottom=#A2B7C5
+maven.ui.breadcrumbs.border.top=#D5E1E9
+maven.ui.href.link=#1F354D
+maven.ui.href.link.active=#FF5A00
+maven.ui.href.link.selfref=#1F354D
