You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2003/12/04 04:00:06 UTC

cvs commit: avalon-sandbox/ide/org.apache.avalon.ide.repository.testrepo plugin.xml

niclas      2003/12/03 19:00:06

  Modified:    ide/org.apache.avalon.ide.eclipse.repository .classpath
                        .project build.properties
               ide/org.apache.avalon.ide.repository.testrepo plugin.xml
  Added:       ide/org.apache.avalon.ide.eclipse.repository
                        repository-tools.jar
               ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/eclipse/repository
                        PluginResources.properties RepositoryPlugin.java
                        ResourceManager.java
               ide/org.apache.avalon.ide.repository
                        repository-tools.jardesc
  Removed:     ide/org.apache.avalon.ide.eclipse.repository/doc schema.css
               ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/repository
                        Compliance.java InvalidSchemeException.java
                        RepositoryAgent.java
                        RepositoryAgentCreationException.java
                        RepositoryAgentEvent.java
                        RepositoryAgentFactory.java
                        RepositoryAgentFactoryEvent.java
                        RepositoryAgentFactoryListener.java
                        RepositoryAgentListener.java
                        RepositoryConnectionException.java
                        RepositoryException.java
                        RepositoryFormatException.java
                        RepositorySchemeDescriptor.java
                        RepositoryTypeRegistry.java
                        RepositoryTypeRegistryEvent.java
                        RepositoryTypeRegistryListener.java
                        ResourceGroupInfo.java ResourceInfo.java
                        ResourceInfoNotAvailableException.java Version.java
               ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/repository/tools/common
                        AvalonDateVersion.java ComplianceGroupImpl.java
                        ConventionalVersion.java
                        GenericSchemeDescriptor.java NonVersion.java
                        ResourceGroupInfoImpl.java ResourceInfoImpl.java
                        SimpleRepositoryRegistry.java
               ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/repository/tools/compliance
                        EmptyCompliance.java FortressCompliance.java
                        GenericCompliance.java MerlinCompliance.java
                        PhoenixCompliance.java
  Log:
  There might be some bugs in Eclipse CVS handling, since I don't have what I expected, and now trying to restore the file/dir structures.
  
  Revision  Changes    Path
  1.2       +3 -30     avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/.classpath
  
  Index: .classpath
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/.classpath,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .classpath	1 Dec 2003 21:14:38 -0000	1.1
  +++ .classpath	4 Dec 2003 03:00:05 -0000	1.2
  @@ -1,35 +1,8 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <classpath>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.core.resources_3.0.0/resources.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.core.resources_3.0.0/resourcessrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.ui_3.0.0/ui.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.ui_3.0.0/uisrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_LINUX_GTK_X86_SRC/org.eclipse.swt.gtk_3.0.0/ws/gtk/swtsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt-pi.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_LINUX_GTK_X86_SRC/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt-pisrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt-mozilla.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_LINUX_GTK_X86_SRC/org.eclipse.swt.gtk_3.0.0/ws/gtk/swt-mozillasrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.text_3.0.0/text.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.text_3.0.0/textsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.jface_3.0.0/jface.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.jface_3.0.0/jfacesrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.jface.text_3.0.0/jfacetext.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.jface.text_3.0.0/jfacetextsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.ui.views_3.0.0/views.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.ui.views_3.0.0/viewssrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_3.0.0/workbench.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.ui.workbench_3.0.0/workbenchsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench.texteditor_3.0.0/texteditor.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.ui.workbench.texteditor_3.0.0/texteditorsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.ui.editors_3.0.0/editors.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.ui.editors_3.0.0/editorssrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.core.boot_3.0.0/boot.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.core.boot_3.0.0/bootsrc.zip"/>
  -    <classpathentry kind="var"
  -        path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_3.0.0/runtime.jar" sourcepath="ORG_ECLIPSE_PLATFORM_SOURCE_SRC/org.eclipse.core.runtime_3.0.0/runtimesrc.zip"/>
  -    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  +    <classpathentry kind="src" path="build"/>
       <classpathentry kind="src" path="src/java"/>
  -    <classpathentry kind="src" path="/org.apache.avalon.ide.repository"/>
  +    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
  +    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
       <classpathentry kind="output" path="build"/>
   </classpath>
  
  
  
  1.2       +0 -1      avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/.project
  
  Index: .project
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/.project,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .project	1 Dec 2003 21:14:38 -0000	1.1
  +++ .project	4 Dec 2003 03:00:05 -0000	1.2
  @@ -3,7 +3,6 @@
   	<name>org.apache.avalon.ide.eclipse.repository</name>
   	<comment></comment>
   	<projects>
  -		<project>org.apache.avalon.ide.repository</project>
   	</projects>
   	<buildSpec>
   		<buildCommand>
  
  
  
  1.2       +3 -2      avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/build.properties
  
  Index: build.properties
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/build.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- build.properties	1 Dec 2003 14:16:18 -0000	1.1
  +++ build.properties	4 Dec 2003 03:00:05 -0000	1.2
  @@ -1,4 +1,5 @@
  -source.merlin-assembler-plugin.jar = src/
   bin.includes = plugin.xml,\
                  *.jar,\
  -               merlin-assembler-plugin.jar
  +               repository-plugin.jar
  +source.repository-plugin.jar = build/
  +custom = false
  
  
  
  1.1                  avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/repository-tools.jar
  
  	<<Binary file>>
  
  
  1.1                  avalon-sandbox/ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/eclipse/repository/PluginResources.properties
  
  Index: PluginResources.properties
  ===================================================================
  
  USE_PREFERENCES_INSTEAD=Please go to the Preferences... in the Window menu to edit the repositories.
  
  
  
  1.1                  avalon-sandbox/ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/eclipse/repository/RepositoryPlugin.java
  
  Index: RepositoryPlugin.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.ide.eclipse.repository;
         
  import java.util.HashMap;
  
  import org.apache.avalon.ide.eclipse.repository.plugins.*;
  import org.apache.avalon.ide.repository.RepositoryAgentFactory;
  import org.apache.avalon.ide.repository.RepositoryTypeRegistry;
  import org.apache.avalon.ide.repository.tools.common.SimpleRepositoryRegistry;
  import org.eclipse.core.resources.IWorkspace;
  import org.eclipse.core.resources.ResourcesPlugin;
  import org.eclipse.core.runtime.CoreException;
  import org.eclipse.core.runtime.IConfigurationElement;
  import org.eclipse.core.runtime.IExtension;
  import org.eclipse.core.runtime.IExtensionPoint;
  import org.eclipse.core.runtime.IPluginDescriptor;
  import org.eclipse.core.runtime.IPluginEvent;
  import org.eclipse.core.runtime.IPluginListener;
  import org.eclipse.core.runtime.IPluginRegistry;
  import org.eclipse.core.runtime.Platform;
  import org.eclipse.ui.plugin.AbstractUIPlugin;
  
  /**
   * The main plugin class to be used in the desktop.
   * 
   * @author Niclas Hedhman, niclas@hedhman.org
   */
  public class RepositoryPlugin extends AbstractUIPlugin
      implements IPluginListener
  {
      //The shared instance.
      private static RepositoryPlugin m_Plugin;
  
      private ResourceManager m_ResourceManager;
      private SimpleRepositoryRegistry m_RepositoryTypeRegistry;
  
      private HashMap m_PluginHandlers;
      
      /**
  	 * The constructor.
  	 */
      public RepositoryPlugin(IPluginDescriptor descriptor)
      {
          super(descriptor);
          m_Plugin = this;
          m_ResourceManager = new ResourceManager();
          m_RepositoryTypeRegistry = new SimpleRepositoryRegistry();
          createHandlers();
          
          Platform.addPluginListener( this );
      }
  
      public RepositoryTypeRegistry getRepositoryTypeRegistry()
      {
          return m_RepositoryTypeRegistry;
      }
  
      /**
  	 * Returns the shared instance.
  	 */
      public static RepositoryPlugin getDefault()
      {
          return m_Plugin;
      }
  
      /**
  	 * Returns the workspace instance.
  	 */
      public static IWorkspace getWorkspace()
      {
          return ResourcesPlugin.getWorkspace();
      }
  
      public static ResourceManager getResourceManager()
      {
          return m_Plugin.m_ResourceManager;
      }
      
      private void instantiateRepositoryAgentFactories()
          throws CoreException
      {
          IPluginRegistry registry = Platform.getPluginRegistry();
          IExtensionPoint point = registry.getExtensionPoint("org.apache.avalon.ide.eclipse.repository.agent");
          IExtension[] extensions = point.getExtensions();
          for (int i = 0; i < extensions.length; i++) 
          {
              IConfigurationElement[] elements = extensions[i].getConfigurationElements();
              for (int j = 0; j < elements.length; j++) 
              {
                  RepositoryAgentFactory object = (RepositoryAgentFactory) elements[j].createExecutableExtension("extension");
                  System.out.println("Found an executable extension: " + object);
              }
         }
      }
      
      public void pluginChanged( IPluginEvent[] event )
      {
          for( int i=0 ; i < event.length ; i++ )
          {
              Integer type = new Integer( event[i].getType() );
              PluginHandler handler = (PluginHandler) m_PluginHandlers.get( type );
              IPluginDescriptor descriptor = event[i].getPluginDescriptor();
              try
              {
                  handler.handle( descriptor );
              } catch( PluginHandlerException e )
              {
                  // SHOULD-DO Error Handling
                  e.printStackTrace();
                  
              }
          }
      }
      
      private void createHandlers()
      {
          m_PluginHandlers = new HashMap();
          createHandler(IPluginEvent.INSTALLED, new PluginHandlerInstalled(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.RESOLVED, new PluginHandlerResolved(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.STARTED, new PluginHandlerStarted(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.STOPPED, new PluginHandlerStopped(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.UNINSTALLED, new PluginHandlerUninstalled(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.UNRESOLVED, new PluginHandlerUnresolved(m_RepositoryTypeRegistry) );
          createHandler(IPluginEvent.UPDATED, new PluginHandlerUpdated(m_RepositoryTypeRegistry) );
      }
      
      private void createHandler( int type, PluginHandler handler )
      {
          Integer t = new Integer( type );
          m_PluginHandlers.put( t, handler );
      }
  }
       
  
  
  
  1.1                  avalon-sandbox/ide/org.apache.avalon.ide.repository/src/java/org/apache/avalon/ide/eclipse/repository/ResourceManager.java
  
  Index: ResourceManager.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.ide.eclipse.repository;
  
  import java.util.MissingResourceException;
  import java.util.ResourceBundle;
  
  /**
   * @author Niclas Hedhman, niclas@hedhman.org
   */
  public class ResourceManager
  {
      private ResourceBundle m_Bundle;
       
      public ResourceManager()
      {
          try
          {
              m_Bundle = ResourceBundle.getBundle( "org.apache.avalon.ide.eclipse.PluginResources"); //$NON-NLS-1$
          } catch (MissingResourceException x)
          {
              m_Bundle = null;
          }
          
      }
  
      /**
       * Returns the string from the plugin's resource bundle,
       * or 'key' if not found.
       */
      public String getStringResource( String key )
      {
          if( m_Bundle == null )
              return "No Resources found!";
  
          String value = null;
          try
          {        
              value = m_Bundle.getString( key );
          } catch( MissingResourceException e )
          {
              value = key;
          }
          return value;
      }
  
      /**
       * Returns the plugin's resource bundle,
       */
      public ResourceBundle getResourceBundle()
      {
          return m_Bundle;
      }
  }
  
  
  
  1.1                  avalon-sandbox/ide/org.apache.avalon.ide.repository/repository-tools.jardesc
  
  Index: repository-tools.jardesc
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <jardesc>
      <jar path="/home/niclas/dev/opensource/avalon-sandbox/ide/org.apache.avalon.ide.eclipse.repository/repository-tools.jar"/>
      <options overwrite="false" compress="false" exportErrors="true"
          exportWarnings="true" saveDescription="true"
          descriptionLocation="/org.apache.avalon.ide.repository/abc.jardesc"
          useSourceFolders="false" buildIfNeeded="true"/>
      <manifest manifestVersion="1.0" usesManifest="true"
          reuseManifest="false" saveManifest="false"
          generateManifest="true" manifestLocation="">
          <sealing sealJar="false">
              <packagesToSeal/>
              <packagesToUnSeal/>
          </sealing>
      </manifest>
      <selectedElements exportClassFiles="true" exportJavaFiles="false">
          <javaElement handleIdentifier="=org.apache.avalon.ide.repository/src/java"/>
          <file path="/org.apache.avalon.ide.repository/.project"/>
          <file path="/org.apache.avalon.ide.repository/.classpath"/>
      </selectedElements>
  </jardesc>
  
  
  
  1.3       +12 -0     avalon-sandbox/ide/org.apache.avalon.ide.repository.testrepo/plugin.xml
  
  Index: plugin.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/ide/org.apache.avalon.ide.repository.testrepo/plugin.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- plugin.xml	2 Dec 2003 10:19:05 -0000	1.2
  +++ plugin.xml	4 Dec 2003 03:00:06 -0000	1.3
  @@ -18,4 +18,16 @@
      </requires>
   
   
  +   <extension
  +         point="org.apache.avalon.ide.eclipse.repository.agent">
  +      <scheme
  +            name="Test Repository Agent"
  +            prefix="testrepo"
  +            class="org.apache.avalon.ide.repository.testrepo.TestRepoRepositoryAgentFactory">
  +         <description>
  +            This Repository Agent only exists to aid in the creation of the Repository View Plug-In and should not be used beyond that.
  +         </description>
  +      </scheme>
  +   </extension>
  +
   </plugin>
  
  
  

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