You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/10/02 05:07:21 UTC

cvs commit: avalon-excalibur/lifecycle/site/etc site.jsl stylesheet.css

mcconnell    2003/10/01 20:07:21

  Modified:    lifecycle .cvsignore LICENSE.TXT
  Added:       lifecycle README.TXT maven.xml project.xml
               lifecycle/api .cvsignore project.xml
               lifecycle/api/src/java/org/apache/avalon package.html
               lifecycle/api/src/java/org/apache/avalon/lifecycle
                        Accessor.java Creator.java package.html
               lifecycle/impl .cvsignore project.xml
               lifecycle/impl/src/java/org/apache/avalon/lifecycle
                        AbstractAccessor.java AbstractCreator.java
                        package.html
               lifecycle/site LICENSE.txt maven.xml project.properties
                        project.xml
               lifecycle/site/etc site.jsl stylesheet.css
  Removed:     lifecycle ant.properties.sample build.xml default.properties
  Log:
  Migration from ant build to maven build.
  
  Revision  Changes    Path
  1.2       +4 -8      avalon-excalibur/lifecycle/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/lifecycle/.cvsignore,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .cvsignore	9 Apr 2003 02:29:19 -0000	1.1
  +++ .cvsignore	2 Oct 2003 03:07:20 -0000	1.2
  @@ -1,8 +1,4 @@
  -ant.properties
  -build
  -checkstyle.cache
  -distributions
  -dist
  -excalibur-*
  -*.el
  -*.ipr
  +maven.log
  +velocity.log
  +build.properties
  +target
  
  
  
  1.2       +7 -10     avalon-excalibur/lifecycle/LICENSE.TXT
  
  Index: LICENSE.TXT
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/lifecycle/LICENSE.TXT,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LICENSE.TXT	11 Mar 2003 13:31:33 -0000	1.1
  +++ LICENSE.TXT	2 Oct 2003 03:07:20 -0000	1.2
  @@ -1,10 +1,9 @@
  -/*
  -
    ============================================================================
                      The Apache Software License, Version 1.1
    ============================================================================
   
  - Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  + Copyright (C) 1997-2003 The Apache Software Foundation.
  + All rights reserved.
   
    Redistribution and use in source and binary forms, with or without modifica-
    tion, are permitted provided that the following conditions are met:
  @@ -22,10 +21,10 @@
       Alternately, this  acknowledgment may  appear in the software itself,  if
       and wherever such third-party acknowledgments normally appear.
   
  - 4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
  -    "Apache Software Foundation"  must not be used to endorse or promote
  -    products derived  from this  software without  prior written
  -    permission. For written permission, please contact apache@apache.org.
  + 4. The  names   "Apache",   "Avalon",  "Excalibur",  "Fortress",  "Phoenix",
  +    "Merlin" and "Apache Software Foundation" must not be used  to endorse or
  +    promote  products  derived  from  this  software  without  prior  written
  +    permission.  For written permission, please contact apache@apache.org.
   
    5. Products  derived from this software may not  be called "Apache", nor may
       "Apache" appear  in their name,  without prior written permission  of the
  @@ -44,6 +43,4 @@
   
    This software  consists of voluntary contributions made  by many individuals
    on  behalf of the Apache Software  Foundation. For more  information on the
  - Apache Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  + Apache Software Foundation, please see http://www.apache.org/.
  
  
  
  1.1                  avalon-excalibur/lifecycle/README.TXT
  
  Index: README.TXT
  ===================================================================
  
  
  Avalon Framework
  ================
  
  Available goals
  ---------------
  
    avalon:build            - build from sources, jar and install into the local Maven repository
                              [reactor jar:install]
    avalon:build-snapshot   - build and install snapshot jars
                              [reactor jar:install-snapshot]
    avalon:site             - build the site
                              [prereqs: avalon:build]
    avalon:dist             - build the distribution under ${basedir}/target
                              [prereqs: avalon:site]
    avalon:clean            - clean this project and all subprojects
                              [reactor clean:clean]
  
  
  
  
  1.1                  avalon-excalibur/lifecycle/maven.xml
  
  Index: maven.xml
  ===================================================================
  <project default="avalon:build"  xmlns:maven="jelly:maven" xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:ant="jelly:ant">
  
    <ant:property name="maven.dist.assembly.dir"
      value="${maven.build.dir}/temp"/>
    <ant:property name="maven.dist.bin.archive.dir"
      value="${maven.dist.assembly.dir}/bin"/>
    <ant:property name="maven.dist.src.archive.dir"
      value="${maven.dist.assembly.dir}/src"/>
    <ant:property name="maven.dist.bin.assembly.dir"
      value="${maven.dist.assembly.dir}/bin/${pom.artifactId}"/>
    <ant:property name="maven.dist.src.assembly.dir"
      value="${maven.dist.assembly.dir}/src/${pom.artifactId}"/>
    <ant:property name="maven.dist.dir"
      value="${maven.build.dir}/distributions"/>
  
    <goal name="avalon:clean" prereqs="clean">
      <maven:reactor
        basedir="${basedir}"
        includes="*/project.xml"
        goals="clean"
        banner="Cleaning:"
        ignoreFailures="false"/>
    </goal>
  
    <goal name="avalon:build">
      
      <echo>
  
  Building the framework using the default target "avalon:build".
  The complete set of target include:
  
    avalon:clean
    avalon:build
    avalon:build-snapshot
    avalon:dist
      </echo>
  
      <maven:reactor
        basedir="${basedir}"
        includes="*/project.xml"
        excludes="site/project.xml"
        goals="jar:install"
        banner="Building:"
        ignoreFailures="false"/>
      <ant:copy todir="${maven.build.dir}">
        <ant:fileset dir="${basedir}/api/target">
          <ant:include name="${pom.artifactId}-api-${pom.currentVersion}.jar"/>
        </ant:fileset>
        <ant:fileset dir="${basedir}/impl/target">
          <ant:include name="${pom.artifactId}-impl-${pom.currentVersion}.jar"/>
        </ant:fileset>
      </ant:copy>
    </goal>
  
    <goal name="avalon:build-snapshot">
      <maven:reactor
        basedir="${basedir}"
        includes="*/project.xml"
        excludes="site/project.xml"
        goals="jar:install-snapshot"
        banner="Building snapshot:"
        ignoreFailures="false"/>
    </goal>
  
    <!--<goal name="avalon:site" prereqs="avalon:build">-->
    <goal name="avalon:site">
      <maven:reactor
        basedir="${basedir}"
        includes="site/project.xml"
        goals="site"
        banner="Building site:"
        ignoreFailures="false"/>
    </goal>
  
    <goal name="avalon:dist" prereqs="xdist"/>
  
    <goal
      name="xdist:prepare-bin-filesystem" 
      description="Builds the jar files.">
  
      <ant:delete dir="${maven.dist.bin.assembly.dir}"/>
      <ant:mkdir dir="${maven.dist.bin.assembly.dir}"/>
      <ant:echo>
        +-------------------------------------------------------+
        | C R E A T I N G  B I N A R Y  D I S T R I B U T I O N |
        +-------------------------------------------------------+
      </ant:echo>
      <ant:copy todir="${maven.dist.bin.assembly.dir}">
        <ant:fileset dir=".">
          <ant:include name="README.txt"/>
          <ant:include name="LICENSE*"/>
        </ant:fileset>
      </ant:copy>
  
      <!-- Copy Jars -->
      <ant:copy todir="${maven.dist.bin.assembly.dir}">
        <ant:fileset dir="${maven.build.dir}">
          <ant:include name="${pom.artifactId}-api-${pom.currentVersion}.jar"/>
          <ant:include name="${pom.artifactId}-impl-${pom.currentVersion}.jar"/>
        </ant:fileset>
      </ant:copy>
    </goal>
  
    <goal
      name="xdist:prepare-src-filesystem"
      description="Builds the source distribution file system.">
      <ant:delete dir="${maven.dist.src.assembly.dir}" />
      <ant:mkdir dir="${maven.dist.src.assembly.dir}" />
  
      <ant:echo>
        +-------------------------------------------------------+
        | C R E A T I N G  S O U R C E  D I S T R I B U T I O N |
        +-------------------------------------------------------+
      </ant:echo>
  
      <ant:copy todir="${maven.dist.src.assembly.dir}">
        <ant:fileset dir=".">
          <ant:include name="README.txt"/>
          <ant:include name="LICENSE*"/>
          <ant:include name="project.properties"/>
          <ant:include name="maven.xml"/>
          <ant:include name="project.xml"/>
        </ant:fileset>
      </ant:copy>
  
      <!-- Copy Source -->
      <ant:copy todir="${maven.dist.src.assembly.dir}">
        <ant:fileset dir="${basedir}">
          <include name="api/**"/>
          <include name="impl/**"/>
          <exclude name="**/target/**"/>
          <exclude name="**/*.log"/>
        </ant:fileset>
      </ant:copy>
  
    </goal>
  
    <goal name="xdist"
      prereqs="xdist:build"
      description="Build a complete distribution.">
    </goal>
          
    <goal
      name="xdist:build"
      prereqs="xdist:build-bin,xdist:build-src"
      description="Build a complete distribution.">
    </goal>
  
    <goal
      name="xdist:build-setup"
      description="Set up directories for a distribution build">
      <ant:delete dir="${maven.dist.dir}"/>
      <ant:mkdir dir="${maven.dist.dir}"/>
    </goal>
  
    <goal
      name="xdist:build-bin" 
      prereqs="xdist:build-setup,xdist:prepare-bin-filesystem"
      description="Build the binary distribution.">
  
      <!-- Create a tar.gz file -->
      <ant:tar longfile="gnu" tarfile="${maven.dist.dir}/${maven.final.name}.tar">
        <ant:tarfileset dir="${maven.dist.bin.archive.dir}"/>
      </ant:tar>
  
      <ant:gzip 
        zipfile="${maven.dist.dir}/${maven.final.name}.tar.gz"
        src="${maven.dist.dir}/${maven.final.name}.tar"
      />
      
      <ant:delete file="${maven.dist.dir}/${maven.final.name}.tar"/>
  
      <!-- Create a zip file -->
      <ant:zip zipfile="${maven.dist.dir}/${maven.final.name}.zip">
        <ant:zipfileset dir="${maven.dist.bin.archive.dir}"/>
      </ant:zip>
    </goal>
  
    <goal
      name="xdist:build-src"
      prereqs="xdist:build-setup,xdist:prepare-src-filesystem"
      description="Build the source distribution.">
   
      <!-- Create a tar.gz file -->
      <ant:tar longfile="gnu" tarfile="${maven.dist.dir}/${maven.final.name}-src.tar">
        <ant:tarfileset dir="${maven.dist.src.archive.dir}"/>
      </ant:tar>
  
      <ant:gzip 
        zipfile="${maven.dist.dir}/${maven.final.name}-src.tar.gz" 
        src="${maven.dist.dir}/${maven.final.name}-src.tar"
      />
      
      <ant:delete file="${maven.dist.dir}/${maven.final.name}-src.tar"/>
  
      <!-- Create a zip file -->
      <ant:zip zipfile="${maven.dist.dir}/${maven.final.name}-src.zip">
        <ant:zipfileset dir="${maven.dist.src.archive.dir}"/>
      </ant:zip>
  
    </goal>
  
  
  </project>
  
  
  
  1.1                  avalon-excalibur/lifecycle/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
  
    <name>Excalibur Lifecycle</name>
    <groupId>excalibur-lifecycle</groupId>
    <id>excalibur-lifecycle</id>
    <currentVersion>1.0</currentVersion>
    <inceptionYear>2002</inceptionYear>
  
    <organization>
      <name>Apache Software Foundation</name>
      <url>http://jakarta.apache.org/</url>
      <logo>http://avalon.apache.org/images/apache-avalon-logo.png</logo>
    </organization>
  
    <package>org.apache.avalon.lifecycle</package>
  
    <url>http://avalon.apache.org/excalibur/lifecycle</url>
    <issueTrackingUrl>http://nagoya.apache.org/</issueTrackingUrl>
    <siteAddress>avalon.apache.org/excalibur/lifecycle</siteAddress>
    <siteDirectory>/site/excalibur/lifecycle/</siteDirectory>
    <distributionDirectory></distributionDirectory>
  
    <repository>
      <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:avalon-excalibur/lifecycle</connection>
      <url>http://cvs.apache.org/viewcvs/avalon-excalibur/lifecycle/</url>
    </repository>
  
    <mailingLists>
      <mailingList>
        <name>Avalon Dev List</name>
        <subscribe>dev-subscribe@avalon.apache.org</subscribe>
        <unsubscribe>dev-unsubscribe@avalon.apache.org</unsubscribe>
        <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=dev@avalon.apache.org</archive>
      </mailingList>
      <mailingList>
        <name>Avalon User List</name>
        <subscribe>users-subscribe@avalon.apache.org</subscribe>
        <unsubscribe>users-unsubscribe@avalon.apache.org</unsubscribe>
        <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=users@avalon.apache.org</archive>
      </mailingList>
    </mailingLists>
  
    <developers>
      <developer>
        <name>Berin Loritsch</name>
        <id>bloritsch</id>
        <email>bloritsch@apache.org</email>
      </developer>
      <developer>
        <name>Stephen McConnell</name>
        <id>mcconnell</id>
        <email>mcconell@apache.org</email>
      </developer>
      <developer>
        <name>Marcus Crafter</name>
        <id>crafterm</id>
        <email>crafterm@apache.org</email>
      </developer>
    </developers>
  
    <reports>
      <report>maven-changelog-plugin</report>
      <report>maven-file-activity-plugin</report>
      <report>maven-developer-activity-plugin</report>
    </reports>
  
  </project>
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  maven.log
  velocity.log
  build.properties
  target
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
  
    <extend>${basedir}/../project.xml</extend>
  
    <name>Excalibur Lifecycle Extension API</name>
    <id>excalibur-lifecycle-api</id>
    <shortDescription>Excalibur Lifecycle Extension API</shortDescription>
    <description>Excalibur Lifecycle Extension API</description>
  
    <dependencies>
      <dependency>
        <groupId>avalon-framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.1.5</version>
      </dependency>
    </dependencies>
  
    <build>
      <sourceDirectory>src/java</sourceDirectory>
    </build>
  
  </project>
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/src/java/org/apache/avalon/package.html
  
  Index: package.html
  ===================================================================
  <html>
  <body>
  Avalon is the framework and implementation for a component
  architecture in java applications, allowing for easy re-use
  of software components.  It focuses on stable and scalable
  solutions to ease collaborative development. While
  server-oriented, it has been put to successful use in other
  contexts as well.
  </body>
  </html>
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/src/java/org/apache/avalon/lifecycle/Accessor.java
  
  Index: Accessor.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
      "Apache Software Foundation"  must not be used to endorse or promote
      products derived  from this  software without  prior written
      permission. For written permission, please contact apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  package org.apache.avalon.lifecycle;
  
  import org.apache.avalon.framework.context.Context;
  
  /**
   * The <code>Accessor</code> interface describes the access and release
   * stages that occur between a service or component manager and a container
   * during service deployment.  Lifecycle extensions supporting access
   * and release stages must implement this interface.
   *
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   * @version CVS $Revision: 1.1 $ $Date: 2003/10/02 03:07:21 $
   */
  public interface Accessor
  {
      /**
       * Access stage handler.
       *
       * @param object the object that is being accessed
       * @param context the context instance required by the access handler
       *    implementation
       * @exception Exception if an error occurs
       */
      void access( Object object, Context context )
          throws Exception;
  
      /**
       * Release stage handler.
       *
       * @param object the object that is being released
       * @param context the context instance required by the release handler
       *    implementation
       */
      void release( Object object, Context context );
  
  }
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/src/java/org/apache/avalon/lifecycle/Creator.java
  
  Index: Creator.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
      "Apache Software Foundation"  must not be used to endorse or promote
      products derived  from this  software without  prior written
      permission. For written permission, please contact apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  package org.apache.avalon.lifecycle;
  
  import org.apache.avalon.framework.context.Context;
  
  /**
   * The <code>Creator</code> interface describes the create and destroy
   * stages that occur between a component and a container
   * during service management.  Lifecycle extensions supporting create
   * and destroy stages must implement this interface.
   *
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   * @version CVS $Revision: 1.1 $ $Date: 2003/10/02 03:07:21 $
   */
  public interface Creator
  {
      /**
       * Create stage handler.
       *
       * @param object the object that is being created
       * @param context the context instance required by the create handler
       *    implementation
       * @exception Exception if an error occurs
       */
      void create( Object object, Context context )
          throws Exception;
  
      /**
       * Destroy stage handler.
       *
       * @param object the object that is being destroyed
       * @param context the context instance required by the handler
       *    implementation
       */
      void destroy( Object object, Context context );
  
  }
  
  
  
  1.1                  avalon-excalibur/lifecycle/api/src/java/org/apache/avalon/lifecycle/package.html
  
  Index: package.html
  ===================================================================
  <body>
  Container independent interfaces and classes supporting component lifecycle extension.
  </body>
  
  
  
  1.1                  avalon-excalibur/lifecycle/impl/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  maven.log
  velocity.log
  build.properties
  target
  
  
  
  1.1                  avalon-excalibur/lifecycle/impl/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
  
    <extend>${basedir}/../project.xml</extend>
  
    <name>Excalibur Lifecycle Extension Impl</name>
    <id>excalibur-lifecycle-impl</id>
    <shortDescription>Excalibur Lifecycle Extension Implementation</shortDescription>
    <description>Excalibur Lifecycle Extension Implementation</description>
  
    <dependencies>
  
      <dependency>
        <groupId>excalibur-lifecycle</groupId>
        <artifactId>excalibur-lifecycle-api</artifactId>
        <version>1.0</version>
      </dependency>
  
      <dependency>
        <groupId>avalon-framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.1.5</version>
      </dependency>
      <dependency>
        <groupId>avalon-framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.1.5</version>
      </dependency>
      
      <dependency>
        <id>xml-apis</id>
        <version>2.0.2</version>
      </dependency>
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xmlParserAPIs</artifactId>
        <version>2.0.2</version>
      </dependency>
      <dependency>
        <id>xerces</id>
        <version>2.4.0</version>
      </dependency>
      <dependency>
        <id>xalan</id>
        <version>2.5.1</version>
      </dependency>
  
      <dependency>
        <id>log4j</id>
        <version>1.2.7</version>
      </dependency>
      <dependency>
        <id>logkit</id>
        <version>1.2</version>
      </dependency>
      <dependency>
        <id>junit</id>
        <version>3.7</version>
      </dependency>
    </dependencies>
  
    <build>
  
      <nagEmailAddress>dev@avalon.apache.org</nagEmailAddress>
      <sourceDirectory>src/java</sourceDirectory>
      <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
  
      <sourceModifications>
        <sourceModification>
          <className>java.util.logging.Logger</className>
          <excludes>
            <exclude>**/Jdk14Logger.java</exclude>
          </excludes>
        </sourceModification>
      </sourceModifications>
  
      <!-- Unit test classes -->
  
      <unitTest>
        <includes>
          <include>**/*TestCase.*</include>
        </includes>
        <excludes>
          <exclude>**/DefaultNSConfigurationBuilderTestCase.java</exclude>
        </excludes> 
        <resources> 
          <resource>
            <directory>src/test</directory> 
            <includes> 
              <include>**/*.properties</include> 
              <include>**/*.xml</include> 
            </includes>
          </resource>
        </resources>
      </unitTest>
  
      <sourceModifications>
        <sourceModification>
          <className>java.util.logging.Logger</className>
          <excludes>
            <exclude>**/Jdk14Logger.java</exclude>
          </excludes>
        </sourceModification>
      </sourceModifications>
  
    </build>
  
  </project>
  
  
  
  1.1                  avalon-excalibur/lifecycle/impl/src/java/org/apache/avalon/lifecycle/AbstractAccessor.java
  
  Index: AbstractAccessor.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
      "Apache Software Foundation"  must not be used to endorse or promote
      products derived  from this  software without  prior written
      permission. For written permission, please contact apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  
  package org.apache.avalon.lifecycle;
  
  import org.apache.avalon.framework.context.Context;
  import org.apache.avalon.framework.logger.AbstractLogEnabled;
  
  /**
   * Abstract implementation of a <code>Accessor</code>.
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   */
  public class AbstractAccessor extends AbstractLogEnabled implements Accessor
  {
  
      //=======================================================================
      // Accessor
      //=======================================================================
  
      /**
       * Access stage handler.
       *
       * @param object the object that is being accessed
       * @param context the context instance required by the access handler
       *    implementation
       * @exception Exception if an error occurs
       */
      public void access( Object object, Context context )
          throws Exception
      {
          if( getLogger() == null )
          {
              return;
          }
  
          if( getLogger().isDebugEnabled() )
          {
              getLogger().debug(
                  "accessing " + object.getClass().getName()
                  + "#" + System.identityHashCode( object ) );
          }
      }
  
      /**
       * Release stage handler.
       *
       * @param object the object that is being released
       * @param context the context instance required by the release handler
       *    implementation
       */
      public void release( Object object, Context context )
      {
          if( getLogger() == null )
          {
              return;
          }
  
          if( getLogger().isDebugEnabled() )
          {
              getLogger().debug(
                  "releasing " + object.getClass().getName()
                  + "#" + System.identityHashCode( object ) );
          }
      }
  }
  
  
  
  1.1                  avalon-excalibur/lifecycle/impl/src/java/org/apache/avalon/lifecycle/AbstractCreator.java
  
  Index: AbstractCreator.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Jakarta", "Apache Avalon", "Avalon Framework" and
      "Apache Software Foundation"  must not be used to endorse or promote
      products derived  from this  software without  prior written
      permission. For written permission, please contact apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  
  package org.apache.avalon.lifecycle;
  
  import org.apache.avalon.framework.context.Context;
  import org.apache.avalon.framework.logger.AbstractLogEnabled;
  
  /**
   * Abstract implementation of a <code>Creator</code>.
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   */
  public class AbstractCreator extends AbstractLogEnabled implements Creator
  {
  
      //=======================================================================
      // Creator
      //=======================================================================
  
      /**
       * Create stage handler.
       *
       * @param object the object that is being created
       * @param context the context instance required by the create handler
       *    implementation
       * @exception Exception if an error occurs
       */
      public void create( Object object, Context context )
          throws Exception
      {
          if( getLogger() == null )
          {
              return;
          }
  
          if( getLogger().isDebugEnabled() )
          {
              getLogger().debug(
                  "creating " + object.getClass().getName()
                  + "#" + System.identityHashCode( object ) );
          }
      }
  
      /**
       * Destroy stage handler.
       *
       * @param object the object that is being destroyed
       * @param context the context instance required by the handler
       *    implementation
       */
      public void destroy( Object object, Context context )
      {
          if( getLogger() == null )
          {
              return;
          }
  
          if( getLogger().isDebugEnabled() )
          {
              getLogger().debug(
                  "destroying " + object.getClass().getName()
                  + "#" + System.identityHashCode( object ) );
          }
      }
  }
  
  
  
  1.1                  avalon-excalibur/lifecycle/impl/src/java/org/apache/avalon/lifecycle/package.html
  
  Index: package.html
  ===================================================================
  <html>
  <body>
  Avalon is the framework and implementation for a component
  architecture in java applications, allowing for easy re-use
  of software components.  It focuses on stable and scalable
  solutions to ease collaborative development. While
  server-oriented, it has been put to successful use in other
  contexts as well.
  </body>
  </html>
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/LICENSE.txt
  
  Index: LICENSE.txt
  ===================================================================
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1997-2003 The Apache Software Foundation.
   All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The  names   "Apache",   "Avalon",  "Excalibur",  "Fortress",  "Phoenix",
      "Merlin" and "Apache Software Foundation" must not be used  to endorse or
      promote  products  derived  from  this  software  without  prior  written
      permission.  For written permission, please contact apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see http://www.apache.org/.
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/maven.xml
  
  Index: maven.xml
  ===================================================================
  <project default="site" xmlns:maven="jelly:maven" xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:ant="jelly:ant">
  
    <property file="${basedir}/build.properties"/>
    <property file="${basedir}/project.properties"/>
  
    <preGoal name="site">
      <attainGoal name="license"/>
      <attainGoal name="xjavadoc"/>
    </preGoal>
  
    <goal name="xjavadoc">
      <mkdir dir="${basedir}/target/docs/api" />
      <property name="copyright"
        value="Copyright &amp;copy; ${year} ${pom.organization.name}. All Rights Reserved." />
      <property name="title" value="${pom.name} ${pom.currentVersion} API"/>
      <javadoc destdir="${basedir}/target/docs/api" 
  	doctitle="&lt;h1&gt;Avalon Framework&lt;/h1&gt;" 
        noindex="false" author="true" use="true"
  	windowtitle="${title}" 
        bottom="${copyright}"
        additionalparam="-breakiterator -J-Xmx128m "
        packagenames="*,org.*">
          <sourcepath path="${basedir}/../api/src/java"/>
          <sourcepath path="${basedir}/../impl/src/java"/>
          <classpath>
            <path refid="maven.dependency.classpath"/>
  	  </classpath>
  	  <link href="${sun.j2se.link}" />
  	  <link href="${avalon.framework.link}" />
      </javadoc>
    </goal>
  
  </project>
  
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/project.properties
  
  Index: project.properties
  ===================================================================
  
  #
  # Banner background and foreground colors.
  #
  
  maven.ui.banner.background = #fff
  maven.ui.banner.foreground = #000
  maven.xdoc.jsl = file:/${basedir}/../site/etc/site.jsl
  maven.javadoc.stylesheet =${basedir}/../site/etc/stylesheet.css
  
  #
  # Declaration of the remote links to assign on javadoc generation.
  # Link declarations can be overriden in the user's build.properties
  # file.
  #
  
  sun.j2se.link = http://java.sun.com/j2se/1.4/docs/api/
  avalon.framework.link = http://avalon.apache.org/framework/api/
  maven.javadoc.links = ${sun.j2se.link},${avalon.framework.link}
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
  
    <extend>${basedir}/../project.xml</extend>
  
    <name>Avalon Framework</name>
    <id>avalon-framework-docs</id>
  
    <shortDescription>Avalon Framework API</shortDescription>
    <description>Avalon Framework API</description>
  
    <dependencies>
      <dependency>
        <id>log4j</id>
        <version>1.2.7</version>
      </dependency>
      <dependency>
        <id>logkit</id>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>avalon-framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.1.5-RC3</version>
      </dependency>
      <dependency>
        <groupId>avalon-framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.1.5-RC3</version>
      </dependency>
    </dependencies>
  
  </project>
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/etc/site.jsl
  
  Index: site.jsl
  ===================================================================
  <?xml version="1.0"?>
  <!-- stylesheet to be used -->
  <jsl:stylesheet select="$doc"
    xmlns:define="jelly:define"
    xmlns:j="jelly:core"
    xmlns:jsl="jelly:jsl"
    xmlns:log="jelly:log"
    xmlns:util="jelly:util"
    xmlns:x="jelly:xml"
    xmlns:doc="doc"
    xmlns="dummy" trim="false">
    <jsl:template match="document" trim="false">
  
      <x:doctype name="html"
        publicId="-//CollabNet//DTD XHTML 1.0 Transitional//EN"
        systemId="http://www.collabnet.com/dtds/collabnet_transitional_10.dtd"/>
  
      <html>
        <head>
          <j:set var="docTitle">
            <x:expr select="./properties/title"/>
          </j:set>
          <x:if select="$nav/title">
            <title>
              <x:expr select="$nav/title"/> - ${docTitle}
            </title>
          </x:if>
          <x:if select="not($nav/title)">
            <title>${pom.name} - ${docTitle}</title>
          </x:if>
          <j:set var="tigrisCss" value='"${relativePath}/style/tigris.css"'/>
          <j:set var="mavenCss" value='"${relativePath}/style/maven.css"'/>
          <j:set var="osmCss" value='"${relativePath}/style/osm.css"'/>
          <style type="text/css"><![CDATA[
            @import url(${tigrisCss});
            @import url(${mavenCss});
            @import url(${osmCss});
          ]]></style>
          <!-- FIXME: once someone works out how to stop this breaking
          <x:element name="script"><x:attribute name="type">text/javascript</x:attribute>
            if (document.layers) {
                  document.writeln(''+
                  '<link rel="stylesheet" type="text/css" href="${relativePath}/style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="${relativePath}/style/maven_ns4_only.css" media="screen"/>');
                }
              </x:element>
          -->
          <link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print"/>
          <x:forEach var="author" select="./properties/author">
            <meta name="author" value="${author.text}"/>
            <meta name="email" value="${author.attribute('email').value}"/>
          </x:forEach>
        </head>
  
        <body class="composite" marginwidth="0" marginheight="0">
          <div id="banner">
            <table border="0" cellspacing="0" cellpadding="8" width="100%" height="103">
              <tr>
                <!-- organization logo -->
                <td>
                  <j:set var="logo" value="${pom.organization.logo}"/>
                  <j:if test="${!empty(logo)}">
                    <!-- set url to org or project url -->
                    <j:set var="url" value="${pom.organization.url}"/>
                    <j:if test="${!empty(url)}">
                      <j:set var="home" value="${pom.organization.url}"/>
                    </j:if>
                    <j:if test="${empty(url)}">
                      <j:set var="home" value="${pom.url}"/>
                    </j:if>
                    <!-- set image to relative or complete -->
                    <j:set var="image" value="${pom.organization.logo}"/>
                    <j:if test="${!image.startsWith('http://')}">
                      <j:set var="image" value="${relativePath}${image}"/>
                    </j:if>
                    <a href="${home}">
                      <img src="${image}" align="left" alt="${pom.organization.name}" border="0"/>
                    </a>
                  </j:if>
                </td>
  
                <!-- project logo and link -->
                <td>
                  <div align="right" id="login">
                    <j:set var="logo" value="${pom.logo}"/>
                    <j:if test="${logo != null and logo != ''}">
                      <!-- set image to relative or complete -->
                      <j:set var="image" value="${pom.logo}"/>
                      <j:if test="${!image.startsWith('http://')}">
                        <j:set var="image" value="${relativePath}${image}"/>
                      </j:if>
  
                      <a href="${pom.url}">
                        <img src="${image}" align="right" alt="${pom.name}" border="0"/>
                      </a>
                    </j:if>
                  </div>
                </td>
              </tr>
            </table>
          </div>
  
          <div id="breadcrumbs">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr>
                <j:if test="${date == 'left'}">
                  <j:set var="version" value="${maven.xdoc.version}"/>
                  <td>Last published: ${build.date}
                    <j:if test="${!empty(version)}">| Doc for ${version}</j:if>
                  </td>
                </j:if>
                <td>
                  <div align="right">
                    <j:if test="${date == 'right'}">
                      Last published: ${build.date}
                      <x:if select="$nav/body/links">|</x:if>
                    </j:if>
                    <!-- render links -->
                    <x:if select="$nav/body/links">
                      <jsl:applyTemplates select="$nav/body/links"/>
                    </x:if>
                    <x:if select="not($nav/body/links)">
                      <!-- FIXME &nbsp; -->
                    </x:if>
                  </div>
                </td>
              </tr>
            </table>
          </div>
  
          <!-- Body of the page -->
          <table border="0" cellspacing="0" cellpadding="8" width="100%"> <!--id="main" -->
            <tr valign="top">
              <td id="leftcol" width="200">
                <div id="navcolumn">
                  <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-top'}">
                    <div>
                      <small>Last published: ${buildDate}</small>
                    </div>
                  </j:if>
  
                  <x:if select="$nav">
                    <jsl:applyTemplates select="$nav/body/menu"/>
                  </x:if>
  
                  <!-- Standard Maven Navigation -->
                  <j:set var="fileName">${file}</j:set>
  
                  <!-- 
                   ! Check to see if the user wishes to include the
                   ! maven-generated docs on their site.
                   !-->
                  <j:if test="${includeProjectDocumentation.equals('yes')}">
                  <div>
                    <strong>Project Documentation</strong>
                    <!--
                    <div>
                      <small>
                        <a href="${relativePath}/index.html">Front Page</a>
                      </small>
                    </div>
                    -->
                    <div>
                      <small>
                        <a href="${relativePath}/project-info.html">Project Info</a>
                      </small>
                      <util:tokenize var="projectInfoFiles" delim=",">${maven.xdoc.projectInfo}</util:tokenize>
                      <j:forEach var="infoFile" items="${projectInfoFiles}">
                        <j:if test="${relativePath == '.' and fileName.endsWith(infoFile)}">
                          <div>
                            <small>
                              <a href="${relativePath}/mail-lists.html">Mailing Lists</a>
                            </small>
                          </div>
                          <div>
                            <small>
                              <a href="${relativePath}/team-list.html">Project Team</a>
                            </small>
                          </div>
                          <div>
                            <small>
                              <a href="${relativePath}/dependencies.html">Dependencies</a>
                            </small>
                          </div>
                          <j:if test="${!empty(pom.repository.url)}">
                            <div>
                              <small>
                                <a href="${relativePath}/cvs-usage.html">Source Repository</a>
                              </small>
                            </div>
                          </j:if>
                          <j:if test="${!empty(pom.issueTrackingUrl)}">
                            <div>
                              <small>
                                <a href="${relativePath}/issue-tracking.html">Issue Tracking</a>
                              </small>
                            </div>
                          </j:if>
                        </j:if>
                      </j:forEach>
                    </div>
                    <div>
                      <small>
                        <a href="${relativePath}/maven-reports.html">Project Reports</a>
                      </small>
                      <j:choose>
                        <j:when test="${!pom.reports.isEmpty()}">
                          <!--
                           | Check to see if we need to include the report
                           | links in this document.  The only time we
                           | need to do this is when the current document
                           | either the maven-reports.xml doc (the page
                           | is displayed when clicking on Project
                           | Reports) or when the current document is one
                           | of the actual reports (in which case we want
                           | to leave the project report links expanded.
                           |-->
                           <j:set var="includeReportLinks" value="false"/>
                           <j:forEach var="report" items="${reports}">
                             <j:set var="linkWithXmlExt" value="${report.link}.xml"/>
                             <j:if test="${relativePath == '.' and (fileName.endsWith('maven-reports.xml') or fileName.endsWith(linkWithXmlExt))}">
                              <j:set var="includeReportLinks" value="true"/>
                            </j:if>
                          </j:forEach>
                          <!--
                           | If we need to include the report links, then
                           | do so.  This is determined by the above
                           | block.
                           |-->
                          <j:if test="${includeReportLinks == 'true'}">
                            <j:forEach var="report" items="${reports}">
                              <div>
                                <small>
                                  <a href="${relativePath}/${report.link}.html">
                                    ${report.name}
                                  </a>
                                </small>
                              </div>
                            </j:forEach>
                          </j:if>
                        </j:when>
                        <j:otherwise>
                          <!-- The old static method -->
                          <util:tokenize var="projectReportFiles" delim=",">${maven.xdoc.projectReports}</util:tokenize>
                          <j:forEach var="reportFile" items="${projectReportFiles}">
                            <j:if test="${relativePath == '.' and fileName.endsWith(reportFile.trim())}">
                              <util:available file="${maven.docs.src}/tasks.xml">
                                <div>
                                  <small>
                                    <a href="${relativePath}/tasks.html">Tasks</a>
                                  </small>
                                </div>
                              </util:available>
                              <util:available file="${maven.gen.docs}/task-list.xml">
                                <div>
                                  <small>
                                    <a href="${relativePath}/task-list.html">Task List</a>
                                  </small>
                                </div>
                              </util:available>
                              <util:available file="${maven.docs.src}/changes.xml">
                                <div>
                                  <small>
                                    <a href="${relativePath}/changes.html">Changes</a>
                                  </small>
                                </div>
                              </util:available>
                              <j:if test="${!empty(pom.repository.connection)}">
                                <div>
                                  <small>
                                    <a href="${relativePath}/changelog-report.html">Change Log</a>
                                  </small>
                                </div>
                                <div>
                                  <small>
                                    <a href="${relativePath}/developer-activity-report.html">Developer Activity</a>
                                  </small>
                                </div>
                                <div>
                                  <small>
                                    <a href="${relativePath}/file-activity-report.html">File Activity</a>
                                  </small>
                                </div>
                              </j:if>
                              <j:if test="${unitTestSourcesPresent}">
                                <div>
                                  <small>
                                    <a href="${relativePath}/junit-report.html">Unit Tests</a>
                                  </small>
                                </div>
                              </j:if>
                              <j:if test="${sourcesPresent}">
                                <div>
                                  <small>
                                    <a href="${relativePath}/jdepend-report.html">Metric Results</a>
                                  </small>
                                </div>
                                <div>
                                  <small>
                                    <a href="${relativePath}/checkstyle-report.html">Checkstyle Report</a>
                                  </small>
                                </div>
                                <div>
                                  <small>
                                    <a href="${relativePath}/javadoc.html">Javadoc Report</a>
                                  </small>
                                </div>
                              </j:if>
                              <util:available file="${maven.docs.dest}/clover">
                                <div>
                                  <small>
                                    <a href="${relativePath}/clover/index.html">Clover Test Coverage</a>
                                  </small>
                                </div>
                              </util:available>
                              <util:available file="${maven.gen.docs}/cactus-report.xml">
                                <div>
                                  <small>
                                    <a href="${relativePath}/cactus-report.html">Cactus Tests</a>
                                  </small>
                                </div>
                              </util:available>
                            </j:if>
                          </j:forEach>
                        </j:otherwise>
                      </j:choose>
                    </div>
                    <j:if test="${pom.reports.isEmpty()}">
                      <j:if test="${sourcesPresent}">
                        <div>
                          <small>
                            <a href="${relativePath}/apidocs/index.html">JavaDocs</a>
                          </small>
                        </div>
                        <div>
                          <small>
                            <a href="${relativePath}/xref/index.html">Source XReference</a>
                          </small>
                        </div>
                        <j:if test="${unitTestSourcesPresent == 'true'}">
                          <div>
                            <small>
                              <a href="${relativePath}/xref-test/index.html">Test XReference</a>
                            </small>
                          </div>
                        </j:if>
                      </j:if>
                    </j:if>
                    <!--
                    <j:set var="devProcess" value="false"/>
                    <util:available file="${maven.docs.src}/development-process.xml">
                      <j:set var="devProcess" value="true"/>
                    </util:available>
                    <j:if test="${devProcess}">
                      <div>
                        <small>
                          <a href="${relativePath}/development-process.html">Development Process</a>
                        </small>
                      </div>
                    </j:if>
                    <j:if test="${!devProcess}">
                      <div>
                        <small>
                          <j:set var="devProcess">${maven.xdoc.developmentProcessUrl}</j:set>
                          <a href="${devProcess}">Development Process</a>
                        </small>
                      </div>
                    </j:if>
                    -->
                    <div>
                      <small>
                        <a href="${relativePath}/license.html">License</a>
                      </small>
                    </div>
                  </div>
                </j:if>
                  <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-bottom'}">
                    <div>
                      <small>Last published: ${build.date}</small>
                    </div>
                  </j:if>
                </div>
              </td>
              <td>
                <div id="bodycol">
                  <!-- Insert MAIN body here -->
                  <div class="app">
                    <!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
                    <jsl:applyTemplates select="$doc/document/body/section"/>
                    <jsl:applyTemplates select="$doc/document/body/glossary" />
                    <jsl:applyTemplates select="$doc/document/body/release" />
                    <jsl:applyTemplates select="$doc/document/body/changelog" />
                    <jsl:applyTemplates select="$doc/document/body/taskList" />
                    <jsl:applyTemplates select="$doc/document/body/goals" />
                  </div>
                </div>
              </td>
            </tr>
          </table>
          <div id="footer">
            <table border="0" cellspacing="0" cellpadding="4">
              <tr>
                <td>
                  <j:if test="${!empty(pom.organization.name)}">
                    <j:if test="${!empty(pom.inceptionYear)}">
                      <j:if test="${pom.inceptionYear == mavenCurrentYear}">
                        <!-- FIXME &copy; -->${mavenCurrentYear}, ${pom.organization.name}
                      </j:if>
                      <j:if test="${pom.inceptionYear != mavenCurrentYear}">
                        <!-- FIXME &copy; --> ${pom.inceptionYear}-${mavenCurrentYear}, ${pom.organization.name}
                      </j:if>
                    </j:if>
                    <j:if test="${empty(pom.inceptionYear)}">
                      <!-- FIXME &copy; --> ${mavenCurrentYear}, ${pom.organization.name}
                    </j:if>
                  </j:if>
  
                  <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom'}">
                    - Last published: ${build.date}
                  </j:if>
                </td>
                <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom-right'}">
                  <td align="right">Last published: ${build.date}</td>
                </j:if>
              </tr>
            </table>
          </div>
        </body>
      </html>
    </jsl:template>
  
    <!-- process the properties of the doc -->
    <jsl:template match="properties" trim="false">
      <!-- stick head block here later -->
    </jsl:template>
  
    <!-- Process a menu for the navigation bar -->
    <jsl:template match="menu" trim="false">
      <div>
        <strong><x:expr select="@name"/></strong>
        <jsl:applyTemplates select="item"/>
      </div>
    </jsl:template>
  
    <jsl:template match="item" trim="false">
      <div>
        <j:set var="_name"><x:expr select="@name"/></j:set>
        <j:set var="_link"><x:expr select="@href"/></j:set>
        <small><doc:itemLink name="${_name}" link="${_link}"/></small>
        <jsl:applyTemplates select="item"/>
      </div>
    </jsl:template>
  
    <!-- Process the breadcrumb navbar -->
    <jsl:template match="links" trim="false">
      <j:set var="linkCount" value="1"/>
      <x:forEach var="link" select="item">
        <j:if test="${linkCount != 1}">|</j:if>
        <j:set var="_name">
          <x:expr select="@name"/>
        </j:set>
        <j:set var="_link">
          <x:expr select="@href"/>
        </j:set>
        <doc:itemLink name="${_name}" link="${_link}"/>
        <j:set var="linkCount" value="${1+linkCount}"/>
      </x:forEach>
    </jsl:template>
  
    <!-- process a documentation section -->
    <jsl:template match="section" trim="false">
      <div class="h3">
        <j:set var="_sectionName"><x:expr select="@name"/></j:set>
        <j:if test="${!empty(_sectionName)}">
          <h3>
            <a name="${_sectionName}">${_sectionName}</a>
          </h3>
        </j:if>
        <jsl:applyTemplates select="*"/>
      </div>
    </jsl:template>
  
    <jsl:template match="subsection" trim="false">
      <div class="h4">
        <j:set var="_sectionName"><x:expr select="@name"/></j:set>
        <j:if test="${!empty(_sectionName)}">
          <h4>
            <a name="${_sectionName}">${_sectionName}</a>
          </h4>
        </j:if>
        <jsl:applyTemplates select="*"/>
      </div>
    </jsl:template>
  
    <jsl:template match="source" trim="false">
      <div id="source">
        <pre><x:expr select="."/></pre>
      </div>
    </jsl:template>
  
    <jsl:template match="table" trim="false">
      <j:set var="rowcount" value="0"/>
      <table cellpadding="3" cellspacing="2" border="1" width="100%">
        <jsl:applyTemplates select="*"/>
      </table>
    </jsl:template>
  
    <jsl:template match="tr" trim="false">
      <j:choose>
        <j:when test="${rowMode == 'a'}">
          <j:set var="rowMode" value="b"/>
        </j:when>
        <j:otherwise>
          <j:set var="rowMode" value="a"/>
        </j:otherwise>
      </j:choose>
  
      <!-- copy attributes FIXME: Shouldn't this only be colspan|rowspan? -->
      <x:element name="tr"><j:whitespace trim="true">
        <x:attribute name="class">${rowMode}</x:attribute>
        <x:forEach var="attr" select="@*">
          <x:attribute name="${attr.name}">${attr.value}</x:attribute>
        </x:forEach>
        <jsl:applyTemplates select="*"/>
  </j:whitespace></x:element>
    </jsl:template>
  
    <!--************************-->
    <!-- glossary documentation -->
    <!--************************-->
    <jsl:template match="glossary" trim="false">
      <jsl:applyTemplates select="glossary-entries/glossary-entry" />
    </jsl:template>
        
    <jsl:template match="glossary-entry" trim="false">
      <strong><x:expr select="name" /></strong>
      <br/>
      <x:expr select="definition" />
      <p/>
    </jsl:template>
  
        <!--************************-->
        <!-- goals documentation    -->
        <!--************************-->
        <jsl:template match="goals" trim="false">
          <!-- reset row alternation -->
          <j:set var="rowMode" value="" />
          <div class="h3">
            <h3><a name="Goals">Goals</a></h3>
            <table>
              <tr width='100%'><th>Goal</th><th>Description</th></tr>
              <jsl:applyTemplates select="goal"/>
            </table>
          </div>
        </jsl:template>
        
        <!-- a goal -->
          <!-- FIXME: this is copied from tr - there must be a way of
               calling templates in jsl? -->
        <jsl:template match="goal" trim="false">
          <j:choose>
            <j:when test="${rowMode == 'a'}">
              <j:set var="rowMode" value="b"/>
            </j:when>
            <j:otherwise>
              <j:set var="rowMode" value="a"/>
            </j:otherwise>
          </j:choose>
          
          <x:element name="tr"><j:whitespace trim="true">
            <x:attribute name="class">${rowMode}</x:attribute>
            <j:set var="_goalName"><x:expr select="./name" /></j:set>
            <td width='200'><a name="${_goalName}">${_goalName}</a></td>
            <td><jsl:applyTemplates select="description" /></td>
  </j:whitespace></x:element>
        </jsl:template>   
        
        <jsl:template match="description">
          <x:expr select="."/>
        </jsl:template>
  
        <!--************************-->
        <!-- changelog documentation-->
        <!--************************-->
        <jsl:template match="changelog" trim="false">
          <j:set var="rowMode" value="" />
          <table width="100%">
            <tr>
              <th>Date</th><th>Author</th><th>Files/Message</th>
            </tr>
            <jsl:applyTemplates select="changelog-entry" />
          </table>
        </jsl:template>
  
        <!-- transform a changelog entry -->
        <!-- FIXME: tr code copied from above -->
        <jsl:template match="changelog-entry" trim="false">
          <j:choose>
            <j:when test="${rowMode == 'a'}">
              <j:set var="rowMode" value="b"/>
            </j:when>
            <j:otherwise>
              <j:set var="rowMode" value="a"/>
            </j:otherwise>
          </j:choose>
          
          <x:element name="tr"><j:whitespace trim="true">
            <x:attribute name="class">${rowMode}</x:attribute>
            
            <td><x:expr select="date" /> <x:expr select="time" /></td>
            <td><x:expr select="author"/></td>
            <td><jsl:applyTemplates select="*" />
              <pre><x:expr select="msg"/></pre>
            </td>
  </j:whitespace></x:element>
        </jsl:template>
  
        <jsl:template match="file">
          <j:set var="url">${pom.repository.url}<x:expr select="name"/></j:set>
          <j:set var="revUrl">${url}?<x:expr select="revision"/>&amp;content-type=text/vnd.viewcvs-markup</j:set>
          <a href="${url}"><x:expr select="name"/></a> - 
          <a href="${revUrl}">v<x:expr select="revision"/></a>
          <br/>
        </jsl:template>
  
  
    <!-- copy any other elements through -->
    <jsl:template match="*" trim="false">
      <jsl:copy trim="false">
        <jsl:applyTemplates trim="false"/>
      </jsl:copy>
     </jsl:template>
  
     <!-- element values don't pass through as text -->
     <jsl:template match="@*"/>
  
  </jsl:stylesheet>
  
  
  
  1.1                  avalon-excalibur/lifecycle/site/etc/stylesheet.css
  
  Index: stylesheet.css
  ===================================================================
  /* Javadoc style sheet */
  
  /* Define colors, fonts and other style attributes here to override the defaults */
  
  /* Page background color */
  body { background-color: #FFFFFF }
  
  /* Table colors */
  .TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
  .TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
  .TableRowColor         { background: #FFFFFF } /* White */
  
  /* Font used in left-hand frame lists */
  .FrameTitleFont   { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
  .FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
  .FrameItemFont    { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
  
  /* Example of smaller, sans-serif font in frames */
  /* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
  
  /* Navigation bar fonts and colors */
  .NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
  .NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
  .NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
  .NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
  
  .NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
  .NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org