diff options
author | Joakim Erdfelt <joakime@apache.org> | 2007-10-10 09:47:20 +0000 |
---|---|---|
committer | Joakim Erdfelt <joakime@apache.org> | 2007-10-10 09:47:20 +0000 |
commit | e6bf5123682cc82597a80b7ee893c10840c0b163 (patch) | |
tree | cb67b3d7f81a210f5fc47d7d998f9594d0a432ad /archiva-base/archiva-repository-layer | |
parent | 25bc854985e1cac10e356155886f3289df1afbe9 (diff) | |
download | archiva-e6bf5123682cc82597a80b7ee893c10840c0b163.tar.gz archiva-e6bf5123682cc82597a80b7ee893c10840c0b163.zip |
[MRM-432] Proxy Connectors are unable to download artifacts with alpha numerical version numbers
[MRM-519] fail to resolve artifactId for libs that contain versionKeyword in artifactId, like "maven-test-plugin"
[MRM-518] Changing the internal repository directory has no effect
[MRM-512] Unable to convert null repository config to archiva repository.
[MRM-533] metadata-updater is changing lastUpdating timestamp when it shouldn't
[MRM-493] Downloaded artifacts are stored in incorrect archiva-managed repository
- Work against proposal in mailing list http://www.nabble.com/-Proposal--Repository-Layout-Detection-Interaction-Changes.-tf4577852.html
- Creation of package org.apache.maven.archiva.repository.content
- Creation of RepositoryContent alternative as outlined in proposal.
- Have not swung all code over to new repositorycontent object yet.
- Left old BidirectionalRepositoryLayout classes in place temporarily.
- Migrated the following over to new RepositoryContent objects...
* the /repository/ url
* proxying
* metadata updating
* repository purge classes
- Unit testing. Lots and lots of unit testing.
- Correcting bad template email address.
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@583412 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-base/archiva-repository-layer')
53 files changed, 11709 insertions, 1053 deletions
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/AllTests.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ContentNotFoundException.java index 719b18369..993a7a095 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/AllTests.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ContentNotFoundException.java @@ -1,4 +1,4 @@ -package org.apache.maven.archiva.repository.project.filters; +package org.apache.maven.archiva.repository; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -19,26 +19,33 @@ package org.apache.maven.archiva.repository.project.filters; * under the License. */ -import junit.framework.Test; -import junit.framework.TestSuite; - /** - * AllTests + * ContentNotFoundException is thrown in response for requests for content that is not the repository. * * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ -public class AllTests +public class ContentNotFoundException + extends RepositoryException { - public static Test suite() + public ContentNotFoundException() { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.filters" ); - //$JUnit-BEGIN$ - suite.addTestSuite( ProjectModelExpressionExpanderTest.class ); - suite.addTestSuite( EffectiveProjectModelFilterTest.class ); - //$JUnit-END$ - return suite; + super(); } + public ContentNotFoundException( String message, Throwable cause ) + { + super( message, cause ); + } + + public ContentNotFoundException( String message ) + { + super( message ); + } + + public ContentNotFoundException( Throwable cause ) + { + super( cause ); + } } diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java new file mode 100644 index 000000000..21a3b5fbc --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java @@ -0,0 +1,209 @@ +package org.apache.maven.archiva.repository; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +import java.io.File; +import java.util.Set; + +/** + * ManagedRepositoryContent interface for interacting with a managed repository in an abstract way, + * without the need for processing based on filesystem paths, or working with the database. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public interface ManagedRepositoryContent +{ + /** + * Delete from the managed repository all files / directories associated with the + * provided version reference. + * + * @param reference the version reference to delete. + * @throws ContentNotFoundException + */ + public void deleteVersion( VersionedReference reference ) + throws ContentNotFoundException; + + /** + * <p> + * Convenience method to get the repository id. + * </p> + * + * <p> + * Equivalent to calling <code>.getRepository().getId()</code> + * </p> + * + * @return the repository id. + */ + public String getId(); + + /** + * <p> + * Gather up the list of related artifacts to the ArtifactReference provided. + * This typically inclues the pom files, and those things with + * classifiers (such as doc, source code, test libs, etc...) + * </p> + * + * <p> + * <strong>NOTE:</strong> Some layouts (such as maven 1 "legacy") are not compatible with this query. + * </p> + * + * @param reference the reference to work off of. + * @return the set of ArtifactReferences for related artifacts. + * @throws ContentNotFoundException if the initial artifact reference does not exist within the repository. + * @throws LayoutException + */ + public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference ) + throws ContentNotFoundException, LayoutException; + + /** + * <p> + * Convenience method to get the repository (on disk) root directory. + * </p> + * + * <p> + * Equivalent to calling <code>.getRepository().getLocation()</code> + * </p> + * + * @return the repository (on disk) root directory. + */ + public String getRepoRoot(); + + /** + * Get the repository configuration associated with this + * repository content. + * + * @return the repository that is associated with this repository content. + */ + public ManagedRepositoryConfiguration getRepository(); + + /** + * Given a specific ProjectReference, return the list of available versions for + * that project reference. + * + * @param reference the project reference to work off of. + * @return the list of versions found for that project reference. + * @throws ContentNotFoundException if the project reference does nto exist within the repository. + * @throws LayoutException + */ + public Set<String> getVersions( ProjectReference reference ) + throws ContentNotFoundException, LayoutException; + + /** + * <p> + * Given a specific VersionedReference, return the list of available versions for that + * versioned reference. + * </p> + * + * <p> + * <strong>NOTE:</strong> This is really only useful when working with SNAPSHOTs. + * </p> + * + * @param reference the versioned reference to work off of. + * @return the set of versions found. + * @throws ContentNotFoundException if the versioned reference does not exist within the repository. + * @throws LayoutException + */ + public Set<String> getVersions( VersionedReference reference ) + throws ContentNotFoundException, LayoutException; + + /** + * Determines if the artifact referenced exists in the repository. + * + * @param reference the artifact reference to check for. + * @return true if the artifact referenced exists. + */ + public boolean hasContent( ArtifactReference reference ); + + /** + * Determines if the project referenced exists in the repository. + * + * @param reference the project reference to check for. + * @return true it the project referenced exists. + */ + public boolean hasContent( ProjectReference reference ); + + /** + * Determines if the version reference exists in the repository. + * + * @param reference the version reference to check for. + * @return true if the version referenced exists. + */ + public boolean hasContent( VersionedReference reference ); + + /** + * Set the repository configuration to associate with this + * repository content. + * + * @param repo the repository to associate with this repository content. + */ + public void setRepository( ManagedRepositoryConfiguration repo ); + + /** + * Given a repository relative path to a filename, return the {@link VersionedReference} object suitable for the path. + * + * @param path the path relative to the repository base dir for the artifact. + * @return the {@link ArtifactReference} representing the path. (or null if path cannot be converted to + * a {@link ArtifactReference}) + * @throws LayoutException if there was a problem converting the path to an artifact. + */ + public ArtifactReference toArtifactReference( String path ) + throws LayoutException; + + /** + * Given an ArtifactReference, return the file reference to the artifact. + * + * @param reference the artifact reference to use. + * @return the relative path to the artifact. + */ + public File toFile( ArtifactReference reference ); + + /** + * Given a project reference, return the path to the metadata for + * the project. + * + * @param reference the reference to use. + * @return the path to the metadata file, or null if no metadata is appropriate. + */ + public String toMetadataPath( ProjectReference reference ); + + /** + * Given a versioned reference, return the path to the metadata for + * the specific version of the project. + * + * @param reference the reference to use. + * @return the path to the metadata file, or null if no metadata is appropriate. + */ + public String toMetadataPath( VersionedReference reference ); + + /** + * Given an ArtifactReference, return the relative path to the artifact. + * + * @param reference the artifact reference to use. + * @return the relative path to the artifact. + */ + public String toPath( ArtifactReference reference ); +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java new file mode 100644 index 000000000..74df638ee --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java @@ -0,0 +1,105 @@ +package org.apache.maven.archiva.repository; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.RepositoryURL; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RemoteRepositoryContent interface for interacting with a remote repository in an abstract way, + * without the need for processing based on URLs, or working with the database. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public interface RemoteRepositoryContent +{ + /** + * <p> + * Convenience method to get the repository id. + * </p> + * + * <p> + * Equivalent to calling <code>.getRepository().getId()</code> + * </p> + * + * @return the repository id. + */ + public String getId(); + + /** + * Get the repository configuration associated with this + * repository content. + * + * @return the repository that is associated with this repository content. + */ + public RemoteRepositoryConfiguration getRepository(); + + /** + * <p> + * Convenience method to get the repository url. + * </p> + * + * <p> + * Equivalent to calling <code>new RepositoryURL( this.getRepository().getUrl() )</code> + * </p> + * + * @return the repository url. + */ + public RepositoryURL getURL(); + + /** + * Set the repository configuration to associate with this + * repository content. + * + * @param repo the repository to associate with this repository content. + */ + public void setRepository( RemoteRepositoryConfiguration repo ); + + /** + * Given a repository relative path to a filename, return the {@link VersionedReference} object suitable for the path. + * + * @param path the path relative to the repository base dir for the artifact. + * @return the {@link ArtifactReference} representing the path. (or null if path cannot be converted to + * a {@link ArtifactReference}) + * @throws LayoutException if there was a problem converting the path to an artifact. + */ + public ArtifactReference toArtifactReference( String path ) + throws LayoutException; + + /** + * Given an ArtifactReference, return the relative path to the artifact. + * + * @param reference the artifact reference to use. + * @return the relative path to the artifact. + */ + public String toPath( ArtifactReference reference ); + + /** + * Given an ArtifactReference, return the url to the artifact. + * + * @param reference the artifact reference to use. + * @return the relative path to the artifact. + */ + public RepositoryURL toURL( ArtifactReference reference ); +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java new file mode 100644 index 000000000..08807f474 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java @@ -0,0 +1,204 @@ +package org.apache.maven.archiva.repository; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.ArchivaConfiguration; +import org.apache.maven.archiva.configuration.ConfigurationNames; +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.codehaus.plexus.PlexusContainer; +import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.context.Context; +import org.codehaus.plexus.context.ContextException; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; +import org.codehaus.plexus.registry.Registry; +import org.codehaus.plexus.registry.RegistryListener; + +import java.util.HashMap; +import java.util.Map; + +/** + * RepositoryContentRequest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.RepositoryContentFactory" + */ +public class RepositoryContentFactory + implements Contextualizable, RegistryListener, Initializable +{ + /** + * @plexus.requirement + */ + private ArchivaConfiguration archivaConfiguration; + + private Map<String, ManagedRepositoryContent> managedContentMap; + + private Map<String, RemoteRepositoryContent> remoteContentMap; + + private PlexusContainer container; + + /** + * Get the ManagedRepositoryContent object for the repository Id specified. + * + * @param repoId the repository id to fetch. + * @return the ManagedRepositoryContent object associated with the repository id. + * @throws RepositoryNotFoundException if the repository id does not exist within the configuration. + * @throws RepositoryException the repository content object cannot be loaded due to configuration issue. + */ + public ManagedRepositoryContent getManagedRepositoryContent( String repoId ) + throws RepositoryNotFoundException, RepositoryException + { + ManagedRepositoryContent repo = managedContentMap.get( repoId ); + + if ( repo != null ) + { + return repo; + } + + ManagedRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration() + .findManagedRepositoryById( repoId ); + if ( repoConfig == null ) + { + throw new RepositoryNotFoundException( "Unable to find managed repository configuration for id:" + repoId ); + } + + try + { + repo = (ManagedRepositoryContent) container.lookup( ManagedRepositoryContent.class, repoConfig.getLayout() ); + repo.setRepository( repoConfig ); + managedContentMap.put( repoId, repo ); + } + catch ( ComponentLookupException e ) + { + throw new RepositoryException( "Specified layout [" + repoConfig.getLayout() + + "] on managed repository id [" + repoId + "] is not valid.", e ); + } + + return repo; + } + + public RemoteRepositoryContent getRemoteRepositoryContent( String repoId ) + throws RepositoryNotFoundException, RepositoryException + { + RemoteRepositoryContent repo = remoteContentMap.get( repoId ); + + if ( repo != null ) + { + return repo; + } + + RemoteRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration() + .findRemoteRepositoryById( repoId ); + if ( repoConfig == null ) + { + throw new RepositoryNotFoundException( "Unable to find remote repository configuration for id:" + repoId ); + } + + try + { + repo = (RemoteRepositoryContent) container.lookup( RemoteRepositoryContent.class, repoConfig.getLayout() ); + repo.setRepository( repoConfig ); + remoteContentMap.put( repoId, repo ); + } + catch ( ComponentLookupException e ) + { + throw new RepositoryException( "Specified layout [" + repoConfig.getLayout() + + "] on remote repository id [" + repoId + "] is not valid.", e ); + } + + return repo; + } + + public void contextualize( Context context ) + throws ContextException + { + container = (PlexusContainer) context.get( "plexus" ); + } + + public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue ) + { + if ( ConfigurationNames.isManagedRepositories( propertyName ) + || ConfigurationNames.isRemoteRepositories( propertyName ) ) + { + initMaps(); + } + } + + public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue ) + { + /* do nothing */ + } + + public void initialize() + throws InitializationException + { + managedContentMap = new HashMap<String, ManagedRepositoryContent>(); + remoteContentMap = new HashMap<String, RemoteRepositoryContent>(); + + archivaConfiguration.addChangeListener( this ); + } + + private void initMaps() + { + synchronized ( managedContentMap ) + { + // First, return any references to the container. + for ( ManagedRepositoryContent repo : managedContentMap.values() ) + { + try + { + container.release( repo ); + } + catch ( ComponentLifecycleException e ) + { + /* ignore */ + } + } + + // Next clear the map. + managedContentMap.clear(); + } + + synchronized ( remoteContentMap ) + { + // First, return any references to the container. + for ( RemoteRepositoryContent repo : remoteContentMap.values() ) + { + try + { + container.release( repo ); + } + catch ( ComponentLifecycleException e ) + { + /* ignore */ + } + } + + // Next clear the map. + remoteContentMap.clear(); + } + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/AllTests.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryNotFoundException.java index 4fd446bdd..9fb7e1cca 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/AllTests.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryNotFoundException.java @@ -1,4 +1,4 @@ -package org.apache.maven.archiva.repository.metadata; +package org.apache.maven.archiva.repository; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -19,26 +19,32 @@ package org.apache.maven.archiva.repository.metadata; * under the License. */ -import junit.framework.Test; -import junit.framework.TestSuite; - /** - * AllTests + * RepositoryNotFoundException * * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ -public class AllTests +public class RepositoryNotFoundException + extends RepositoryException { - public static Test suite() + public RepositoryNotFoundException() { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.metadata" ); - //$JUnit-BEGIN$ - suite.addTestSuite( RepositoryMetadataWriterTest.class ); - suite.addTestSuite( RepositoryMetadataReaderTest.class ); - //$JUnit-END$ - return suite; } + public RepositoryNotFoundException( String message, Throwable cause ) + { + super( message, cause ); + } + + public RepositoryNotFoundException( String message ) + { + super( message ); + } + + public RepositoryNotFoundException( Throwable cause ) + { + super( cause ); + } } diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java index a656df066..5aee6b2cc 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java @@ -19,8 +19,8 @@ package org.apache.maven.archiva.repository.connector; * under the License. */ -import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; -import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; import java.util.List; @@ -32,9 +32,9 @@ import java.util.List; */ public interface RepositoryConnector { - public ManagedRepositoryConfiguration getSourceRepository(); + public ManagedRepositoryContent getSourceRepository(); - public RemoteRepositoryConfiguration getTargetRepository(); + public RemoteRepositoryContent getTargetRepository(); public List<String> getBlacklist(); diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java new file mode 100644 index 000000000..30d54ec85 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java @@ -0,0 +1,121 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.common.utils.VersionUtil; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * AbstractDefaultRepositoryContent - common methods for working with default (maven 2) layout. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public abstract class AbstractDefaultRepositoryContent +{ + public static final String MAVEN_METADATA = "maven-metadata.xml"; + + protected static final char PATH_SEPARATOR = '/'; + + protected static final char GROUP_SEPARATOR = '.'; + + protected static final char ARTIFACT_SEPARATOR = '-'; + + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return DefaultPathParser.toArtifactReference( path ); + } + + public String toMetadataPath( ProjectReference reference ) + { + StringBuffer path = new StringBuffer(); + + path.append( formatAsDirectory( reference.getGroupId() ) ).append( PATH_SEPARATOR ); + path.append( reference.getArtifactId() ).append( PATH_SEPARATOR ); + path.append( MAVEN_METADATA ); + + return path.toString(); + } + + public String toMetadataPath( VersionedReference reference ) + { + StringBuffer path = new StringBuffer(); + + path.append( formatAsDirectory( reference.getGroupId() ) ).append( PATH_SEPARATOR ); + path.append( reference.getArtifactId() ).append( PATH_SEPARATOR ); + if ( reference.getVersion() != null ) + { + // add the version only if it is present + path.append( VersionUtil.getBaseVersion( reference.getVersion() ) ).append( PATH_SEPARATOR ); + } + path.append( MAVEN_METADATA ); + + return path.toString(); + } + + public String toPath( ArtifactReference reference ) + { + if ( reference == null ) + { + throw new IllegalArgumentException( "Artifact reference cannot be null" ); + } + + String baseVersion = VersionUtil.getBaseVersion( reference.getVersion() ); + return toPath( reference.getGroupId(), reference.getArtifactId(), baseVersion, reference.getVersion(), + reference.getClassifier(), reference.getType() ); + } + + private String formatAsDirectory( String directory ) + { + return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR ); + } + + private String toPath( String groupId, String artifactId, String baseVersion, String version, String classifier, + String type ) + { + StringBuffer path = new StringBuffer(); + + path.append( formatAsDirectory( groupId ) ).append( PATH_SEPARATOR ); + path.append( artifactId ).append( PATH_SEPARATOR ); + + if ( baseVersion != null ) + { + path.append( baseVersion ).append( PATH_SEPARATOR ); + if ( ( version != null ) && ( type != null ) ) + { + path.append( artifactId ).append( ARTIFACT_SEPARATOR ).append( version ); + + if ( StringUtils.isNotBlank( classifier ) ) + { + path.append( ARTIFACT_SEPARATOR ).append( classifier ); + } + + path.append( GROUP_SEPARATOR ).append( ArtifactExtensionMapping.getExtension( type ) ); + } + } + + return path.toString(); + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java new file mode 100644 index 000000000..a9acaf2b9 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java @@ -0,0 +1,119 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +import java.util.HashMap; +import java.util.Map; + +/** + * AbstractLegacyRepositoryContent + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public abstract class AbstractLegacyRepositoryContent +{ + private static final String DIR_JAVADOC = "javadoc.jars"; + + private static final String DIR_JAVA_SOURCE = "java-sources"; + + private static final String PATH_SEPARATOR = "/"; + + private static final Map<String, String> typeToDirectoryMap; + + static + { + typeToDirectoryMap = new HashMap<String, String>(); + typeToDirectoryMap.put( "ejb-client", "ejb" ); + typeToDirectoryMap.put( "distribution-tgz", "distribution" ); + typeToDirectoryMap.put( "distribution-zip", "distribution" ); + } + + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return LegacyPathParser.toArtifactReference( path ); + } + + public String toPath( ArtifactReference reference ) + { + if ( reference == null ) + { + throw new IllegalArgumentException( "Artifact reference cannot be null" ); + } + + return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(), reference + .getClassifier(), reference.getType() ); + } + + private String toPath( String groupId, String artifactId, String version, String classifier, String type ) + { + StringBuffer path = new StringBuffer(); + + path.append( groupId ).append( PATH_SEPARATOR ); + path.append( getDirectory( classifier, type ) ).append( PATH_SEPARATOR ); + + if ( version != null ) + { + path.append( artifactId ).append( '-' ).append( version ); + + if ( StringUtils.isNotBlank( classifier ) ) + { + path.append( '-' ).append( classifier ); + } + + path.append( '.' ).append( ArtifactExtensionMapping.getExtension( type ) ); + } + + return path.toString(); + } + + private String getDirectory( String classifier, String type ) + { + // Special Cases involving type + classifier + if ( "jar".equals( type ) && StringUtils.isNotBlank( classifier ) ) + { + if ( "sources".equals( classifier ) ) + { + return DIR_JAVA_SOURCE; + } + + if ( "javadoc".equals( classifier ) ) + { + return DIR_JAVADOC; + } + } + + // Special Cases involving only type. + String dirname = (String) typeToDirectoryMap.get( type ); + + if ( dirname != null ) + { + return dirname + "s"; + } + + // Default process. + return type + "s"; + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java index cedbb7b41..dc9f268b4 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java @@ -19,22 +19,25 @@ package org.apache.maven.archiva.repository.content; * under the License. */ +import org.apache.commons.lang.StringUtils; + +import java.io.File; import java.util.HashMap; import java.util.Map; /** - * AbstractArtifactExtensionMapping + * ArtifactExtensionMapping * * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ -public abstract class AbstractArtifactExtensionMapping +public class ArtifactExtensionMapping { - protected final Map typeToExtensionMap; + protected static final Map<String, String> typeToExtensionMap; - public AbstractArtifactExtensionMapping() + static { - typeToExtensionMap = new HashMap(); + typeToExtensionMap = new HashMap<String, String>(); typeToExtensionMap.put( "ejb-client", "jar" ); typeToExtensionMap.put( "ejb", "jar" ); typeToExtensionMap.put( "distribution-tgz", "tar.gz" ); @@ -49,7 +52,7 @@ public abstract class AbstractArtifactExtensionMapping typeToExtensionMap.put( "maven-archetype", "jar" ); } - public String getExtension( String type ) + public static String getExtension( String type ) { // Try specialized types first. if ( typeToExtensionMap.containsKey( type ) ) @@ -60,4 +63,50 @@ public abstract class AbstractArtifactExtensionMapping // Return type return type; } + + public static String guessTypeFromFilename( File file ) + { + return guessTypeFromFilename( file.getName() ); + } + + public static String guessTypeFromFilename( String filename ) + { + if ( StringUtils.isBlank( filename ) ) + { + return null; + } + + String normalizedName = filename.toLowerCase().trim(); + int idx = normalizedName.lastIndexOf( '.' ); + + if ( idx == ( -1 ) ) + { + return null; + } + + if ( normalizedName.endsWith( ".tar.gz" ) ) + { + return "distribution-tgz"; + } + if ( normalizedName.endsWith( ".tar.bz2" ) ) + { + return "distribution-bzip"; + } + else if ( normalizedName.endsWith( ".zip" ) ) + { + return "distribution-zip"; + } + else if ( normalizedName.endsWith( "-sources.jar" ) ) + { + return "java-source"; + } + else if ( normalizedName.endsWith( "-javadoc.jar" ) ) + { + return "javadoc"; + } + else + { + return normalizedName.substring( idx + 1 ); + } + } } diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java deleted file mode 100644 index f7b2534a4..000000000 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.apache.maven.archiva.repository.content; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import org.apache.commons.lang.StringUtils; - -/** - * DefaultArtifactExtensionMapping - extension mapping for Maven 2.x projects. - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class DefaultArtifactExtensionMapping extends AbstractArtifactExtensionMapping -{ - public DefaultArtifactExtensionMapping() - { - super(); - } - - public String getType( String filename ) - { - if ( StringUtils.isBlank( filename ) ) - { - return null; - } - - String normalizedName = filename.toLowerCase().trim(); - - if ( normalizedName.endsWith( ".tar.gz" ) ) - { - return "distribution-tgz"; - } - else if ( normalizedName.endsWith( ".zip" ) ) - { - return "distribution-zip"; - } - else if ( normalizedName.endsWith( "-sources.jar" ) ) - { - return "java-source"; - } - // TODO: handle type for -javadoc.jar ? - else - { - int index = normalizedName.lastIndexOf( '.' ); - if ( index >= 0 ) - { - return normalizedName.substring( index + 1 ); - } - else - { - throw new IllegalArgumentException( "Filename " + filename + " does not have an extension." ); - } - } - } -} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java new file mode 100644 index 000000000..63a8a4310 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java @@ -0,0 +1,184 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.common.utils.VersionUtil; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * DefaultPathParser is a parser for maven 2 (default layout) paths to ArtifactReference. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component role="org.apache.maven.archiva.repository.content.DefaultPathParser" + */ +public class DefaultPathParser +{ + private static final String INVALID_ARTIFACT_PATH = "Invalid path to Artifact: "; + + /** + * Convert a path to an ArtifactReference. + * + * @param path + * @return + * @throws LayoutException + */ + protected static ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + if ( StringUtils.isBlank( path ) ) + { + throw new LayoutException( "Unable to convert blank path." ); + } + + ArtifactReference artifact = new ArtifactReference(); + + String normalizedPath = StringUtils.replace( path, "\\", "/" ); + String pathParts[] = StringUtils.split( normalizedPath, '/' ); + + /* Minimum parts. + * + * path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar" + * path[0] = "commons-lang"; // The Group ID + * path[1] = "commons-lang"; // The Artifact ID + * path[2] = "2.1"; // The Version + * path[3] = "commons-lang-2.1.jar" // The filename. + */ + + if ( pathParts.length < 4 ) + { + // Illegal Path Parts Length. + throw new LayoutException( "Not enough parts to the path [" + path + + "] to construct an ArchivaArtifact from. (Requires at least 4 parts)" ); + } + + // Maven 2.x path. + int partCount = pathParts.length; + int filenamePos = partCount - 1; + int baseVersionPos = partCount - 2; + int artifactIdPos = partCount - 3; + int groupIdPos = partCount - 4; + + // Second to last is the baseVersion (the directory version) + String baseVersion = pathParts[baseVersionPos]; + + // Third to last is the artifact Id. + artifact.setArtifactId( pathParts[artifactIdPos] ); + + // Remaining pieces are the groupId. + for ( int i = 0; i <= groupIdPos; i++ ) + { + if ( i == 0 ) + { + artifact.setGroupId( pathParts[i] ); + } + else + { + artifact.setGroupId( artifact.getGroupId() + "." + pathParts[i] ); + } + } + + try + { + // Last part is the filename + String filename = pathParts[filenamePos]; + + // Now we need to parse the filename to get the artifact version Id. + if ( StringUtils.isBlank( filename ) ) + { + throw new IllegalArgumentException( INVALID_ARTIFACT_PATH + "Unable to split blank filename." ); + } + + FilenameParser parser = new FilenameParser( filename ); + + // Expect the filename to start with the artifactId. + artifact.setArtifactId( parser.expect( artifact.getArtifactId() ) ); + + if ( artifact.getArtifactId() == null ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid, " + + "should start with artifactId as stated in path." ); + } + + // Process the version. + artifact.setVersion( parser.expect( baseVersion ) ); + + if ( artifact.getVersion() == null ) + { + // We working with a snapshot? + if ( VersionUtil.isSnapshot( baseVersion ) ) + { + artifact.setVersion( parser.nextVersion() ); + if ( !VersionUtil.isUniqueSnapshot( artifact.getVersion() ) ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid," + + "expected timestamp format in filename." ); + } + } + else + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid, " + + "expected version as stated in path." ); + } + } + + // Do we have a classifier? + artifact.setClassifier( parser.remaining() ); + + // Set the type. + artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) ); + + artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) ); + } + catch ( LayoutException e ) + { + throw e; + } + + // Sanity Checks. + + // Do we have a snapshot version? + if ( VersionUtil.isSnapshot( artifact.getVersion() ) ) + { + // Rules are different for SNAPSHOTS + if ( !VersionUtil.isGenericSnapshot( baseVersion ) ) + { + String filenameBaseVersion = VersionUtil.getBaseVersion( artifact.getVersion() ); + throw new LayoutException( "Invalid snapshot artifact location, version directory should be " + + filenameBaseVersion ); + } + } + else + { + // Non SNAPSHOT rules. + // Do we pass the simple test? + if ( !StringUtils.equals( baseVersion, artifact.getVersion() ) ) + { + throw new LayoutException( "Invalid artifact: version declared in directory path does" + + " not match what was found in the artifact filename." ); + } + } + + return artifact; + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java new file mode 100644 index 000000000..e672f812f --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java @@ -0,0 +1,210 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.common.utils.VersionUtil; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Generic Filename Parser for use with layout routines. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class FilenameParser +{ + private String name; + + private String extension; + + private int offset; + + private static final Pattern specialCases = Pattern.compile( "(maven-.*-plugin)|(maven-plugin)" ); + + private static final Pattern extensionPattern = Pattern.compile( "(.tar.gz$)|(.tar.bz2$)|(.[a-z0-9]{1,4}$)", + Pattern.CASE_INSENSITIVE ); + + private static final Pattern section = Pattern.compile( "([^-]*)" ); + + private Matcher matcher; + + protected FilenameParser( String filename ) + { + this.name = filename; + + Matcher mat = extensionPattern.matcher( name ); + if ( mat.find() ) + { + extension = filename.substring( mat.start() + 1 ); + name = name.substring( 0, name.length() - extension.length() - 1 ); + } + + matcher = section.matcher( name ); + + reset(); + } + + protected void reset() + { + offset = 0; + } + + protected String next() + { + // Past the end of the string. + if ( offset > name.length() ) + { + return null; + } + + // Return the next section. + if ( matcher.find( offset ) ) + { + // Return found section. + offset = matcher.end() + 1; + return matcher.group(); + } + + // Nothing to return. + return null; + } + + protected String expect( String expected ) + { + if ( name.startsWith( expected, offset ) ) + { + // Potential hit. check for '.' or '-' at end of expected. + int seperatorOffset = offset + expected.length(); + + // Test for "out of bounds" first. + if ( seperatorOffset >= name.length() ) + { + offset = name.length(); + return expected; + } + + // Test for seperator char. + char seperatorChar = name.charAt( seperatorOffset ); + if ( ( seperatorChar == '-' ) || ( seperatorChar == '.' ) ) + { + offset = seperatorOffset + 1; + return expected; + } + } + + return null; + } + + protected String getName() + { + return name; + } + + protected String getExtension() + { + return extension; + } + + protected String remaining() + { + if ( offset >= name.length() ) + { + return null; + } + + String end = name.substring( offset ); + offset = name.length(); + return end; + } + + protected String nextNonVersion() + { + boolean done = false; + + StringBuffer ver = new StringBuffer(); + + // Any text upto the end of a special case is considered non-version. + Matcher specialMat = specialCases.matcher( name ); + if ( specialMat.find() ) + { + ver.append( name.substring( offset, specialMat.end() ) ); + offset = specialMat.end() + 1; + } + + while ( !done ) + { + int initialOffset = offset; + String section = next(); + if ( section == null ) + { + done = true; + } + else if ( !VersionUtil.isVersion( section ) ) + { + if ( ver.length() > 0 ) + { + ver.append( '-' ); + } + ver.append( section ); + } + else + { + offset = initialOffset; + done = true; + } + } + + return ver.toString(); + } + + protected String nextVersion() + { + boolean done = false; + + StringBuffer ver = new StringBuffer(); + + while ( !done ) + { + int initialOffset = offset; + String section = next(); + if ( section == null ) + { + done = true; + } + else if ( VersionUtil.isVersion( section ) ) + { + if ( ver.length() > 0 ) + { + ver.append( '-' ); + } + ver.append( section ); + } + else + { + offset = initialOffset; + done = true; + } + } + + return ver.toString(); + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java deleted file mode 100644 index 1dc7a701a..000000000 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.apache.maven.archiva.repository.content; - -import org.apache.commons.lang.StringUtils; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/** - * LegacyArtifactExtensionMapping - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class LegacyArtifactExtensionMapping - extends AbstractArtifactExtensionMapping -{ - public LegacyArtifactExtensionMapping() - { - super(); - } - - public String getType( String pathType, String filename ) - { - if ( StringUtils.isBlank( filename ) ) - { - return pathType; - } - - String normalizedName = filename.toLowerCase().trim(); - - if ( normalizedName.endsWith( ".tar.gz" ) ) - { - return "distribution-tgz"; - } - else if ( normalizedName.endsWith( ".zip" ) ) - { - return "distribution-zip"; - } - else if ( normalizedName.endsWith( "-sources.jar" ) ) - { - return "java-source"; - } - else if ( normalizedName.endsWith( "-javadoc.jar" ) ) - { - return "javadoc.jar"; - } - else - { - if ( pathType.endsWith( "s" ) ) - { - return pathType.substring( 0, pathType.length() - 1 ); - } - else - { - return pathType; - } - } - } -} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java new file mode 100644 index 000000000..92a8609b3 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java @@ -0,0 +1,153 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * LegacyPathParser is a parser for maven 1 (legacy layout) paths to ArtifactReference. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class LegacyPathParser +{ + private static final String INVALID_ARTIFACT_PATH = "Invalid path to Artifact: "; + + protected static ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + ArtifactReference artifact = new ArtifactReference(); + + String normalizedPath = StringUtils.replace( path, "\\", "/" ); + + String pathParts[] = StringUtils.split( normalizedPath, '/' ); + + /* Always 3 parts. (Never more or less) + * + * path = "commons-lang/jars/commons-lang-2.1.jar" + * path[0] = "commons-lang"; // The Group ID + * path[1] = "jars"; // The Directory Type + * path[2] = "commons-lang-2.1.jar"; // The Filename. + */ + + if ( pathParts.length != 3 ) + { + // Illegal Path Parts Length. + throw new LayoutException( INVALID_ARTIFACT_PATH + + "legacy paths should only have 3 parts [groupId]/[type]s/[artifactId]-[version].[type], found " + + pathParts.length + " instead." ); + } + + // The Group ID. + artifact.setGroupId( pathParts[0] ); + + // The Expected Type. + String expectedType = pathParts[1]; + + // Sanity Check: expectedType should end in "s". + if ( !expectedType.endsWith( "s" ) ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + + "legacy paths should have an expected type ending in [s] in the second part of the path." ); + } + + // The Filename. + String filename = pathParts[2]; + + FilenameParser parser = new FilenameParser( filename ); + + artifact.setArtifactId( parser.nextNonVersion() ); + + // Sanity Check: does it have an artifact id? + if ( StringUtils.isEmpty( artifact.getArtifactId() ) ) + { + // Special Case: The filename might start with a version id (like "test-arch-1.0.jar"). + int idx = filename.indexOf( '-' ); + if ( idx > 0 ) + { + parser.reset(); + // Take the first section regardless of content. + String artifactId = parser.next(); + + // Is there anything more that is considered not a version id? + String moreArtifactId = parser.nextNonVersion(); + if ( StringUtils.isNotBlank( moreArtifactId ) ) + { + artifact.setArtifactId( artifactId + "-" + moreArtifactId ); + } + else + { + artifact.setArtifactId( artifactId ); + } + } + + // Sanity Check: still no artifact id? + if ( StringUtils.isEmpty( artifact.getArtifactId() ) ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "no artifact id present." ); + } + } + + artifact.setVersion( parser.remaining() ); + + // Sanity Check: does it have a version? + if ( StringUtils.isEmpty( artifact.getVersion() ) ) + { + // Special Case: use last section of artifactId as version. + String artifactId = artifact.getArtifactId(); + int idx = artifactId.lastIndexOf( '-' ); + if ( idx > 0 ) + { + artifact.setVersion( artifactId.substring( idx + 1 ) ); + artifact.setArtifactId( artifactId.substring( 0, idx ) ); + } + else + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "no version found." ); + } + } + + artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) ); + + // Sanity Check: does it have an extension? + if ( StringUtils.isEmpty( artifact.getType() ) ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "no extension found." ); + } + + String trimPathType = expectedType.substring( 0, expectedType.length() - 1 ); + + // Sanity Check: does extension match pathType on path? + String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType ); + String actualExtension = parser.getExtension(); + + if ( !expectedExtension.equals( actualExtension ) ) + { + throw new LayoutException( INVALID_ARTIFACT_PATH + "mismatch on extension [" + actualExtension + + "] and layout specified type [" + expectedType + "] (which maps to extension: [" + expectedExtension + + "]) on path [" + path + "]" ); + } + + return artifact; + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java new file mode 100644 index 000000000..78ddfb2bd --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java @@ -0,0 +1,438 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.io.FileUtils; +import org.apache.maven.archiva.common.utils.PathUtil; +import org.apache.maven.archiva.configuration.FileTypes; +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.ContentNotFoundException; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; +import org.codehaus.plexus.util.SelectorUtils; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +/** + * ManagedDefaultRepositoryContent + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.ManagedRepositoryContent" + * role-hint="default" + * instantiation-strategy="per-lookup" + */ +public class ManagedDefaultRepositoryContent + extends AbstractDefaultRepositoryContent + implements ManagedRepositoryContent, Initializable +{ + /** + * @plexus.requirement + */ + private FileTypes filetypes; + + private ManagedRepositoryConfiguration repository; + + private List<String> artifactPatterns; + + public void deleteVersion( VersionedReference reference ) + throws ContentNotFoundException + { + String path = toMetadataPath( reference ); + File projectPath = new File( getRepoRoot(), path ); + + File projectDir = projectPath.getParentFile(); + if( projectDir.exists() && projectDir.isDirectory() ) + { + try + { + FileUtils.deleteDirectory( projectDir ); + } + catch ( IOException e ) + { + // TODO: log this somewhere? + } + } + } + + public String getId() + { + return repository.getId(); + } + + public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference ) + throws ContentNotFoundException, LayoutException + { + File artifactFile = toFile( reference ); + File repoDir = artifactFile.getParentFile(); + + if ( !repoDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get related artifacts using a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get related artifacts using a non-directory: " + + repoDir.getAbsolutePath() ); + } + + Set<ArtifactReference> foundArtifacts = new HashSet<ArtifactReference>(); + + // First gather up the versions found as artifacts in the managed repository. + File repoFiles[] = repoDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + ArtifactReference artifact = toArtifactReference( relativePath ); + + // Test for related, groupId / artifactId / version must match. + if ( artifact.getGroupId().equals( reference.getGroupId() ) + && artifact.getArtifactId().equals( reference.getArtifactId() ) + && artifact.getVersion().equals( reference.getVersion() ) ) + { + foundArtifacts.add( artifact ); + } + } + } + + return foundArtifacts; + } + + public String getRepoRoot() + { + return repository.getLocation(); + } + + public ManagedRepositoryConfiguration getRepository() + { + return repository; + } + + /** + * Gather the Available Versions (on disk) for a specific Project Reference, based on filesystem + * information. + * + * @return the Set of available versions, based on the project reference. + * @throws LayoutException + * @throws LayoutException + */ + public Set<String> getVersions( ProjectReference reference ) + throws ContentNotFoundException, LayoutException + { + String path = toMetadataPath( reference ); + + int idx = path.lastIndexOf( '/' ); + if ( idx > 0 ) + { + path = path.substring( 0, idx ); + } + + File repoDir = new File( repository.getLocation(), path ); + + if ( !repoDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get Versions on a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get Versions on a non-directory: " + + repoDir.getAbsolutePath() ); + } + + Set<String> foundVersions = new HashSet<String>(); + VersionedReference versionRef = new VersionedReference(); + versionRef.setGroupId( reference.getGroupId() ); + versionRef.setArtifactId( reference.getArtifactId() ); + + File repoFiles[] = repoDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( !repoFiles[i].isDirectory() ) + { + // Skip it. not a directory. + continue; + } + + // Test if dir has an artifact, which proves to us that it is a valid version directory. + String version = repoFiles[i].getName(); + versionRef.setVersion( version ); + + if ( hasArtifact( versionRef ) ) + { + // Found an artifact, must be a valid version. + foundVersions.add( version ); + } + } + + return foundVersions; + } + + public Set<String> getVersions( VersionedReference reference ) + throws ContentNotFoundException, LayoutException + { + String path = toMetadataPath( reference ); + + int idx = path.lastIndexOf( '/' ); + if ( idx > 0 ) + { + path = path.substring( 0, idx ); + } + + File repoDir = new File( repository.getLocation(), path ); + + if ( !repoDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get versions on a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get versions on a non-directory: " + + repoDir.getAbsolutePath() ); + } + + Set<String> foundVersions = new HashSet<String>(); + + // First gather up the versions found as artifacts in the managed repository. + File repoFiles[] = repoDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + ArtifactReference artifact = toArtifactReference( relativePath ); + + foundVersions.add( artifact.getVersion() ); + } + } + + return foundVersions; + } + + public boolean hasContent( ArtifactReference reference ) + { + File artifactFile = toFile( reference ); + return artifactFile.exists() && artifactFile.isFile(); + } + + public boolean hasContent( ProjectReference reference ) + { + try + { + Set<String> versions = getVersions( reference ); + return !versions.isEmpty(); + } + catch ( ContentNotFoundException e ) + { + return false; + } + catch ( LayoutException e ) + { + return false; + } + } + + public boolean hasContent( VersionedReference reference ) + { + try + { + return ( getFirstArtifact( reference ) != null ); + } + catch ( IOException e ) + { + return false; + } + catch ( LayoutException e ) + { + return false; + } + } + + public void initialize() + throws InitializationException + { + this.artifactPatterns = new ArrayList<String>(); + initVariables(); + } + + public void setRepository( ManagedRepositoryConfiguration repository ) + { + this.repository = repository; + } + + /** + * Convert a path to an artifact reference. + * + * @param path the path to convert. (relative or full location path) + * @throws LayoutException if the path cannot be converted to an artifact reference. + */ + @Override + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + if ( ( path != null ) && path.startsWith( repository.getLocation() ) ) + { + return super.toArtifactReference( path.substring( repository.getLocation().length() ) ); + } + + return super.toArtifactReference( path ); + } + + public File toFile( ArtifactReference reference ) + { + return new File( repository.getLocation(), toPath( reference ) ); + } + + /** + * Get the first Artifact found in the provided VersionedReference location. + * + * @param managedRepository the repository to search within. + * @param reference the reference to the versioned reference to search within + * @return the ArtifactReference to the first artifact located within the versioned reference. or null if + * no artifact was found within the versioned reference. + * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory) + * @throws LayoutException + */ + private ArtifactReference getFirstArtifact( VersionedReference reference ) + throws LayoutException, IOException + { + String path = toMetadataPath( reference ); + + int idx = path.lastIndexOf( '/' ); + if ( idx > 0 ) + { + path = path.substring( 0, idx ); + } + + File repoDir = new File( repository.getLocation(), path ); + + if ( !repoDir.exists() ) + { + throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new IOException( "Unable to gather the list of snapshot versions on a non-directory: " + + repoDir.getAbsolutePath() ); + } + + File repoFiles[] = repoDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + ArtifactReference artifact = toArtifactReference( relativePath ); + + return artifact; + } + } + + // No artifact was found. + return null; + } + + private boolean hasArtifact( VersionedReference reference ) + throws LayoutException + { + try + { + return ( getFirstArtifact( reference ) != null ); + } + catch ( IOException e ) + { + return false; + } + } + + private void initVariables() + { + synchronized ( this.artifactPatterns ) + { + this.artifactPatterns.clear(); + + this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) ); + } + } + + private boolean matchesArtifactPattern( String relativePath ) + { + // Correct the slash pattern. + relativePath = relativePath.replace( '\\', '/' ); + + Iterator<String> it = this.artifactPatterns.iterator(); + while ( it.hasNext() ) + { + String pattern = it.next(); + + if ( SelectorUtils.matchPath( pattern, relativePath, false ) ) + { + // Found match + return true; + } + } + + // No match. + return false; + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java new file mode 100644 index 000000000..212aeed81 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java @@ -0,0 +1,495 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.common.utils.PathUtil; +import org.apache.maven.archiva.configuration.FileTypes; +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.ContentNotFoundException; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; +import org.codehaus.plexus.util.SelectorUtils; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +/** + * ManagedLegacyRepositoryContent + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.ManagedRepositoryContent" + * role-hint="legacy" + * instantiation-strategy="per-lookup" + */ +public class ManagedLegacyRepositoryContent + extends AbstractLegacyRepositoryContent + implements ManagedRepositoryContent, Initializable +{ + /** + * @plexus.requirement + */ + private FileTypes filetypes; + + private ManagedRepositoryConfiguration repository; + + private List<String> artifactPatterns; + + public void deleteVersion( VersionedReference reference ) + throws ContentNotFoundException + { + File groupDir = new File( repository.getLocation(), reference.getGroupId() ); + + if ( !groupDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: " + + groupDir.getAbsolutePath() ); + } + + if ( !groupDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-directory: " + + groupDir.getAbsolutePath() ); + } + + // First gather up the versions found as artifacts in the managed repository. + File typeDirs[] = groupDir.listFiles(); + for ( File typeDir : typeDirs ) + { + if ( !typeDir.isDirectory() ) + { + // Skip it, we only care about directories. + continue; + } + + if ( !typeDir.getName().endsWith( "s" ) ) + { + // Skip it, we only care about directories that end in "s". + } + + deleteVersions( typeDir, reference ); + } + } + + private void deleteVersions( File typeDir, VersionedReference reference ) + { + File repoFiles[] = typeDir.listFiles(); + for ( File repoFile : repoFiles ) + { + if ( repoFile.isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFile ); + + if ( matchesArtifactPattern( relativePath ) ) + { + try + { + ArtifactReference artifact = toArtifactReference( relativePath ); + if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) + && StringUtils.equals( artifact.getVersion(), reference.getVersion() ) ) + { + repoFile.delete(); + deleteSupportFiles( repoFile ); + } + } + catch ( LayoutException e ) + { + /* don't fail the process if there is a bad artifact within the directory. */ + } + } + } + } + + private void deleteSupportFiles( File repoFile ) + { + deleteSupportFile( repoFile, ".sha1" ); + deleteSupportFile( repoFile, ".md5" ); + deleteSupportFile( repoFile, ".asc" ); + deleteSupportFile( repoFile, ".gpg" ); + } + + private void deleteSupportFile( File repoFile, String supportExtension ) + { + File supportFile = new File( repoFile.getAbsolutePath() + supportExtension ); + if ( supportFile.exists() && supportFile.isFile() ) + { + supportFile.delete(); + } + } + + public String getId() + { + return repository.getId(); + } + + public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference ) + throws ContentNotFoundException, LayoutException + { + File artifactFile = toFile( reference ); + File repoDir = artifactFile.getParentFile(); + + if ( !repoDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get related artifacts using a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get related artifacts using a non-directory: " + + repoDir.getAbsolutePath() ); + } + + Set<ArtifactReference> foundArtifacts = new HashSet<ArtifactReference>(); + + // First gather up the versions found as artifacts in the managed repository. + File projectParentDir = repoDir.getParentFile(); + File typeDirs[] = projectParentDir.listFiles(); + for ( File typeDir : typeDirs ) + { + if ( !typeDir.isDirectory() ) + { + // Skip it, we only care about directories. + continue; + } + + if ( !typeDir.getName().endsWith( "s" ) ) + { + // Skip it, we only care about directories that end in "s". + } + + getRelatedArtifacts( typeDir, reference, foundArtifacts ); + } + + return foundArtifacts; + } + + public String getRepoRoot() + { + return repository.getLocation(); + } + + public ManagedRepositoryConfiguration getRepository() + { + return repository; + } + + public Set<String> getVersions( ProjectReference reference ) + throws ContentNotFoundException + { + File groupDir = new File( repository.getLocation(), reference.getGroupId() ); + + if ( !groupDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: " + + groupDir.getAbsolutePath() ); + } + + if ( !groupDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-directory: " + + groupDir.getAbsolutePath() ); + } + + Set<String> foundVersions = new HashSet<String>(); + + // First gather up the versions found as artifacts in the managed repository. + File typeDirs[] = groupDir.listFiles(); + for ( File typeDir : typeDirs ) + { + if ( !typeDir.isDirectory() ) + { + // Skip it, we only care about directories. + continue; + } + + if ( !typeDir.getName().endsWith( "s" ) ) + { + // Skip it, we only care about directories that end in "s". + } + + getProjectVersions( typeDir, reference, foundVersions ); + } + + return foundVersions; + } + + public Set<String> getVersions( VersionedReference reference ) + throws ContentNotFoundException + { + File groupDir = new File( repository.getLocation(), reference.getGroupId() ); + + if ( !groupDir.exists() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: " + + groupDir.getAbsolutePath() ); + } + + if ( !groupDir.isDirectory() ) + { + throw new ContentNotFoundException( "Unable to get versions using a non-directory: " + + groupDir.getAbsolutePath() ); + } + + Set<String> foundVersions = new HashSet<String>(); + + // First gather up the versions found as artifacts in the managed repository. + File typeDirs[] = groupDir.listFiles(); + for ( File typeDir : typeDirs ) + { + if ( !typeDir.isDirectory() ) + { + // Skip it, we only care about directories. + continue; + } + + if ( !typeDir.getName().endsWith( "s" ) ) + { + // Skip it, we only care about directories that end in "s". + } + + getVersionedVersions( typeDir, reference, foundVersions ); + } + + return foundVersions; + } + + public boolean hasContent( ArtifactReference reference ) + { + File artifactFile = toFile( reference ); + return artifactFile.exists() && artifactFile.isFile(); + } + + public boolean hasContent( ProjectReference reference ) + { + try + { + Set<String> versions = getVersions( reference ); + return CollectionUtils.isNotEmpty( versions ); + } + catch ( ContentNotFoundException e ) + { + return false; + } + } + + public boolean hasContent( VersionedReference reference ) + { + try + { + Set<String> versions = getVersions( reference ); + return CollectionUtils.isNotEmpty( versions ); + } + catch ( ContentNotFoundException e ) + { + return false; + } + } + + public void initialize() + throws InitializationException + { + this.artifactPatterns = new ArrayList<String>(); + initVariables(); + } + + public void setRepository( ManagedRepositoryConfiguration repository ) + { + this.repository = repository; + } + + /** + * Convert a path to an artifact reference. + * + * @param path the path to convert. (relative or full location path) + * @throws LayoutException if the path cannot be converted to an artifact reference. + */ + @Override + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + if ( ( path != null ) && path.startsWith( repository.getLocation() ) ) + { + return super.toArtifactReference( path.substring( repository.getLocation().length() ) ); + } + + return super.toArtifactReference( path ); + } + + public File toFile( ArtifactReference reference ) + { + return new File( repository.getLocation(), toPath( reference ) ); + } + + public String toMetadataPath( ProjectReference reference ) + { + // No metadata present in legacy repository. + return null; + } + + public String toMetadataPath( VersionedReference reference ) + { + // No metadata present in legacy repository. + return null; + } + + private void getProjectVersions( File typeDir, ProjectReference reference, Set<String> foundVersions ) + { + File repoFiles[] = typeDir.listFiles(); + for ( File repoFile : repoFiles ) + { + if ( repoFile.isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFile ); + + if ( matchesArtifactPattern( relativePath ) ) + { + try + { + ArtifactReference artifact = toArtifactReference( relativePath ); + if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) ) + { + foundVersions.add( artifact.getVersion() ); + } + } + catch ( LayoutException e ) + { + /* don't fail the process if there is a bad artifact within the directory. */ + } + } + } + } + + private void getRelatedArtifacts( File typeDir, ArtifactReference reference, Set<ArtifactReference> foundArtifacts ) + { + File repoFiles[] = typeDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + try + { + ArtifactReference artifact = toArtifactReference( relativePath ); + if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) + && artifact.getVersion().startsWith( reference.getVersion() ) ) + { + foundArtifacts.add( artifact ); + } + } + catch ( LayoutException e ) + { + /* don't fail the process if there is a bad artifact within the directory. */ + } + } + } + } + + private void getVersionedVersions( File typeDir, VersionedReference reference, Set<String> foundVersions ) + { + File repoFiles[] = typeDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + try + { + ArtifactReference artifact = toArtifactReference( relativePath ); + if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) + && artifact.getVersion().startsWith( reference.getVersion() ) ) + { + foundVersions.add( artifact.getVersion() ); + } + } + catch ( LayoutException e ) + { + /* don't fail the process if there is a bad artifact within the directory. */ + } + } + } + } + + private void initVariables() + { + synchronized ( this.artifactPatterns ) + { + this.artifactPatterns.clear(); + + this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) ); + } + } + + private boolean matchesArtifactPattern( String relativePath ) + { + // Correct the slash pattern. + relativePath = relativePath.replace( '\\', '/' ); + + Iterator<String> it = this.artifactPatterns.iterator(); + while ( it.hasNext() ) + { + String pattern = it.next(); + + if ( SelectorUtils.matchPath( pattern, relativePath, false ) ) + { + // Found match + return true; + } + } + + // No match. + return false; + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java new file mode 100644 index 000000000..b8bbf725f --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java @@ -0,0 +1,88 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.RepositoryURL; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RemoteDefaultRepositoryContent + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.RemoteRepositoryContent" + * role-hint="default" + * instantiation-strategy="per-lookup" + */ +public class RemoteDefaultRepositoryContent + extends AbstractDefaultRepositoryContent + implements RemoteRepositoryContent +{ + private RemoteRepositoryConfiguration repository; + + public String getId() + { + return repository.getId(); + } + + public RemoteRepositoryConfiguration getRepository() + { + return repository; + } + + public RepositoryURL getURL() + { + return new RepositoryURL( repository.getUrl() ); + } + + public void setRepository( RemoteRepositoryConfiguration repository ) + { + this.repository = repository; + } + + /** + * Convert a path to an artifact reference. + * + * @param path the path to convert. (relative or full url path) + * @throws LayoutException if the path cannot be converted to an artifact reference. + */ + @Override + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + if ( ( path != null ) && path.startsWith( repository.getUrl() ) ) + { + return super.toArtifactReference( path.substring( repository.getUrl().length() ) ); + } + + return super.toArtifactReference( path ); + } + + public RepositoryURL toURL( ArtifactReference reference ) + { + String url = repository.getUrl() + toPath( reference ); + return new RepositoryURL( url ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java new file mode 100644 index 000000000..da45d43ec --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java @@ -0,0 +1,88 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.RepositoryURL; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RemoteLegacyRepositoryContent + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.RemoteRepositoryContent" + * role-hint="legacy" + * instantiation-strategy="per-lookup" + */ +public class RemoteLegacyRepositoryContent + extends AbstractLegacyRepositoryContent + implements RemoteRepositoryContent +{ + private RemoteRepositoryConfiguration repository; + + public String getId() + { + return repository.getId(); + } + + public RemoteRepositoryConfiguration getRepository() + { + return repository; + } + + public RepositoryURL getURL() + { + return new RepositoryURL( repository.getUrl() ); + } + + public void setRepository( RemoteRepositoryConfiguration repository ) + { + this.repository = repository; + } + + /** + * Convert a path to an artifact reference. + * + * @param path the path to convert. (relative or full url path) + * @throws LayoutException if the path cannot be converted to an artifact reference. + */ + @Override + public ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + if ( path.startsWith( repository.getUrl() ) ) + { + return super.toArtifactReference( path.substring( repository.getUrl().length() ) ); + } + + return super.toArtifactReference( path ); + } + + public RepositoryURL toURL( ArtifactReference reference ) + { + String url = repository.getUrl() + toPath( reference ); + return new RepositoryURL( url ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java new file mode 100644 index 000000000..d6f5dfce7 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java @@ -0,0 +1,146 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.configuration.ArchivaConfiguration; +import org.apache.maven.archiva.configuration.FileTypes; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.layout.LayoutException; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; +import org.codehaus.plexus.registry.Registry; +import org.codehaus.plexus.registry.RegistryListener; +import org.codehaus.plexus.util.SelectorUtils; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * RepositoryRequest is used to determine the type of request that is incoming, and convert it to an appropriate + * ArtifactReference. + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + * + * @plexus.component + * role="org.apache.maven.archiva.repository.content.RepositoryRequest" + */ +public class RepositoryRequest + implements RegistryListener, Initializable +{ + /** + * @plexus.requirement + */ + private FileTypes filetypes; + + /** + * @plexus.requirement + */ + private ArchivaConfiguration archivaConfiguration; + + private List<String> artifactPatterns; + + /** + * Test path to see if it is an artifact being requested (or not). + * + * @param requestedPath the path to test. + * @return true if it is an artifact being requested. + */ + public boolean isArtifact( String requestedPath ) + { + // Correct the slash pattern. + String relativePath = requestedPath.replace( '\\', '/' ); + + Iterator<String> it = this.artifactPatterns.iterator(); + while ( it.hasNext() ) + { + String pattern = it.next(); + + if ( SelectorUtils.matchPath( pattern, relativePath, false ) ) + { + // Found match + return true; + } + } + + // No match. + return false; + } + + /** + * Takes an incoming requested path (in "/" format) and gleans the layout + * and ArtifactReference appropriate for that content. + * + * @param requestedPath the relative path to the content. + * @return the ArtifactReference for the requestedPath. + * @throws LayoutException if the request path is not layout valid. + */ + public ArtifactReference toArtifactReference( String requestedPath ) + throws LayoutException + { + String pathParts[] = StringUtils.splitPreserveAllTokens( requestedPath, '/' ); + + if ( pathParts.length > 3 ) + { + return DefaultPathParser.toArtifactReference( requestedPath ); + } + else if ( pathParts.length == 3 ) + { + return LegacyPathParser.toArtifactReference( requestedPath ); + } + else + { + throw new LayoutException( "Not a valid request path layout, too short." ); + } + } + + public void initialize() + throws InitializationException + { + this.artifactPatterns = new ArrayList<String>(); + initVariables(); + this.archivaConfiguration.addChangeListener( this ); + } + + private void initVariables() + { + synchronized ( this.artifactPatterns ) + { + this.artifactPatterns.clear(); + this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) ); + } + } + + public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue ) + { + if ( propertyName.contains( "fileType" ) ) + { + initVariables(); + } + } + + public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue ) + { + /* nothing to do */ + + } +} diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java index fae12c68d..0b25b0cb3 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java @@ -23,7 +23,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.maven.archiva.common.utils.VersionUtil; import org.apache.maven.archiva.model.ArchivaArtifact; import org.apache.maven.archiva.model.ArtifactReference; -import org.apache.maven.archiva.repository.content.DefaultArtifactExtensionMapping; +import org.apache.maven.archiva.repository.content.ArtifactExtensionMapping; /** * DefaultBidirectionalRepositoryLayout - the layout mechanism for use by Maven 2.x repositories. @@ -65,8 +65,6 @@ public class DefaultBidirectionalRepositoryLayout private static final char ARTIFACT_SEPARATOR = '-'; - private DefaultArtifactExtensionMapping extensionMapper = new DefaultArtifactExtensionMapping(); - public String getId() { return "default"; @@ -147,7 +145,7 @@ public class DefaultBidirectionalRepositoryLayout path.append( ARTIFACT_SEPARATOR ).append( classifier ); } - path.append( GROUP_SEPARATOR ).append( extensionMapper.getExtension( type ) ); + path.append( GROUP_SEPARATOR ).append( ArtifactExtensionMapping.getExtension( type ) ); } } @@ -244,7 +242,7 @@ public class DefaultBidirectionalRepositoryLayout } } - prefs.type = extensionMapper.getType( filename ); + prefs.type = ArtifactExtensionMapping.guessTypeFromFilename( filename ); } catch ( LayoutException e ) { diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java index ca7cb2490..51652c613 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java @@ -22,7 +22,7 @@ package org.apache.maven.archiva.repository.layout; import org.apache.commons.lang.StringUtils; import org.apache.maven.archiva.model.ArchivaArtifact; import org.apache.maven.archiva.model.ArtifactReference; -import org.apache.maven.archiva.repository.content.LegacyArtifactExtensionMapping; +import org.apache.maven.archiva.repository.content.ArtifactExtensionMapping; import java.util.HashMap; import java.util.Map; @@ -43,8 +43,6 @@ public class LegacyBidirectionalRepositoryLayout private static final String PATH_SEPARATOR = "/"; - private LegacyArtifactExtensionMapping extensionMapper = new LegacyArtifactExtensionMapping(); - private Map typeToDirectoryMap; public LegacyBidirectionalRepositoryLayout() @@ -88,7 +86,7 @@ public class LegacyBidirectionalRepositoryLayout path.append( '-' ).append( classifier ); } - path.append( '.' ).append( extensionMapper.getExtension( type ) ); + path.append( '.' ).append( ArtifactExtensionMapping.getExtension( type ) ); } return path.toString(); @@ -169,7 +167,7 @@ public class LegacyBidirectionalRepositoryLayout prefs.fileParts = RepositoryLayoutUtils.splitFilename( filename, null ); String trimPathType = prefs.pathType.substring( 0, prefs.pathType.length() - 1 ); - prefs.type = extensionMapper.getType( trimPathType, filename ); + prefs.type = ArtifactExtensionMapping.guessTypeFromFilename( filename ); // Sanity Check: does it have an extension? if ( StringUtils.isEmpty( prefs.fileParts.extension ) ) @@ -185,7 +183,7 @@ public class LegacyBidirectionalRepositoryLayout } // Sanity Check: does extension match pathType on path? - String expectedExtension = extensionMapper.getExtension( trimPathType ); + String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType ); String actualExtension = prefs.fileParts.extension; if ( !expectedExtension.equals( actualExtension ) ) diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java index 6b90bf161..54374f485 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java @@ -16,24 +16,25 @@ package org.apache.maven.archiva.repository.metadata; * limitations under the License. */ +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; +import org.apache.commons.lang.time.DateUtils; import org.apache.maven.archiva.common.utils.PathUtil; import org.apache.maven.archiva.common.utils.VersionComparator; import org.apache.maven.archiva.common.utils.VersionUtil; import org.apache.maven.archiva.configuration.ArchivaConfiguration; import org.apache.maven.archiva.configuration.ConfigurationNames; import org.apache.maven.archiva.configuration.FileTypes; -import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration; -import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; import org.apache.maven.archiva.model.ArchivaRepositoryMetadata; import org.apache.maven.archiva.model.ArtifactReference; import org.apache.maven.archiva.model.ProjectReference; import org.apache.maven.archiva.model.SnapshotVersion; import org.apache.maven.archiva.model.VersionedReference; -import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout; -import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory; +import org.apache.maven.archiva.repository.ContentNotFoundException; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; import org.apache.maven.archiva.repository.layout.LayoutException; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; @@ -45,9 +46,11 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collections; -import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -62,8 +65,8 @@ import java.util.regex.Matcher; * * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ + * * @plexus.component role="org.apache.maven.archiva.repository.metadata.MetadataTools" - * @todo use the maven-repository-metadata classes instead for merging */ public class MetadataTools implements RegistryListener, Initializable @@ -79,11 +82,6 @@ public class MetadataTools /** * @plexus.requirement */ - private BidirectionalRepositoryLayoutFactory layoutFactory; - - /** - * @plexus.requirement - */ private ArchivaConfiguration configuration; /** @@ -95,7 +93,15 @@ public class MetadataTools private Map<String, Set<String>> proxies; - private static final char NUMS[] = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; + private static final char NUMS[] = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; + + private static final SimpleDateFormat lastUpdatedFormat; + + static + { + lastUpdatedFormat = new SimpleDateFormat( "yyyyMMddHHmmss" ); + lastUpdatedFormat.setTimeZone( DateUtils.UTC_TIME_ZONE ); + } public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue ) { @@ -111,201 +117,24 @@ public class MetadataTools } /** - * Gather the Available Versions (on disk) for a specific Project Reference, based on filesystem - * information. - * - * @return the Set of available versions, based on the project reference. - * @throws LayoutException - */ - public Set<String> gatherAvailableVersions( ManagedRepositoryConfiguration managedRepository, ProjectReference reference ) - throws LayoutException, IOException - { - String path = toPath( reference ); - - int idx = path.lastIndexOf( '/' ); - if ( idx > 0 ) - { - path = path.substring( 0, idx ); - } - - File repoDir = new File( managedRepository.getLocation(), path ); - - if ( !repoDir.exists() ) - { - throw new IOException( "Unable to calculate Available Local Versions on a non-existant directory: " + - repoDir.getAbsolutePath() ); - } - - if ( !repoDir.isDirectory() ) - { - throw new IOException( - "Unable to calculate Available Local Versions on a non-directory: " + repoDir.getAbsolutePath() ); - } - - Set<String> foundVersions = new HashSet<String>(); - VersionedReference versionRef = new VersionedReference(); - versionRef.setGroupId( reference.getGroupId() ); - versionRef.setArtifactId( reference.getArtifactId() ); - - File repoFiles[] = repoDir.listFiles(); - for ( int i = 0; i < repoFiles.length; i++ ) - { - if ( !repoFiles[i].isDirectory() ) - { - // Skip it. not a directory. - continue; - } - - // Test if dir has an artifact, which proves to us that it is a valid version directory. - String version = repoFiles[i].getName(); - versionRef.setVersion( version ); - - if ( hasArtifact( managedRepository, versionRef ) ) - { - // Found an artifact, must be a valid version. - foundVersions.add( version ); - } - } - - return foundVersions; - } - - private boolean hasArtifact( ManagedRepositoryConfiguration managedRepository, VersionedReference reference ) - throws LayoutException - { - try - { - return ( getFirstArtifact( managedRepository, reference ) != null ); - } - catch ( IOException e ) - { - return false; - } - } - - /** - * Get the first Artifact found in the provided VersionedReference location. - * - * @param managedRepository the repository to search within. - * @param reference the reference to the versioned reference to search within - * @return the ArtifactReference to the first artifact located within the versioned reference. or null if - * no artifact was found within the versioned reference. - * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory) - * @throws LayoutException - */ - public ArtifactReference getFirstArtifact( ManagedRepositoryConfiguration managedRepository, VersionedReference reference ) - throws LayoutException, IOException - { - BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() ); - String path = toPath( reference ); - - int idx = path.lastIndexOf( '/' ); - if ( idx > 0 ) - { - path = path.substring( 0, idx ); - } - - File repoDir = new File( managedRepository.getLocation(), path ); - - if ( !repoDir.exists() ) - { - throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " + - repoDir.getAbsolutePath() ); - } - - if ( !repoDir.isDirectory() ) - { - throw new IOException( - "Unable to gather the list of snapshot versions on a non-directory: " + repoDir.getAbsolutePath() ); - } - - File repoFiles[] = repoDir.listFiles(); - for ( int i = 0; i < repoFiles.length; i++ ) - { - if ( repoFiles[i].isDirectory() ) - { - // Skip it. it's a directory. - continue; - } - - String relativePath = PathUtil.getRelative( managedRepository.getLocation(), repoFiles[i] ); - - if ( matchesArtifactPattern( relativePath ) ) - { - ArtifactReference artifact = layout.toArtifactReference( relativePath ); - - return artifact; - } - } - - // No artifact was found. - return null; - } - - /** * Gather the set of snapshot versions found in a particular versioned reference. * * @return the Set of snapshot artifact versions found. * @throws LayoutException + * @throws ContentNotFoundException */ - public Set<String> gatherSnapshotVersions( ManagedRepositoryConfiguration managedRepository, VersionedReference reference ) - throws LayoutException, IOException + public Set<String> gatherSnapshotVersions( ManagedRepositoryContent managedRepository, VersionedReference reference ) + throws LayoutException, IOException, ContentNotFoundException { - BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() ); - String path = toPath( reference ); - - int idx = path.lastIndexOf( '/' ); - if ( idx > 0 ) - { - path = path.substring( 0, idx ); - } - - File repoDir = new File( managedRepository.getLocation(), path ); - - if ( !repoDir.exists() ) - { - throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " + - repoDir.getAbsolutePath() ); - } - - if ( !repoDir.isDirectory() ) - { - throw new IOException( - "Unable to gather the list of snapshot versions on a non-directory: " + repoDir.getAbsolutePath() ); - } - - Set<String> foundVersions = new HashSet<String>(); - - // First gather up the versions found as artifacts in the managed repository. - File repoFiles[] = repoDir.listFiles(); - for ( int i = 0; i < repoFiles.length; i++ ) - { - if ( repoFiles[i].isDirectory() ) - { - // Skip it. it's a directory. - continue; - } - - String relativePath = PathUtil.getRelative( managedRepository.getLocation(), repoFiles[i] ); - - if ( matchesArtifactPattern( relativePath ) ) - { - ArtifactReference artifact = layout.toArtifactReference( relativePath ); - - if ( VersionUtil.isSnapshot( artifact.getVersion() ) ) - { - foundVersions.add( artifact.getVersion() ); - } - } - } + Set<String> foundVersions = managedRepository.getVersions( reference ); // Next gather up the referenced 'latest' versions found in any proxied repositories // maven-metadata-${proxyId}.xml files that may be present. // Does this repository have a set of remote proxied repositories? - Set proxiedRepoIds = this.proxies.get( managedRepository.getId() ); + Set<String> proxiedRepoIds = this.proxies.get( managedRepository.getId() ); - if ( proxiedRepoIds != null ) + if ( CollectionUtils.isNotEmpty( proxiedRepoIds ) ) { String baseVersion = VersionUtil.getBaseVersion( reference.getVersion() ); baseVersion = baseVersion.substring( 0, baseVersion.indexOf( VersionUtil.SNAPSHOT ) - 1 ); @@ -371,7 +200,7 @@ public class MetadataTools { // Scary check, but without it, all paths are version references; throw new RepositoryMetadataException( - "Not a versioned reference, as version id on path has no number in it." ); + "Not a versioned reference, as version id on path has no number in it." ); } reference.setArtifactId( pathParts[artifactIdOffset] ); @@ -463,27 +292,6 @@ public class MetadataTools return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR ); } - private boolean matchesArtifactPattern( String relativePath ) - { - // Correct the slash pattern. - relativePath = relativePath.replace( '\\', '/' ); - - Iterator<String> it = this.artifactPatterns.iterator(); - while ( it.hasNext() ) - { - String pattern = it.next(); - - if ( SelectorUtils.matchPath( pattern, relativePath, false ) ) - { - // Found match - return true; - } - } - - // No match. - return false; - } - /** * Adjusts a path for a metadata.xml file to its repository specific path. * @@ -491,7 +299,7 @@ public class MetadataTools * @param path the path to the metadata.xml file to adjust the name of. * @return the newly adjusted path reference to the repository specific metadata path. */ - public String getRepositorySpecificName( RemoteRepositoryConfiguration repository, String path ) + public String getRepositorySpecificName( RemoteRepositoryContent repository, String path ) { return getRepositorySpecificName( repository.getId(), path ); } @@ -529,11 +337,11 @@ public class MetadataTools configuration.addChangeListener( this ); } - public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryConfiguration managedRepository, ProjectReference reference, - String proxyId ) + public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository, + ProjectReference reference, String proxyId ) { String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) ); - File metadataFile = new File( managedRepository.getLocation(), metadataPath ); + File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath ); try { @@ -548,11 +356,11 @@ public class MetadataTools } } - public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryConfiguration managedRepository, + public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository, VersionedReference reference, String proxyId ) { String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) ); - File metadataFile = new File( managedRepository.getLocation(), metadataPath ); + File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath ); try { @@ -579,27 +387,26 @@ public class MetadataTools * @throws LayoutException * @throws RepositoryMetadataException * @throws IOException + * @throws ContentNotFoundException */ - public void updateMetadata( ManagedRepositoryConfiguration managedRepository, ProjectReference reference ) - throws LayoutException, RepositoryMetadataException, IOException + public void updateMetadata( ManagedRepositoryContent managedRepository, ProjectReference reference ) + throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException { - Comparator<String> comparator = VersionComparator.getInstance(); + File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) ); - File metadataFile = new File( managedRepository.getLocation(), toPath( reference ) ); + long lastUpdated = getExistingLastUpdated( metadataFile ); ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); metadata.setGroupId( reference.getGroupId() ); metadata.setArtifactId( reference.getArtifactId() ); - // Gather up the versions found in the managed repository. - Set<String> availableVersions = gatherAvailableVersions( managedRepository, reference ); + // Gather up all versions found in the managed repository. + Set<String> allVersions = managedRepository.getVersions( reference ); // Does this repository have a set of remote proxied repositories? - Set proxiedRepoIds = this.proxies.get( managedRepository.getId() ); + Set<String> proxiedRepoIds = this.proxies.get( managedRepository.getId() ); - String latestVersion = null; - String releaseVersion = null; - if ( proxiedRepoIds != null ) + if ( CollectionUtils.isNotEmpty( proxiedRepoIds ) ) { // Add in the proxied repo version ids too. Iterator<String> it = proxiedRepoIds.iterator(); @@ -610,43 +417,120 @@ public class MetadataTools ArchivaRepositoryMetadata proxyMetadata = readProxyMetadata( managedRepository, reference, proxyId ); if ( proxyMetadata != null ) { - availableVersions.addAll( proxyMetadata.getAvailableVersions() ); - - if ( latestVersion == null || - comparator.compare( proxyMetadata.getLatestVersion(), latestVersion ) > 0 ) - { - latestVersion = proxyMetadata.getLatestVersion(); - } + allVersions.addAll( proxyMetadata.getAvailableVersions() ); + long proxyLastUpdated = getLastUpdated( proxyMetadata ); - if ( releaseVersion == null || - comparator.compare( proxyMetadata.getReleasedVersion(), releaseVersion ) > 0 ) - { - releaseVersion = proxyMetadata.getReleasedVersion(); - } + lastUpdated = Math.max( lastUpdated, proxyLastUpdated ); } } } - if ( availableVersions.size() == 0 ) + if ( allVersions.size() == 0 ) { throw new IOException( "No versions found for reference." ); } // Sort the versions - List<String> sortedVersions = new ArrayList<String>(); - sortedVersions.addAll( availableVersions ); - Collections.sort( sortedVersions, new VersionComparator() ); + List<String> sortedVersions = new ArrayList<String>( allVersions ); + Collections.sort( sortedVersions, VersionComparator.getInstance() ); + + // Split the versions into released and snapshots. + List<String> releasedVersions = new ArrayList<String>(); + List<String> snapshotVersions = new ArrayList<String>(); + + for ( String version : sortedVersions ) + { + if ( VersionUtil.isSnapshot( version ) ) + { + snapshotVersions.add( version ); + } + else + { + releasedVersions.add( version ); + } + } + + Collections.sort( releasedVersions, VersionComparator.getInstance() ); + Collections.sort( snapshotVersions, VersionComparator.getInstance() ); + + String latestVersion = sortedVersions.get( sortedVersions.size() - 1 ); + String releaseVersion = null; + + if ( CollectionUtils.isNotEmpty( releasedVersions ) ) + { + releaseVersion = releasedVersions.get( releasedVersions.size() - 1 ); + } // Add the versions to the metadata model. metadata.setAvailableVersions( sortedVersions ); metadata.setLatestVersion( latestVersion ); metadata.setReleasedVersion( releaseVersion ); + if ( lastUpdated > 0 ) + { + metadata.setLastUpdatedTimestamp( toLastUpdatedDate( lastUpdated ) ); + } // Save the metadata model to disk. RepositoryMetadataWriter.write( metadata, metadataFile ); } + private Date toLastUpdatedDate( long lastUpdated ) + { + Calendar cal = Calendar.getInstance( DateUtils.UTC_TIME_ZONE ); + cal.setTimeInMillis( lastUpdated ); + + return cal.getTime(); + } + + private long getLastUpdated( ArchivaRepositoryMetadata metadata ) + { + if ( metadata == null ) + { + // Doesn't exist. + return 0; + } + + try + { + String lastUpdated = metadata.getLastUpdated(); + if ( StringUtils.isBlank( lastUpdated ) ) + { + // Not set. + return 0; + } + + Date lastUpdatedDate = lastUpdatedFormat.parse( lastUpdated ); + return lastUpdatedDate.getTime(); + } + catch ( ParseException e ) + { + // Bad format on the last updated string. + return 0; + } + } + + private long getExistingLastUpdated( File metadataFile ) + { + if ( !metadataFile.exists() ) + { + // Doesn't exist. + return 0; + } + + try + { + ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile ); + + return getLastUpdated( metadata ); + } + catch ( RepositoryMetadataException e ) + { + // Error. + return 0; + } + } + /** * Update the metadata based on the following rules. * <p/> @@ -660,16 +544,22 @@ public class MetadataTools * @throws LayoutException * @throws RepositoryMetadataException * @throws IOException + * @throws ContentNotFoundException */ - public void updateMetadata( ManagedRepositoryConfiguration managedRepository, VersionedReference reference ) - throws LayoutException, RepositoryMetadataException, IOException + public void updateMetadata( ManagedRepositoryContent managedRepository, VersionedReference reference ) + throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException { - BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() ); - File metadataFile = new File( managedRepository.getLocation(), toPath( reference ) ); + File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) ); + + long originalLastUpdated = getExistingLastUpdated( metadataFile ); ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata(); metadata.setGroupId( reference.getGroupId() ); metadata.setArtifactId( reference.getArtifactId() ); + if ( originalLastUpdated > 0 ) + { + metadata.setLastUpdatedTimestamp( toLastUpdatedDate( originalLastUpdated ) ); + } if ( VersionUtil.isSnapshot( reference.getVersion() ) ) { @@ -678,11 +568,12 @@ public class MetadataTools // Gather up all of the versions found in the reference dir, and any // proxied maven-metadata.xml files. - Set snapshotVersions = gatherSnapshotVersions( managedRepository, reference ); + Set<String> snapshotVersions = gatherSnapshotVersions( managedRepository, reference ); if ( snapshotVersions.isEmpty() ) { - throw new IOException( "Not snapshot versions found to reference." ); + throw new ContentNotFoundException( "No snapshot versions found on reference [" + + VersionedReference.toKey( reference ) + "]." ); } // sort the list to determine to aide in determining the Latest version. @@ -731,7 +622,7 @@ public class MetadataTools throw new IOException( "Not snapshot artifact found to reference in " + reference ); } - File artifactFile = new File( managedRepository.getLocation(), layout.toPath( artifact ) ); + File artifactFile = managedRepository.toFile( artifact ); if ( artifactFile.exists() ) { @@ -741,8 +632,8 @@ public class MetadataTools } else { - throw new RepositoryMetadataException( - "Unable to process snapshot version <" + latestVersion + "> reference <" + reference + ">" ); + throw new RepositoryMetadataException( "Unable to process snapshot version <" + latestVersion + + "> reference <" + reference + ">" ); } } else @@ -788,4 +679,83 @@ public class MetadataTools } } } + + /** + * Get the first Artifact found in the provided VersionedReference location. + * + * @param managedRepository the repository to search within. + * @param reference the reference to the versioned reference to search within + * @return the ArtifactReference to the first artifact located within the versioned reference. or null if + * no artifact was found within the versioned reference. + * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory) + * @throws LayoutException + */ + public ArtifactReference getFirstArtifact( ManagedRepositoryContent managedRepository, VersionedReference reference ) + throws LayoutException, IOException + { + String path = toPath( reference ); + + int idx = path.lastIndexOf( '/' ); + if ( idx > 0 ) + { + path = path.substring( 0, idx ); + } + + File repoDir = new File( managedRepository.getRepoRoot(), path ); + + if ( !repoDir.exists() ) + { + throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " + + repoDir.getAbsolutePath() ); + } + + if ( !repoDir.isDirectory() ) + { + throw new IOException( "Unable to gather the list of snapshot versions on a non-directory: " + + repoDir.getAbsolutePath() ); + } + + File repoFiles[] = repoDir.listFiles(); + for ( int i = 0; i < repoFiles.length; i++ ) + { + if ( repoFiles[i].isDirectory() ) + { + // Skip it. it's a directory. + continue; + } + + String relativePath = PathUtil.getRelative( managedRepository.getRepoRoot(), repoFiles[i] ); + + if ( matchesArtifactPattern( relativePath ) ) + { + ArtifactReference artifact = managedRepository.toArtifactReference( relativePath ); + + return artifact; + } + } + + // No artifact was found. + return null; + } + + private boolean matchesArtifactPattern( String relativePath ) + { + // Correct the slash pattern. + relativePath = relativePath.replace( '\\', '/' ); + + Iterator<String> it = this.artifactPatterns.iterator(); + while ( it.hasNext() ) + { + String pattern = it.next(); + + if ( SelectorUtils.matchPath( pattern, relativePath, false ) ) + { + // Found match + return true; + } + } + + // No match. + return false; + } } diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java index 22da830bf..06edbb67e 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java @@ -28,7 +28,7 @@ import java.io.Writer; /** * ProjectModelWriter * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ public interface ProjectModelWriter diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java index b8f052bed..be23449a3 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java @@ -56,7 +56,7 @@ import java.util.List; /** * ProjectModel400Writer for Maven 2 project model v4.0.0 pom files. * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ * * @plexus.component diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java index 4d9ebf3c3..ba664af59 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java @@ -28,7 +28,7 @@ import java.util.List; /** * RepositoryScanStatistics - extension to the RepositoryContentStatistics model. * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ public class RepositoryScanStatistics diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java index 911af6ca7..c361e9e48 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java @@ -28,7 +28,7 @@ import java.io.File; /** * AbstractRepositoryLayerTestCase * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ public abstract class AbstractRepositoryLayerTestCase @@ -51,4 +51,18 @@ public abstract class AbstractRepositoryLayerTestCase repo.setUrl( url ); return repo; } + + protected RemoteRepositoryContent createRemoteRepositoryContent( String id, String name, String url, String layout ) + throws Exception + { + RemoteRepositoryConfiguration repo = new RemoteRepositoryConfiguration(); + repo.setId( id ); + repo.setName( name ); + repo.setUrl( url ); + + RemoteRepositoryContent repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, layout ); + repoContent.setRepository( repo ); + + return repoContent; + } } diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java deleted file mode 100644 index bccf8e19e..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.apache.maven.archiva.repository; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * AllTests - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class AllTests -{ - - public static Test suite() - { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository" ); - //$JUnit-BEGIN$ - suite.addTestSuite( RepositoryURLTest.class ); - suite.addTest( org.apache.maven.archiva.repository.metadata.AllTests.suite() ); - suite.addTest( org.apache.maven.archiva.repository.project.AllTests.suite() ); - suite.addTest( org.apache.maven.archiva.repository.scanner.AllTests.suite() ); - suite.addTest( org.apache.maven.archiva.repository.layout.AllTests.suite() ); - //$JUnit-END$ - return suite; - } - -} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java new file mode 100644 index 000000000..a90f18a29 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java @@ -0,0 +1,400 @@ +package org.apache.maven.archiva.repository.content; + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * AbstractDefaultRepositoryContentTestCase + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public abstract class AbstractDefaultRepositoryContentTestCase + extends AbstractRepositoryLayerTestCase +{ + public void testBadPathMissingType() + { + assertBadPath( "invalid/invalid/1/invalid-1", "missing type" ); + } + + public void testBadPathReleaseInSnapshotDir() + { + assertBadPath( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar", "non snapshot artifact inside of a snapshot dir" ); + } + + public void testBadPathTimestampedSnapshotNotInSnapshotDir() + { + assertBadPath( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar", + "Timestamped Snapshot artifact not inside of an Snapshot dir" ); + } + + public void testBadPathTooShort() + { + assertBadPath( "invalid/invalid-1.0.jar", "path is too short" ); + } + + public void testBadPathVersionMismatchA() + { + assertBadPath( "invalid/invalid/1.0/invalid-2.0.jar", "version mismatch between path and artifact" ); + } + + public void testBadPathVersionMismatchB() + { + assertBadPath( "invalid/invalid/1.0/invalid-1.0b.jar", "version mismatch between path and artifact" ); + } + + public void testBadPathWrongArtifactId() + { + assertBadPath( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar", + "wrong artifact id" ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecGanymedSsh2() + throws LayoutException + { + String groupId = "ch.ethz.ganymed"; + String artifactId = "ganymed-ssh2"; + String version = "build210"; + String classifier = null; + String type = "jar"; + String path = "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxComm() + throws LayoutException + { + String groupId = "javax"; + String artifactId = "comm"; + String version = "3.0-u1"; + String classifier = null; + String type = "jar"; + String path = "javax/comm/3.0-u1/comm-3.0-u1.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * Test the ejb-client type spec. + * Type specs are not a 1 to 1 map to the extension. + * This tests that effect. + * @throws LayoutException + */ + /* TODO: Re-enabled in the future. + public void testGoodFooEjbClient() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-client"; + String version = "1.0"; + String classifier = null; + String type = "ejb-client"; // oddball type-spec (should result in jar extension) + String path = "com/foo/foo-client/1.0/foo-client-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + */ + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxPersistence() + throws LayoutException + { + String groupId = "javax.persistence"; + String artifactId = "ejb"; + String version = "3.0-public_review"; + String classifier = null; + String type = "jar"; + String path = "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar"; + + /* + * The version id of "public_review" can cause problems. is it part of + * the version spec? or the classifier? + * Since the path spec below shows it in the path, then it is really + * part of the version spec. + */ + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testGoodComFooTool() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-tool"; + String version = "1.0"; + String classifier = null; + String type = "jar"; + String path = "com/foo/foo-tool/1.0/foo-tool-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testGoodCommonsLang() + throws LayoutException + { + String groupId = "commons-lang"; + String artifactId = "commons-lang"; + String version = "2.1"; + String classifier = null; + String type = "jar"; + String path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected" + */ + public void testGoodDashedArtifactId() + throws LayoutException + { + String groupId = "test.maven-arch"; + String artifactId = "test-arch"; + String version = "2.0.3-SNAPSHOT"; + String classifier = null; + String type = "pom"; + String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * It may seem odd, but this is a valid artifact. + */ + public void testGoodDotNotationArtifactId() + throws LayoutException + { + String groupId = "com.company.department"; + String artifactId = "com.company.department"; + String version = "0.2"; + String classifier = null; + String type = "pom"; + String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * It may seem odd, but this is a valid artifact. + */ + public void testGoodDotNotationSameGroupIdAndArtifactId() + throws LayoutException + { + String groupId = "com.company.department"; + String artifactId = "com.company.department.project"; + String version = "0.3"; + String classifier = null; + String type = "pom"; + String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * Test the classifier, and java-source type spec. + * @throws LayoutException + */ + public void testGoodFooLibSources() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1"; + String classifier = "sources"; + String type = "java-source"; // oddball type-spec (should result in jar extension) + String path = "com/foo/lib/foo-lib/2.1-alpha-1/foo-lib-2.1-alpha-1-sources.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory. + * @throws LayoutException + */ + public void testGoodSnapshotMavenTest() + throws LayoutException + { + String groupId = "org.apache.archiva.test"; + String artifactId = "redonkulous"; + String version = "3.1-beta-1-20050831.101112-42"; + String classifier = null; + String type = "jar"; + String path = "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String classifier = null; + String type = "pom"; + String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testToArtifactOnEmptyPath() + { + try + { + toArtifactReference( "" ); + fail( "Should have failed due to empty path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactOnNullPath() + { + try + { + toArtifactReference( null ); + fail( "Should have failed due to null path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactReferenceOnEmptyPath() + { + try + { + toArtifactReference( "" ); + fail( "Should have failed due to empty path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactReferenceOnNullPath() + { + try + { + toArtifactReference( null ); + fail( "Should have failed due to null path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToPathOnNullArtifactReference() + + { + try + { + ArtifactReference reference = null; + toPath( reference ); + fail( "Should have failed due to null artifact reference." ); + } + catch ( IllegalArgumentException e ) + { + /* expected path */ + } + } + + private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId, + String version, String classifier, String type ) + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier + + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualReference ); + + assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() ); + if ( StringUtils.isNotBlank( classifier ) ) + { + assertEquals( expectedId + " - Classifier", classifier, actualReference.getClassifier() ); + } + assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() ); + assertEquals( expectedId + " - Type", type, actualReference.getType() ); + } + + private void assertBadPath( String path, String reason ) + { + try + { + toArtifactReference( path ); + fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + /** + * Perform a roundtrip through the layout routines to determine success. + */ + private void assertLayout( String path, String groupId, String artifactId, String version, String classifier, + String type ) + throws LayoutException + { + ArtifactReference expectedArtifact = createArtifact( groupId, artifactId, version, classifier, type ); + + // --- Artifact Tests. + + // Artifact to Path + assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( expectedArtifact ) ); + + // --- Artifact Reference Tests + + // Path to Artifact Reference. + ArtifactReference testReference = toArtifactReference( path ); + assertArtifactReference( testReference, groupId, artifactId, version, classifier, type ); + + // And back again, using test Reference from previous step. + assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( testReference ) ); + } + + private ArtifactReference createArtifact( String groupId, String artifactId, String version, String classifier, + String type ) + { + ArtifactReference artifact = new ArtifactReference(); + artifact.setGroupId( groupId ); + artifact.setArtifactId( artifactId ); + artifact.setVersion( version ); + artifact.setClassifier( classifier ); + artifact.setType( type ); + assertNotNull( artifact ); + return artifact; + } + + protected abstract ArtifactReference toArtifactReference( String path ) + throws LayoutException; + + protected abstract String toPath( ArtifactReference reference ); +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java new file mode 100644 index 000000000..405a26de9 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java @@ -0,0 +1,329 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * AbstractLegacyRepositoryContentTestCase + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public abstract class AbstractLegacyRepositoryContentTestCase + extends AbstractRepositoryLayerTestCase +{ + public void testBadPathArtifactIdMissingA() + { + assertBadPath( "groupId/jars/-1.0.jar", "artifactId is missing" ); + } + + public void testBadPathArtifactIdMissingB() + { + assertBadPath( "groupId/jars/1.0.jar", "artifactId is missing" ); + } + + public void testBadPathMissingType() + { + assertBadPath( "invalid/invalid/1/invalid-1", "missing type" ); + } + + public void testBadPathTooShort() + { + // NEW + assertBadPath( "invalid/invalid-1.0.jar", "path is too short" ); + } + + public void testBadPathWrongPackageExtension() + { + assertBadPath( "org.apache.maven.test/jars/artifactId-1.0.war", "wrong package extension" ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecGanymedSsh2() + throws LayoutException + { + String groupId = "ch.ethz.ganymed"; + String artifactId = "ganymed-ssh2"; + String version = "build210"; + String type = "jar"; + String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxComm() + throws LayoutException + { + String groupId = "javax"; + String artifactId = "comm"; + String version = "3.0-u1"; + String type = "jar"; + String path = "javax/jars/comm-3.0-u1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxPersistence() + throws LayoutException + { + String groupId = "javax.persistence"; + String artifactId = "ejb"; + String version = "3.0-public_review"; + String type = "jar"; + String path = "javax.persistence/jars/ejb-3.0-public_review.jar"; + + /* + * The version id of "public_review" can cause problems. is it part of + * the version spec? or the classifier? + */ + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodCommonsLang() + throws LayoutException + { + String groupId = "commons-lang"; + String artifactId = "commons-lang"; + String version = "2.1"; + String type = "jar"; + String path = "commons-lang/jars/commons-lang-2.1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodDerby() + throws LayoutException + { + String groupId = "org.apache.derby"; + String artifactId = "derby"; + String version = "10.2.2.0"; + String type = "jar"; + String path = "org.apache.derby/jars/derby-10.2.2.0.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Test the ejb-client type spec. + * Type specs are not a 1 to 1 map to the extension. + * This tests that effect. + * @throws LayoutException + */ + /* TODO: Re-enabled in the future. + public void testGoodFooEjbClient() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-client"; + String version = "1.0"; + String type = "ejb"; // oddball type-spec (should result in jar extension) + String path = "com.foo/ejbs/foo-client-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + */ + + /** + * Test the classifier. + * @throws LayoutException + */ + public void testGoodFooLibJavadoc() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1-javadoc"; + String type = "javadoc"; + String path = "com.foo.lib/javadocs/foo-lib-2.1-alpha-1-javadoc.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Test the classifier, and java-source type spec. + * @throws LayoutException + */ + public void testGoodFooLibSources() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1-sources"; + String type = "java-source"; // oddball type-spec (should result in jar extension) + String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodFooTool() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-tool"; + String version = "1.0"; + String type = "jar"; + String path = "com.foo/jars/foo-tool-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodGeronimoEjbSpec() + throws LayoutException + { + String groupId = "org.apache.geronimo.specs"; + String artifactId = "geronimo-ejb_2.1_spec"; + String version = "1.0.1"; + String type = "jar"; + String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodLdapClientsPom() + throws LayoutException + { + String groupId = "directory-clients"; + String artifactId = "ldap-clients"; + String version = "0.9.1-SNAPSHOT"; + String type = "pom"; + String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory. + * @throws LayoutException + */ + public void testGoodSnapshotMavenTest() + throws LayoutException + { + String groupId = "org.apache.archiva.test"; + String artifactId = "redonkulous"; + String version = "3.1-beta-1-20050831.101112-42"; + String type = "jar"; + String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String type = "jar"; + + String path = "maven/jars/maven-test-plugin-1.8.2.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Perform a roundtrip through the layout routines to determine success. + */ + private void assertLayout( String path, String groupId, String artifactId, String version, String type ) + throws LayoutException + { + ArtifactReference expectedArtifact = createArtifact( groupId, artifactId, version, type ); + + // --- Artifact Tests. + // Artifact to Path + assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( expectedArtifact ) ); + + // --- Artifact Reference Tests + + // Path to Artifact Reference. + ArtifactReference testReference = toArtifactReference( path ); + assertArtifactReference( testReference, groupId, artifactId, version, type ); + + // And back again, using test Reference from previous step. + assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( testReference ) ); + } + + private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId, + String version, String type ) + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualReference ); + + assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() ); + assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() ); + assertEquals( expectedId + " - Type", type, actualReference.getType() ); + // legacy has no classifier. + assertNull( expectedId + " - classifier", actualReference.getClassifier() ); + } + + protected ArtifactReference createArtifact( String groupId, String artifactId, String version, String type ) + { + ArtifactReference artifact = new ArtifactReference(); + artifact.setGroupId( groupId ); + artifact.setArtifactId( artifactId ); + artifact.setVersion( version ); + artifact.setType( type ); + assertNotNull( artifact ); + return artifact; + } + + private void assertBadPath( String path, String reason ) + { + try + { + toArtifactReference( path ); + fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + + protected abstract ArtifactReference toArtifactReference( String path ) + throws LayoutException; + + protected abstract String toPath( ArtifactReference reference ); + +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java new file mode 100644 index 000000000..5284d0663 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java @@ -0,0 +1,355 @@ +package org.apache.maven.archiva.repository.content; + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * DefaultPathParserTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class DefaultPathParserTest + extends AbstractRepositoryLayerTestCase +{ + public void testBadPathMissingType() + { + assertBadPath( "invalid/invalid/1/invalid-1", "missing type" ); + } + + public void testBadPathReleaseInSnapshotDir() + { + assertBadPath( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar", "non snapshot artifact inside of a snapshot dir" ); + } + + public void testBadPathTimestampedSnapshotNotInSnapshotDir() + { + assertBadPath( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar", + "Timestamped Snapshot artifact not inside of an Snapshot dir" ); + } + + public void testBadPathTooShort() + { + assertBadPath( "invalid/invalid-1.0.jar", "path is too short" ); + } + + public void testBadPathVersionMismatchA() + { + assertBadPath( "invalid/invalid/1.0/invalid-2.0.jar", "version mismatch between path and artifact" ); + } + + public void testBadPathVersionMismatchB() + { + assertBadPath( "invalid/invalid/1.0/invalid-1.0b.jar", "version mismatch between path and artifact" ); + } + + public void testBadPathWrongArtifactId() + { + assertBadPath( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar", + "wrong artifact id" ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecGanymedSsh2() + throws LayoutException + { + String groupId = "ch.ethz.ganymed"; + String artifactId = "ganymed-ssh2"; + String version = "build210"; + String classifier = null; + String type = "jar"; + String path = "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxComm() + throws LayoutException + { + String groupId = "javax"; + String artifactId = "comm"; + String version = "3.0-u1"; + String classifier = null; + String type = "jar"; + String path = "javax/comm/3.0-u1/comm-3.0-u1.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * Test the ejb-client type spec. + * Type specs are not a 1 to 1 map to the extension. + * This tests that effect. + * @throws LayoutException + */ + /* TODO: Re-enabled in the future. + public void testGoodFooEjbClient() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-client"; + String version = "1.0"; + String classifier = null; + String type = "ejb-client"; // oddball type-spec (should result in jar extension) + String path = "com/foo/foo-client/1.0/foo-client-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + */ + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxPersistence() + throws LayoutException + { + String groupId = "javax.persistence"; + String artifactId = "ejb"; + String version = "3.0-public_review"; + String classifier = null; + String type = "jar"; + String path = "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar"; + + /* + * The version id of "public_review" can cause problems. is it part of + * the version spec? or the classifier? + * Since the path spec below shows it in the path, then it is really + * part of the version spec. + */ + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testGoodComFooTool() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-tool"; + String version = "1.0"; + String classifier = null; + String type = "jar"; + String path = "com/foo/foo-tool/1.0/foo-tool-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testGoodCommonsLang() + throws LayoutException + { + String groupId = "commons-lang"; + String artifactId = "commons-lang"; + String version = "2.1"; + String classifier = null; + String type = "jar"; + String path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected" + */ + public void testGoodDashedArtifactId() + throws LayoutException + { + String groupId = "test.maven-arch"; + String artifactId = "test-arch"; + String version = "2.0.3-SNAPSHOT"; + String classifier = null; + String type = "pom"; + String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * It may seem odd, but this is a valid artifact. + */ + public void testGoodDotNotationArtifactId() + throws LayoutException + { + String groupId = "com.company.department"; + String artifactId = "com.company.department"; + String version = "0.2"; + String classifier = null; + String type = "pom"; + String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * It may seem odd, but this is a valid artifact. + */ + public void testGoodDotNotationSameGroupIdAndArtifactId() + throws LayoutException + { + String groupId = "com.company.department"; + String artifactId = "com.company.department.project"; + String version = "0.3"; + String classifier = null; + String type = "pom"; + String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * Test the classifier, and java-source type spec. + * @throws LayoutException + */ + public void testGoodFooLibSources() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1"; + String classifier = "sources"; + String type = "java-source"; // oddball type-spec (should result in jar extension) + String path = "com/foo/lib/foo-lib/2.1-alpha-1/foo-lib-2.1-alpha-1-sources.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory. + * @throws LayoutException + */ + public void testGoodSnapshotMavenTest() + throws LayoutException + { + String groupId = "org.apache.archiva.test"; + String artifactId = "redonkulous"; + String version = "3.1-beta-1-20050831.101112-42"; + String classifier = null; + String type = "jar"; + String path = "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String classifier = null; + String type = "pom"; + String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + + public void testToArtifactOnEmptyPath() + { + try + { + DefaultPathParser.toArtifactReference( "" ); + fail( "Should have failed due to empty path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactOnNullPath() + { + try + { + DefaultPathParser.toArtifactReference( null ); + fail( "Should have failed due to null path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactReferenceOnEmptyPath() + { + try + { + DefaultPathParser.toArtifactReference( "" ); + fail( "Should have failed due to empty path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + public void testToArtifactReferenceOnNullPath() + { + try + { + DefaultPathParser.toArtifactReference( null ); + fail( "Should have failed due to null path." ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + /** + * Perform a path to artifact reference lookup, and verify the results. + */ + private void assertLayout( String path, String groupId, String artifactId, String version, String classifier, + String type ) + throws LayoutException + { + // Path to Artifact Reference. + ArtifactReference testReference = DefaultPathParser.toArtifactReference( path ); + assertArtifactReference( testReference, groupId, artifactId, version, classifier, type ); + } + + private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId, + String version, String classifier, String type ) + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier + + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualReference ); + + assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() ); + if ( StringUtils.isNotBlank( classifier ) ) + { + assertEquals( expectedId + " - Classifier", classifier, actualReference.getClassifier() ); + } + assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() ); + assertEquals( expectedId + " - Type", type, actualReference.getType() ); + } + + private void assertBadPath( String path, String reason ) + { + try + { + DefaultPathParser.toArtifactReference( path ); + fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java new file mode 100644 index 000000000..ba0e2a9d7 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java @@ -0,0 +1,129 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import junit.framework.TestCase; + +/** + * FilenameParserTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class FilenameParserTest + extends TestCase +{ + public void testNameExtensionJar() + { + FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" ); + + assertEquals( "maven-test-plugin-1.8.3", parser.getName() ); + assertEquals( "jar", parser.getExtension() ); + } + + public void testNameExtensionTarGz() + { + FilenameParser parser = new FilenameParser( "archiva-1.0-beta-2-bin.tar.gz" ); + + assertEquals( "archiva-1.0-beta-2-bin", parser.getName() ); + assertEquals( "tar.gz", parser.getExtension() ); + } + + public void testNameExtensionTarBz2() + { + FilenameParser parser = new FilenameParser( "archiva-1.0-SNAPSHOT-src.tar.bz2" ); + + assertEquals( "archiva-1.0-SNAPSHOT-src", parser.getName() ); + assertEquals( "tar.bz2", parser.getExtension() ); + } + + public void testNameExtensionCapitolizedTarGz() + { + FilenameParser parser = new FilenameParser( "ARCHIVA-1.0-BETA-2-BIN.TAR.GZ" ); + + assertEquals( "ARCHIVA-1.0-BETA-2-BIN", parser.getName() ); + assertEquals( "TAR.GZ", parser.getExtension() ); + } + + public void testNext() + { + FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" ); + + assertEquals( "maven-test-plugin-1.8.3", parser.getName() ); + assertEquals( "jar", parser.getExtension() ); + + assertEquals( "maven", parser.next() ); + assertEquals( "test", parser.next() ); + assertEquals( "plugin", parser.next() ); + assertEquals( "1.8.3", parser.next() ); + assertNull( parser.next() ); + } + + public void testExpect() + { + FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" ); + + assertEquals( "maven-test-plugin-1.8.3", parser.getName() ); + assertEquals( "jar", parser.getExtension() ); + + assertEquals( "maven-test-plugin", parser.expect( "maven-test-plugin" ) ); + assertEquals( "1.8.3", parser.expect( "1.8.3" ) ); + assertNull( parser.expect( "jar" ) ); + } + + public void testExpectWithRemaining() + { + FilenameParser parser = new FilenameParser( "ganymede-ssh2-build250-sources.jar" ); + + assertEquals( "ganymede-ssh2-build250-sources", parser.getName() ); + assertEquals( "jar", parser.getExtension() ); + + assertEquals( "ganymede-ssh2", parser.expect( "ganymede-ssh2" ) ); + assertEquals( "build250", parser.expect( "build250" ) ); + assertEquals( "sources", parser.remaining() ); + + assertNull( parser.expect( "jar" ) ); + } + + public void testNextNonVersion() + { + FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" ); + + assertEquals("maven-test-plugin", parser.nextNonVersion() ); + assertEquals("1.8.3", parser.remaining() ); + } + + public void testNextArbitraryNonVersion() + { + FilenameParser parser = new FilenameParser( "maven-jdk-1.4-plugin-1.0-20070828.123456-42.jar" ); + + assertEquals("maven-jdk-1.4-plugin", parser.nextNonVersion() ); + assertEquals("1.0-20070828.123456-42", parser.remaining() ); + } + + public void testNextJython() + { + FilenameParser parser = new FilenameParser( "jython-20020827-no-oro.jar" ); + + assertEquals("jython", parser.nextNonVersion() ); + assertEquals("20020827", parser.nextVersion() ); + assertEquals("no-oro", parser.remaining() ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java new file mode 100644 index 000000000..4fdfa99e4 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java @@ -0,0 +1,301 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * LegacyPathParserTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class LegacyPathParserTest + extends AbstractRepositoryLayerTestCase +{ + public void testBadPathArtifactIdMissingA() + { + assertBadPath( "groupId/jars/-1.0.jar", "artifactId is missing" ); + } + + public void testBadPathArtifactIdMissingB() + { + assertBadPath( "groupId/jars/1.0.jar", "artifactId is missing" ); + } + + public void testBadPathMissingType() + { + assertBadPath( "invalid/invalid/1/invalid-1", "missing type" ); + } + + public void testBadPathTooShort() + { + // NEW + assertBadPath( "invalid/invalid-1.0.jar", "path is too short" ); + } + + public void testBadPathWrongPackageExtension() + { + assertBadPath( "org.apache.maven.test/jars/artifactId-1.0.war", "wrong package extension" ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecGanymedSsh2() + throws LayoutException + { + String groupId = "ch.ethz.ganymed"; + String artifactId = "ganymed-ssh2"; + String version = "build210"; + String type = "jar"; + String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxComm() + throws LayoutException + { + String groupId = "javax"; + String artifactId = "comm"; + String version = "3.0-u1"; + String type = "jar"; + String path = "javax/jars/comm-3.0-u1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-432] Oddball version spec. + * Example of an oddball / unusual version spec. + * @throws LayoutException + */ + public void testGoodButOddVersionSpecJavaxPersistence() + throws LayoutException + { + String groupId = "javax.persistence"; + String artifactId = "ejb"; + String version = "3.0-public_review"; + String type = "jar"; + String path = "javax.persistence/jars/ejb-3.0-public_review.jar"; + + /* + * The version id of "public_review" can cause problems. is it part of + * the version spec? or the classifier? + */ + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodCommonsLang() + throws LayoutException + { + String groupId = "commons-lang"; + String artifactId = "commons-lang"; + String version = "2.1"; + String type = "jar"; + String path = "commons-lang/jars/commons-lang-2.1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodDerby() + throws LayoutException + { + String groupId = "org.apache.derby"; + String artifactId = "derby"; + String version = "10.2.2.0"; + String type = "jar"; + String path = "org.apache.derby/jars/derby-10.2.2.0.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Test the ejb-client type spec. + * Type specs are not a 1 to 1 map to the extension. + * This tests that effect. + * @throws LayoutException + */ + /* TODO: Re-enabled in the future. + public void testGoodFooEjbClient() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-client"; + String version = "1.0"; + String type = "ejb"; // oddball type-spec (should result in jar extension) + String path = "com.foo/ejbs/foo-client-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + */ + + /** + * Test the classifier. + * @throws LayoutException + */ + public void testGoodFooLibJavadoc() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1-javadoc"; + String type = "javadoc"; + String path = "com.foo.lib/javadocs/foo-lib-2.1-alpha-1-javadoc.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Test the classifier, and java-source type spec. + * @throws LayoutException + */ + public void testGoodFooLibSources() + throws LayoutException + { + String groupId = "com.foo.lib"; + String artifactId = "foo-lib"; + String version = "2.1-alpha-1-sources"; + String type = "java-source"; // oddball type-spec (should result in jar extension) + String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodFooTool() + throws LayoutException + { + String groupId = "com.foo"; + String artifactId = "foo-tool"; + String version = "1.0"; + String type = "jar"; + String path = "com.foo/jars/foo-tool-1.0.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodGeronimoEjbSpec() + throws LayoutException + { + String groupId = "org.apache.geronimo.specs"; + String artifactId = "geronimo-ejb_2.1_spec"; + String version = "1.0.1"; + String type = "jar"; + String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + public void testGoodLdapClientsPom() + throws LayoutException + { + String groupId = "directory-clients"; + String artifactId = "ldap-clients"; + String version = "0.9.1-SNAPSHOT"; + String type = "pom"; + String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory. + * @throws LayoutException + */ + public void testGoodSnapshotMavenTest() + throws LayoutException + { + String groupId = "org.apache.archiva.test"; + String artifactId = "redonkulous"; + String version = "3.1-beta-1-20050831.101112-42"; + String type = "jar"; + String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String type = "jar"; + + String path = "maven/jars/maven-test-plugin-1.8.2.jar"; + + assertLayout( path, groupId, artifactId, version, type ); + } + + /** + * Perform a path to artifact reference lookup, and verify the results. + */ + private void assertLayout( String path, String groupId, String artifactId, String version, String type ) + throws LayoutException + { + // Path to Artifact Reference. + ArtifactReference testReference = LegacyPathParser.toArtifactReference( path ); + assertArtifactReference( testReference, groupId, artifactId, version, type ); + } + + private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId, + String version, String type ) + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualReference ); + + assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() ); + assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() ); + assertEquals( expectedId + " - Type", type, actualReference.getType() ); + // legacy has no classifier. + assertNull( expectedId + " - classifier", actualReference.getClassifier() ); + } + + protected void assertBadPath( String path, String reason ) + { + try + { + LegacyPathParser.toArtifactReference( path ); + fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java new file mode 100644 index 000000000..f86259063 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java @@ -0,0 +1,206 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.common.utils.VersionComparator; +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +/** + * ManagedDefaultRepositoryContentTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class ManagedDefaultRepositoryContentTest + extends AbstractDefaultRepositoryContentTestCase +{ + private ManagedRepositoryContent repoContent; + + public void testGetVersionsBadArtifact() + throws Exception + { + assertGetVersions( "bad_artifact", Collections.EMPTY_LIST ); + } + + public void testGetVersionsMissingMultipleVersions() + throws Exception + { + assertGetVersions( "missing_metadata_b", Arrays.asList( "1.0", "1.0.1", "2.0", "2.0.1", "2.0-20070821-dev" ) ); + } + + public void testGetVersionsSimple() + throws Exception + { + assertVersions( "proxied_multi", "2.1", new String[] { "2.1" } ); + } + + public void testGetVersionsSimpleYetIncomplete() + throws Exception + { + assertGetVersions( "incomplete_metadata_a", Collections.singletonList( "1.0" ) ); + } + + public void testGetVersionsSimpleYetMissing() + throws Exception + { + assertGetVersions( "missing_metadata_a", Collections.singletonList( "1.0" ) ); + } + + public void testGetVersionsSnapshotA() + throws Exception + { + assertVersions( "snap_shots_a", "1.0-alpha-11-SNAPSHOT", new String[] { + "1.0-alpha-11-SNAPSHOT", + "1.0-alpha-11-20070221.194724-2", + "1.0-alpha-11-20070302.212723-3", + "1.0-alpha-11-20070303.152828-4", + "1.0-alpha-11-20070305.215149-5", + "1.0-alpha-11-20070307.170909-6", + "1.0-alpha-11-20070314.211405-9", + "1.0-alpha-11-20070316.175232-11" } ); + } + + public void testToMetadataPathFromProjectReference() + { + ProjectReference reference = new ProjectReference(); + reference.setGroupId( "com.foo" ); + reference.setArtifactId( "foo-tool" ); + + assertEquals( "com/foo/foo-tool/maven-metadata.xml", repoContent.toMetadataPath( reference ) ); + } + + public void testToMetadataPathFromVersionReference() + { + VersionedReference reference = new VersionedReference(); + reference.setGroupId( "com.foo" ); + reference.setArtifactId( "foo-tool" ); + reference.setVersion( "1.0" ); + + assertEquals( "com/foo/foo-tool/1.0/maven-metadata.xml", repoContent.toMetadataPath( reference ) ); + } + + public void testToPathOnNullArtifactReference() + { + try + { + ArtifactReference reference = null; + repoContent.toPath( reference ); + fail( "Should have failed due to null artifact reference." ); + } + catch ( IllegalArgumentException e ) + { + /* expected path */ + } + } + + private void assertGetVersions( String artifactId, List<String> expectedVersions ) + throws Exception + { + ProjectReference reference = new ProjectReference(); + reference.setGroupId( "org.apache.archiva.metadata.tests" ); + reference.setArtifactId( artifactId ); + + // Use the test metadata-repository, which is already setup for + // These kind of version tests. + File repoDir = getTestFile( "src/test/repositories/metadata-repository" ); + repoContent.getRepository().setLocation( repoDir.getAbsolutePath() ); + + // Request the versions. + Set<String> testedVersionSet = repoContent.getVersions( reference ); + + // Sort the list (for asserts) + List<String> testedVersions = new ArrayList<String>(); + testedVersions.addAll( testedVersionSet ); + Collections.sort( testedVersions, new VersionComparator() ); + + // Test the expected array of versions, to the actual tested versions + assertEquals( "available versions", expectedVersions, testedVersions ); + } + + private void assertVersions( String artifactId, String version, String[] expectedVersions ) + throws Exception + { + VersionedReference reference = new VersionedReference(); + reference.setGroupId( "org.apache.archiva.metadata.tests" ); + reference.setArtifactId( artifactId ); + reference.setVersion( version ); + + // Use the test metadata-repository, which is already setup for + // These kind of version tests. + File repoDir = getTestFile( "src/test/repositories/metadata-repository" ); + repoContent.getRepository().setLocation( repoDir.getAbsolutePath() ); + + // Request the versions. + Set<String> testedVersionSet = repoContent.getVersions( reference ); + + // Sort the list (for asserts later) + List<String> testedVersions = new ArrayList<String>(); + testedVersions.addAll( testedVersionSet ); + Collections.sort( testedVersions, new VersionComparator() ); + + // Test the expected array of versions, to the actual tested versions + assertEquals( "Assert Versions: length/size", expectedVersions.length, testedVersions.size() ); + + for ( int i = 0; i < expectedVersions.length; i++ ) + { + String actualVersion = testedVersions.get( i ); + assertEquals( "Versions[" + i + "]", expectedVersions[i], actualVersion ); + } + } + + @Override + protected void setUp() + throws Exception + { + super.setUp(); + + File repoDir = getTestFile( "src/test/repositories/default-repository" ); + + ManagedRepositoryConfiguration repository = createRepository( "testRepo", "Unit Test Repo", repoDir ); + + repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, "default" ); + repoContent.setRepository( repository ); + } + + @Override + protected ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return repoContent.toArtifactReference( path ); + } + + @Override + protected String toPath( ArtifactReference reference ) + { + return repoContent.toPath( reference ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java new file mode 100644 index 000000000..9bfef753b --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java @@ -0,0 +1,192 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.common.utils.VersionComparator; +import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.model.ProjectReference; +import org.apache.maven.archiva.model.VersionedReference; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +/** + * ManagedLegacyRepositoryContentTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class ManagedLegacyRepositoryContentTest + extends AbstractLegacyRepositoryContentTestCase +{ + private ManagedRepositoryContent repoContent; + + public void testGetVersionsFromProjectReference() + throws Exception + { + assertVersions( "org.apache.maven", "testing", new String[] { + "UNKNOWN", + "1.0-javadoc", + "1.0-sources", + "1.0", + "1.0-20050611.112233-1" } ); + } + + public void testGetVersionsFromVersionedReference() + throws Exception + { + assertVersions( "org.apache.maven", "testing", "1.0", new String[] { + "1.0-javadoc", + "1.0-sources", + "1.0", + "1.0-20050611.112233-1" } ); + } + + private void assertVersions( String groupId, String artifactId, String[] expectedVersions ) + throws Exception + { + ProjectReference reference = new ProjectReference(); + reference.setGroupId( groupId ); + reference.setArtifactId( artifactId ); + + // Request the versions. + Set<String> testedVersionSet = repoContent.getVersions( reference ); + + // Sort the list (for asserts later) + List<String> testedVersions = new ArrayList<String>(); + testedVersions.addAll( testedVersionSet ); + Collections.sort( testedVersions, new VersionComparator() ); + + // Test the expected array of versions, to the actual tested versions + assertEquals( "Assert (Project) Versions: length/size", expectedVersions.length, testedVersions.size() ); + + for ( int i = 0; i < expectedVersions.length; i++ ) + { + String actualVersion = testedVersions.get( i ); + assertEquals( "(Project) Versions[" + i + "]", expectedVersions[i], actualVersion ); + } + } + + private void assertVersions( String groupId, String artifactId, String version, String[] expectedVersions ) + throws Exception + { + VersionedReference reference = new VersionedReference(); + reference.setGroupId( groupId ); + reference.setArtifactId( artifactId ); + reference.setVersion( version ); + + // Request the versions. + Set<String> testedVersionSet = repoContent.getVersions( reference ); + + // Sort the list (for asserts later) + List<String> testedVersions = new ArrayList<String>(); + testedVersions.addAll( testedVersionSet ); + Collections.sort( testedVersions, new VersionComparator() ); + + // Test the expected array of versions, to the actual tested versions + assertEquals( "Assert (Project) Versions: length/size", expectedVersions.length, testedVersions.size() ); + + for ( int i = 0; i < expectedVersions.length; i++ ) + { + String actualVersion = testedVersions.get( i ); + assertEquals( "(Project) Versions[" + i + "]", expectedVersions[i], actualVersion ); + } + } + + public void testGetRelatedArtifacts() + throws Exception + { + ArtifactReference reference = createArtifact( "org.apache.maven", "testing", "1.0", "jar" ); + + Set<ArtifactReference> related = repoContent.getRelatedArtifacts( reference ); + assertNotNull( related ); + + String expected[] = new String[] { + "org.apache.maven/jars/testing-1.0.jar", + "org.apache.maven/java-sources/testing-1.0-sources.jar", + "org.apache.maven/jars/testing-1.0-20050611.112233-1.jar", + "org.apache.maven/poms/testing-1.0.pom", + "org.apache.maven/javadocs/testing-1.0-javadoc.jar" }; + + StringBuffer relatedDebugString = new StringBuffer(); + relatedDebugString.append( "[" ); + for ( ArtifactReference ref : related ) + { + String actualPath = repoContent.toPath( ref ); + relatedDebugString.append( actualPath ).append( ":" ); + } + relatedDebugString.append( "]" ); + + assertEquals( "Related <" + relatedDebugString + ">:", expected.length, related.size() ); + + for ( String expectedPath : expected ) + { + boolean found = false; + for ( ArtifactReference actualRef : related ) + { + String actualPath = repoContent.toPath( actualRef ); + if ( actualPath.endsWith( expectedPath ) ) + { + found = true; + break; + } + } + if ( !found ) + { + fail( "Unable to find expected artifact [" + expectedPath + "] in list of related artifacts. " + + "Related <" + relatedDebugString + ">" ); + } + } + } + + @Override + protected void setUp() + throws Exception + { + super.setUp(); + + File repoDir = getTestFile( "src/test/repositories/legacy-repository" ); + + ManagedRepositoryConfiguration repository = createRepository( "testRepo", "Unit Test Repo", repoDir ); + repository.setLayout( "legacy" ); + + repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, "legacy" ); + repoContent.setRepository( repository ); + } + + @Override + protected ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return repoContent.toArtifactReference( path ); + } + + @Override + protected String toPath( ArtifactReference reference ) + { + return repoContent.toPath( reference ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java new file mode 100644 index 000000000..2a3384899 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java @@ -0,0 +1,63 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RemoteDefaultRepositoryContentTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class RemoteDefaultRepositoryContentTest + extends AbstractDefaultRepositoryContentTestCase +{ + private RemoteRepositoryContent repoContent; + + @Override + protected void setUp() + throws Exception + { + super.setUp(); + + RemoteRepositoryConfiguration repository = createRemoteRepository( "testRemoteRepo", "Unit Test Remote Repo", + "http://repo1.maven.org/maven2/" ); + + repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, "default" ); + repoContent.setRepository( repository ); + } + + @Override + protected ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return repoContent.toArtifactReference( path ); + } + + @Override + protected String toPath( ArtifactReference reference ) + { + return repoContent.toPath( reference ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java new file mode 100644 index 000000000..f976c2fdb --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java @@ -0,0 +1,65 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RemoteLegacyRepositoryContentTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class RemoteLegacyRepositoryContentTest + extends AbstractLegacyRepositoryContentTestCase +{ + private RemoteRepositoryContent repoContent; + + @Override + protected void setUp() + throws Exception + { + super.setUp(); + + RemoteRepositoryConfiguration repository = createRemoteRepository( "testRemoteLegacyRepo", + "Unit Test Remote Legacy Repo", + "http://repo1.maven.org/maven/" ); + repository.setLayout( "legacy" ); + + repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, "legacy" ); + repoContent.setRepository( repository ); + } + + @Override + protected ArtifactReference toArtifactReference( String path ) + throws LayoutException + { + return repoContent.toArtifactReference( path ); + } + + @Override + protected String toPath( ArtifactReference reference ) + { + return repoContent.toPath( reference ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java new file mode 100644 index 000000000..56ba649bb --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java @@ -0,0 +1,266 @@ +package org.apache.maven.archiva.repository.content; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.lang.StringUtils; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.layout.LayoutException; + +/** + * RepositoryRequestTest + * + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> + * @version $Id$ + */ +public class RepositoryRequestTest + extends AbstractRepositoryLayerTestCase +{ + public void testInvalidRequestNoArtifactId() + { + assertInvalidRequest( "groupId/jars/-1.0.jar" ); + } + + public void testInvalidLegacyRequestBadLocation() + { + assertInvalidRequest( "org.apache.maven.test/jars/artifactId-1.0.war" ); + } + + public void testInvalidRequestTooShort() + { + assertInvalidRequest( "org.apache.maven.test/artifactId-2.0.jar" ); + } + + public void testInvalidDefaultRequestBadLocation() + { + assertInvalidRequest( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar" ); + } + + public void testValidLegacyGanymed() + throws Exception + { + assertValid( "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar", "ch.ethz.ganymed", "ganymed-ssh2", "build210", + null, "jar" ); + } + + public void testValidDefaultGanymed() + throws Exception + { + assertValid( "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar", "ch.ethz.ganymed", + "ganymed-ssh2", "build210", null, "jar" ); + } + + public void testValidLegacyJavaxComm() + throws Exception + { + assertValid( "javax/jars/comm-3.0-u1.jar", "javax", "comm", "3.0-u1", null, "jar" ); + } + + public void testValidDefaultJavaxComm() + throws Exception + { + assertValid( "javax/comm/3.0-u1/comm-3.0-u1.jar", "javax", "comm", "3.0-u1", null, "jar" ); + } + + public void testValidLegacyJavaxPersistence() + throws Exception + { + assertValid( "javax.persistence/jars/ejb-3.0-public_review.jar", "javax.persistence", "ejb", + "3.0-public_review", null, "jar" ); + } + + public void testValidDefaultJavaxPersistence() + throws Exception + { + assertValid( "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar", "javax.persistence", "ejb", + "3.0-public_review", null, "jar" ); + } + + public void testValidLegacyMavenTestPlugin() + throws Exception + { + assertValid( "maven/jars/maven-test-plugin-1.8.2.jar", "maven", "maven-test-plugin", "1.8.2", null, "jar" ); + } + + public void testValidDefaultMavenTestPlugin() + throws Exception + { + assertValid( "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom", "maven", "maven-test-plugin", + "1.8.2", null, "pom" ); + } + + public void testValidLegacyCommonsLangJavadoc() + throws Exception + { + assertValid( "commons-lang/jars/commons-lang-2.1-javadoc.jar", "commons-lang", "commons-lang", "2.1-javadoc", + null, "javadoc" ); + } + + public void testValidDefaultCommonsLangJavadoc() + throws Exception + { + assertValid( "commons-lang/commons-lang/2.1/commons-lang-2.1-javadoc.jar", "commons-lang", "commons-lang", + "2.1", "javadoc", "javadoc" ); + } + + public void testValidLegacyDerbyPom() + throws Exception + { + assertValid( "org.apache.derby/poms/derby-10.2.2.0.pom", "org.apache.derby", "derby", "10.2.2.0", null, "pom" ); + } + + public void testValidDefaultDerbyPom() + throws Exception + { + assertValid( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0.pom", "org.apache.derby", "derby", "10.2.2.0", + null, "pom" ); + } + + public void testValidLegacyGeronimoEjbSpec() + throws Exception + { + assertValid( "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar", "org.apache.geronimo.specs", + "geronimo-ejb_2.1_spec", "1.0.1", null, "jar" ); + } + + public void testValidDefaultGeronimoEjbSpec() + throws Exception + { + assertValid( "org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar", + "org.apache.geronimo.specs", "geronimo-ejb_2.1_spec", "1.0.1", null, "jar" ); + } + + public void testValidLegacyLdapSnapshot() + throws Exception + { + assertValid( "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom", "directory-clients", "ldap-clients", + "0.9.1-SNAPSHOT", null, "pom" ); + } + + public void testValidDefaultLdapSnapshot() + throws Exception + { + assertValid( "directory-clients/ldap-clients/0.9.1-SNAPSHOT/ldap-clients-0.9.1-SNAPSHOT.pom", + "directory-clients", "ldap-clients", "0.9.1-SNAPSHOT", null, "pom" ); + } + + public void testValidLegacyTestArchSnapshot() + throws Exception + { + assertValid( "test.maven-arch/poms/test-arch-2.0.3-SNAPSHOT.pom", "test.maven-arch", "test-arch", + "2.0.3-SNAPSHOT", null, "pom" ); + } + + public void testValidDefaultTestArchSnapshot() + throws Exception + { + assertValid( "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom", "test.maven-arch", + "test-arch", "2.0.3-SNAPSHOT", null, "pom" ); + } + + public void testValidLegacyOddDottedArtifactId() + throws Exception + { + assertValid( "com.company.department/poms/com.company.department.project-0.2.pom", "com.company.department", + "com.company.department.project", "0.2", null, "pom" ); + } + + public void testValidDefaultOddDottedArtifactId() + throws Exception + { + assertValid( + "com/company/department/com.company.department.project/0.2/com.company.department.project-0.2.pom", + "com.company.department", "com.company.department.project", "0.2", null, "pom" ); + } + + public void testValidLegacyTimestampedSnapshot() + throws Exception + { + assertValid( "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar", + "org.apache.archiva.test", "redonkulous", "3.1-beta-1-20050831.101112-42", null, "jar" ); + } + + public void testValidDefaultTimestampedSnapshot() + throws Exception + { + assertValid( + "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar", + "org.apache.archiva.test", "redonkulous", "3.1-beta-1-20050831.101112-42", null, "jar" ); + } + + public void testIsArtifact() + { + assertTrue( repoRequest.isArtifact( "test.maven-arch/poms/test-arch-2.0.3-SNAPSHOT.pom" ) ); + assertTrue( repoRequest.isArtifact( "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.jar" ) ); + assertTrue( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz" ) ); + + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.sha1" )); + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.md5" )); + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.asc" )); + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.pgp" )); + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/maven-metadata.xml" )); + assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/maven-metadata.xml" )); + } + + private void assertValid( String path, String groupId, String artifactId, String version, String classifier, + String type ) + throws Exception + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + + ( classifier != null ? classifier + ":" : "" ) + type; + + ArtifactReference reference = repoRequest.toArtifactReference( path ); + + assertNotNull( expectedId + " - Should not be null.", reference ); + + assertEquals( expectedId + " - Group ID", groupId, reference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, reference.getArtifactId() ); + if ( StringUtils.isNotBlank( classifier ) ) + { + assertEquals( expectedId + " - Classifier", classifier, reference.getClassifier() ); + } + assertEquals( expectedId + " - Version ID", version, reference.getVersion() ); + assertEquals( expectedId + " - Type", type, reference.getType() ); + } + + private void assertInvalidRequest( String path ) + { + try + { + repoRequest.toArtifactReference( path ); + fail( "Expected a LayoutException on an invalid path [" + path + "]" ); + } + catch ( LayoutException e ) + { + /* expected path */ + } + } + + private RepositoryRequest repoRequest; + + @Override + protected void setUp() + throws Exception + { + super.setUp(); + + repoRequest = (RepositoryRequest) lookup( RepositoryRequest.class ); + } +} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java deleted file mode 100644 index 30341b4c6..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.apache.maven.archiva.repository.layout; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * AllTests - Useful for developers using IDEs. - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class AllTests -{ - public static Test suite() - { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.layout" ); - //$JUnit-BEGIN$ - suite.addTestSuite( BidirectionalRepositoryLayoutFactoryTest.class ); - suite.addTestSuite( LegacyBidirectionalRepositoryLayoutTest.class ); - suite.addTestSuite( DefaultBidirectionalRepositoryLayoutTest.class ); - suite.addTestSuite( RepositoryLayoutUtilsTest.class ); - //$JUnit-END$ - return suite; - } - -} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java index ace646dd8..b782f09f7 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java @@ -130,7 +130,24 @@ public class DefaultBidirectionalRepositoryLayoutTest assertLayout( path, groupId, artifactId, version, classifier, type ); } - + + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String classifier = null; + String type = "pom"; + String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom"; + + assertLayout( path, groupId, artifactId, version, classifier, type ); + } + /** * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected" */ @@ -143,10 +160,10 @@ public class DefaultBidirectionalRepositoryLayoutTest String classifier = null; String type = "pom"; String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom"; - + assertLayout( path, groupId, artifactId, version, classifier, type ); } - + /** * It may seem odd, but this is a valid artifact. */ @@ -159,7 +176,7 @@ public class DefaultBidirectionalRepositoryLayoutTest String classifier = null; String type = "pom"; String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom"; - + assertLayout( path, groupId, artifactId, version, classifier, type ); } @@ -175,10 +192,10 @@ public class DefaultBidirectionalRepositoryLayoutTest String classifier = null; String type = "pom"; String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom"; - + assertLayout( path, groupId, artifactId, version, classifier, type ); } - + public void testGoodComFooTool() throws LayoutException { diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java index 247c1048e..1292ab8f6 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java @@ -64,18 +64,17 @@ public class LegacyBidirectionalRepositoryLayoutTest * Example of an oddball / unusual version spec. * @throws LayoutException */ - /* TODO: Re-enabled in the future. + /* public void testGoodButOddVersionSpecGanymedSsh2() throws LayoutException { String groupId = "ch.ethz.ganymed"; String artifactId = "ganymed-ssh2"; String version = "build210"; - String classifier = null; String type = "jar"; String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } */ @@ -84,18 +83,17 @@ public class LegacyBidirectionalRepositoryLayoutTest * Example of an oddball / unusual version spec. * @throws LayoutException */ - /* TODO: Re-enabled in the future. + /* public void testGoodButOddVersionSpecJavaxComm() throws LayoutException { String groupId = "javax"; String artifactId = "comm"; String version = "3.0-u1"; - String classifier = null; String type = "jar"; String path = "javax/jars/comm-3.0-u1.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } */ @@ -104,23 +102,36 @@ public class LegacyBidirectionalRepositoryLayoutTest * Example of an oddball / unusual version spec. * @throws LayoutException */ - /* TODO: Re-enabled in the future. + /* public void testGoodButOddVersionSpecJavaxPersistence() throws LayoutException { String groupId = "javax.persistence"; String artifactId = "ejb"; String version = "3.0-public_review"; - String classifier = null; String type = "jar"; String path = "javax.persistence/jars/ejb-3.0-public_review.jar"; - /* - * The version id of "public_review" can cause problems. is it part of - * the version spec? or the classifier? - * / + assertLayout( path, groupId, artifactId, version, type ); + } + */ - assertLayout( path, groupId, artifactId, version, classifier, type ); + /** + * [MRM-519] version identifiers within filename cause misidentification of version. + * Example uses "test" in artifact Id, which is also part of the versionKeyword list. + */ + /* + public void testGoodVersionKeywordInArtifactId() + throws LayoutException + { + String groupId = "maven"; + String artifactId = "maven-test-plugin"; + String version = "1.8.2"; + String type = "jar"; + + String path = "maven/jars/maven-test-plugin-1.8.2.jar"; + + assertLayout( path, groupId, artifactId, version, type ); } */ @@ -130,11 +141,10 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "commons-lang"; String artifactId = "commons-lang"; String version = "2.1"; - String classifier = null; String type = "jar"; String path = "commons-lang/jars/commons-lang-2.1.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } public void testGoodDerby() @@ -143,11 +153,10 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "org.apache.derby"; String artifactId = "derby"; String version = "10.2.2.0"; - String classifier = null; String type = "jar"; String path = "org.apache.derby/jars/derby-10.2.2.0.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } /** @@ -156,52 +165,55 @@ public class LegacyBidirectionalRepositoryLayoutTest * This tests that effect. * @throws LayoutException */ + /* TODO: Re-enabled in the future. public void testGoodFooEjbClient() throws LayoutException { String groupId = "com.foo"; String artifactId = "foo-client"; String version = "1.0"; - String classifier = null; String type = "ejb"; // oddball type-spec (should result in jar extension) String path = "com.foo/ejbs/foo-client-1.0.jar"; assertLayout( path, groupId, artifactId, version, classifier, type ); } + */ /** * Test the classifier. * @throws LayoutException */ + /* public void testGoodFooLibJavadoc() throws LayoutException { String groupId = "com.foo.lib"; String artifactId = "foo-lib"; - String version = "2.1-alpha-1"; - String classifier = "javadoc"; + String version = "2.1-alpha-1-javadoc"; String type = "javadoc.jar"; String path = "com.foo.lib/javadoc.jars/foo-lib-2.1-alpha-1-javadoc.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } + */ /** * Test the classifier, and java-source type spec. * @throws LayoutException */ + /* public void testGoodFooLibSources() throws LayoutException { String groupId = "com.foo.lib"; String artifactId = "foo-lib"; - String version = "2.1-alpha-1"; - String classifier = "sources"; + String version = "2.1-alpha-1-sources"; String type = "java-source"; // oddball type-spec (should result in jar extension) String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } + */ public void testGoodFooTool() throws LayoutException @@ -209,11 +221,10 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "com.foo"; String artifactId = "foo-tool"; String version = "1.0"; - String classifier = null; String type = "jar"; String path = "com.foo/jars/foo-tool-1.0.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } public void testGoodGeronimoEjbSpec() @@ -222,11 +233,10 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "org.apache.geronimo.specs"; String artifactId = "geronimo-ejb_2.1_spec"; String version = "1.0.1"; - String classifier = null; String type = "jar"; String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } public void testGoodLdapClientsPom() @@ -235,11 +245,10 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "directory-clients"; String artifactId = "ldap-clients"; String version = "0.9.1-SNAPSHOT"; - String classifier = null; String type = "pom"; String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } /** @@ -252,21 +261,19 @@ public class LegacyBidirectionalRepositoryLayoutTest String groupId = "org.apache.archiva.test"; String artifactId = "redonkulous"; String version = "3.1-beta-1-20050831.101112-42"; - String classifier = null; String type = "jar"; String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar"; - assertLayout( path, groupId, artifactId, version, classifier, type ); + assertLayout( path, groupId, artifactId, version, type ); } /** * Perform a roundtrip through the layout routines to determine success. */ - private void assertLayout( String path, String groupId, String artifactId, String version, String classifier, - String type ) + private void assertLayout( String path, String groupId, String artifactId, String version, String type ) throws LayoutException { - ArchivaArtifact expectedArtifact = createArtifact( groupId, artifactId, version, classifier, type ); + ArchivaArtifact expectedArtifact = createArtifact( groupId, artifactId, version, type ); // --- Artifact Tests. // Artifact to Path @@ -274,7 +281,7 @@ public class LegacyBidirectionalRepositoryLayoutTest // Path to Artifact. ArchivaArtifact testArtifact = layout.toArtifact( path ); - assertArtifact( testArtifact, groupId, artifactId, version, classifier, type ); + assertArtifact( testArtifact, groupId, artifactId, version, type ); // And back again, using test Artifact from previous step. assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, layout.toPath( testArtifact ) ); @@ -283,11 +290,45 @@ public class LegacyBidirectionalRepositoryLayoutTest // Path to Artifact Reference. ArtifactReference testReference = layout.toArtifactReference( path ); - assertArtifactReference( testReference, groupId, artifactId, version, classifier, type ); + assertArtifactReference( testReference, groupId, artifactId, version, type ); // And back again, using test Reference from previous step. assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, layout.toPath( testReference ) ); } + + protected ArchivaArtifact createArtifact( String groupId, String artifactId, String version, String type ) + { + ArchivaArtifact artifact = new ArchivaArtifact( groupId, artifactId, version, null, type ); + assertNotNull( artifact ); + artifact.getModel().setRepositoryId( repository.getId() ); + return artifact; + } + + protected void assertArtifact( ArchivaArtifact actualArtifact, String groupId, String artifactId, String version, + String type ) + { + String expectedId = groupId + ":" + artifactId + ":" + version + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualArtifact ); + + assertEquals( expectedId + " - Group ID", groupId, actualArtifact.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualArtifact.getArtifactId() ); + assertEquals( expectedId + " - Version ID", version, actualArtifact.getVersion() ); + assertEquals( expectedId + " - Type", type, actualArtifact.getType() ); + } + + protected void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId, + String version, String type ) + { + String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type; + + assertNotNull( expectedId + " - Should not be null.", actualReference ); + + assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() ); + assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() ); + assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() ); + assertEquals( expectedId + " - Type", type, actualReference.getType() ); + } protected void assertBadPath( String path, String reason ) { diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java deleted file mode 100644 index 4059f87a1..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java +++ /dev/null @@ -1,236 +0,0 @@ -package org.apache.maven.archiva.repository.layout; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.TestCase; - -/** - * RepositoryLayoutUtilsTest - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class RepositoryLayoutUtilsTest extends TestCase -{ - public void testSplitFilenameBasic() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1.jar", "commons-lang" ), - "commons-lang", "2.1", null, "jar" ); - } - - public void testSplitFilenameMavenTestPlugin() throws LayoutException - { - // Using maven 2 logic (artifactId is present in full path) - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "maven-test-plugin-1.8.2.jar", "maven-test-plugin" ), - "maven-test-plugin", "1.8.2", null, "jar" ); - - // Using maven 1 logic (artifactId is unknown) - // [MRM-519] fail to resolve artifactId for libs that contain versionKeyword in artifactId, like "maven-test-plugin" - /* - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "maven-test-plugin-1.8.2.jar", null ), - "maven-test-plugin", "1.8.2", null, "jar" ); - */ - } - - public void testSplitFilenameAlphaVersion() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1.jar", "commons-lang" ), - "commons-lang", "2.0-alpha-1", null, "jar" ); - } - - public void testSplitFilenameSnapshot() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "foo-2.0-SNAPSHOT.jar", "foo" ), "foo", - "2.0-SNAPSHOT", null, "jar" ); - } - - public void testSplitFilenameUniqueSnapshot() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "fletch-2.0-20060822-123456-35.tar.gz", "fletch" ), - "fletch", "2.0-20060822-123456-35", null, "tar.gz" ); - } - - public void testSplitFilenameBasicClassifier() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1-sources.jar", "commons-lang" ), - "commons-lang", "2.1", "sources", "jar" ); - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1-javadoc.jar", "commons-lang" ), - "commons-lang", "2.1", "javadoc", "jar" ); - } - - public void testSplitFilenameAlphaClassifier() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1-sources.jar", - "commons-lang" ), "commons-lang", "2.0-alpha-1", - "sources", "jar" ); - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1-javadoc.jar", - "commons-lang" ), "commons-lang", "2.0-alpha-1", - "javadoc", "jar" ); - } - - public void testSplitFilenameSnapshotClassifier() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-sources.jar", - "commons-lang" ), "commons-lang", "3.1-SNAPSHOT", - "sources", "jar" ); - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-javadoc.jar", - "commons-lang" ), "commons-lang", "3.1-SNAPSHOT", - "javadoc", "jar" ); - } - - public void testSplitFilenameUniqueSnapshotClassifier() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-sources.jar", - "commons-lang" ), "commons-lang", "3.1-SNAPSHOT", - "sources", "jar" ); - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-javadoc.jar", - "commons-lang" ), "commons-lang", "3.1-SNAPSHOT", - "javadoc", "jar" ); - } - - public void testSplitFilenameApacheIncubator() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "cxf-common-2.0-incubator-M1.pom", null ), - "cxf-common", "2.0-incubator-M1", null, "pom" ); - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commonj-api_r1.1-1.0-incubator-M2.jar", null ), - "commonj-api_r1.1", "1.0-incubator-M2", null, "jar" ); - } - - public void testSplitFilenameBlankInputs() - { - try - { - RepositoryLayoutUtils.splitFilename( null, null ); - fail( "Should have thrown an IllegalArgumentException." ); - } - catch ( IllegalArgumentException e ) - { - /* expected path */ - } - catch ( LayoutException e ) - { - fail( "Should have thrown an IllegalArgumentException." ); - } - - try - { - RepositoryLayoutUtils.splitFilename( "", null ); - fail( "Should have thrown an IllegalArgumentException." ); - } - catch ( IllegalArgumentException e ) - { - /* expected path */ - } - catch ( LayoutException e ) - { - fail( "Should have thrown an IllegalArgumentException." ); - } - - try - { - RepositoryLayoutUtils.splitFilename( " ", null ); - fail( "Should have thrown an IllegalArgumentException." ); - } - catch ( IllegalArgumentException e ) - { - /* expected path */ - } - catch ( LayoutException e ) - { - fail( "Should have thrown an IllegalArgumentException." ); - } - - try - { - RepositoryLayoutUtils.splitFilename( " \t \n ", null ); - fail( "Should have thrown an IllegalArgumentException." ); - } - catch ( IllegalArgumentException e ) - { - /* expected path */ - } - catch ( LayoutException e ) - { - fail( "Should have thrown an IllegalArgumentException." ); - } - } - - public void testSplitFilenameBadInputs() - { - try - { - RepositoryLayoutUtils.splitFilename( "commons-lang.jar", null ); - fail( "Should have thrown a LayoutException (No Version)." ); - } - catch ( LayoutException e ) - { - /* Expected Path */ - } - - try - { - RepositoryLayoutUtils.splitFilename( "geronimo-store", null ); - fail( "Should have thrown a LayoutException (No Extension)." ); - } - catch ( LayoutException e ) - { - /* Expected Path */ - } - - try - { - RepositoryLayoutUtils.splitFilename( "The Sixth Sick Sheiks Sixth Sheep is Sick.", null ); - fail( "Should have thrown a LayoutException (No Extension)." ); - } - catch ( LayoutException e ) - { - /* Expected Path */ - } - - try - { - RepositoryLayoutUtils.splitFilename( "1.0.jar", null ); - fail( "Should have thrown a LayoutException (No Artifact ID)." ); - } - catch ( LayoutException e ) - { - /* Expected Path */ - } - } - - public void testSplitFilenameWithProposedVersion() throws LayoutException - { - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "jtidy-r8-21122004.jar", "jtidy", "r8-21122004" ), - "jtidy", "r8-21122004", null, "jar" ); - - assertFilenameParts( RepositoryLayoutUtils.splitFilename( "jtidy-r8-21122004-sources.jar", "jtidy", "r8-21122004" ), - "jtidy", "r8-21122004", "sources", "jar" ); - } - - - private void assertFilenameParts( FilenameParts actualParts, String artifactId, String version, String classifier, - String extension ) - { - assertEquals( "Split - artifactId", artifactId, actualParts.artifactId ); - assertEquals( "Split - version", version, actualParts.version ); - assertEquals( "Split - classifier", classifier, actualParts.classifier ); - assertEquals( "Split - extension", extension, actualParts.extension ); - } -} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java index 82f948bd1..0bec4a919 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java @@ -22,22 +22,21 @@ import org.apache.maven.archiva.common.utils.VersionComparator; import org.apache.maven.archiva.configuration.ArchivaConfiguration; import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration; import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration; -import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration; import org.apache.maven.archiva.model.ProjectReference; import org.apache.maven.archiva.model.VersionedReference; import org.apache.maven.archiva.policies.DownloadPolicy; import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; import org.apache.maven.archiva.repository.MockConfiguration; +import org.apache.maven.archiva.repository.RemoteRepositoryContent; import org.apache.maven.archiva.repository.layout.LayoutException; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; -import org.custommonkey.xmlunit.XMLAssert; import org.xml.sax.SAXException; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Set; @@ -57,31 +56,6 @@ public class MetadataToolsTest protected MockConfiguration config; - public void testGatherAvailableVersionsBadArtifact() - throws Exception - { - assertAvailableVersions( "bad_artifact", Collections.EMPTY_LIST ); - } - - public void testGatherAvailableVersionsMissingMultipleVersions() - throws Exception - { - assertAvailableVersions( "missing_metadata_b", Arrays.asList( "1.0", "1.0.1", "2.0", "2.0.1", - "2.0-20070821-dev" ) ); - } - - public void testGatherAvailableVersionsSimpleYetIncomplete() - throws Exception - { - assertAvailableVersions( "incomplete_metadata_a", Collections.singletonList( "1.0" ) ); - } - - public void testGatherAvailableVersionsSimpleYetMissing() - throws Exception - { - assertAvailableVersions( "missing_metadata_a", Collections.singletonList( "1.0" ) ); - } - public void testGatherSnapshotVersionsA() throws Exception { @@ -118,12 +92,15 @@ public class MetadataToolsTest } public void testGetRepositorySpecificName() + throws Exception { - RemoteRepositoryConfiguration repoJavaNet = createRemoteRepository( "maven2-repository.dev.java.net", - "Java.net Repository for Maven 2", - "http://download.java.net/maven/2/" ); - RemoteRepositoryConfiguration repoCentral = createRemoteRepository( "central", "Central Global Repository", - "http://repo1.maven.org/maven2/" ); + RemoteRepositoryContent repoJavaNet = createRemoteRepositoryContent( "maven2-repository.dev.java.net", + "Java.net Repository for Maven 2", + "http://download.java.net/maven/2/", + "default" ); + RemoteRepositoryContent repoCentral = createRemoteRepositoryContent( "central", "Central Global Repository", + "http://repo1.maven.org/maven2/", + "default" ); String convertedName = tools.getRepositorySpecificName( repoJavaNet, "commons-lang/commons-lang/maven-metadata.xml" ); @@ -135,7 +112,7 @@ public class MetadataToolsTest } public void testUpdateProjectBadArtifact() - throws LayoutException, SAXException, ParserConfigurationException, RepositoryMetadataException + throws Exception { try { @@ -156,7 +133,7 @@ public class MetadataToolsTest "1.0.1", "2.0", "2.0.1", - "2.0-20070821-dev" } ); + "2.0-20070821-dev" }, "2.0-20070821-dev" , "2.0-20070821-dev" ); } public void testUpdateProjectMissingMultipleVersionsWithProxies() @@ -168,30 +145,30 @@ public class MetadataToolsTest createProxyConnector( "test-repo", "central" ); createProxyConnector( "test-repo", "java.net" ); - assertUpdatedProjectMetadata( "proxied_multi", new String[] { - "1.0-spec" /* in java.net */, - "1.0" /* in managed, and central */, - "1.0.1" /* in central */, - "1.1" /* in managed */, - "2.0-proposal-beta" /* in java.net */, - "2.0-spec" /* in java.net */, - "2.0" /* in central, and java.net */, - "2.0.1" /* in java.net */, - "2.1" /* in managed */, - "3.0" /* in central */, + assertUpdatedProjectMetadata( "proxied_multi", new String[] { + "1.0-spec" /* in java.net */, + "1.0" /* in managed, and central */, + "1.0.1" /* in central */, + "1.1" /* in managed */, + "2.0-proposal-beta" /* in java.net */, + "2.0-spec" /* in java.net */, + "2.0" /* in central, and java.net */, + "2.0.1" /* in java.net */, + "2.1" /* in managed */, + "3.0" /* in central */, "3.1" /* in central */}, "3.1", "3.1" ); } public void testUpdateProjectSimpleYetIncomplete() throws Exception { - assertUpdatedProjectMetadata( "incomplete_metadata_a", new String[] { "1.0" } ); + assertUpdatedProjectMetadata( "incomplete_metadata_a", new String[] { "1.0" }, "1.0", "1.0" ); } public void testUpdateProjectSimpleYetMissing() throws Exception { - assertUpdatedProjectMetadata( "missing_metadata_a", new String[] { "1.0" } ); + assertUpdatedProjectMetadata( "missing_metadata_a", new String[] { "1.0" }, "1.0", "1.0" ); } public void testUpdateVersionSimple10() @@ -328,29 +305,6 @@ public class MetadataToolsTest assertEquals( "VersionedReference.version", version, reference.getVersion() ); } - private void assertAvailableVersions( String artifactId, List<String> expectedVersions ) - throws Exception - { - File repoRootDir = new File( "src/test/repositories/metadata-repository" ); - - ProjectReference reference = new ProjectReference(); - reference.setGroupId( "org.apache.archiva.metadata.tests" ); - reference.setArtifactId( artifactId ); - - ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: " - + getName(), repoRootDir ); - - Set<String> testedVersionSet = tools.gatherAvailableVersions( repo, reference ); - - // Sort the list (for asserts) - List<String> testedVersions = new ArrayList<String>(); - testedVersions.addAll( testedVersionSet ); - Collections.sort( testedVersions, new VersionComparator() ); - - // Test the expected array of versions, to the actual tested versions - assertEquals( "available versions", expectedVersions, testedVersions ); - } - private void assertSnapshotVersions( String artifactId, String version, String[] expectedVersions ) throws Exception { @@ -361,10 +315,13 @@ public class MetadataToolsTest reference.setArtifactId( artifactId ); reference.setVersion( version ); - ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: " - + getName(), repoRootDir ); + ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: " + getName(), + repoRootDir ); + ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, + "default" ); + repoContent.setRepository( repo ); - Set<String> testedVersionSet = tools.gatherSnapshotVersions( repo, reference ); + Set<String> testedVersionSet = tools.gatherSnapshotVersions( repoContent, reference ); // Sort the list (for asserts) List<String> testedVersions = new ArrayList<String>(); @@ -381,21 +338,26 @@ public class MetadataToolsTest } } - private void assertMetadata( String expectedMetadata, ManagedRepositoryConfiguration repository, + private void assertMetadata( String expectedMetadata, ManagedRepositoryContent repository, ProjectReference reference ) throws LayoutException, IOException, SAXException, ParserConfigurationException { - File metadataFile = new File( repository.getLocation(), tools.toPath( reference ) ); + File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) ); String actualMetadata = FileUtils.readFileToString( metadataFile, null ); - XMLAssert.assertXMLEqual( expectedMetadata, actualMetadata ); + DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) ); + if ( !detailedDiff.similar() ) + { + // If it isn't similar, dump the difference. + assertEquals( expectedMetadata, actualMetadata ); + } } - private void assertMetadata( String expectedMetadata, ManagedRepositoryConfiguration repository, + private void assertMetadata( String expectedMetadata, ManagedRepositoryContent repository, VersionedReference reference ) throws LayoutException, IOException, SAXException, ParserConfigurationException { - File metadataFile = new File( repository.getLocation(), tools.toPath( reference ) ); + File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) ); String actualMetadata = FileUtils.readFileToString( metadataFile, null ); DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) ); @@ -412,16 +374,16 @@ public class MetadataToolsTest } private void assertUpdatedProjectMetadata( String artifactId, String[] expectedVersions ) - throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException + throws Exception { assertUpdatedProjectMetadata( artifactId, expectedVersions, null, null ); } private void assertUpdatedProjectMetadata( String artifactId, String[] expectedVersions, String latestVersion, String releaseVersion ) - throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException + throws Exception { - ManagedRepositoryConfiguration testRepo = createTestRepo(); + ManagedRepositoryContent testRepo = createTestRepoContent(); ProjectReference reference = new ProjectReference(); reference.setGroupId( "org.apache.archiva.metadata.tests" ); reference.setArtifactId( artifactId ); @@ -462,9 +424,9 @@ public class MetadataToolsTest } private void assertUpdatedReleaseVersionMetadata( String artifactId, String version ) - throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException + throws Exception { - ManagedRepositoryConfiguration testRepo = createTestRepo(); + ManagedRepositoryContent testRepo = createTestRepoContent(); VersionedReference reference = new VersionedReference(); reference.setGroupId( "org.apache.archiva.metadata.tests" ); reference.setArtifactId( artifactId ); @@ -486,9 +448,9 @@ public class MetadataToolsTest private void assertUpdatedSnapshotVersionMetadata( String artifactId, String version, String expectedDate, String expectedTime, String expectedBuildNumber ) - throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException + throws Exception { - ManagedRepositoryConfiguration testRepo = createTestRepo(); + ManagedRepositoryContent testRepo = createTestRepoContent(); VersionedReference reference = new VersionedReference(); reference.setGroupId( "org.apache.archiva.metadata.tests" ); reference.setArtifactId( artifactId ); @@ -541,8 +503,8 @@ public class MetadataToolsTest config.triggerChange( prefix + ".policies.cache-failures", connectorConfig.getPolicy( "cache-failures", "" ) ); } - private ManagedRepositoryConfiguration createTestRepo() - throws IOException + private ManagedRepositoryContent createTestRepoContent() + throws Exception { File repoRoot = new File( "target/metadata-tests/" + getName() ); if ( repoRoot.exists() ) @@ -552,10 +514,16 @@ public class MetadataToolsTest repoRoot.mkdirs(); - return createRepository( "test-repo", "Test Repository: " + getName(), repoRoot ); + ManagedRepositoryConfiguration repoConfig = createRepository( "test-repo", "Test Repository: " + getName(), + repoRoot ); + + ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, + "default" ); + repoContent.setRepository( repoConfig ); + return repoContent; } - private void prepTestRepo( ManagedRepositoryConfiguration repo, ProjectReference reference ) + private void prepTestRepo( ManagedRepositoryContent repo, ProjectReference reference ) throws IOException { String groupDir = StringUtils.replaceChars( reference.getGroupId(), '.', '/' ); @@ -563,7 +531,7 @@ public class MetadataToolsTest File srcRepoDir = new File( "src/test/repositories/metadata-repository" ); File srcDir = new File( srcRepoDir, path ); - File destDir = new File( repo.getLocation(), path ); + File destDir = new File( repo.getRepoRoot(), path ); assertTrue( "Source Dir exists: " + srcDir, srcDir.exists() ); destDir.mkdirs(); @@ -571,7 +539,7 @@ public class MetadataToolsTest FileUtils.copyDirectory( srcDir, destDir ); } - private void prepTestRepo( ManagedRepositoryConfiguration repo, VersionedReference reference ) + private void prepTestRepo( ManagedRepositoryContent repo, VersionedReference reference ) throws IOException { ProjectReference projectRef = new ProjectReference(); diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java deleted file mode 100644 index 9793d930e..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.apache.maven.archiva.repository.project; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * AllTests - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class AllTests -{ - - public static Test suite() - { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project" ); - //$JUnit-BEGIN$ - suite.addTest( org.apache.maven.archiva.repository.project.filters.AllTests.suite() ); - suite.addTest( org.apache.maven.archiva.repository.project.readers.AllTests.suite() ); - //$JUnit-END$ - return suite; - } - -} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java deleted file mode 100644 index b724a51a1..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.apache.maven.archiva.repository.project.readers; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * AllTests - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class AllTests -{ - - public static Test suite() - { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.readers" ); - //$JUnit-BEGIN$ - suite.addTestSuite( ProjectModel400ReaderTest.class ); - //$JUnit-END$ - return suite; - } - -} diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java index 3b7f51c53..ca9724524 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java @@ -30,7 +30,7 @@ import java.io.File; /** * ProjectModel300ReaderTest * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ public class ProjectModel300ReaderTest diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java index ffec5e767..efecd84f1 100644 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java +++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java @@ -36,7 +36,7 @@ import java.io.StringWriter; /** * ProjectModel400WriterTest * - * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a> + * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> * @version $Id$ */ public class ProjectModel400WriterTest diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java deleted file mode 100644 index 76ac974af..000000000 --- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.apache.maven.archiva.repository.scanner; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * AllTests - Useful for developers using IDEs. - * - * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a> - * @version $Id$ - */ -public class AllTests -{ - public static Test suite() - { - TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.scanner" ); - //$JUnit-BEGIN$ - suite.addTestSuite( RepositoryScannerTest.class ); - //$JUnit-END$ - return suite; - } -} diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom new file mode 100644 index 000000000..e6a72b9d6 --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project> + <extend>../../project.xml</extend> + <pomVersion>3</pomVersion> + <groupId>maven</groupId> + <id>wagon-ssh</id> + <artifactId>wagon-ssh</artifactId> + <name>Wagon SSH provider</name> + <currentVersion>1.0-SNAPSHOT</currentVersion> + <description></description> + <shortDescription>Wagon Provider for protocols from SSH2 family based on JSCH</shortDescription> + <package>org.apache.maven.wagon.providers.ssh</package> + <inceptionYear>2003</inceptionYear> + <url>http://maven.apache.org/wagon/wagon-providers/ssh</url> + <issueTrackingUrl>http://jira.codehaus.org/BrowseProject.jspa?id=10319</issueTrackingUrl> + <siteDirectory>/www/maven.apache.org/wagon/wagon-providers/ssh</siteDirectory> + <repository> + <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven-wagon/wagon-providers/ssh</connection> + <url>http://cvs.apache.org/viewcvs/maven-wagon/wagon-providers/ssh/</url> + </repository> + + <developers> + <developer> + <name>Michal Maczka</name> + <id>michal</id> + <email>michal.maczka@dimatics.com</email> + <organization>Dimatics</organization> + <roles> + <role>Creator</role> + <role>Developer</role> + <role>Release Manager</role> + </roles> + </developer> + </developers> + + <dependencies> + <dependency> + <groupId>maven</groupId> + <artifactId>wagon-api</artifactId> + <version>0.9-SNAPSHOT</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>jsch</groupId> + <artifactId>jsch</artifactId> + <version>0.1.14</version> + <type>jar</type> + </dependency> + </dependencies> + +</project> diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom diff --git a/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt b/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt new file mode 100644 index 000000000..3ddb2c4ce --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt @@ -0,0 +1,6230 @@ +# Directory listing from people.apache.org +# of path /www/people.apache.org/repo/m1-ibiblio-rsync-repository +# Taken September 9, 2007 +# +# File listing has been filtered using the following sed command. +# +# sed -e "/\.md5$/d" -e "/\.sha1$/d" -e "/\.asc$/d" -e "/\.meta$/d" \ +# -e "/LICENSE/d" -e "/\/licenses\//d" +# +# Any entries in here that are blatently wrong should be deleted. +# +ant/jars/ant-1.4.1.jar +ant/jars/ant-1.5.1.jar +ant/jars/ant-1.5.2.jar +ant/jars/ant-1.5.3-1.jar +ant/jars/ant-1.5.4.jar +ant/jars/ant-1.6.3.jar +ant/jars/ant-1.5.jar +ant/jars/ant-1.6.1.jar +ant/jars/ant-1.6.2.jar +ant/jars/ant-1.6.jar +ant/jars/ant-1.6.4.jar +ant/jars/ant-1.6.5.jar +ant/jars/ant-antlr-1.6.1.jar +ant/jars/ant-antlr-1.6.2.jar +ant/jars/ant-antlr-1.6.3.jar +ant/jars/ant-antlr-1.6.4.jar +ant/jars/ant-apache-oro-1.6.5.jar +ant/jars/ant-antlr-1.6.5.jar +ant/jars/ant-antlr-1.6.jar +ant/jars/ant-apache-bcel-1.6.2.jar +ant/jars/ant-apache-bcel-1.6.3.jar +ant/jars/ant-apache-bcel-1.6.4.jar +ant/jars/ant-apache-bcel-1.6.5.jar +ant/jars/ant-apache-bsf-1.6.1.jar +ant/jars/ant-apache-bsf-1.6.2.jar +ant/jars/ant-apache-bsf-1.6.3.jar +ant/jars/ant-apache-bsf-1.6.4.jar +ant/jars/ant-apache-bsf-1.6.5.jar +ant/jars/ant-apache-bsf-1.6.jar +ant/jars/ant-apache-log4j-1.6.2.jar +ant/jars/ant-apache-log4j-1.6.3.jar +ant/jars/ant-apache-log4j-1.6.4.jar +ant/jars/ant-apache-log4j-1.6.5.jar +ant/jars/ant-apache-oro-1.6.2.jar +ant/jars/ant-apache-oro-1.6.3.jar +ant/jars/ant-apache-oro-1.6.4.jar +ant/jars/ant-apache-regexp-1.6.2.jar +ant/jars/ant-apache-regexp-1.6.3.jar +ant/jars/ant-apache-regexp-1.6.4.jar +ant/jars/ant-apache-regexp-1.6.5.jar +ant/jars/ant-apache-resolver-1.6.jar +ant/jars/ant-apache-resolver-1.6.1.jar +ant/jars/ant-apache-resolver-1.6.2.jar +ant/jars/ant-apache-resolver-1.6.3.jar +ant/jars/ant-apache-resolver-1.6.4.jar +ant/jars/ant-apache-resolver-1.6.5.jar +ant/jars/ant-commons-logging-1.6.1.jar +ant/jars/ant-commons-logging-1.6.2.jar +ant/jars/ant-commons-logging-1.6.3.jar +ant/jars/ant-commons-logging-1.6.4.jar +ant/jars/ant-commons-logging-1.6.5.jar +ant/jars/ant-commons-logging-1.6.jar +ant/jars/ant-commons-net-1.6.1.jar +ant/jars/ant-commons-net-1.6.2.jar +ant/jars/ant-commons-net-1.6.3.jar +ant/jars/ant-commons-net-1.6.jar +ant/jars/ant-commons-net-1.6.4.jar +ant/jars/ant-commons-net-1.6.5.jar +ant/jars/ant-icontract-1.6.1.jar +ant/jars/ant-icontract-1.6.2.jar +ant/jars/ant-icontract-1.6.3.jar +ant/jars/ant-icontract-1.6.4.jar +ant/jars/ant-icontract-1.6.5.jar +ant/jars/ant-icontract-1.6.jar +ant/jars/ant-jai-1.6.1.jar +ant/jars/ant-jai-1.6.2.jar +ant/jars/ant-jai-1.6.3.jar +ant/jars/ant-jakarta-bcel-1.6.1.jar +ant/jars/ant-jai-1.6.4.jar +ant/jars/ant-jai-1.6.5.jar +ant/jars/ant-jai-1.6.jar +ant/jars/ant-jakarta-bcel-1.6.jar +ant/jars/ant-jakarta-log4j-1.6.1.jar +ant/jars/ant-jakarta-log4j-1.6.jar +ant/jars/ant-jakarta-oro-1.6.1.jar +ant/jars/ant-jakarta-oro-1.6.jar +ant/jars/ant-jakarta-regexp-1.6.1.jar +ant/jars/ant-jakarta-regexp-1.6.jar +ant/jars/ant-javamail-1.6.1.jar +ant/jars/ant-javamail-1.6.2.jar +ant/jars/ant-javamail-1.6.3.jar +ant/jars/ant-javamail-1.6.4.jar +ant/jars/ant-javamail-1.6.5.jar +ant/jars/ant-javamail-1.6.jar +ant/jars/ant-jdepend-1.6.1.jar +ant/jars/ant-jdepend-1.6.2.jar +ant/jars/ant-jdepend-1.6.jar +ant/jars/ant-jdepend-1.6.3.jar +ant/jars/ant-jdepend-1.6.4.jar +ant/jars/ant-jdepend-1.6.5.jar +ant/jars/ant-jmf-1.6.1.jar +ant/jars/ant-jmf-1.6.2.jar +ant/jars/ant-jmf-1.6.3.jar +ant/jars/ant-jmf-1.6.4.jar +ant/jars/ant-jmf-1.6.5.jar +ant/jars/ant-jmf-1.6.jar +ant/jars/ant-jsch-1.6.1.jar +ant/jars/ant-jsch-1.6.2.jar +ant/jars/ant-jsch-1.6.3.jar +ant/jars/ant-jsch-1.6.4.jar +ant/jars/ant-jsch-1.6.5.jar +ant/jars/ant-jsch-1.6.jar +ant/jars/ant-junit-1.6.1.jar +ant/jars/ant-junit-1.6.2.jar +ant/jars/ant-junit-1.6.3.jar +ant/jars/ant-junit-1.6.4.jar +ant/jars/ant-junit-1.6.5.jar +ant/jars/ant-junit-1.6.jar +ant/jars/ant-launcher-1.6.1.jar +ant/jars/ant-launcher-1.6.2.jar +ant/jars/ant-launcher-1.6.3.jar +ant/jars/ant-launcher-1.6.4.jar +ant/jars/ant-launcher-1.6.5.jar +ant/jars/ant-launcher-1.6.jar +ant/jars/ant-netrexx-1.6.1.jar +ant/jars/ant-netrexx-1.6.2.jar +ant/jars/ant-netrexx-1.6.3.jar +ant/jars/ant-netrexx-1.6.4.jar +ant/jars/ant-netrexx-1.6.5.jar +ant/jars/ant-netrexx-1.6.jar +ant/jars/ant-nodeps-1.6.1.jar +ant/jars/ant-nodeps-1.6.2.jar +ant/jars/ant-nodeps-1.6.3.jar +ant/jars/ant-nodeps-1.6.4.jar +ant/jars/ant-nodeps-1.6.5.jar +ant/jars/ant-nodeps-1.6.jar +ant/jars/ant-optional-1.4.1.jar +ant/jars/ant-optional-1.5.1.jar +ant/jars/ant-optional-1.5.2.jar +ant/jars/ant-optional-1.5.3-1.jar +ant/jars/ant-optional-1.5.jar +ant/jars/ant-starteam-1.6.1.jar +ant/jars/ant-starteam-1.6.2.jar +ant/jars/ant-starteam-1.6.3.jar +ant/jars/ant-starteam-1.6.4.jar +ant/jars/ant-starteam-1.6.5.jar +ant/jars/ant-swing-1.6.1.jar +ant/jars/ant-starteam-1.6.jar +ant/jars/ant-stylebook-1.6.1.jar +ant/jars/ant-stylebook-1.6.2.jar +ant/jars/ant-stylebook-1.6.3.jar +ant/jars/ant-stylebook-1.6.4.jar +ant/jars/ant-swing-1.6.5.jar +ant/jars/ant-stylebook-1.6.5.jar +ant/jars/ant-stylebook-1.6.jar +ant/jars/ant-swing-1.6.2.jar +ant/jars/ant-swing-1.6.3.jar +ant/jars/ant-swing-1.6.4.jar +ant/jars/ant-swing-1.6.jar +ant/jars/ant-trax-1.6.1.jar +ant/jars/ant-trax-1.6.2.jar +ant/jars/ant-trax-1.6.3.jar +ant/jars/ant-trax-1.6.4.jar +ant/jars/ant-trax-1.6.5.jar +ant/jars/ant-trax-1.6.jar +ant/jars/ant-vaj-1.6.1.jar +ant/jars/ant-vaj-1.6.2.jar +ant/jars/ant-vaj-1.6.3.jar +ant/jars/ant-vaj-1.6.4.jar +ant/jars/ant-vaj-1.6.5.jar +ant/jars/ant-vaj-1.6.jar +ant/jars/ant-weblogic-1.6.1.jar +ant/jars/ant-weblogic-1.6.2.jar +ant/jars/ant-weblogic-1.6.3.jar +ant/jars/ant-weblogic-1.6.4.jar +ant/jars/ant-weblogic-1.6.5.jar +ant/jars/ant-weblogic-1.6.jar +ant/jars/ant-xalan1-1.6.1.jar +ant/jars/ant-xalan1-1.6.2.jar +ant/jars/ant-xalan1-1.6.3.jar +ant/jars/ant-xalan1-1.6.4.jar +ant/jars/ant-xalan1-1.6.5.jar +ant/jars/ant-xalan1-1.6.jar +ant/jars/ant-xalan2-1.6.1.jar +ant/jars/ant-xalan2-1.6.jar +ant/jars/ant-xslp-1.6.1.jar +ant/jars/ant-xslp-1.6.2.jar +ant/jars/ant-xslp-1.6.3.jar +ant/jars/ant-xslp-1.6.4.jar +ant/jars/ant-xslp-1.6.5.jar +ant/jars/ant-xslp-1.6.jar +ant/jars/optional-1.5.4.jar +ant-contrib/jars/ant-contrib-20020829.jar +ant-contrib/jars/cpptasks-20030309.134440.jar +ant-doxygen/jars/ant-doxygen-1.2.jar +apache-jaxme/jars/jaxme-incubation-0.2.jar +apache-jaxme/jars/jaxme-rt-incubation-0.2.jar +apache-jaxme/jars/jaxmeapi-incubation-0.2.jar +apache-jaxme/jars/jaxmejs-incubation-0.2.jar +apache-jaxme/jars/jaxmepm-incubation-0.2.jar +apache-jaxme/jars/jaxmexs-incubation-0.2.jar +avalon/jars/avalon-activation-1.0.jar +avalon/jars/avalon-activation-spi-1.0.jar +avalon/jars/avalon-assembly-1.0.jar +avalon/jars/avalon-assembly-spi-1.0.jar +avalon/jars/avalon-composition-1.0.jar +avalon/jars/avalon-meta-1.0.jar +avalon/jars/avalon-composition-spi-1.0.jar +avalon/jars/avalon-framework-4.1.4.jar +avalon/jars/avalon-framework-api-4.1.4.jar +avalon/jars/avalon-logkit-1.2.2.jar +avalon/jars/avalon-logkit-1.2.jar +avalon/jars/avalon-meta-spi-1.0.jar +avalon/jars/avalon-meta-tools-1.0.jar +avalon-activation/jars/avalon-activation-api-1.0-beta-1-RC1.jar +avalon-activation/jars/avalon-activation-api-1.0b1.jar +avalon-activation/jars/avalon-activation-api-1.1-dev.jar +avalon-activation/jars/avalon-activation-api-1.2-dev.jar +avalon-activation/jars/avalon-activation-api-1.2.1-dev.jar +avalon-activation/jars/avalon-activation-api-1.2.1.jar +avalon-activation/jars/avalon-activation-api-1.2.2.jar +avalon-activation/jars/avalon-activation-api-2.0-DEV.jar +avalon-activation/jars/avalon-activation-api-2.0.0.jar +avalon-activation/jars/avalon-activation-impl-1.0-beta-1-RC1.jar +avalon-activation/jars/avalon-activation-impl-1.0b1.jar +avalon-activation/jars/avalon-activation-impl-1.0b2.jar +avalon-activation/jars/avalon-activation-impl-1.1-dev.jar +avalon-activation/jars/avalon-activation-impl-1.2-dev.jar +avalon-activation/jars/avalon-activation-impl-1.2.1-dev.jar +avalon-activation/jars/avalon-activation-impl-1.2.2-dev.jar +avalon-activation/jars/avalon-activation-impl-1.2.3-dev.jar +avalon-activation/jars/avalon-activation-impl-1.2.3.jar +avalon-activation/jars/avalon-activation-impl-1.2.4.jar +avalon-activation/jars/avalon-activation-impl-1.2.5.jar +avalon-activation/jars/avalon-activation-impl-1.2.6.jar +avalon-activation/jars/avalon-activation-impl-2.0-DEV.jar +avalon-activation/jars/avalon-activation-impl-2.0.0.jar +avalon-activation/jars/avalon-activation-spi-1.0-beta-1-RC1.jar +avalon-activation/jars/avalon-activation-spi-1.0b1.jar +avalon-activation/jars/avalon-activation-spi-1.1-dev.jar +avalon-activation/jars/avalon-activation-spi-1.2-dev.jar +avalon-activation/jars/avalon-activation-spi-1.2.1-dev.jar +avalon-activation/jars/avalon-activation-spi-1.2.2-dev.jar +avalon-activation/jars/avalon-activation-spi-1.2.2.jar +avalon-activation/jars/avalon-activation-spi-2.0-DEV.jar +avalon-apps/jars/avalon-apps-hsql-0.1.jar +avalon-apps/jars/avalon-apps-sevak-api-0.1.jar +avalon-apps/jars/avalon-apps-sevak-jo-0.1.jar +avalon-composition/jars/avalon-composition-api-1.0-beta-1-RC1.jar +avalon-composition/jars/avalon-composition-api-1.0b1.jar +avalon-composition/jars/avalon-composition-api-1.1-dev.jar +avalon-composition/jars/avalon-composition-api-1.2-dev.jar +avalon-composition/jars/avalon-composition-api-1.2.1-dev.jar +avalon-composition/jars/avalon-composition-api-1.2.1.jar +avalon-composition/jars/avalon-composition-api-1.2.2.jar +avalon-composition/jars/avalon-composition-api-1.2.3.jar +avalon-composition/jars/avalon-composition-api-2.0-DEV.jar +avalon-composition/jars/avalon-composition-api-2.0.0.jar +avalon-composition/jars/avalon-composition-impl-1.0-beta-1-RC1.jar +avalon-composition/jars/avalon-composition-impl-1.0b1.jar +avalon-composition/jars/avalon-composition-impl-1.1-dev.jar +avalon-composition/jars/avalon-composition-impl-1.2-dev.jar +avalon-composition/jars/avalon-composition-impl-1.2.1-dev.jar +avalon-composition/jars/avalon-composition-impl-1.2.2-dev.jar +avalon-composition/jars/avalon-composition-impl-1.2.2.jar +avalon-composition/jars/avalon-composition-impl-1.2.3.jar +avalon-composition/jars/avalon-composition-impl-1.2.4.jar +avalon-composition/jars/avalon-composition-impl-1.2.5.jar +avalon-composition/jars/avalon-composition-impl-2.0-DEV.jar +avalon-composition/jars/avalon-composition-impl-2.0.0.jar +avalon-composition/jars/avalon-composition-spi-1.0-beta-1-RC1.jar +avalon-composition/jars/avalon-composition-spi-1.0b1.jar +avalon-composition/jars/avalon-composition-spi-1.1-dev.jar +avalon-composition/jars/avalon-composition-spi-1.2-dev.jar +avalon-composition/jars/avalon-composition-spi-1.2.1-dev.jar +avalon-composition/jars/avalon-composition-spi-1.2.1.jar +avalon-composition/jars/avalon-composition-spi-2.0-DEV.jar +avalon-composition/jars/avalon-composition-spi-2.0.0.jar +avalon-cornerstone/jars/avalon-cornerstone-4.0.jar +avalon-extension/jars/avalon-extension-impl-1.0-RC1.jar +avalon-extension/jars/avalon-extension-impl-1.0.jar +avalon-extension/jars/avalon-extension-impl-1.1.jar +avalon-extension/jars/avalon-extension-spi-1.0-RC1.jar +avalon-extension/jars/avalon-extension-spi-1.0.jar +avalon-extension/jars/avalon-extension-spi-1.1.jar +avalon-framework/distributions/avalon-framework-4.1.5-RC3-src.tar.gz +avalon-framework/distributions/avalon-framework-4.1.5-RC3-src.zip +avalon-framework/distributions/avalon-framework-4.1.5-RC3.tar.gz +avalon-framework/distributions/avalon-framework-4.1.5-RC3.zip +avalon-framework/distributions/avalon-framework-4.1.5.src.tar.gz +avalon-framework/distributions/avalon-framework-4.1.5.src.zip +avalon-framework/distributions/avalon-framework-4.1.5.tar.gz +avalon-framework/distributions/avalon-framework-4.1.5.zip +avalon-framework/jars/avalon-framework-20020627.jar +avalon-framework/jars/avalon-framework-4.0.jar +avalon-framework/jars/avalon-framework-4.1.3.jar +avalon-framework/jars/avalon-framework-4.1.4.jar +avalon-framework/jars/avalon-framework-4.1.5-RC2.jar +avalon-framework/jars/avalon-framework-4.1.5-dev.jar +avalon-framework/jars/avalon-framework-4.1.5.jar +avalon-framework/jars/avalon-framework-api-4.1.5-RC2.jar +avalon-framework/jars/avalon-framework-api-4.1.5-RC3.jar +avalon-framework/jars/avalon-framework-api-4.1.5-dev.jar +avalon-framework/jars/avalon-framework-api-4.1.5.jar +avalon-framework/jars/avalon-framework-api-4.2.0.jar +avalon-framework/jars/avalon-framework-api-4.3.jar +avalon-framework/jars/avalon-framework-impl-4.1.5-RC2.jar +avalon-framework/jars/avalon-framework-impl-4.1.5-RC3.jar +avalon-framework/jars/avalon-framework-impl-4.1.5-dev.jar +avalon-framework/jars/avalon-framework-impl-4.1.5.jar +avalon-framework/jars/avalon-framework-impl-4.2.0.jar +avalon-framework/jars/avalon-framework-impl-4.3.jar +avalon-framework/poms/avalon-framework-api-4.3.pom +avalon-framework/poms/avalon-framework-impl-4.3.pom +avalon-http/blocks/avalon-http-1.3.block +avalon-http/jars/avalon-http-api-1.3.jar +avalon-http/jars/avalon-http-impl-1.3.jar +avalon-logging/jars/avalon-logging-api-1.0.0.jar +avalon-logging/jars/avalon-logging-impl-1.0.0.jar +avalon-logging/jars/avalon-logging-logkit-api-1.0.0.jar +avalon-logging/jars/avalon-logging-logkit-impl-1.0.0.jar +avalon-logging/jars/avalon-logging-spi-1.0.0.jar +avalon-logkit/jars/avalon-logkit-2.0.0.jar +avalon-logkit/jars/avalon-logkit-2.0.jar +avalon-logkit/jars/avalon-logkit-2.1.jar +avalon-logkit/poms/avalon-logkit-2.1.pom +avalon-meta/distributions/1.1/avalon-meta-1.1-src.tar.gz +avalon-meta/distributions/1.1/avalon-meta-1.1-src.zip +avalon-meta/distributions/1.1/avalon-meta-1.1.tar.gz +avalon-meta/distributions/1.1/avalon-meta-1.1.zip +avalon-meta/distributions/1.3/avalon-meta-1.3-src.tar.gz.MD5 +avalon-meta/distributions/1.3/avalon-meta-1.3-src.tar.gz +avalon-meta/distributions/1.3/avalon-meta-1.3-src.zip.MD5 +avalon-meta/distributions/1.3/avalon-meta-1.3-src.zip +avalon-meta/distributions/1.3/avalon-meta-1.3.tar.gz.MD5 +avalon-meta/distributions/1.3/avalon-meta-1.3.tar.gz +avalon-meta/distributions/1.3/avalon-meta-1.3.zip.MD5 +avalon-meta/distributions/1.3/avalon-meta-1.3.zip +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.tar.gz.MD5 +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.tar.gz +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.zip.MD5 +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.zip +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.tar.gz.MD5 +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.tar.gz +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.zip.MD5 +avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.zip +avalon-meta/jars/avalon-meta-api-1.2.1-dev.jar +avalon-meta/jars/avalon-meta-api-1.1-RC1.jar +avalon-meta/jars/avalon-meta-api-1.1.jar +avalon-meta/jars/avalon-meta-api-1.2-dev.jar +avalon-meta/jars/avalon-meta-api-1.4.0.jar +avalon-meta/jars/avalon-meta-api-1.3.jar +avalon-meta/jars/avalon-meta-spi-1.2.1-dev.jar +avalon-meta/jars/avalon-meta-impl-1.1-RC1.jar +avalon-meta/jars/avalon-meta-impl-1.1.jar +avalon-meta/jars/avalon-meta-impl-1.2-dev.jar +avalon-meta/jars/avalon-meta-spi-1.2-dev.jar +avalon-meta/jars/avalon-meta-impl-1.2.1-dev.jar +avalon-meta/jars/avalon-meta-impl-1.3.1.jar +avalon-meta/jars/avalon-meta-impl-1.3.jar +avalon-meta/jars/avalon-meta-impl-1.4.0.jar +avalon-meta/jars/avalon-meta-plugin-1.1.jar +avalon-meta/jars/avalon-meta-plugin-1.2.jar +avalon-meta/jars/avalon-meta-plugin-1.3.1.jar +avalon-meta/jars/avalon-meta-plugin-1.3.2.jar +avalon-meta/jars/avalon-meta-plugin-1.3.jar +avalon-meta/jars/avalon-meta-spi-1.1-RC1.jar +avalon-meta/jars/avalon-meta-spi-1.1.jar +avalon-meta/jars/avalon-meta-spi-1.4.0.jar +avalon-meta/jars/avalon-meta-spi-1.3.jar +avalon-meta/jars/avalon-meta-tools-1.1-RC1.jar +avalon-meta/jars/avalon-meta-tools-1.1.jar +avalon-meta/jars/avalon-meta-tools-1.2-dev.jar +avalon-meta/jars/avalon-meta-tools-1.2.1-dev.jar +avalon-meta/jars/avalon-meta-tools-1.3.1.jar +avalon-meta/jars/avalon-meta-tools-1.3.jar +avalon-meta/jars/avalon-meta-tools-1.4.0.jar +avalon-meta/plugins/avalon-meta-plugin-1.3.1.jar +avalon-meta/plugins/avalon-meta-plugin-1.1.jar +avalon-meta/plugins/avalon-meta-plugin-1.2.jar +avalon-meta/plugins/avalon-meta-plugin-1.3.2.jar +avalon-meta/plugins/avalon-meta-plugin-1.3.jar +avalon-meta/plugins/avalon-meta-plugin-1.4.0.jar +avalon-phoenix/jars/avalon-phoenix-bsh-commands-4.0.4.jar +avalon-phoenix/jars/avalon-phoenix-client-4.0.4.jar +avalon-phoenix/jars/avalon-phoenix-client-4.0.jar +avalon-phoenix/jars/avalon-phoenix-engine-4.0.4.jar +avalon-phoenix/jars/avalon-phoenix-loader-4.0.4.jar +avalon-phoenix/jars/avalon-phoenix-metagenerate-4.0.jar +avalon-repository/distributions/1.2/avalon-repository-1.2-src.tar.gz.MD5 +avalon-repository/distributions/1.2/avalon-repository-1.2-src.tar.gz +avalon-repository/distributions/1.2/avalon-repository-1.2-src.zip.MD5 +avalon-repository/distributions/1.2/avalon-repository-1.2-src.zip +avalon-repository/distributions/1.2/avalon-repository-1.2.tar.gz.MD5 +avalon-repository/distributions/1.2/avalon-repository-1.2.tar.gz +avalon-repository/distributions/1.2/avalon-repository-1.2.zip.MD5 +avalon-repository/distributions/1.2/avalon-repository-1.2.zip +avalon-repository/jars/avalon-repository-api-1.2-dev.jar +avalon-repository/jars/avalon-repository-api-1.2.jar +avalon-repository/jars/avalon-repository-api-2.0.0.jar +avalon-repository/jars/avalon-repository-cli-2.0.0.jar +avalon-repository/jars/avalon-repository-impl-1.2.jar +avalon-repository/jars/avalon-repository-impl-1.0-beta-1-RC1.jar +avalon-repository/jars/avalon-repository-impl-1.0b1.jar +avalon-repository/jars/avalon-repository-impl-1.1-dev.jar +avalon-repository/jars/avalon-repository-impl-1.2-dev.jar +avalon-repository/jars/avalon-repository-impl-2.0.0.jar +avalon-repository/jars/avalon-repository-main-1.2-dev.jar +avalon-repository/jars/avalon-repository-main-1.2.jar +avalon-repository/jars/avalon-repository-main-2.0.0.jar +avalon-repository/jars/avalon-repository-spi-1.0-beta-1-RC1.jar +avalon-repository/jars/avalon-repository-spi-1.0b1.jar +avalon-repository/jars/avalon-repository-spi-1.1-dev.jar +avalon-repository/jars/avalon-repository-spi-1.2-dev.jar +avalon-repository/jars/avalon-repository-spi-1.2.jar +avalon-repository/jars/avalon-repository-spi-2.0.0.jar +avalon-repository/jars/avalon-repository-util-1.2-dev.jar +avalon-repository/jars/avalon-repository-util-1.2.jar +avalon-repository/jars/avalon-repository-util-2.0.0.jar +avalon-repository/propertiess/repository.properties +avalon-util/distributions/1.0/avalon-util-1.0-src.tar.gz.MD5 +avalon-util/distributions/1.0/avalon-util-1.0-src.tar.gz +avalon-util/distributions/1.0/avalon-util-1.0-src.zip.MD5 +avalon-util/distributions/1.0/avalon-util-1.0-src.zip +avalon-util/distributions/1.0/avalon-util-1.0.tar.gz.MD5 +avalon-util/distributions/1.0/avalon-util-1.0.tar.gz +avalon-util/distributions/1.0/avalon-util-1.0.zip.MD5 +avalon-util/distributions/1.0/avalon-util-1.0.zip +avalon-util/jars/avalon-util-criteria-1.0-dev.jar +avalon-util/jars/avalon-plugin-1.0-dev.jar +avalon-util/jars/avalon-plugin-1.0.jar +avalon-util/jars/avalon-util-criteria-1.0.jar +avalon-util/jars/avalon-util-criteria-1.1.0.jar +avalon-util/jars/avalon-util-defaults-1.0-dev.jar +avalon-util/jars/avalon-util-defaults-1.1-dev.jar +avalon-util/jars/avalon-util-defaults-1.1.jar +avalon-util/jars/avalon-util-defaults-1.2.1.jar +avalon-util/jars/avalon-util-env-1.0-dev.jar +avalon-util/jars/avalon-util-env-1.0.jar +avalon-util/jars/avalon-util-env-1.1.1.jar +avalon-util/jars/avalon-util-exception-1.0-dev.jar +avalon-util/jars/avalon-util-exception-1.0.0.jar +avalon-util/jars/avalon-util-exception-1.0.jar +avalon-util/jars/avalon-util-extension-api-1.2.0.jar +avalon-util/jars/avalon-util-extension-impl-1.2.0.jar +avalon-util/jars/avalon-util-i18n-1.0.0.jar +avalon-util/plugins/avalon-util-plugin-1.0.0.jar +avalon-util/plugins/avalon-plugin-1.0-dev.jar +avalon-util/plugins/avalon-plugin-1.0.jar +axis/jars/axis-1.0.jar +axis/jars/axis-1.1-beta.jar +axis/jars/axis-1.1.jar +axis/jars/axis-1.2-RC1.jar +axis/jars/axis-1.2-RC2.jar +axis/jars/axis-1.2-RC3.jar +axis/jars/axis-1.2-beta-2.jar +axis/jars/axis-1.2-alpha-1.jar +axis/jars/axis-1.2-beta-3.jar +axis/jars/axis-1.2.1.jar +axis/jars/axis-1.2.jar +axis/jars/axis-1.3.jar +axis/jars/axis-1.4.jar +axis/jars/axis-1.4.jar.sha +axis/jars/axis-ant-1.1.jar +axis/jars/axis-ant-1.2-RC1.jar +axis/jars/axis-ant-1.2.1.jar +axis/jars/axis-ant-1.2-RC2.jar +axis/jars/axis-ant-1.2-RC3.jar +axis/jars/axis-ant-1.2-beta-2.jar +axis/jars/axis-ant-1.2-beta-3.jar +axis/jars/axis-ant-1.2.jar +axis/jars/axis-ant-1.3.jar +axis/jars/axis-ant-1.4.jar +axis/jars/axis-jaxrpc-1.2.jar +axis/jars/axis-ant-1.4.jar.sha +axis/jars/axis-jaxrpc-1.2-RC1.jar +axis/jars/axis-jaxrpc-1.2-RC2.jar +axis/jars/axis-jaxrpc-1.2-RC3.jar +axis/jars/axis-jaxrpc-1.2-alpha-1.jar +axis/jars/axis-jaxrpc-1.2-beta-2.jar +axis/jars/axis-jaxrpc-1.2-beta-3.jar +axis/jars/axis-jaxrpc-1.2.1.jar +axis/jars/axis-jaxrpc-1.3.jar +axis/jars/axis-jaxrpc-1.4.jar +axis/jars/axis-jaxrpc-1.4.jar.sha +axis/jars/axis-saaj-1.2-RC1.jar +axis/jars/axis-saaj-1.2-RC2.jar +axis/jars/axis-saaj-1.2-RC3.jar +axis/jars/axis-saaj-1.2-alpha-1.jar +axis/jars/axis-saaj-1.2-beta-2.jar +axis/jars/axis-saaj-1.2-beta-3.jar +axis/jars/axis-saaj-1.2.1.jar +axis/jars/axis-saaj-1.2.jar +axis/jars/axis-saaj-1.3.jar +axis/jars/axis-saaj-1.4.jar +axis/jars/axis-saaj-1.4.jar.sha +axis/jars/axis-schema-1.3.jar +axis/jars/axis-wsdl4j-1.2-RC1.jar +axis/jars/axis-wsdl4j-1.2-RC2.jar +axis/jars/axis-wsdl4j-1.2-RC3.jar +axis/jars/axis-wsdl4j-1.2-beta-2.jar +axis/jars/axis-wsdl4j-1.2-beta-3.jar +axis/jars/axis-wsdl4j-1.2.1.jar +axis/jars/axis-wsdl4j-1.2.jar +axis/jars/axis-wsdl4j-1.3.jar +axis/poms/axis-1.2.1.pom +axis2/jars/addressing-0.94.mar +axis2/jars/axis2-0.9.jar +axis2/jars/axis2-0.95.jar +axis2/jars/axis2-1.0.jar +axis2/jars/axis2-adb-0.94.jar +axis2/jars/axis2-adb-0.95.jar +axis2/jars/axis2-adb-1.0.jar +axis2/jars/axis2-codegen-0.94.jar +axis2/jars/axis2-codegen-0.95.jar +axis2/jars/axis2-codegen-1.0.jar +axis2/jars/axis2-core-0.94.jar +axis2/jars/axis2-doom-0.94.jar +axis2/jars/axis2-doom-0.95.jar +axis2/jars/axis2-java2wsdl-1.0.jar +axis2/jars/axis2-jibx-1.0.jar +axis2/jars/axis2-kernel-0.95.jar +axis2/jars/axis2-kernel-1.0.jar +axis2/jars/axis2-xmlbeans-1.0.jar +axis2/mars/addressing-0.94.mar +axis2/mars/addressing-0.95.mar +axis2/mars/addressing-1.0.mar +axis2/mars/rampart-1.0.mar +axis2/mars/security-0.95.mar +axis2/mars/soapmonitor-1.0.mar +batik/jars/batik-1.1.1.jar +batik/jars/batik-1.5.jar +batik/jars/batik-awt-util-1.5.jar +batik/jars/batik-awt-util-1.6.jar +batik/jars/batik-bridge-1.5.jar +batik/jars/batik-bridge-1.6.jar +batik/jars/batik-css-1.5.jar +batik/jars/batik-css-1.6.jar +batik/jars/batik-dom-1.5.jar +batik/jars/batik-dom-1.6.jar +batik/jars/batik-ext-1.5.jar +batik/jars/batik-ext-1.6.jar +batik/jars/batik-extension-1.5.jar +batik/jars/batik-extension-1.6.jar +batik/jars/batik-gui-util-1.5.jar +batik/jars/batik-gui-util-1.6.jar +batik/jars/batik-gvt-1.5.jar +batik/jars/batik-gvt-1.6.jar +batik/jars/batik-parser-1.5.jar +batik/jars/batik-parser-1.6.jar +batik/jars/batik-rasterizer-1.5.jar +batik/jars/batik-rasterizer-1.6.jar +batik/jars/batik-script-1.5.jar +batik/jars/batik-rasterizer-ext-1.6.jar +batik/jars/batik-rasterizer-ext.jar +batik/jars/batik-script-1.6.jar +batik/jars/batik-slideshow-1.6.jar +batik/jars/batik-squiggle-1.6.jar +batik/jars/batik-squiggle-ext-1.6.jar +batik/jars/batik-squiggle-ext.jar +batik/jars/batik-svg-dom-1.5.jar +batik/jars/batik-svg-dom-1.6.jar +batik/jars/batik-svggen-1.5.jar +batik/jars/batik-svggen-1.6.jar +batik/jars/batik-svgpp-1.6.jar +batik/jars/batik-swing-1.5.jar +batik/jars/batik-swing-1.6.jar +batik/jars/batik-transcoder-1.5.jar +batik/jars/batik-transcoder-1.6.jar +batik/jars/batik-ttf2svg-1.6.jar +batik/jars/batik-util-1.5.jar +batik/jars/batik-util-1.6.jar +batik/jars/batik-xml-1.5.jar +batik/jars/batik-xml-1.6.jar +batik/poms/batik-awt-util-1.6.pom +batik/poms/batik-bridge-1.6.pom +batik/poms/batik-css-1.6.pom +batik/poms/batik-dom-1.6.pom +batik/poms/batik-ext-1.6.pom +batik/poms/batik-extension-1.6.pom +batik/poms/batik-gvt-1.6.pom +batik/poms/batik-gui-util-1.6.pom +batik/poms/batik-parser-1.6.pom +batik/poms/batik-rasterizer-1.6.pom +batik/poms/batik-rasterizer-ext-1.6.pom +batik/poms/batik-script-1.6.pom +batik/poms/batik-slideshow-1.6.pom +batik/poms/batik-squiggle-1.6.pom +batik/poms/batik-squiggle-ext-1.6.pom +batik/poms/batik-svg-dom-1.6.pom +batik/poms/batik-svggen-1.6.pom +batik/poms/batik-svgpp-1.6.pom +batik/poms/batik-swing-1.6.pom +batik/poms/batik-transcoder-1.6.pom +batik/poms/batik-ttf2svg-1.6.pom +batik/poms/batik-util-1.6.pom +batik/poms/batik-xml-1.6.pom +bsf/jars/bsf-2.2.jar +bsf/jars/bsf-2.3.0-rc1.jar +bcel/jars/bcel-5.0.jar +bcel/jars/bcel-5.1.jar +beehive/jars/apache-xbean-beehive-1.0-alpha.jar +beehive/jars/beehive-netui-compiler-1.0-alpha.jar +beehive/jars/beehive-netui-pageflow-1.0-alpha.jar +beehive/jars/beehive-netui-scoping-1.0-alpha.jar +beehive/jars/controls-1.0-alpha.jar +beehive/jars/beehive-netui-tags-databinding-1.0-alpha.jar +beehive/jars/beehive-netui-tags-html-1.0-alpha.jar +beehive/jars/beehive-netui-tags-template-1.0-alpha.jar +beehive/jars/beehive-netui-util-1.0-alpha.jar +beehive/jars/wsdltypes-beehive-1.0-alpha.jar +beehive/jars/wsm-1.0-alpha.jar +beehive/jars/wsm-axis-1.0-alpha.jar +beehive/poms/beehive-controls-1.0.pom +beehive/tlds/beehive-netui-tags-databinding-1.0-alpha.tld +beehive/tlds/beehive-netui-tags-html-1.0-alpha.tld +beehive/tlds/beehive-netui-tags-template-1.0-alpha.tld +beehive/xmls/buildWebappCore.xml +beehive/xmls/buildWebapp.xml +beehive/xmls/webappRuntimeCore.xml +beehive/xmls/runTomcatCore.xml +cactus/distributions/jakarta-cactus-1.5-beta1-src.zip +cactus/distributions/jakarta-cactus-12-1.5-beta1.zip +cactus/distributions/jakarta-cactus-13-1.5-beta1.zip +cactus/jars/cactus-1.4b1.jar +cactus/jars/cactus-12-1.4.1.jar +cactus/jars/cactus-12-1.5-beta1.jar +cactus/jars/cactus-12-1.7.1.jar +cactus/jars/cactus-12-1.7.2.jar +cactus/jars/cactus-13-1.4.1.jar +cactus/jars/cactus-13-1.5-beta1.jar +cactus/jars/cactus-13-1.5-rc1.jar +cactus/jars/cactus-13-1.5dev-20030522.jar +cactus/jars/cactus-13-1.5dev-20030607.jar +cactus/jars/cactus-13-1.5dev-20030619.jar +cactus/jars/cactus-13-1.6.1.jar +cactus/jars/cactus-13-1.6dev-20030807.jar +cactus/jars/cactus-13-1.6.jar +cactus/jars/cactus-13-1.6dev-20030809.jar +cactus/jars/cactus-13-1.6dev-20030829.jar +cactus/jars/cactus-13-1.6dev-20040115.jar +cactus/jars/cactus-13-1.7.1.jar +cactus/jars/cactus-13-1.7.2.jar +cactus/jars/cactus-ant-13-1.6.1.jar +cactus/jars/cactus-ant-13-1.6.jar +cactus/jars/cactus-13-1.7.jar +cactus/jars/cactus-13-1.7dev-20040815.jar +cactus/jars/cactus-ant-1.4.1.jar +cactus/jars/cactus-ant-12-1.5-beta1.jar +cactus/jars/cactus-ant-12-1.7.1.jar +cactus/jars/cactus-ant-12-1.7.2.jar +cactus/jars/cactus-ant-13-1.5-beta1.jar +cactus/jars/cactus-ant-13-1.5-rc1.jar +cactus/jars/cactus-ant-13-1.5dev-20030522.jar +cactus/jars/cactus-ant-13-1.5dev-20030607.jar +cactus/jars/cactus-ant-13-1.5dev-20030619.jar +cactus/jars/cactus-ant-13-1.6dev-20030807.jar +cactus/jars/cactus-ant-13-1.6dev-20030809.jar +cactus/jars/cactus-ant-13-1.6dev-20030829.jar +cactus/jars/cactus-ant-13-1.6dev-20040115.jar +cactus/jars/cactus-ant-13-1.7.1.jar +cactus/jars/cactus-ant-13-1.7dev-20040815.jar +cactus/jars/cactus-ant-13-1.7.2.jar +cactus/jars/cactus-ant-13-1.7.jar +cactus/jars/cactus-framework-13-1.5dev-20030322.jar +cactus/jars/cactus-framework-13-1.5dev-20030407.jar +cactus/jars/cactus-integration-ant-1.5dev-20030322.jar +cactus/jars/cactus-integration-ant-1.5dev-20030407.jar +cactus/plugins/cactus-maven-1.6.1.jar +cactus/plugins/cactus-maven-1.6.jar +cactus/plugins/cactus-maven-1.6dev-20031031.jar +cactus/plugins/cactus-maven-1.6dev-20040115.jar +cactus/plugins/cactus-maven-1.7.1.jar +cactus/plugins/cactus-maven-1.7dev-20040815.jar +cactus/plugins/cactus-maven-1.7.2.jar +cactus/plugins/cactus-maven-1.7.jar +cactus/poms/cactus-maven-1.7.1.pom +cactus/poms/cactus-maven-1.7.2.pom +cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030325.zip +cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030329.zip +cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030407.zip +cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030426.zip +cocoon/jars/cocoon-2.1.3.jar +cocoon/jars/cocoon-2.1.4.jar +cocoon/jars/cocoon-2.1.5.1-deprecated.jar +cocoon/jars/cocoon-2.1.5.1.jar +cocoon/jars/cocoon-2.1.6.jar +cocoon/jars/cocoon-2.1.7.jar +cocoon/jars/cocoon-2.1.8.jar +cocoon/jars/cocoon-2.1.9.jar +cocoon/jars/cocoon-ajax-2.1.8.jar +cocoon/jars/cocoon-ajax-2.1.9.jar +cocoon/jars/cocoon-apples-2.1.3.jar +cocoon/jars/cocoon-apples-2.1.4.jar +cocoon/jars/cocoon-apples-2.1.5.1.jar +cocoon/jars/cocoon-apples-2.1.6.jar +cocoon/jars/cocoon-apples-2.1.7.jar +cocoon/jars/cocoon-apples-2.1.8.jar +cocoon/jars/cocoon-apples-2.1.9.jar +cocoon/jars/cocoon-asciiart-2.1.3.jar +cocoon/jars/cocoon-asciiart-2.1.4.jar +cocoon/jars/cocoon-asciiart-2.1.5.1.jar +cocoon/jars/cocoon-asciiart-2.1.6.jar +cocoon/jars/cocoon-asciiart-2.1.7.jar +cocoon/jars/cocoon-asciiart-2.1.8.jar +cocoon/jars/cocoon-asciiart-2.1.9.jar +cocoon/jars/cocoon-authentication-fw-2.1.3.jar +cocoon/jars/cocoon-authentication-fw-2.1.4.jar +cocoon/jars/cocoon-authentication-fw-2.1.5.1.jar +cocoon/jars/cocoon-authentication-fw-2.1.6.jar +cocoon/jars/cocoon-authentication-fw-2.1.7.jar +cocoon/jars/cocoon-authentication-fw-2.1.8.jar +cocoon/jars/cocoon-authentication-fw-2.1.9.jar +cocoon/jars/cocoon-axis-2.1.3.jar +cocoon/jars/cocoon-axis-2.1.4.jar +cocoon/jars/cocoon-axis-2.1.5.1.jar +cocoon/jars/cocoon-axis-2.1.6.jar +cocoon/jars/cocoon-axis-2.1.7.jar +cocoon/jars/cocoon-axis-2.1.8.jar +cocoon/jars/cocoon-axis-2.1.9.jar +cocoon/jars/cocoon-batik-2.1.3.jar +cocoon/jars/cocoon-batik-2.1.4.jar +cocoon/jars/cocoon-batik-2.1.5.1.jar +cocoon/jars/cocoon-batik-2.1.6.jar +cocoon/jars/cocoon-batik-2.1.7.jar +cocoon/jars/cocoon-batik-2.1.8.jar +cocoon/jars/cocoon-batik-2.1.9.jar +cocoon/jars/cocoon-bsf-2.1.3.jar +cocoon/jars/cocoon-bsf-2.1.4.jar +cocoon/jars/cocoon-bsf-2.1.5.1.jar +cocoon/jars/cocoon-bsf-2.1.6.jar +cocoon/jars/cocoon-bsf-2.1.7.jar +cocoon/jars/cocoon-bsf-2.1.8.jar +cocoon/jars/cocoon-bsf-2.1.9.jar +cocoon/jars/cocoon-captcha-2.1.8.jar +cocoon/jars/cocoon-captcha-2.1.9.jar +cocoon/jars/cocoon-chaperon-2.1.3.jar +cocoon/jars/cocoon-chaperon-2.1.4.jar +cocoon/jars/cocoon-chaperon-2.1.5.1.jar +cocoon/jars/cocoon-chaperon-2.1.6.jar +cocoon/jars/cocoon-chaperon-2.1.7.jar +cocoon/jars/cocoon-chaperon-2.1.8.jar +cocoon/jars/cocoon-chaperon-2.1.9.jar +cocoon/jars/cocoon-cron-2.1.3.jar +cocoon/jars/cocoon-cron-2.1.4.jar +cocoon/jars/cocoon-cron-2.1.5.1.jar +cocoon/jars/cocoon-cron-2.1.6.jar +cocoon/jars/cocoon-cron-2.1.7.jar +cocoon/jars/cocoon-cron-2.1.8.jar +cocoon/jars/cocoon-cron-2.1.9.jar +cocoon/jars/cocoon-databases-2.1.3.jar +cocoon/jars/cocoon-databases-2.1.4.jar +cocoon/jars/cocoon-databases-2.1.5.1.jar +cocoon/jars/cocoon-databases-2.1.6.jar +cocoon/jars/cocoon-databases-2.1.7.jar +cocoon/jars/cocoon-deli-2.1.6.jar +cocoon/jars/cocoon-databases-2.1.8.jar +cocoon/jars/cocoon-databases-2.1.9.jar +cocoon/jars/cocoon-deli-2.1.3.jar +cocoon/jars/cocoon-deli-2.1.4.jar +cocoon/jars/cocoon-deli-2.1.5.1.jar +cocoon/jars/cocoon-deli-2.1.7.jar +cocoon/jars/cocoon-deli-2.1.8.jar +cocoon/jars/cocoon-deli-2.1.9.jar +cocoon/jars/cocoon-deprecated-2.1.3.jar +cocoon/jars/cocoon-deprecated-2.1.4.jar +cocoon/jars/cocoon-deprecated-2.1.6.jar +cocoon/jars/cocoon-deprecated-2.1.5.1.jar +cocoon/jars/cocoon-deprecated-2.1.7.jar +cocoon/jars/cocoon-deprecated-2.1.8.jar +cocoon/jars/cocoon-deprecated-2.1.9.jar +cocoon/jars/cocoon-eventcache-2.1.3.jar +cocoon/jars/cocoon-eventcache-2.1.4.jar +cocoon/jars/cocoon-eventcache-2.1.5.1.jar +cocoon/jars/cocoon-eventcache-2.1.6.jar +cocoon/jars/cocoon-eventcache-2.1.7.jar +cocoon/jars/cocoon-eventcache-2.1.8.jar +cocoon/jars/cocoon-eventcache-2.1.9.jar +cocoon/jars/cocoon-faces-2.1.6.jar +cocoon/jars/cocoon-faces-2.1.7.jar +cocoon/jars/cocoon-faces-2.1.8.jar +cocoon/jars/cocoon-faces-2.1.9.jar +cocoon/jars/cocoon-fop-2.1.3.jar +cocoon/jars/cocoon-fop-2.1.4.jar +cocoon/jars/cocoon-fop-2.1.5.1.jar +cocoon/jars/cocoon-fop-2.1.6.jar +cocoon/jars/cocoon-fop-2.1.7.jar +cocoon/jars/cocoon-fop-2.1.8.jar +cocoon/jars/cocoon-fop-2.1.9.jar +cocoon/jars/cocoon-forms-2.1.6.jar +cocoon/jars/cocoon-forms-2.1.5.1.jar +cocoon/jars/cocoon-forms-2.1.7.jar +cocoon/jars/cocoon-forms-2.1.8.jar +cocoon/jars/cocoon-forms-2.1.9.jar +cocoon/jars/cocoon-hsqldb-2.1.3.jar +cocoon/jars/cocoon-hsqldb-2.1.4.jar +cocoon/jars/cocoon-hsqldb-2.1.5.1.jar +cocoon/jars/cocoon-hsqldb-2.1.6.jar +cocoon/jars/cocoon-hsqldb-2.1.7.jar +cocoon/jars/cocoon-hsqldb-2.1.8.jar +cocoon/jars/cocoon-hsqldb-2.1.9.jar +cocoon/jars/cocoon-html-2.1.3.jar +cocoon/jars/cocoon-html-2.1.4.jar +cocoon/jars/cocoon-html-2.1.5.1.jar +cocoon/jars/cocoon-html-2.1.6.jar +cocoon/jars/cocoon-html-2.1.7.jar +cocoon/jars/cocoon-html-2.1.8.jar +cocoon/jars/cocoon-html-2.1.9.jar +cocoon/jars/cocoon-imageop-2.1.9.jar +cocoon/jars/cocoon-itext-2.1.3.jar +cocoon/jars/cocoon-itext-2.1.4.jar +cocoon/jars/cocoon-itext-2.1.5.1.jar +cocoon/jars/cocoon-itext-2.1.6.jar +cocoon/jars/cocoon-itext-2.1.7.jar +cocoon/jars/cocoon-itext-2.1.8.jar +cocoon/jars/cocoon-itext-2.1.9.jar +cocoon/jars/cocoon-javaflow-2.1.5.1.jar +cocoon/jars/cocoon-javaflow-2.1.6.jar +cocoon/jars/cocoon-javaflow-2.1.7.jar +cocoon/jars/cocoon-javaflow-2.1.8.jar +cocoon/jars/cocoon-javaflow-2.1.9.jar +cocoon/jars/cocoon-jcr-2.1.8.jar +cocoon/jars/cocoon-jcr-2.1.9.jar +cocoon/jars/cocoon-jfor-2.1.3.jar +cocoon/jars/cocoon-jfor-2.1.4.jar +cocoon/jars/cocoon-jfor-2.1.5.1.jar +cocoon/jars/cocoon-jfor-2.1.6.jar +cocoon/jars/cocoon-jfor-2.1.7.jar +cocoon/jars/cocoon-jfor-2.1.8.jar +cocoon/jars/cocoon-jfor-2.1.9.jar +cocoon/jars/cocoon-jms-2.1.4.jar +cocoon/jars/cocoon-jms-2.1.5.1.jar +cocoon/jars/cocoon-jms-2.1.6.jar +cocoon/jars/cocoon-jms-2.1.7.jar +cocoon/jars/cocoon-jms-2.1.8.jar +cocoon/jars/cocoon-jms-2.1.9.jar +cocoon/jars/cocoon-jsp-2.1.3.jar +cocoon/jars/cocoon-jsp-2.1.4.jar +cocoon/jars/cocoon-jsp-2.1.5.1.jar +cocoon/jars/cocoon-jsp-2.1.6.jar +cocoon/jars/cocoon-jsp-2.1.7.jar +cocoon/jars/cocoon-jsp-2.1.8.jar +cocoon/jars/cocoon-jsp-2.1.9.jar +cocoon/jars/cocoon-jxforms-2.1.3.jar +cocoon/jars/cocoon-jxforms-2.1.4.jar +cocoon/jars/cocoon-linkrewriter-2.1.3.jar +cocoon/jars/cocoon-linkrewriter-2.1.4.jar +cocoon/jars/cocoon-linkrewriter-2.1.5.1.jar +cocoon/jars/cocoon-linkrewriter-2.1.6.jar +cocoon/jars/cocoon-linkrewriter-2.1.7.jar +cocoon/jars/cocoon-linkrewriter-2.1.8.jar +cocoon/jars/cocoon-linkrewriter-2.1.9.jar +cocoon/jars/cocoon-linotype-2.1.3.jar +cocoon/jars/cocoon-linotype-2.1.4.jar +cocoon/jars/cocoon-linotype-2.1.5.1.jar +cocoon/jars/cocoon-linotype-2.1.6.jar +cocoon/jars/cocoon-linotype-2.1.7.jar +cocoon/jars/cocoon-linotype-2.1.8.jar +cocoon/jars/cocoon-linotype-2.1.9.jar +cocoon/jars/cocoon-lucene-2.1.3.jar +cocoon/jars/cocoon-lucene-2.1.4.jar +cocoon/jars/cocoon-lucene-2.1.5.1.jar +cocoon/jars/cocoon-mail-2.1.4.jar +cocoon/jars/cocoon-lucene-2.1.6.jar +cocoon/jars/cocoon-lucene-2.1.7.jar +cocoon/jars/cocoon-lucene-2.1.8.jar +cocoon/jars/cocoon-lucene-2.1.9.jar +cocoon/jars/cocoon-mail-2.1.3.jar +cocoon/jars/cocoon-mail-2.1.5.1.jar +cocoon/jars/cocoon-mail-2.1.6.jar +cocoon/jars/cocoon-mail-2.1.7.jar +cocoon/jars/cocoon-mail-2.1.8.jar +cocoon/jars/cocoon-mail-2.1.9.jar +cocoon/jars/cocoon-midi-2.1.3.jar +cocoon/jars/cocoon-midi-2.1.4.jar +cocoon/jars/cocoon-midi-2.1.5.1.jar +cocoon/jars/cocoon-midi-2.1.6.jar +cocoon/jars/cocoon-midi-2.1.7.jar +cocoon/jars/cocoon-midi-2.1.8.jar +cocoon/jars/cocoon-midi-2.1.9.jar +cocoon/jars/cocoon-naming-2.1.3.jar +cocoon/jars/cocoon-naming-2.1.4.jar +cocoon/jars/cocoon-naming-2.1.5.1.jar +cocoon/jars/cocoon-naming-2.1.6.jar +cocoon/jars/cocoon-naming-2.1.7.jar +cocoon/jars/cocoon-naming-2.1.8.jar +cocoon/jars/cocoon-naming-2.1.9.jar +cocoon/jars/cocoon-ojb-2.1.4.jar +cocoon/jars/cocoon-ojb-2.1.5.1.jar +cocoon/jars/cocoon-ojb-2.1.6.jar +cocoon/jars/cocoon-ojb-2.1.7.jar +cocoon/jars/cocoon-ojb-2.1.8.jar +cocoon/jars/cocoon-ojb-2.1.9.jar +cocoon/jars/cocoon-paranoid-2.1.4.jar +cocoon/jars/cocoon-paranoid-2.1.5.1.jar +cocoon/jars/cocoon-paranoid-2.1.6.jar +cocoon/jars/cocoon-paranoid-2.1.7.jar +cocoon/jars/cocoon-paranoid-2.1.8.jar +cocoon/jars/cocoon-paranoid-2.1.9.jar +cocoon/jars/cocoon-petstore-2.1.3.jar +cocoon/jars/cocoon-petstore-2.1.4.jar +cocoon/jars/cocoon-petstore-2.1.5.1.jar +cocoon/jars/cocoon-portal-2.1.6.jar +cocoon/jars/cocoon-petstore-2.1.6.jar +cocoon/jars/cocoon-petstore-2.1.7.jar +cocoon/jars/cocoon-petstore-2.1.8.jar +cocoon/jars/cocoon-petstore-2.1.9.jar +cocoon/jars/cocoon-php-2.1.3.jar +cocoon/jars/cocoon-php-2.1.4.jar +cocoon/jars/cocoon-php-2.1.5.1.jar +cocoon/jars/cocoon-poi-2.1.3.jar +cocoon/jars/cocoon-poi-2.1.4.jar +cocoon/jars/cocoon-poi-2.1.5.1.jar +cocoon/jars/cocoon-poi-2.1.6.jar +cocoon/jars/cocoon-poi-2.1.7.jar +cocoon/jars/cocoon-poi-2.1.8.jar +cocoon/jars/cocoon-poi-2.1.9.jar +cocoon/jars/cocoon-portal-2.1.3.jar +cocoon/jars/cocoon-portal-2.1.4.jar +cocoon/jars/cocoon-portal-2.1.5.1.jar +cocoon/jars/cocoon-portal-2.1.7.jar +cocoon/jars/cocoon-portal-2.1.8.jar +cocoon/jars/cocoon-portal-2.1.9.jar +cocoon/jars/cocoon-portal-fw-2.1.3.jar +cocoon/jars/cocoon-portal-fw-2.1.4.jar +cocoon/jars/cocoon-portal-fw-2.1.5.1.jar +cocoon/jars/cocoon-precept-2.1.3.jar +cocoon/jars/cocoon-precept-2.1.4.jar +cocoon/jars/cocoon-profiler-2.1.3.jar +cocoon/jars/cocoon-profiler-2.1.4.jar +cocoon/jars/cocoon-profiler-2.1.5.1.jar +cocoon/jars/cocoon-profiler-2.1.6.jar +cocoon/jars/cocoon-profiler-2.1.7.jar +cocoon/jars/cocoon-profiler-2.1.8.jar +cocoon/jars/cocoon-profiler-2.1.9.jar +cocoon/jars/cocoon-proxy-2.1.3.jar +cocoon/jars/cocoon-proxy-2.1.4.jar +cocoon/jars/cocoon-proxy-2.1.5.1.jar +cocoon/jars/cocoon-proxy-2.1.6.jar +cocoon/jars/cocoon-proxy-2.1.7.jar +cocoon/jars/cocoon-proxy-2.1.8.jar +cocoon/jars/cocoon-proxy-2.1.9.jar +cocoon/jars/cocoon-python-2.1.3.jar +cocoon/jars/cocoon-python-2.1.4.jar +cocoon/jars/cocoon-python-2.1.5.1.jar +cocoon/jars/cocoon-python-2.1.6.jar +cocoon/jars/cocoon-python-2.1.7.jar +cocoon/jars/cocoon-python-2.1.8.jar +cocoon/jars/cocoon-python-2.1.9.jar +cocoon/jars/cocoon-qdox-2.1.3.jar +cocoon/jars/cocoon-qdox-2.1.4.jar +cocoon/jars/cocoon-qdox-2.1.5.1.jar +cocoon/jars/cocoon-qdox-2.1.6.jar +cocoon/jars/cocoon-qdox-2.1.7.jar +cocoon/jars/cocoon-qdox-2.1.8.jar +cocoon/jars/cocoon-qdox-2.1.9.jar +cocoon/jars/cocoon-querybean-2.1.7.jar +cocoon/jars/cocoon-querybean-2.1.8.jar +cocoon/jars/cocoon-querybean-2.1.9.jar +cocoon/jars/cocoon-repository-2.1.3.jar +cocoon/jars/cocoon-repository-2.1.4.jar +cocoon/jars/cocoon-repository-2.1.5.1.jar +cocoon/jars/cocoon-repository-2.1.6.jar +cocoon/jars/cocoon-repository-2.1.7.jar +cocoon/jars/cocoon-repository-2.1.8.jar +cocoon/jars/cocoon-repository-2.1.9.jar +cocoon/jars/cocoon-scratchpad-2.1.3.jar +cocoon/jars/cocoon-scratchpad-2.1.4.jar +cocoon/jars/cocoon-scratchpad-2.1.5.1.jar +cocoon/jars/cocoon-scratchpad-2.1.6.jar +cocoon/jars/cocoon-serializers-2.1.9.jar +cocoon/jars/cocoon-serializers-2.1.5.1.jar +cocoon/jars/cocoon-serializers-2.1.6.jar +cocoon/jars/cocoon-serializers-2.1.7.jar +cocoon/jars/cocoon-serializers-2.1.8.jar +cocoon/jars/cocoon-session-fw-2.1.3.jar +cocoon/jars/cocoon-session-fw-2.1.4.jar +cocoon/jars/cocoon-session-fw-2.1.5.1.jar +cocoon/jars/cocoon-session-fw-2.1.6.jar +cocoon/jars/cocoon-session-fw-2.1.7.jar +cocoon/jars/cocoon-session-fw-2.1.8.jar +cocoon/jars/cocoon-session-fw-2.1.9.jar +cocoon/jars/cocoon-slide-2.1.3.jar +cocoon/jars/cocoon-slide-2.1.4.jar +cocoon/jars/cocoon-slide-2.1.5.1.jar +cocoon/jars/cocoon-slide-2.1.6.jar +cocoon/jars/cocoon-slide-2.1.7.jar +cocoon/jars/cocoon-slide-2.1.8.jar +cocoon/jars/cocoon-slide-2.1.9.jar +cocoon/jars/cocoon-slop-2.1.3.jar +cocoon/jars/cocoon-slop-2.1.4.jar +cocoon/jars/cocoon-slop-2.1.5.1.jar +cocoon/jars/cocoon-slop-2.1.6.jar +cocoon/jars/cocoon-slop-2.1.7.jar +cocoon/jars/cocoon-slop-2.1.8.jar +cocoon/jars/cocoon-slop-2.1.9.jar +cocoon/jars/cocoon-snapshot.version +cocoon/jars/cocoon-stx-2.1.3.jar +cocoon/jars/cocoon-stx-2.1.4.jar +cocoon/jars/cocoon-stx-2.1.5.1.jar +cocoon/jars/cocoon-stx-2.1.6.jar +cocoon/jars/cocoon-stx-2.1.7.jar +cocoon/jars/cocoon-stx-2.1.8.jar +cocoon/jars/cocoon-stx-2.1.9.jar +cocoon/jars/cocoon-swf-2.1.3.jar +cocoon/jars/cocoon-swf-2.1.4.jar +cocoon/jars/cocoon-swf-2.1.5.1.jar +cocoon/jars/cocoon-taglib-2.1.3.jar +cocoon/jars/cocoon-taglib-2.1.4.jar +cocoon/jars/cocoon-taglib-2.1.5.1.jar +cocoon/jars/cocoon-testcase-2.1.3.jar +cocoon/jars/cocoon-taglib-2.1.6.jar +cocoon/jars/cocoon-taglib-2.1.7.jar +cocoon/jars/cocoon-taglib-2.1.8.jar +cocoon/jars/cocoon-taglib-2.1.9.jar +cocoon/jars/cocoon-template-2.1.9.jar +cocoon/jars/cocoon-woody-2.1.3.jar +cocoon/jars/cocoon-testcase-2.1.4.jar +cocoon/jars/cocoon-testcase-2.1.6.jar +cocoon/jars/cocoon-testcase-2.1.7.jar +cocoon/jars/cocoon-testcase-2.1.9.jar +cocoon/jars/cocoon-tour-2.1.5.1.jar +cocoon/jars/cocoon-tour-2.1.6.jar +cocoon/jars/cocoon-tour-2.1.7.jar +cocoon/jars/cocoon-tour-2.1.8.jar +cocoon/jars/cocoon-tour-2.1.9.jar +cocoon/jars/cocoon-validation-2.1.8.jar +cocoon/jars/cocoon-validation-2.1.9.jar +cocoon/jars/cocoon-velocity-2.1.3.jar +cocoon/jars/cocoon-velocity-2.1.4.jar +cocoon/jars/cocoon-velocity-2.1.5.1.jar +cocoon/jars/cocoon-velocity-2.1.6.jar +cocoon/jars/cocoon-velocity-2.1.7.jar +cocoon/jars/cocoon-velocity-2.1.8.jar +cocoon/jars/cocoon-velocity-2.1.9.jar +cocoon/jars/cocoon-web3-2.1.3.jar +cocoon/jars/cocoon-web3-2.1.4.jar +cocoon/jars/cocoon-web3-2.1.5.1.jar +cocoon/jars/cocoon-web3-2.1.6.jar +cocoon/jars/cocoon-web3-2.1.7.jar +cocoon/jars/cocoon-web3-2.1.8.jar +cocoon/jars/cocoon-web3-2.1.9.jar +cocoon/jars/cocoon-webdav-2.1.3.jar +cocoon/jars/cocoon-webdav-2.1.4.jar +cocoon/jars/cocoon-webdav-2.1.6.jar +cocoon/jars/cocoon-webdav-2.1.5.1.jar +cocoon/jars/cocoon-webdav-2.1.7.jar +cocoon/jars/cocoon-webdav-2.1.8.jar +cocoon/jars/cocoon-webdav-2.1.9.jar +cocoon/jars/cocoon-woody-2.1.4.jar +cocoon/jars/cocoon-xmldb-2.1.3.jar +cocoon/jars/cocoon-xmldb-2.1.4.jar +cocoon/jars/cocoon-xmldb-2.1.5.1.jar +cocoon/jars/cocoon-xmldb-2.1.6.jar +cocoon/jars/cocoon-xmldb-2.1.7.jar +cocoon/jars/cocoon-xmldb-2.1.8.jar +cocoon/jars/cocoon-xmldb-2.1.9.jar +cocoon/jars/cocoon-xsltal-2.1.8.jar +cocoon/jars/cocoon-xsltal-2.1.9.jar +cocoon/jars/cocoon-xsp-2.1.5.1.jar +cocoon/jars/cocoon-xsp-2.1.6.jar +cocoon/jars/cocoon-xsp-2.1.7.jar +cocoon/jars/cocoon-xsp-2.1.8.jar +cocoon/jars/cocoon-xsp-2.1.9.jar +cocoon/wars/cocoon-2.1.8.war +cocoon/wars/cocoon-war-2.1.3.war +cocoon/wars/cocoon-war-2.1.4.war +cocoon/wars/cocoon-war-2.1.6.war +cocoon/wars/cocoon-war-2.1.7.war +commons-attributes/jars/commons-attributes-2.1-javadoc.jar +commons-attributes/jars/commons-attributes-api-2.1.jar +commons-attributes/jars/commons-attributes-api-2.2.jar +commons-attributes/jars/commons-attributes-compiler-2.1.jar +commons-attributes/jars/commons-attributes-compiler-2.2.jar +commons-attributes/plugins/commons-attributes-plugin-2.1.jar +commons-attributes/plugins/commons-attributes-plugin-2.2.jar +commons-attributes/poms/commons-attributes-api-2.2.pom +commons-attributes/poms/commons-attributes-compiler-2.2.pom +commons-beanutils/jars/commons-beanutils-1.0-dev.20020812.082103.jar +commons-beanutils/jars/commons-beanutils-1.0-dev.20020913.114846.jar +commons-beanutils/jars/commons-beanutils-1.0.jar +commons-beanutils/jars/commons-beanutils-1.3.jar +commons-beanutils/jars/commons-beanutils-1.4-dev.20020812.084325.jar +commons-beanutils/jars/commons-beanutils-1.4-dev.jar +commons-beanutils/jars/commons-beanutils-1.4.1.jar +commons-beanutils/jars/commons-beanutils-1.4.jar +commons-beanutils/jars/commons-beanutils-1.5-javadoc.jar +commons-beanutils/jars/commons-beanutils-1.5.jar +commons-beanutils/jars/commons-beanutils-1.6-dev.20021128.082114.jar +commons-beanutils/jars/commons-beanutils-1.6-javadoc.jar +commons-beanutils/jars/commons-beanutils-1.6.1-javadoc.jar +commons-beanutils/jars/commons-beanutils-1.6.1.jar +commons-beanutils/jars/commons-beanutils-1.6.jar +commons-beanutils/jars/commons-beanutils-1.7-dev.jar +commons-beanutils/jars/commons-beanutils-1.7.0-javadoc.jar +commons-beanutils/jars/commons-beanutils-1.7.0.jar +commons-beanutils/jars/commons-beanutils-20020520.jar +commons-beanutils/jars/commons-beanutils-20030211.134440.jar +commons-beanutils/jars/commons-beanutils-bean-collections-1.7.0.jar +commons-beanutils/jars/commons-beanutils-core-1.7.0.jar +commons-beanutils/jars/commons-beanutils-dev.jar +commons-beanutils/jars/commons-beanutils-1.8.0-BETA-javadoc.jar +commons-beanutils/jars/commons-beanutils-snapshot-version +commons-beanutils/jars/commons-beanutils-1.8.0-BETA.jar +commons-beanutils/jars/commons-beanutils-1.8.0-BETA-sources.jar +commons-beanutils/jars/commons-beanutils-core-1.8.0-BETA.jar +commons-beanutils/jars/commons-beanutils-bean-collections-1.8.0-BETA.jar +commons-beanutils/poms/commons-beanutils-1.4.1.pom +commons-beanutils/poms/commons-beanutils-1.4.pom +commons-beanutils/poms/commons-beanutils-1.5.pom +commons-beanutils/poms/commons-beanutils-1.6.1.pom +commons-beanutils/poms/commons-beanutils-1.6.pom +commons-beanutils/poms/commons-beanutils-1.8.0-BETA.pom +commons-betwixt/jars/commons-betwixt-0.5-javadoc.jar +commons-betwixt/jars/commons-betwixt-0.5.jar +commons-betwixt/jars/commons-betwixt-0.6-javadoc.jar +commons-betwixt/jars/commons-betwixt-1.0-alpha-1-javadoc.jar +commons-betwixt/jars/commons-betwixt-0.6.jar +commons-betwixt/jars/commons-betwixt-0.7-javadoc.jar +commons-betwixt/jars/commons-betwixt-0.7.jar +commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020910.124754.jar +commons-betwixt/jars/commons-betwixt-1.0-alpha-1.jar +commons-betwixt/jars/commons-betwixt-0.8.jar.sha +commons-betwixt/jars/commons-betwixt-0.8.jar +commons-betwixt/jars/commons-betwixt-1.0-beta-1.jar +commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020912.014405.jar +commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020920.020057.jar +commons-betwixt/jars/commons-betwixt-1.0-beta-1.20030111.103454.jar +commons-betwixt/jars/commons-betwixt-1.0-dev.20020712.083337.jar +commons-betwixt/jars/commons-betwixt-1.0-dev.20020719.010630.jar +commons-betwixt/jars/commons-betwixt-1.0-dev.jar +commons-betwixt/jars/commons-betwixt-20030211.133854.jar +commons-betwixt/jars/commons-betwixt-snapshot-version +commons-betwixt/poms/commons-betwixt-0.8.pom +commons-betwixt/poms/commons-betwixt-0.6.pom +commons-betwixt/poms/commons-betwixt-0.7.pom +commons-chain/jars/commons-chain-1.0-javadoc.jar +commons-chain/jars/commons-chain-1.0.jar +commons-chain/jars/commons-chain-1.1.jar +commons-chain/poms/commons-chain-1.0.pom +commons-chain/poms/commons-chain-1.1.pom +commons-cli/jars/commons-cli-1.0-beta-1.jar +commons-cli/jars/commons-cli-1.0-beta-2-dev.20021004.111657.jar +commons-cli/jars/commons-cli-1.0-beta-2-dev.jar +commons-cli/jars/commons-cli-1.0-beta-2.jar +commons-cli/jars/commons-cli-1.0-dev.jar +commons-cli/jars/commons-cli-1.0-dev.20020710.025055.jar +commons-cli/jars/commons-cli-1.0-dev.20020727.104720.jar +commons-cli/jars/commons-cli-1.0-javadoc.jar +commons-cli/jars/commons-cli-1.0.jar +commons-cli/jars/commons-cli-1.1-javadoc.jar +commons-cli/jars/commons-cli-1.0.jar.sha +commons-cli/jars/commons-cli-1.1-sources.jar +commons-cli/jars/commons-cli-1.1.jar +commons-cli/poms/commons-cli-1.0.pom +commons-cli/poms/commons-cli-1.1.pom +commons-codec/jars/commons-codec-1.0-dev.jar +commons-codec/jars/commons-codec-1.1-javadoc.jar +commons-codec/jars/commons-codec-1.1.jar +commons-codec/jars/commons-codec-1.2-javadoc.jar +commons-codec/jars/commons-codec-1.2.jar +commons-codec/jars/commons-codec-1.3-javadoc.jar +commons-codec/jars/commons-codec-1.3.jar +commons-codec/jars/commons-codec-20041127.091804.jar +commons-codec/jars/commons-codec-snapshot-version +commons-codec/poms/commons-codec-1.1.pom +commons-codec/poms/commons-codec-1.2.pom +commons-codec/poms/commons-codec-1.3.pom +commons-codec/poms/commons-codec-20041127.091804.pom +commons-codec/poms/commons-codec-snapshot-version +commons-collections/jars/commons-collections-1.0-javadoc.jar +commons-collections/jars/commons-collections-1.0.jar +commons-collections/jars/commons-collections-2.0-javadoc.jar +commons-collections/jars/commons-collections-2.0.20020914.015953.jar +commons-collections/jars/commons-collections-3.1.jar +commons-collections/jars/commons-collections-snapshot-version +commons-collections/jars/commons-collections-2.0.20020914.020746.jar +commons-collections/jars/commons-collections-2.0.20020914.020858.jar +commons-collections/jars/commons-collections-2.0.jar +commons-collections/jars/commons-collections-2.1-dev.jar +commons-collections/jars/commons-collections-2.1-javadoc.jar +commons-collections/jars/commons-collections-2.1.jar +commons-collections/jars/commons-collections-2.1.1-javadoc.jar +commons-collections/jars/commons-collections-2.1.1.jar +commons-collections/jars/commons-collections-20030418.083655.jar +commons-collections/jars/commons-collections-20031027.000000.jar +commons-collections/jars/commons-collections-3.0-dev.jar +commons-collections/jars/commons-collections-20040102.233541.jar +commons-collections/jars/commons-collections-20040616.jar +commons-collections/jars/commons-collections-3.0-javadoc.jar +commons-collections/jars/commons-collections-3.0.jar +commons-collections/jars/commons-collections-3.1-javadoc.jar +commons-collections/jars/commons-collections-3.2.jar +commons-collections/jars/commons-collections-testframework-20031027.000000.jar +commons-collections/jars/commons-collections-testframework-20040102.233541.jar +commons-collections/jars/commons-collections-testframework-3.1.jar +commons-collections/jars/commons-collections-testframework-3.2.jar +commons-collections/poms/commons-collections-2.1.pom +commons-collections/poms/commons-collections-3.0.pom +commons-collections/poms/commons-collections-3.2.pom +commons-configuration/jars/commons-configuration-1.0-dev-2.20021231.045254.jar +commons-configuration/jars/commons-configuration-1.0-dev-3.20030603.101200.jar +commons-configuration/jars/commons-configuration-1.0-dev-3.20030607.194155.jar +commons-configuration/jars/commons-configuration-1.4-javadoc.jar +commons-configuration/jars/commons-configuration-1.0-dev.jar +commons-configuration/jars/commons-configuration-1.0-javadoc.jar +commons-configuration/jars/commons-configuration-1.0-rc1.jar +commons-configuration/jars/commons-configuration-1.0-rc2.jar +commons-configuration/jars/commons-configuration-1.0.jar +commons-configuration/jars/commons-configuration-1.1-javadoc.jar +commons-configuration/jars/commons-configuration-1.1.jar +commons-configuration/jars/commons-configuration-1.2.jar +commons-configuration/jars/commons-configuration-20030311.152757.jar +commons-configuration/jars/commons-configuration-20030620.073343.jar +commons-configuration/jars/commons-configuration-20030706.202021.jar +commons-configuration/jars/commons-configuration-20041012.002623.jar +commons-configuration/jars/commons-configuration-20041012.002804.jar +commons-configuration/jars/commons-configuration-snapshot-version +commons-configuration/jars/commons-configuration-1.4-sources.jar +commons-configuration/jars/commons-configuration-1.4.jar +commons-configuration/poms/commons-configuration-20041012.002623.pom +commons-configuration/poms/commons-configuration-1.0-rc1.pom +commons-configuration/poms/commons-configuration-1.0.pom +commons-configuration/poms/commons-configuration-1.1.pom +commons-configuration/poms/commons-configuration-1.2.pom +commons-configuration/poms/commons-configuration-20041012.002804.pom +commons-configuration/poms/commons-configuration-snapshot-version +commons-configuration/poms/commons-configuration-1.4.pom +commons-daemon/jars/commons-daemon-1.0-dev.20021002.084851.jar +commons-dbcp/jars/commons-dbcp-1.0-dev-20020806.jar +commons-dbcp/jars/commons-dbcp-1.0-dev.jar +commons-dbcp/jars/commons-dbcp-1.0-javadoc.jar +commons-dbcp/jars/commons-dbcp-1.0.jar +commons-dbcp/jars/commons-dbcp-1.1-RC1.jar +commons-dbcp/jars/commons-dbcp-1.1-RC2.jar +commons-dbcp/jars/commons-dbcp-1.1-dev.20021231.054941.jar +commons-dbcp/jars/commons-dbcp-1.1-dev.20021231.055112.jar +commons-dbcp/jars/commons-dbcp-1.1-javadoc.jar +commons-dbcp/jars/commons-dbcp-1.1.jar +commons-dbcp/jars/commons-dbcp-1.2-javadoc.jar +commons-dbcp/jars/commons-dbcp-1.2.1-javadoc.jar +commons-dbcp/jars/commons-dbcp-1.2.1.jar +commons-dbcp/jars/commons-dbcp-1.2.jar +commons-dbcp/jars/commons-dbcp-20030818.201141.jar +commons-dbcp/jars/commons-dbcp-20030821.193421.jar +commons-dbcp/jars/commons-dbcp-20030825.184428.jar +commons-dbcp/jars/commons-dbcp-snapshot-version +commons-dbcp/jars/commons-dbcp-1.2.2.jar +commons-dbcp/poms/commons-dbcp-1.0.pom +commons-dbcp/poms/commons-dbcp-1.1.pom +commons-dbcp/poms/commons-dbcp-1.2.1.pom +commons-dbcp/poms/commons-dbcp-1.2.pom +commons-dbcp/poms/commons-dbcp-1.2.2.pom +commons-dbutils/jars/commons-dbutils-1.0-javadoc.jar +commons-dbutils/jars/commons-dbutils-1.0.jar +commons-dbutils/jars/commons-dbutils-1.1.jar +commons-dbutils/jars/commons-dbutils-1.1-sources.jar +commons-dbutils/poms/commons-dbutils-1.0.pom +commons-dbutils/poms/commons-dbutils-1.1.pom +commons-digester/jars/commons-digester-1.0-dev.20020731.104901.jar +commons-digester/jars/commons-digester-1.2.jar +commons-digester/jars/commons-digester-1.3.jar +commons-digester/jars/commons-digester-1.4-javadoc.jar +commons-digester/jars/commons-digester-1.4.1-javadoc.jar +commons-digester/jars/commons-digester-1.4.1.jar +commons-digester/jars/commons-digester-1.5-javadoc.jar +commons-digester/jars/commons-digester-1.5.jar +commons-digester/jars/commons-digester-1.6-javadoc.jar +commons-digester/jars/commons-digester-1.6.jar +commons-digester/jars/commons-digester-1.7-javadoc.jar +commons-digester/jars/commons-digester-1.7.jar +commons-digester/jars/commons-digester-1.8.jar +commons-digester/jars/commons-digester-1.8-javadoc.jar +commons-digester/jars/commons-digester-1.8-sources.jar +commons-digester/poms/commons-digester-1.3.pom +commons-digester/poms/commons-digester-1.4.1.pom +commons-digester/poms/commons-digester-1.5.pom +commons-digester/poms/commons-digester-1.7.pom +commons-digester/poms/commons-digester-1.8.pom +commons-digester/distributions/commons-digester-1.8-src.zip +commons-digester/distributions/commons-digester-1.8-src.tar.gz +commons-digester/distributions/commons-digester-1.8.tar.gz +commons-digester/distributions/commons-digester-1.8.zip +commons-discovery/jars/commons-discovery-0.1-javadoc.jar +commons-discovery/jars/commons-discovery-0.1.jar +commons-discovery/jars/commons-discovery-0.2-javadoc.jar +commons-discovery/jars/commons-discovery-0.2-dev.jar +commons-discovery/jars/commons-discovery-0.2.jar +commons-discovery/jars/commons-discovery-1.0-dev.20021010.101254.jar +commons-discovery/jars/commons-discovery-20030211.213356.jar +commons-discovery/jars/commons-discovery-20040218.194635.jar +commons-discovery/jars/commons-discovery-snapshot-version +commons-discovery/jars/commons-discovery-0.4.jar +commons-discovery/poms/commons-discovery-0.1.pom +commons-discovery/poms/commons-discovery-0.2.pom +commons-discovery/poms/commons-discovery-0.4.pom +commons-el/jars/commons-el-1.0-javadoc.jar +commons-el/jars/commons-el-1.0.jar +commons-el/poms/commons-el-1.0.pom +commons-email/distributions/commons-email-1.0-src.tar.gz +commons-email/distributions/commons-email-1.0-src.zip +commons-email/distributions/commons-email-1.0.tar.gz +commons-email/distributions/commons-email-1.0.zip +commons-email/jars/commons-email-0.1-dev.jar +commons-email/jars/commons-email-1.0-javadoc.jar +commons-email/jars/commons-email-1.0.jar +commons-email/jars/commons-email-20030310.165926.jar +commons-email/jars/commons-email-snapshot-version +commons-email/poms/commons-email-1.0.pom +commons-fileupload/jars/commons-fileupload-1.0-beta-1-javadoc.jar +commons-fileupload/jars/commons-fileupload-1.0-beta-1.jar +commons-fileupload/jars/commons-fileupload-1.0-dev.jar +commons-fileupload/jars/commons-fileupload-1.0-javadoc.jar +commons-fileupload/jars/commons-fileupload-1.0-rc1-javadoc.jar +commons-fileupload/jars/commons-fileupload-1.0-rc1.jar +commons-fileupload/jars/commons-fileupload-1.0.jar +commons-fileupload/jars/commons-fileupload-1.1.1.jar +commons-fileupload/jars/commons-fileupload-1.1.jar +commons-fileupload/poms/commons-fileupload-1.0.pom +commons-fileupload/poms/commons-fileupload-1.1.1.pom +commons-fileupload/poms/commons-fileupload-1.1.pom +ecs/jars/ecs-1.4.1.jar +ecs/jars/ecs-1.4.2.jar +commons-grant/jars/commons-grant-1.0-b1.jar +commons-grant/jars/commons-grant-1.0-beta-2.jar +commons-grant/jars/commons-grant-1.0-beta-3.jar +commons-grant/jars/commons-grant-1.0-beta-4.jar +commons-grant/jars/commons-grant-1.0-beta-5.jar +commons-graph/jars/commons-graph-0.8.1.jar +commons-graph/jars/commons-graph-0.8.jar +commons-http/jars/commons-http-1.1.jar +commons-httpclient/jars/commons-httpclient-1.0.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha1-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha2-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0.jar +commons-httpclient/jars/commons-httpclient-3.0.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha2.20020903.070259.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha2.20021115.044352.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha2.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha3-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-alpha3.jar +commons-httpclient/jars/commons-httpclient-2.0-beta1-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-beta1.jar +commons-httpclient/jars/commons-httpclient-2.0-beta2-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-beta2.jar +commons-httpclient/jars/commons-httpclient-2.0-dev.20020705.071400.jar +commons-httpclient/jars/commons-httpclient-2.0-dev.jar +commons-httpclient/jars/commons-httpclient-2.0-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-rc1-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-rc1.jar +commons-httpclient/jars/commons-httpclient-2.0-rc2-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-rc2.jar +commons-httpclient/jars/commons-httpclient-2.0-rc3-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0-rc3.jar +commons-httpclient/jars/commons-httpclient-2.0.1-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0.1.jar +commons-httpclient/jars/commons-httpclient-2.0.2-javadoc.jar +commons-httpclient/jars/commons-httpclient-2.0.2.jar +commons-httpclient/jars/commons-httpclient-2.0alpha1-20020606.jar +commons-httpclient/jars/commons-httpclient-2.0alpha1-20020829.jar +commons-httpclient/jars/commons-httpclient-2.0alpha1.jar +commons-httpclient/jars/commons-httpclient-20020423.jar +commons-httpclient/jars/commons-httpclient-3.0-alpha1-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-beta1.jar +commons-httpclient/jars/commons-httpclient-3.1.jar +commons-httpclient/jars/commons-httpclient-3.0-alpha1.jar +commons-httpclient/jars/commons-httpclient-3.0-alpha2-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-alpha2.jar +commons-httpclient/jars/commons-httpclient-3.0-beta1-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-rc1-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-rc1.jar +commons-httpclient/jars/commons-httpclient-3.0-rc2-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-rc2.jar +commons-httpclient/jars/commons-httpclient-3.0-rc3-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-rc3.jar +commons-httpclient/jars/commons-httpclient-3.0-rc4-javadoc.jar +commons-httpclient/jars/commons-httpclient-3.0-rc4.jar +commons-httpclient/jars/commons-httpclient-3.0.1.jar +commons-httpclient/jars/commons-httpclient-3.1-alpha1.jar +commons-httpclient/jars/commons-httpclient-3.1-beta1.jar +commons-httpclient/jars/commons-httpclient-3.1-rc1.jar +commons-httpclient/poms/commons-httpclient-3.0alpha2.pom +commons-httpclient/poms/commons-httpclient-2.0.2.pom +commons-httpclient/poms/commons-httpclient-3.0.1.pom +commons-httpclient/poms/commons-httpclient-3.0.pom +commons-httpclient/poms/commons-httpclient-3.1-alpha1.pom +commons-httpclient/poms/commons-httpclient-3.0beta1.pom +commons-httpclient/poms/commons-httpclient-3.0rc1.pom +commons-httpclient/poms/commons-httpclient-3.0rc2.pom +commons-httpclient/poms/commons-httpclient-3.0rc3.pom +commons-httpclient/poms/commons-httpclient-3.0rc4.pom +commons-httpclient/poms/commons-httpclient-3.1-beta1.pom +commons-httpclient/poms/commons-httpclient-3.1-rc1.pom +commons-httpclient/poms/commons-httpclient-3.1.pom +commons-i18n/distributions/commons-i18n-0.3-src.tar.gz +commons-i18n/distributions/commons-i18n-0.3-src.zip +commons-i18n/distributions/commons-i18n-0.3.tar.gz +commons-i18n/distributions/commons-i18n-0.3.zip +commons-i18n/distributions/commons-i18n-0.4-src.tar.gz +commons-i18n/distributions/commons-i18n-0.4-src.zip +commons-i18n/distributions/commons-i18n-0.4.tar.gz +commons-i18n/distributions/commons-i18n-0.4.zip +commons-i18n/distributions/commons-i18n-0.5-src.tar.gz +commons-i18n/distributions/commons-i18n-0.5-src.zip +commons-i18n/distributions/commons-i18n-0.5.tar.gz +commons-i18n/distributions/commons-i18n-0.5.zip +commons-i18n/jars/commons-i18n-0.4.jar +commons-i18n/jars/commons-i18n-0.5.jar +commons-i18n/poms/commons-i18n-0.3.pom +commons-i18n/poms/commons-i18n-0.4.pom +commons-i18n/poms/commons-i18n-0.5.pom +commons-io/jars/commons-io-0.1.jar +commons-io/jars/commons-io-0.2-dev.20020614.122300.jar +commons-io/jars/commons-io-0.2-dev.20020717.100545.jar +commons-io/jars/commons-io-1.0-javadoc.jar +commons-io/jars/commons-io-1.0.jar +commons-io/jars/commons-io-1.3.jar +commons-io/jars/commons-io-1.1-javadoc.jar +commons-io/jars/commons-io-1.1.jar +commons-io/jars/commons-io-1.2-javadoc.jar +commons-io/jars/commons-io-1.2.jar +commons-io/jars/commons-io-20030203.000550.jar +commons-io/jars/commons-io-1.3-javadoc.jar +commons-io/jars/commons-io-1.3-sources.jar +commons-io/jars/commons-io-1.3.1-javadoc.jar +commons-io/jars/commons-io-1.3.1.jar +commons-io/jars/commons-io-1.3.1-sources.jar +commons-io/poms/commons-io-1.0.pom +commons-io/poms/commons-io-1.1.pom +commons-io/poms/commons-io-1.2.pom +commons-io/poms/commons-io-1.3.pom +commons-io/poms/commons-io-1.3.1.pom +commons-jdbc2pool/jars/commons-jdbc2pool-1.0-dev.jar +commons-jelly/distributions/KEYS +commons-jelly/distributions/commons-jelly-1.0-beta-3-src.tar.gz +commons-jelly/distributions/commons-jelly-1.0-beta-3-src.zip +commons-jelly/distributions/commons-jelly-1.0-beta-3.tar.gz +commons-jelly/distributions/commons-jelly-1.0-beta-3.zip +commons-jelly/distributions/commons-jelly-1.0-beta-4-src.tar.gz +commons-jelly/distributions/commons-jelly-1.0-beta-4-src.zip +commons-jelly/distributions/commons-jelly-1.0-beta-4.tar.gz +commons-jelly/distributions/commons-jelly-1.0-beta-4.zip +commons-jelly/distributions/commons-jelly-1.0-dev-src.tar.gz +commons-jelly/distributions/commons-jelly-1.0-dev-src.zip +commons-jelly/distributions/commons-jelly-1.0-dev.tar.gz +commons-jelly/distributions/commons-jelly-1.0-dev.zip +commons-jelly/jars/commons-jelly-1.0-RC1-javadoc.jar +commons-jelly/jars/commons-jelly-1.0-RC1.jar +commons-jelly/jars/commons-jelly-1.0-beta-1.jar +commons-jelly/jars/commons-jelly-1.0-beta-2.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020714.020704.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020819.043231.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020819.043406.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020820.043616.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020828.023547.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020828.032644.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020904.063114.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020910.061420.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020911.045717.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020913.010946.jar +commons-jelly/jars/commons-jelly-1.0-beta-3.20020913.120853.jar +commons-jelly/jars/commons-jelly-1.0-beta-4-javadoc.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20020923.123659.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20020924.123511.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021002.050543.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021002.113628.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021005.025546.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021005.070650.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021008.094131.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021008.112820.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021012.035615.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021017.053011.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021023.094006.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021023.153932.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021105.013628.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021112.084337.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021113.125954.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021113.192421.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021120.034859.jar +commons-jelly/jars/commons-jelly-1.0-javadoc.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021210.123241.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021222.042553.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021231.013337.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20021231.034645.jar +commons-jelly/jars/commons-jelly-20030211.141339.jar +commons-jelly/jars/commons-jelly-1.0-beta-4.20030104.110205.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020711.024953.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020713.015328.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020713.020804.jar +commons-jelly/jars/commons-jelly-1.0.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020715.041648.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020715.044906.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020715.045302.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020715.100851.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020715.112252.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020716.055015.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020716.064746.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020716.065225.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020719.074608.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020719.082922.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020720.080105.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020731.041103.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020731.122236.jar +commons-jelly/jars/commons-jelly-1.0-dev.20020811.014845.jar +commons-jelly/jars/commons-jelly-1.0-dev.20021021.132700.jar +commons-jelly/jars/commons-jelly-20030303.054314.jar +commons-jelly/jars/commons-jelly-20030310.073407.jar +commons-jelly/jars/commons-jelly-snapshot-version +commons-jelly/jars/commons-jelly-20030303.180550.jar +commons-jelly/jars/commons-jelly-20030305.075341.jar +commons-jelly/jars/commons-jelly-20030307.121112.jar +commons-jelly/jars/commons-jelly-20030307.135732.jar +commons-jelly/jars/commons-jelly-20030308.101032.jar +commons-jelly/jars/commons-jelly-20030320.080622.jar +commons-jelly/jars/commons-jelly-20030320.080836.jar +commons-jelly/jars/commons-jelly-20030320.165458.jar +commons-jelly/jars/commons-jelly-20030522.212428.jar +commons-jelly/jars/commons-jelly-20030609.133047.jar +commons-jelly/jars/commons-jelly-20030711.034327.jar +commons-jelly/jars/commons-jelly-avalon-20030211.143621.jar +commons-jelly/jars/commons-jelly-20030724.033229.jar +commons-jelly/jars/commons-jelly-20030902.160215.jar +commons-jelly/jars/commons-jelly-20040902.064518.jar +commons-jelly/jars/commons-jelly-20040902.070806.jar +commons-jelly/jars/commons-jelly-avalon-snapshot-version +commons-jelly/jars/commons-jelly-tags-ant-1.0.jar +commons-jelly/jars/commons-jelly-tags-ant-1.1.jar +commons-jelly/jars/commons-jelly-tags-ant-20030211.142045.jar +commons-jelly/jars/commons-jelly-tags-ant-20040902.000000.jar +commons-jelly/jars/commons-jelly-tags-bean-1.0.jar +commons-jelly/jars/commons-jelly-tags-ant-20030310.080026.jar +commons-jelly/jars/commons-jelly-tags-ant-20030625.025346.jar +commons-jelly/jars/commons-jelly-tags-ant-20030625.025706.jar +commons-jelly/jars/commons-jelly-tags-ant-20030625.032346.jar +commons-jelly/jars/commons-jelly-tags-dynabean-snapshot-version +commons-jelly/jars/commons-jelly-tags-ant-20040902.071105.jar +commons-jelly/jars/commons-jelly-tags-ant-snapshot-version +commons-jelly/jars/commons-jelly-tags-antlr-1.0.jar +commons-jelly/jars/commons-jelly-tags-antlr-20030211.143720.jar +commons-jelly/jars/commons-jelly-tags-antlr-20040902.071159.jar +commons-jelly/jars/commons-jelly-tags-antlr-snapshot-version +commons-jelly/jars/commons-jelly-tags-avalon-1.0.jar +commons-jelly/jars/commons-jelly-tags-avalon-20040902.071300.jar +commons-jelly/jars/commons-jelly-tags-avalon-snapshot-version +commons-jelly/jars/commons-jelly-tags-bean-20030211.144357.jar +commons-jelly/jars/commons-jelly-tags-betwixt-1.0.jar +commons-jelly/jars/commons-jelly-tags-bean-20030320.165723.jar +commons-jelly/jars/commons-jelly-tags-bean-20040902.071526.jar +commons-jelly/jars/commons-jelly-tags-bean-snapshot-version +commons-jelly/jars/commons-jelly-tags-beanshell-1.0.jar +commons-jelly/jars/commons-jelly-tags-beanshell-20030211.141835.jar +commons-jelly/jars/commons-jelly-tags-beanshell-20040902.071629.jar +commons-jelly/jars/commons-jelly-tags-beanshell-snapshot-version +commons-jelly/jars/commons-jelly-tags-betwixt-1.0-beta-1.20030104.095958.jar +commons-jelly/jars/commons-jelly-tags-betwixt-20030211.144504.jar +commons-jelly/jars/commons-jelly-tags-betwixt-20040902.071752.jar +commons-jelly/jars/commons-jelly-tags-betwixt-snapshot-version +commons-jelly/jars/commons-jelly-tags-bsf-1.0.jar +commons-jelly/jars/commons-jelly-tags-bsf-20030211.142259.jar +commons-jelly/jars/commons-jelly-tags-bsf-20030305.080050.jar +commons-jelly/jars/commons-jelly-tags-fmt-1.0.jar +commons-jelly/jars/commons-jelly-tags-bsf-20040902.071900.jar +commons-jelly/jars/commons-jelly-tags-bsf-snapshot-version +commons-jelly/jars/commons-jelly-tags-define-1.0.jar +commons-jelly/jars/commons-jelly-tags-define-20030211.142932.jar +commons-jelly/jars/commons-jelly-tags-define-20040902.072141.jar +commons-jelly/jars/commons-jelly-tags-define-snapshot-version +commons-jelly/jars/commons-jelly-tags-dynabean-1.0.jar +commons-jelly/jars/commons-jelly-tags-dynabean-20030211.142601.jar +commons-jelly/jars/commons-jelly-tags-dynabean-20040902.071946.jar +commons-jelly/jars/commons-jelly-tags-email-1.0.jar +commons-jelly/jars/commons-jelly-tags-email-20030211.144034.jar +commons-jelly/jars/commons-jelly-tags-email-20040902.072224.jar +commons-jelly/jars/commons-jelly-tags-email-snapshot-version +commons-jelly/jars/commons-jelly-tags-fmt-20030211.142201.jar +commons-jelly/jars/commons-jelly-tags-html-1.0.jar +commons-jelly/jars/commons-jelly-tags-fmt-20040902.072321.jar +commons-jelly/jars/commons-jelly-tags-fmt-snapshot-version +commons-jelly/jars/commons-jelly-tags-html-1.0-beta-1.20030104.103227.jar +commons-jelly/jars/commons-jelly-tags-html-20030211.143308.jar +commons-jelly/jars/commons-jelly-tags-html-20030317.100924.jar +commons-jelly/jars/commons-jelly-tags-html-20040902.072530.jar +commons-jelly/jars/commons-jelly-tags-html-snapshot-version +commons-jelly/jars/commons-jelly-tags-http-1.0-beta-1.20030104.141847.jar +commons-jelly/jars/commons-jelly-tags-http-1.0.jar +commons-jelly/jars/commons-jelly-tags-jaxme-1.0.jar +commons-jelly/jars/commons-jelly-tags-http-20030211.143043.jar +commons-jelly/jars/commons-jelly-tags-http-20040902.072620.jar +commons-jelly/jars/commons-jelly-tags-http-snapshot-version +commons-jelly/jars/commons-jelly-tags-interaction-1.0.jar +commons-jelly/jars/commons-jelly-tags-interaction-1.1.jar +commons-jelly/jars/commons-jelly-tags-jetty-1.0.jar +commons-jelly/jars/commons-jelly-tags-interaction-20030211.143817.jar +commons-jelly/jars/commons-jelly-tags-interaction-20040902.072702.jar +commons-jelly/jars/commons-jelly-tags-interaction-snapshot-version +commons-jelly/jars/commons-jelly-tags-jaxme-20040902.072852.jar +commons-jelly/jars/commons-jelly-tags-jms-1.0.jar +commons-jelly/jars/commons-jelly-tags-jms-20030211.142459.jar +commons-jelly/jars/commons-jelly-tags-jaxme-snapshot-version +commons-jelly/jars/commons-jelly-tags-jetty-1.0-beta-1.20030104.151258.jar +commons-jelly/jars/commons-jelly-tags-jetty-20030211.144139.jar +commons-jelly/jars/commons-jelly-tags-jetty-20040902.072943.jar +commons-jelly/jars/commons-jelly-tags-jface-1.0.jar +commons-jelly/jars/commons-jelly-tags-jetty-snapshot-version +commons-jelly/jars/commons-jelly-tags-jface-20040902.073130.jar +commons-jelly/jars/commons-jelly-tags-jface-snapshot-version +commons-jelly/jars/commons-jelly-tags-jms-20040902.073216.jar +commons-jelly/jars/commons-jelly-tags-jmx-1.0.jar +commons-jelly/jars/commons-jelly-tags-jmx-20030320.165705.jar +commons-jelly/jars/commons-jelly-tags-jms-snapshot-version +commons-jelly/jars/commons-jelly-tags-jmx-20030320.165904.jar +commons-jelly/jars/commons-jelly-tags-jmx-20040902.073310.jar +commons-jelly/jars/commons-jelly-tags-jsl-1.0.jar +commons-jelly/jars/commons-jelly-tags-jsl-20030211.143151.jar +commons-jelly/jars/commons-jelly-tags-jmx-snapshot-version +commons-jelly/jars/commons-jelly-tags-jsl-20040902.072431.jar +commons-jelly/jars/commons-jelly-tags-jsl-snapshot-version +commons-jelly/jars/commons-jelly-tags-junit-1.0.jar +commons-jelly/jars/commons-jelly-tags-junit-snapshot-version +commons-jelly/jars/commons-jelly-tags-junit-20030211.141731.jar +commons-jelly/jars/commons-jelly-tags-junit-20040902.064627.jar +commons-jelly/jars/commons-jelly-tags-junit-20040902.070920.jar +commons-jelly/jars/commons-jelly-tags-log-1.0.jar +commons-jelly/jars/commons-jelly-tags-log-20030211.142821.jar +commons-jelly/jars/commons-jelly-tags-log-20040902.071410.jar +commons-jelly/jars/commons-jelly-tags-log-snapshot-version +commons-jelly/jars/commons-jelly-tags-ojb-1.0.jar +commons-jelly/jars/commons-jelly-tags-ojb-20030211.141630.jar +commons-jelly/jars/commons-jelly-tags-ojb-20040902.073352.jar +commons-jelly/jars/commons-jelly-tags-ojb-snapshot-version +commons-jelly/jars/commons-jelly-tags-quartz-1.0.jar +commons-jelly/jars/commons-jelly-tags-quartz-20030211.144716.jar +commons-jelly/jars/commons-jelly-tags-quartz-20040902.073433.jar +commons-jelly/jars/commons-jelly-tags-quartz-snapshot-version +commons-jelly/jars/commons-jelly-tags-regexp-1.0.jar +commons-jelly/jars/commons-jelly-tags-soap-20030211.142401.jar +commons-jelly/jars/commons-jelly-tags-soap-1.0.jar +commons-jelly/jars/commons-jelly-tags-soap-20040902.073516.jar +commons-jelly/jars/commons-jelly-tags-soap-snapshot-version +commons-jelly/jars/commons-jelly-tags-sql-1.0.jar +commons-jelly/jars/commons-jelly-tags-sql-20030211.144816.jar +commons-jelly/jars/commons-jelly-tags-sql-20040902.073600.jar +commons-jelly/jars/commons-jelly-tags-sql-snapshot-version +commons-jelly/jars/commons-jelly-tags-swing-1.0-beta-1.20030104.104105.jar +commons-jelly/jars/commons-jelly-tags-swing-1.0.jar +commons-jelly/jars/commons-jelly-tags-swing-20030211.143925.jar +commons-jelly/jars/commons-jelly-tags-swing-20040902.073656.jar +commons-jelly/jars/commons-jelly-tags-swing-snapshot-version +commons-jelly/jars/commons-jelly-tags-swt-1.0.jar +commons-jelly/jars/commons-jelly-tags-swt-20030211.144614.jar +commons-jelly/jars/commons-jelly-tags-swt-20030226.103913.jar +commons-jelly/jars/commons-jelly-tags-util-1.0.jar +commons-jelly/jars/commons-jelly-tags-swt-20030226.122214.jar +commons-jelly/jars/commons-jelly-tags-swt-20040902.073028.jar +commons-jelly/jars/commons-jelly-tags-swt-snapshot-version +commons-jelly/jars/commons-jelly-tags-threads-1.0.jar +commons-jelly/jars/commons-jelly-tags-threads-20030211.143515.jar +commons-jelly/jars/commons-jelly-tags-threads-20040902.073749.jar +commons-jelly/jars/commons-jelly-tags-threads-snapshot-version +commons-jelly/jars/commons-jelly-tags-util-1.1.1.jar +commons-jelly/jars/commons-jelly-tags-util-1.1.jar +commons-jelly/jars/commons-jelly-tags-util-20030211.141939.jar +commons-jelly/jars/commons-jelly-tags-util-20040902.071012.jar +commons-jelly/jars/commons-jelly-tags-util-snapshot-version +commons-jelly/jars/commons-jelly-tags-validate-1.0.jar +commons-jelly/jars/commons-jelly-tags-validate-20030211.143411.jar +commons-jelly/jars/commons-jelly-tags-validate-20030420.031608.jar +commons-jelly/jars/commons-jelly-tags-validate-20030420.041030.jar +commons-jelly/jars/commons-jelly-tags-validate-20040902.073836.jar +commons-jelly/jars/commons-jelly-tags-validate-snapshot-version +commons-jelly/jars/commons-jelly-tags-velocity-1.0.jar +commons-jelly/jars/commons-jelly-tags-velocity-20030211.144921.jar +commons-jelly/jars/commons-jelly-tags-velocity-20030303.205659.jar +commons-jelly/jars/commons-jelly-tags-velocity-20040902.073917.jar +commons-jelly/jars/commons-jelly-tags-velocity-snapshot-version +commons-jelly/jars/commons-jelly-tags-xml-1.0.jar +commons-jelly/jars/commons-jelly-tags-xml-1.1.jar +commons-jelly/jars/commons-jelly-tags-xml-20030211.142705.jar +commons-jelly/jars/commons-jelly-tags-xml-20040902.072037.jar +commons-jelly/jars/commons-jelly-tags-xml-snapshot-version +commons-jelly/jars/commons-jelly-tags-xmlunit-1.0.jar +commons-jelly/jars/commons-jelly-tags-xmlunit-20030211.144251.jar +commons-jelly/jars/commons-jelly-tags-xmlunit-20040902.072757.jar +commons-jelly/jars/commons-jelly-tags-xmlunit-snapshot-version +commons-jelly/poms/commons-jelly-1.0-RC1.pom +commons-jelly/poms/commons-jelly-1.0.pom +commons-jelly/poms/commons-jelly-20040902.064518.pom +commons-jelly/poms/commons-jelly-tags-ant-20040902.000000.pom +commons-jelly/poms/commons-jelly-20040902.070806.pom +commons-jelly/poms/commons-jelly-snapshot-version +commons-jelly/poms/commons-jelly-tags-ant-1.1.pom +commons-jelly/poms/commons-jelly-tags-ant-20040902.071105.pom +commons-jelly/poms/commons-jelly-tags-ant-snapshot-version +commons-jelly/poms/commons-jelly-tags-antlr-20040902.071159.pom +commons-jelly/poms/commons-jelly-tags-avalon-20040902.071300.pom +commons-jelly/poms/commons-jelly-tags-antlr-snapshot-version +commons-jelly/poms/commons-jelly-tags-avalon-snapshot-version +commons-jelly/poms/commons-jelly-tags-bean-20040902.071526.pom +commons-jelly/poms/commons-jelly-tags-bean-snapshot-version +commons-jelly/poms/commons-jelly-tags-beanshell-20040902.071629.pom +commons-jelly/poms/commons-jelly-tags-beanshell-snapshot-version +commons-jelly/poms/commons-jelly-tags-betwixt-20040902.071752.pom +commons-jelly/poms/commons-jelly-tags-betwixt-snapshot-version +commons-jelly/poms/commons-jelly-tags-bsf-20040902.071900.pom +commons-jelly/poms/commons-jelly-tags-define-20040902.072141.pom +commons-jelly/poms/commons-jelly-tags-bsf-snapshot-version +commons-jelly/poms/commons-jelly-tags-define-snapshot-version +commons-jelly/poms/commons-jelly-tags-dynabean-20040902.071946.pom +commons-jelly/poms/commons-jelly-tags-dynabean-snapshot-version +commons-jelly/poms/commons-jelly-tags-email-20040902.072224.pom +commons-jelly/poms/commons-jelly-tags-email-snapshot-version +commons-jelly/poms/commons-jelly-tags-fmt-20040902.072321.pom +commons-jelly/poms/commons-jelly-tags-fmt-snapshot-version +commons-jelly/poms/commons-jelly-tags-html-20040902.072530.pom +commons-jelly/poms/commons-jelly-tags-html-snapshot-version +commons-jelly/poms/commons-jelly-tags-http-20040902.072620.pom +commons-jelly/poms/commons-jelly-tags-http-snapshot-version +commons-jelly/poms/commons-jelly-tags-interaction-1.1.pom +commons-jelly/poms/commons-jelly-tags-interaction-20040902.072702.pom +commons-jelly/poms/commons-jelly-tags-interaction-snapshot-version +commons-jelly/poms/commons-jelly-tags-jaxme-20040902.072852.pom +commons-jelly/poms/commons-jelly-tags-jaxme-snapshot-version +commons-jelly/poms/commons-jelly-tags-jetty-20040902.072943.pom +commons-jelly/poms/commons-jelly-tags-jetty-snapshot-version +commons-jelly/poms/commons-jelly-tags-jface-20040902.073130.pom +commons-jelly/poms/commons-jelly-tags-jface-snapshot-version +commons-jelly/poms/commons-jelly-tags-jms-20040902.073216.pom +commons-jelly/poms/commons-jelly-tags-jms-snapshot-version +commons-jelly/poms/commons-jelly-tags-jmx-20040902.073310.pom +commons-jelly/poms/commons-jelly-tags-jmx-snapshot-version +commons-jelly/poms/commons-jelly-tags-jsl-20040902.072431.pom +commons-jelly/poms/commons-jelly-tags-xml-1.1.pom +commons-jelly/poms/commons-jelly-tags-jsl-snapshot-version +commons-jelly/poms/commons-jelly-tags-junit-20040902.064627.pom +commons-jelly/poms/commons-jelly-tags-junit-20040902.070920.pom +commons-jelly/poms/commons-jelly-tags-junit-snapshot-version +commons-jelly/poms/commons-jelly-tags-log-20040902.071410.pom +commons-jelly/poms/commons-jelly-tags-log-snapshot-version +commons-jelly/poms/commons-jelly-tags-ojb-20040902.073352.pom +commons-jelly/poms/commons-jelly-tags-ojb-snapshot-version +commons-jelly/poms/commons-jelly-tags-quartz-20040902.073433.pom +commons-jelly/poms/commons-jelly-tags-quartz-snapshot-version +commons-jelly/poms/commons-jelly-tags-soap-20040902.073516.pom +commons-jelly/poms/commons-jelly-tags-soap-snapshot-version +commons-jelly/poms/commons-jelly-tags-sql-20040902.073600.pom +commons-jelly/poms/commons-jelly-tags-sql-snapshot-version +commons-jelly/poms/commons-jelly-tags-swing-20040902.073656.pom +commons-jelly/poms/commons-jelly-tags-swing-snapshot-version +commons-jelly/poms/commons-jelly-tags-swt-20040902.073028.pom +commons-jelly/poms/commons-jelly-tags-swt-snapshot-version +commons-jelly/poms/commons-jelly-tags-threads-20040902.073749.pom +commons-jelly/poms/commons-jelly-tags-threads-snapshot-version +commons-jelly/poms/commons-jelly-tags-util-20040902.064720.pom +commons-jelly/poms/commons-jelly-tags-util-20040902.071012.pom +commons-jelly/poms/commons-jelly-tags-util-snapshot-version +commons-jelly/poms/commons-jelly-tags-validate-20040902.073836.pom +commons-jelly/poms/commons-jelly-tags-validate-snapshot-version +commons-jelly/poms/commons-jelly-tags-velocity-20040902.073917.pom +commons-jelly/poms/commons-jelly-tags-velocity-snapshot-version +commons-jelly/poms/commons-jelly-tags-xml-20040902.072037.pom +commons-jelly/poms/commons-jelly-tags-xml-snapshot-version +commons-jelly/poms/commons-jelly-tags-xmlunit-20040902.072757.pom +commons-jelly/poms/commons-jelly-tags-xmlunit-snapshot-version +commons-jexl/distributions/KEYS +commons-jexl/distributions/commons-jexl-1.0-RC1-src.tar.gz +commons-jexl/distributions/commons-jexl-1.0-RC1-src.zip +commons-jexl/distributions/commons-jexl-1.0-RC1.tar.gz +commons-jexl/distributions/commons-jexl-1.0-RC1.zip +commons-jexl/distributions/commons-jexl-1.0-src.tar.gz +commons-jexl/distributions/commons-jexl-1.0-src.zip +commons-jexl/distributions/commons-jexl-1.0.tar.gz +commons-jexl/distributions/commons-jexl-1.0.zip +commons-jexl/jars/commons-jexl-1.0-RC1.jar +commons-jexl/jars/commons-jexl-1.0-beta-1.jar +commons-jexl/jars/commons-jexl-1.0-beta-2.jar +commons-jexl/jars/commons-jexl-1.0-dev.20020731.122830.jar +commons-jexl/jars/commons-jexl-1.0-dev.jar +commons-jexl/jars/commons-jexl-1.0-javadoc.jar +commons-jexl/jars/commons-jexl-1.0.jar +commons-jexl/jars/commons-jexl-20030307.151331.jar +commons-jexl/jars/commons-jexl-20040901.055348.jar +commons-jexl/jars/commons-jexl-snapshot-version +commons-jexl/poms/commons-jexl-1.0-RC1.pom +commons-jexl/poms/commons-jexl-20040901.055348.pom +commons-jexl/poms/commons-jexl-snapshot-version +commons-jux/jars/commons-jux-20030306.065700.jar +commons-jux/jars/commons-jux-snapshot-version +commons-jxpath/jars/commons-jxpath-0.1-dev.jar +commons-jxpath/jars/commons-jxpath-1.0-javadoc.jar +commons-jxpath/jars/commons-jxpath-1.0.jar +commons-jxpath/jars/commons-jxpath-1.1-javadoc.jar +commons-jxpath/jars/commons-jxpath-1.1.jar +commons-jxpath/jars/commons-jxpath-1.2.jar +commons-jxpath/poms/commons-jxpath-1.0.pom +commons-jxpath/poms/commons-jxpath-1.1.pom +commons-jxpath/poms/commons-jxpath-1.2.pom +commons-lang/distributions/commons-lang-2.0.zip +commons-lang/jars/commons-lang-0.1-dev.jar +commons-lang/jars/commons-lang-1.0-b1.1.jar +commons-lang/jars/commons-lang-1.0-b1.jar +commons-lang/jars/commons-lang-2.3-javadoc.jar +commons-lang/jars/commons-lang-1.0-dev.20020910.034641.jar +commons-lang/jars/commons-lang-1.0-dev.jar +commons-lang/jars/commons-lang-1.0-javadoc.jar +commons-lang/jars/commons-lang-1.0.1-javadoc.jar +commons-lang/jars/commons-lang-1.0.1.jar +commons-lang/jars/commons-lang-1.0.jar +commons-lang/jars/commons-lang-1.1-dev.20021217.062015.jar +commons-lang/jars/commons-lang-2.0-dev.20030203.000129.jar +commons-lang/jars/commons-lang-2.0-javadoc.jar +commons-lang/jars/commons-lang-2.0.jar +commons-lang/jars/commons-lang-2.1-javadoc.jar +commons-lang/jars/commons-lang-2.1.jar +commons-lang/jars/commons-lang-snapshot-version +commons-lang/jars/commons-lang-2.3.jar +commons-lang/jars/commons-lang-2.3-sources.jar +commons-lang/poms/commons-lang-1.0.1.pom +commons-lang/poms/commons-lang-1.0.pom +commons-lang/poms/commons-lang-2.0.pom +commons-lang/poms/commons-lang-2.1.pom +commons-lang/poms/commons-lang-2.3.pom +commons-latka/jars/commons-latka-1.0-alpha1-javadoc.jar +commons-latka/jars/commons-latka-1.0-dev.20021208.082252.jar +commons-latka/jars/commons-latka-1.0-dev.20021208.125541.jar +commons-latka/jars/commons-latka-1.0-dev.20021208.130300.jar +commons-latka/jars/commons-latka-1.0-dev.20021217.141322.jar +commons-latka/jars/commons-latka-1.0-dev.20030107.163533.jar +commons-launcher/jars/commons-launcher-0.9-javadoc.jar +commons-launcher/jars/commons-launcher-1.1-javadoc.jar +commons-logging/jars/commons-logging-1.0-javadoc.jar +commons-logging/jars/commons-logging-1.0.1-javadoc.jar +commons-logging/jars/commons-logging-1.0.1.jar +commons-logging/jars/commons-logging-1.0.2-javadoc.jar +commons-logging/jars/commons-logging-1.0.2.jar +commons-logging/jars/commons-logging-1.0.3-javadoc.jar +commons-logging/jars/commons-logging-1.0.3.jar +commons-logging/jars/commons-logging-1.0.4-javadoc.jar +commons-logging/jars/commons-logging-1.0.4.jar +commons-logging/jars/commons-logging-1.0.jar +commons-logging/jars/commons-logging-1.1-dev.jar +commons-logging/jars/commons-logging-1.1.jar +commons-logging/jars/commons-logging-adapters-1.1.jar +commons-logging/jars/commons-logging-api-1.0.3.jar +commons-logging/jars/commons-logging-api-1.0.4.jar +commons-logging/jars/commons-logging-api-1.1.jar +commons-logging/jars/commons-logging-api-snapshot-version +commons-logging/jars/commons-logging-snapshot-version +commons-logging/poms/commons-logging-1.0.1.pom +commons-logging/poms/commons-logging-1.0.2.pom +commons-logging/poms/commons-logging-1.0.3.pom +commons-logging/poms/commons-logging-1.0.4.pom +commons-logging/poms/commons-logging-1.1.pom +commons-logging/poms/commons-logging-api-1.1.pom +commons-math/distributions/commons-math-20040118.003950-src.tar.gz +commons-math/distributions/commons-math-20040118.003950-src.zip +commons-math/distributions/commons-math-20040118.003950.tar.gz +commons-math/distributions/commons-math-20040118.003950.zip +commons-math/jars/commons-math-1.0-javadoc.jar +commons-math/jars/commons-math-1.0.jar +commons-math/jars/commons-math-1.1.jar +commons-math/jars/commons-math-20040118.003354.jar +commons-math/jars/commons-math-20040218.045431.jar +commons-math/jars/commons-math-snapshot-version +commons-math/poms/commons-math-1.0.pom +commons-math/poms/commons-math-1.1.pom +commons-messenger/jars/commons-messenger-1.0-dev-10.jar +commons-messenger/jars/commons-messenger-1.0-dev-11.jar +commons-messenger/jars/commons-messenger-1.0-dev-12.jar +commons-messenger/jars/commons-messenger-1.0-dev-13.jar +commons-messenger/jars/commons-messenger-1.0-dev-14.jar +commons-messenger/jars/commons-messenger-1.0-dev-2.jar +commons-messenger/jars/commons-messenger-1.0-dev-4.jar +commons-messenger/jars/commons-messenger-1.0-dev-5.jar +commons-messenger/jars/commons-messenger-1.0-dev-6.jar +commons-messenger/jars/commons-messenger-1.0-dev-8.jar +commons-messenger/jars/commons-messenger-1.0-dev.20020708.025623.jar +commons-messenger/jars/commons-messenger-1.0-dev.20020708.042042.jar +commons-messenger/jars/commons-messenger-1.0-dev.20020906.115547.jar +commons-messenger/jars/commons-messenger-1.0-dev.jar +commons-modeler/jars/commons-modeler-1.0-javadoc.jar +commons-modeler/jars/commons-modeler-1.1-dev.jar +commons-modeler/jars/commons-modeler-1.1-javadoc.jar +commons-modeler/jars/commons-modeler-1.1.jar +commons-modeler/jars/commons-modeler-2.0.1.jar +commons-modeler/jars/commons-modeler-1.1M1.jar +commons-modeler/jars/commons-modeler-2.0.jar +commons-modeler/jars/commons-modeler-2.0.1-javadoc.jar +commons-modeler/jars/commons-modeler-2.0.1-sources.jar +commons-modeler/poms/commons-modeler-1.1.pom +commons-modeler/poms/commons-modeler-2.0.pom +commons-modeler/poms/commons-modeler-2.0.1.pom +commons-naming/jars/commons-naming-core-20031116.223527.jar +commons-naming/jars/commons-naming-factory-20031116.223742.jar +commons-naming/jars/commons-naming-core-snapshot-version +commons-naming/jars/commons-naming-factory-20031201.015542.jar +commons-naming/jars/commons-naming-factory-snapshot-version +commons-net/jars/commons-net-1.0.0-javadoc.jar +commons-net/jars/commons-net-1.0.0.jar +commons-net/jars/commons-net-1.1.0-javadoc.jar +commons-net/jars/commons-net-1.1.0.jar +commons-net/jars/commons-net-1.2.0-javadoc.jar +commons-net/jars/commons-net-1.2.1-javadoc.jar +commons-net/jars/commons-net-1.2.1.jar +commons-net/jars/commons-net-1.2.2-javadoc.jar +commons-net/jars/commons-net-1.3.0-javadoc.jar +commons-net/jars/commons-net-1.3.0.jar +commons-net/jars/commons-net-1.4.0-javadoc.jar +commons-net/jars/commons-net-1.4.0.jar +commons-net/jars/commons-net-1.4.1-javadoc.jar +commons-net/jars/commons-net-1.4.1.jar +commons-net/jars/commons-net-20030211.160026.jar +commons-net/jars/commons-net-20030623.125255.jar +commons-net/jars/commons-net-20030805.205232.jar +commons-net/jars/commons-net-snapshot-version +commons-net/poms/commons-net-1.0.0.pom +commons-net/poms/commons-net-1.1.0.pom +commons-net/poms/commons-net-1.2.1.pom +commons-net/poms/commons-net-1.3.0.pom +commons-net/poms/commons-net-1.4.0.pom +commons-net/poms/commons-net-1.4.1.pom +commons-pool/jars/commons-pool-1.0-javadoc.jar +commons-pool/jars/commons-pool-1.0.1-javadoc.jar +commons-pool/jars/commons-pool-1.0.1.jar +commons-pool/jars/commons-pool-1.0.jar +commons-pool/jars/commons-pool-1.1-RC1.jar +commons-pool/jars/commons-pool-1.1-RC2.jar +commons-pool/jars/commons-pool-1.1-dev.jar +commons-pool/jars/commons-pool-1.1-javadoc.jar +commons-pool/jars/commons-pool-1.1.jar +commons-pool/jars/commons-pool-1.2-javadoc.jar +commons-pool/jars/commons-pool-1.2.jar +commons-pool/jars/commons-pool-1.3.jar +commons-pool/jars/commons-pool-20020501.jar +commons-pool/jars/commons-pool-20030623.172700.jar +commons-pool/jars/commons-pool-20030818.195203.jar +commons-pool/jars/commons-pool-20030821.192746.jar +commons-pool/jars/commons-pool-20030825.183949.jar +commons-pool/jars/commons-pool-snapshot-version +commons-pool/poms/commons-pool-1.0.1.pom +commons-pool/poms/commons-pool-1.1.pom +commons-pool/poms/commons-pool-1.2.pom +commons-pool/poms/commons-pool-1.3.pom +commons-primitives/jars/commons-primitives-1.0-javadoc.jar +commons-primitives/poms/commons-primitives.xml +commons-scxml/distributions/commons-scxml-0.5-src.tar.gz +commons-scxml/distributions/commons-scxml-0.5-src.zip +commons-scxml/distributions/commons-scxml-0.5.tar.gz +commons-scxml/distributions/commons-scxml-0.5.zip +commons-scxml/distributions/commons-scxml-0.6-src.zip +commons-scxml/distributions/commons-scxml-0.6-src.tar.gz +commons-scxml/distributions/commons-scxml-0.6.tar.gz +commons-scxml/distributions/commons-scxml-0.6.zip +commons-scxml/jars/commons-scxml-0.5.jar +commons-scxml/jars/commons-scxml-0.6.jar +commons-scxml/poms/commons-scxml-0.5.pom +commons-scxml/poms/commons-scxml-0.6.pom +commons-sql/jars/commons-sql-1.0-dev.jar +commons-sql/jars/commons-sql-20040118.000852.jar +commons-sql/jars/commons-sql-snapshot-version +commons-threadpool/jars/commons-threadpool-1.0-dev.20021010.081157.jar +commons-threadpool/jars/commons-threadpool-20030513.073905.jar +commons-threadpool/jars/commons-threadpool-snapshot-version +commons-transaction/jars/commons-transaction-1.0-javadoc.jar +commons-transaction/jars/commons-transaction-1.0.1-javadoc.jar +commons-transaction/jars/commons-transaction-1.1-javadoc.jar +commons-transaction/jars/commons-transaction-1.1.jar +commons-transaction/jars/commons-transaction-1.2.jar +commons-transaction/poms/commons-transaction-1.1.pom +commons-transaction/poms/commons-transaction-1.2.pom +commons-util/jars/commons-util-1.0-rc2-dev.20020814.103359.jar +commons-util/jars/commons-util-1.0-rc2-dev.20021217.063141.jar +commons-util/jars/commons-util-1.0-rc2-dev.jar +commons-util/jars/commons-utils-snapshot-version +commons-validator/distributions/commons-validator-1.1.3-src.tar.gz.MD5 +commons-validator/distributions/commons-validator-1.1.3-src.tar.gz +commons-validator/distributions/commons-validator-1.1.3-src.zip.MD5 +commons-validator/distributions/commons-validator-1.1.3-src.zip +commons-validator/distributions/commons-validator-1.1.3.tar.gz.MD5 +commons-validator/distributions/commons-validator-1.1.3.tar.gz +commons-validator/distributions/commons-validator-1.1.3.zip.MD5 +commons-validator/distributions/commons-validator-1.1.3.zip +commons-validator/jars/commons-validator-1.0-javadoc.jar +commons-validator/jars/commons-validator-1.0.1-javadoc.jar +commons-validator/jars/commons-validator-1.0.1.jar +commons-validator/jars/commons-validator-1.0.2-javadoc.jar +commons-validator/jars/commons-validator-1.3.1.jar +commons-validator/jars/commons-validator-1.0.2.jar +commons-validator/jars/commons-validator-1.0.jar +commons-validator/jars/commons-validator-1.1.3-javadoc.jar +commons-validator/jars/commons-validator-1.1.3-src.tar.gz +commons-validator/jars/commons-validator-1.1.3-src.tar.gz.MD5 +commons-validator/jars/commons-validator-1.1.3-src.zip +commons-validator/jars/commons-validator-1.1.3-src.zip.MD5 +commons-validator/jars/commons-validator-1.1.3.jar +commons-validator/jars/commons-validator-1.1.3.tar.gz +commons-validator/jars/commons-validator-1.1.3.tar.gz.MD5 +commons-validator/jars/commons-validator-1.1.3.zip +commons-validator/jars/commons-validator-1.1.3.zip.MD5 +commons-validator/jars/commons-validator-1.1.4-javadoc.jar +commons-validator/jars/commons-validator-1.1.4.jar +commons-validator/jars/commons-validator-1.2.0-javadoc.jar +commons-validator/jars/commons-validator-1.2.0.jar +commons-validator/jars/commons-validator-1.3.0.jar +commons-validator/jars/struts-help.html +commons-validator/jars/commons-validator-1.3.1-sources.jar +commons-validator/poms/commons-validator-1.0.1.pom +commons-validator/poms/commons-validator-1.0.2.pom +commons-validator/poms/commons-validator-1.0.pom +commons-validator/poms/commons-validator-1.2.0.pom +commons-validator/poms/commons-validator-1.3.1.pom +commons-validator/poms/commons-validator-1.3.0.pom +commons-vfs/jars/commons-vfs-1.0.jar +commons-vfs/poms/commons-vfs-1.0.pom +commons-xo/jars/commons-xo-0.8.jar +commons-xo/jars/commons-xo-1.0-20020507.jar +cornerstone-connection/jars/cornerstone-connection-api-1.0.jar +cornerstone-connection/jars/cornerstone-connection-api-2.1.jar +cornerstone-connection/jars/cornerstone-connection-impl-1.0.jar +cornerstone-connection/jars/cornerstone-connection-impl-2.1.jar +cornerstone-connection/poms/cornerstone-connection-api-2.1.pom +cornerstone-connection/poms/cornerstone-connection-impl-2.1.pom +cornerstone-datasources/jars/cornerstone-datasources-api-1.0.jar +cornerstone-datasources/jars/cornerstone-datasources-api-2.1.jar +cornerstone-datasources/jars/cornerstone-datasources-impl-1.0.jar +cornerstone-datasources/jars/cornerstone-datasources-impl-2.1.jar +cornerstone-datasources/poms/cornerstone-datasources-api-2.1.pom +cornerstone-datasources/poms/cornerstone-datasources-impl-2.1.pom +cornerstone-scheduler/jars/cornerstone-scheduler-api-1.0.jar +cornerstone-scheduler/jars/cornerstone-scheduler-api-2.1.jar +cornerstone-scheduler/jars/cornerstone-scheduler-impl-1.0.jar +cornerstone-scheduler/jars/cornerstone-scheduler-impl-2.1.jar +cornerstone-scheduler/poms/cornerstone-scheduler-api-2.1.pom +cornerstone-scheduler/poms/cornerstone-scheduler-impl-2.1.pom +cornerstone-sockets/jars/cornerstone-sockets-api-1.0.jar +cornerstone-sockets/jars/cornerstone-sockets-api-2.1.jar +cornerstone-sockets/jars/cornerstone-sockets-impl-1.0.jar +cornerstone-sockets/jars/cornerstone-sockets-impl-2.1.jar +cornerstone-sockets/poms/cornerstone-sockets-api-2.1.pom +cornerstone-sockets/poms/cornerstone-sockets-impl-2.1.pom +cornerstone-store/jars/cornerstone-store-api-1.0.jar +cornerstone-store/jars/cornerstone-store-api-2.1.jar +cornerstone-store/jars/cornerstone-store-impl-1.0.jar +cornerstone-store/jars/cornerstone-store-impl-1.1.jar +cornerstone-store/jars/cornerstone-store-impl-2.1.jar +cornerstone-store/poms/cornerstone-store-api-2.1.pom +cornerstone-store/poms/cornerstone-store-impl-2.1.pom +cornerstone-threads/jars/cornerstone-threads-api-1.0.jar +cornerstone-threads/jars/cornerstone-threads-api-2.1.jar +cornerstone-threads/jars/cornerstone-threads-impl-1.0.jar +cornerstone-threads/jars/cornerstone-threads-impl-2.1.jar +cornerstone-threads/jars/cornerstone-threads-tutorial-1.0.jar +cornerstone-threads/jars/cornerstone-threads-tutorial-2.1.jar +cornerstone-threads/poms/cornerstone-threads-api-2.1.pom +cornerstone-threads/poms/cornerstone-threads-impl-2.1.pom +cornerstone-threads/poms/cornerstone-threads-tutorial-2.1.pom +crimson/jars/crimson-1.1.3.jar +directory/distributions/apacheds-0.9-src.tar.gz +directory/distributions/apacheds-0.9-src.zip +directory/distributions/apacheds-0.9.2-src.tar.gz +directory/distributions/apacheds-0.9.2-src.zip +directory/distributions/apacheds-0.9.tar.gz +directory/distributions/apacheds-0.9.zip +directory/jars/apacheds-core-0.9.1.jar +directory/jars/apacheds-core-0.9.2.jar +directory/jars/apacheds-core-0.9.3.jar +directory/jars/apacheds-core-0.9.jar +directory/jars/apacheds-main-0.9.1.jar +directory/jars/apacheds-main-0.9.2.jar +directory/jars/apacheds-main-0.9.3.jar +directory/jars/apacheds-main-0.9.jar +directory/jars/apacheds-shared-0.9.1.jar +directory/jars/apacheds-shared-0.9.2.jar +directory/jars/apacheds-shared-0.9.3.jar +directory/jars/apacheds-shared-0.9.jar +directory/jars/ldap-common-20031205.013436.jar +directory/plugins/maven-directory-plugin-0.9.1.jar +directory/plugins/maven-directory-plugin-0.9.2.jar +directory/plugins/maven-directory-plugin-0.9.3.jar +directory/plugins/maven-directory-plugin-0.9.jar +directory/poms/apacheds-0.9.pom +directory/poms/apacheds-core-0.9.2.pom +directory/poms/apacheds-core-0.9.3.pom +directory/poms/apacheds-core-0.9.pom +directory/poms/apacheds-main-0.9.2.pom +directory/poms/apacheds-main-0.9.3.pom +directory/poms/apacheds-main-0.9.pom +directory/poms/apacheds-shared-0.9.2.pom +directory/poms/apacheds-shared-0.9.3.pom +directory/poms/maven-directory-plugin-0.9.2.pom +directory/poms/apacheds-shared-0.9.pom +directory/poms/maven-directory-plugin-0.9.3.pom +directory/poms/maven-directory-plugin-0.9.pom +directory-asn1/jars/asn1-ber-0.3.2.jar +directory-asn1/jars/asn1-ber-0.3.3.jar +directory-asn1/jars/asn1-ber-0.3.jar +directory-asn1/jars/asn1-codec-0.3.2.jar +directory-asn1/jars/asn1-codec-0.3.3.jar +directory-asn1/jars/asn1-codec-0.3.jar +directory-asn1/jars/asn1-der-0.3.2.jar +directory-asn1/jars/asn1-der-0.3.3.jar +directory-asn1/jars/asn1-der-0.3.jar +directory-asn1/jars/asn1-new-ber-0.3.3.jar +directory-asn1/jars/stub-compiler-0.3.2.jar +directory-asn1/jars/stub-compiler-0.3.jar +directory-asn1/poms/asn1-0.3.3.pom +directory-asn1/poms/asn1-ber-0.3.2.pom +directory-asn1/poms/asn1-ber-0.3.3.pom +directory-asn1/poms/asn1-ber-0.3.pom +directory-asn1/poms/asn1-codec-0.3.2.pom +directory-asn1/poms/asn1-codec-0.3.3.pom +directory-asn1/poms/asn1-codec-0.3.pom +directory-asn1/poms/asn1-der-0.3.2.pom +directory-asn1/poms/asn1-der-0.3.3.pom +directory-asn1/poms/asn1-der-0.3.pom +directory-asn1/poms/asn1-new-ber-0.3.3.pom +directory-asn1/poms/stub-compiler-0.3.2.pom +directory-asn1/poms/stub-compiler-0.3.pom +directory-clients/jars/ldap-clients-0.9.jar +directory-clients/poms/ldap-clients-0.9-SNAPSHOT.pom +directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom +directory-clients/poms/ldap-clients-0.9.pom +directory-naming/jars/naming-config-0.8.jar +directory-naming/jars/naming-core-0.8.jar +directory-naming/jars/naming-factory-0.8.jar +directory-naming/jars/naming-java-0.8.jar +directory-naming/jars/naming-management-0.8.jar +directory-naming/jars/naming-resources-0.8.jar +directory-naming/poms/naming-config-0.8.pom +directory-naming/poms/naming-core-0.8.pom +directory-naming/poms/naming-core-0.9-dev.pom +directory-naming/poms/naming-factory-0.8.pom +directory-naming/poms/naming-java-0.8.pom +directory-naming/poms/naming-management-0.8.pom +directory-naming/poms/naming-resources-0.8.pom +directory-network/jars/mina-0.7.1.jar +directory-network/jars/mina-0.7.2.jar +directory-network/jars/mina-0.7.3.jar +directory-network/jars/mina-0.7.4.jar +directory-network/jars/mina-0.7.jar +directory-network/jars/mina-0.8.0.jar +directory-network/jars/mina-0.8.1.jar +directory-network/jars/mina-0.8.2.jar +directory-network/jars/mina-0.9.0.jar +directory-network/poms/mina-0.7.1.pom +directory-network/poms/mina-0.7.2.pom +directory-network/poms/mina-0.7.3.pom +directory-network/poms/mina-0.7.4.pom +directory-network/poms/mina-0.7.pom +directory-network/poms/mina-0.8.0.pom +directory-network/poms/mina-0.8.1.pom +directory-network/poms/mina-0.8.2.pom +directory-network/poms/mina-0.9.0.pom +directory-network/KEYS +directory-protocols/jars/kerberos-protocol-0.4.jar +directory-protocols/jars/ldap-protocol-0.9.jar +directory-protocols/poms/kerberos-protocol-0.4.pom +directory-protocols/poms/ldap-protocol-0.9.pom +directory-shared/jars/apache-ldapber-provider-0.9.2.jar +directory-shared/jars/apache-ldapber-provider-0.9.3.jar +directory-shared/jars/apache-ldapber-provider-0.9.jar +directory-shared/jars/apache-new-ldapber-provider-0.9.3.jar +directory-shared/jars/kerberos-common-0.4.jar +directory-shared/jars/kerberos-common-0.5.jar +directory-shared/jars/ldap-common-0.9.2.jar +directory-shared/jars/ldap-common-0.9.3.jar +directory-shared/jars/ldap-common-0.9.jar +directory-shared/jars/ldap-snacc-provider-0.9.2.jar +directory-shared/jars/ldap-snacc-provider-0.9.3.jar +directory-shared/jars/ldap-snacc-provider-0.9.jar +directory-shared/poms/apache-ldapber-provider-0.9.2.pom +directory-shared/poms/apache-ldapber-provider-0.9.3.pom +directory-shared/poms/apache-ldapber-provider-0.9.pom +directory-shared/poms/apache-new-ldapber-provider-0.9.3.pom +directory-shared/poms/kerberos-common-0.4.pom +directory-shared/poms/kerberos-common-0.5.pom +directory-shared/poms/ldap-common-0.9.2.pom +directory-shared/poms/ldap-common-0.9.3.pom +directory-shared/poms/ldap-common-0.9.pom +directory-shared/poms/ldap-snacc-provider-0.9.2.pom +directory-shared/poms/ldap-snacc-provider-0.9.3.pom +directory-shared/poms/ldap-snacc-provider-0.9.pom +excalibur/jars/excalibur-collections-1.0.jar +excalibur/jars/excalibur-configuration-1.0.jar +excalibur/jars/excalibur-event-2.0.jar +excalibur/jars/excalibur-extension-1.0.jar +excalibur/jars/excalibur-i18n-1.0.jar +excalibur/jars/excalibur-instrument-0.3.jar +excalibur/jars/excalibur-testcase-1.0.jar +excalibur/jars/excalibur-thread-1.1.jar +excalibur/jars/excalibur-threadcontext-1.0.jar +excalibur/jars/excalibur-util-concurrent-1.3.1.jar +excalibur-altrmi/jars/excalibur-altrmi-client-impl-0.7.jar +excalibur-altrmi/jars/excalibur-altrmi-client-interfaces-0.7.jar +excalibur-altrmi/jars/excalibur-altrmi-common-0.7.jar +excalibur-altrmi/jars/excalibur-altrmi-generator-0.7.jar +excalibur-altrmi/jars/excalibur-altrmi-server-impl-0.7.jar +excalibur-altrmi/jars/excalibur-altrmi-server-interfaces-0.7.jar +excalibur-cli/jars/excalibur-cli-1.0.jar +excalibur-collections/jars/excalibur-collections-1.0.jar +excalibur-collections/jars/excalibur-collections-20020820.jar +excalibur-component/jars/excalibur-component-1.0.jar +excalibur-component/jars/excalibur-component-1.1.jar +excalibur-component/jars/excalibur-component-1.2.jar +excalibur-component/jars/excalibur-component-2.1.jar +excalibur-component/jars/excalibur-component-20020916.jar +excalibur-component/jars/excalibur-testcase-2.1.jar +excalibur-component/poms/excalibur-component-2.1.pom +excalibur-component/poms/excalibur-testcase-2.1.pom +excalibur-component-examples/jars/excalibur-component-examples-2.1.jar +excalibur-component-examples/poms/excalibur-component-examples-2.1.pom +excalibur-component-tests/jars/excalibur-component-tests-2.1.jar +excalibur-component-tests/poms/excalibur-component-tests-2.1.pom +excalibur-concurrent/jars/excalibur-concurrent-1.0.jar +excalibur-concurrent/jars/excalibur-concurrent-20020820.jar +excalibur-configuration/distributions/excalibur-configuration-1.1-RC1-src.tar.gz +excalibur-configuration/distributions/excalibur-configuration-1.1-RC1-src.zip +excalibur-configuration/distributions/excalibur-configuration-1.1-RC1.tar.gz +excalibur-configuration/distributions/excalibur-configuration-1.1-RC1.zip +excalibur-configuration/distributions/excalibur-configuration-1.1-src.tar.gz +excalibur-configuration/distributions/excalibur-configuration-1.1-src.zip +excalibur-configuration/distributions/excalibur-configuration-1.1.tar.gz +excalibur-configuration/distributions/excalibur-configuration-1.1.zip +excalibur-configuration/jars/excalibur-configuration-1.0.jar +excalibur-configuration/jars/excalibur-configuration-1.1-RC1.jar +excalibur-configuration/jars/excalibur-configuration-1.1-dev.jar +excalibur-configuration/jars/excalibur-configuration-1.1.jar +excalibur-configuration/jars/excalibur-configuration-1.2.jar +excalibur-containerkit/jars/excalibur-containerkit-1.0.jar +excalibur-datasource/jars/excalibur-datasource-1.1.1.jar +excalibur-datasource/jars/excalibur-datasource-1.2.0.jar +excalibur-datasource/jars/excalibur-datasource-cluster-1.1.1a.jar +excalibur-datasource/jars/excalibur-datasource-2.1.jar +excalibur-datasource/jars/excalibur-datasource-ids-1.1.1a.jar +excalibur-datasource/jars/excalibur-datasource-vm14-20021121.jar +excalibur-datasource/poms/excalibur-datasource-2.1.pom +fop/jars/fop-0.20.3.jar +fop/jars/fop-0.20.4.jar +fop/jars/fop-0.20.5-rc3-alpha.jar +fop/jars/fop-0.20.5.jar +fop/jars/fop-0.20.5rc2.jar +fop/jars/fop-0.93-jdk15.jar +fop/jars/fop-0.93-jdk14.jar +excalibur-event/distributions/excalibur-event-1.0.3.zip +excalibur-event/jars/excalibur-event-1.0.3.jar +excalibur-event/jars/excalibur-event-1.0a.jar +excalibur-event/jars/excalibur-event-20030217.000000.jar +excalibur-event/jars/excalibur-event-api-1.0.4-dev.jar +excalibur-event/jars/excalibur-event-api-2.1.jar +excalibur-event/jars/excalibur-event-impl-1.0.4-dev.jar +excalibur-event/jars/excalibur-event-impl-2.1.jar +excalibur-event/jars/excalibur-event-snapshot-version +excalibur-event/poms/excalibur-event-api-2.1.pom +excalibur-event/poms/excalibur-event-impl-2.1.pom +excalibur-extension/jars/excalibur-extension-1.0.jar +excalibur-fortress/jars/excalibur-fortress-1.0.jar +excalibur-fortress/jars/excalibur-fortress-bean-1.2.jar +excalibur-fortress/jars/excalibur-fortress-cli-1.2.jar +excalibur-fortress/jars/excalibur-fortress-complete-1.0.jar +excalibur-fortress/jars/excalibur-fortress-container-api-1.2.jar +excalibur-fortress/jars/excalibur-fortress-container-impl-1.2.jar +excalibur-fortress/jars/excalibur-fortress-container-test-1.2.jar +excalibur-fortress/jars/excalibur-fortress-examples-1.2.jar +excalibur-fortress/jars/excalibur-fortress-meta-1.2.jar +excalibur-fortress/jars/excalibur-fortress-migration-1.2.jar +excalibur-fortress/jars/excalibur-fortress-servlet-1.2.jar +excalibur-fortress/jars/excalibur-fortress-testcase-1.2.jar +excalibur-fortress/jars/excalibur-fortress-tools-1.0.jar +excalibur-fortress/poms/excalibur-fortress-bean-1.2.pom +excalibur-fortress/poms/excalibur-fortress-cli-1.2.pom +excalibur-fortress/poms/excalibur-fortress-container-api-1.2.pom +excalibur-fortress/poms/excalibur-fortress-container-impl-1.2.pom +excalibur-fortress/poms/excalibur-fortress-meta-1.2.pom +excalibur-fortress/poms/excalibur-fortress-container-test-1.2.pom +excalibur-fortress/poms/excalibur-fortress-examples-1.2.pom +excalibur-fortress/poms/excalibur-fortress-migration-1.2.pom +excalibur-fortress/poms/excalibur-fortress-platform-1.2.pom +excalibur-fortress/poms/excalibur-fortress-servlet-1.2.pom +excalibur-fortress/poms/excalibur-fortress-testcase-1.2.pom +excalibur-i18n/distributions/excalibur-i18n-1.1-RC1-src.tar.gz +excalibur-i18n/distributions/excalibur-i18n-1.1-RC1-src.zip +excalibur-i18n/distributions/excalibur-i18n-1.1-RC1.tar.gz +excalibur-i18n/distributions/excalibur-i18n-1.1-RC1.zip +excalibur-i18n/distributions/excalibur-i18n-1.1-src.tar.gz +excalibur-i18n/distributions/excalibur-i18n-1.1-src.zip +excalibur-i18n/distributions/excalibur-i18n-1.1-tar.gz +excalibur-i18n/distributions/excalibur-i18n-1.1.zip +excalibur-i18n/jars/excalibur-i18n-1.0.jar +excalibur-i18n/jars/excalibur-i18n-1.1-RC1.jar +excalibur-i18n/jars/excalibur-i18n-1.1.jar +excalibur-instrument/jars/excalibur-instrument-0.1.jar +excalibur-instrument/jars/excalibur-instrument-1.0.jar +excalibur-instrument/jars/excalibur-instrument-20021108.jar +excalibur-instrument/jars/excalibur-instrument-api-2.1.jar +excalibur-instrument/jars/excalibur-instrument-client-2.1.jar +excalibur-instrument/jars/excalibur-instrument-mgr-api-2.1.jar +excalibur-instrument/jars/excalibur-instrument-mgr-http-2.1.jar +excalibur-instrument/jars/excalibur-instrument-mgr-impl-2.1.jar +excalibur-instrument/poms/excalibur-instrument-api-2.1.pom +excalibur-instrument/poms/excalibur-instrument-client-2.1.pom +excalibur-instrument/poms/excalibur-instrument-mgr-api-2.1.pom +excalibur-instrument/poms/excalibur-instrument-mgr-http-2.1.pom +excalibur-instrument/poms/excalibur-instrument-mgr-impl-2.1.pom +excalibur-instrument-manager/jars/excalibur-instrument-manager-0.1.jar +excalibur-instrument-manager/jars/excalibur-instrument-manager-1.0.jar +excalibur-instrument-manager/jars/excalibur-instrument-manager-20021108.jar +excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-0.1.jar +excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-1.0.jar +excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-20021108.jar +excalibur-io/jars/excalibur-io-1.1.jar +excalibur-lifecycle/jars/excalibur-lifecycle-1.0.jar +excalibur-lifecycle/jars/excalibur-lifecycle-api-1.0.jar +excalibur-lifecycle/jars/excalibur-lifecycle-api-1.1.0.jar +excalibur-lifecycle/jars/excalibur-lifecycle-api-1.1.jar +excalibur-lifecycle/jars/excalibur-lifecycle-api-2.1.jar +excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.0.jar +excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.1.0.jar +excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.1.jar +excalibur-lifecycle/jars/excalibur-lifecycle-impl-2.1.jar +excalibur-lifecycle/poms/excalibur-lifecycle-api-2.1.pom +excalibur-lifecycle/poms/excalibur-lifecycle-impl-2.1.pom +excalibur-logger/jars/excalibur-logger-1.0.1.jar +excalibur-logger/jars/excalibur-logger-1.0.jar +excalibur-logger/jars/excalibur-logger-1.1.jar +excalibur-logger/jars/excalibur-logger-2.1.jar +excalibur-logger/jars/excalibur-logger-20020820.jar +excalibur-logger/poms/excalibur-logger-2.1.pom +excalibur-monitor/jars/excalibur-monitor-1.0.jar +excalibur-monitor/jars/excalibur-monitor-2.1.jar +excalibur-monitor/jars/excalibur-monitor-20020820.jar +excalibur-monitor/poms/excalibur-monitor-2.1.pom +excalibur-mpool/jars/excalibur-mpool-1.0.jar +excalibur-naming/jars/excalibur-naming-1.0.jar +excalibur-pool/jars/excalibur-pool-1.0.jar +excalibur-pool/jars/excalibur-pool-1.2.jar +excalibur-pool/jars/excalibur-pool-20020820.jar +excalibur-pool/jars/excalibur-pool-api-2.0.0.jar +excalibur-pool/jars/excalibur-pool-instrumented-2.0.0.jar +excalibur-pool/jars/excalibur-pool-api-2.0.jar +excalibur-pool/jars/excalibur-pool-api-2.1.jar +excalibur-pool/jars/excalibur-pool-impl-2.0.0.jar +excalibur-pool/jars/excalibur-pool-impl-2.0.jar +excalibur-pool/jars/excalibur-pool-impl-2.1.jar +excalibur-pool/jars/excalibur-pool-instrumented-2.0.jar +excalibur-pool/jars/excalibur-pool-instrumented-2.1.jar +excalibur-pool/poms/excalibur-pool-api-2.1.pom +excalibur-pool/poms/excalibur-pool-impl-2.1.pom +excalibur-pool/poms/excalibur-pool-instrumented-2.1.pom +excalibur-sourceresolve/jars/excalibur-sourceresolve-1.0.1.jar +excalibur-sourceresolve/jars/excalibur-sourceresolve-1.0.jar +excalibur-sourceresolve/jars/excalibur-sourceresolve-1.1.jar +excalibur-sourceresolve/jars/excalibur-sourceresolve-2.0.jar +excalibur-sourceresolve/jars/excalibur-sourceresolve-2.1.jar +excalibur-sourceresolve/jars/excalibur-sourceresolve-20020820.jar +excalibur-sourceresolve/poms/excalibur-sourceresolve-2.1.pom +excalibur-store/jars/excalibur-store-1.0.jar +excalibur-store/jars/excalibur-store-2.1.jar +excalibur-store/jars/excalibur-store-20020820.jar +excalibur-store/poms/excalibur-store-2.1.pom +excalibur-thread/distributions/excalibur-thread-1.1.1.zip +excalibur-thread/jars/excalibur-thread-1.0.jar +excalibur-thread/jars/excalibur-thread-1.1.1.jar +excalibur-thread/jars/excalibur-thread-api-2.0.0.jar +excalibur-thread/jars/excalibur-thread-instrumented-2.0.0.jar +excalibur-thread/jars/excalibur-thread-api-2.0.jar +excalibur-thread/jars/excalibur-thread-api-2.1.jar +excalibur-thread/jars/excalibur-thread-impl-2.0.0.jar +excalibur-thread/jars/excalibur-thread-impl-2.0.jar +excalibur-thread/jars/excalibur-thread-impl-2.1.jar +excalibur-thread/jars/excalibur-thread-instrumented-2.0.jar +excalibur-thread/jars/excalibur-thread-instrumented-2.1.jar +excalibur-thread/poms/excalibur-thread-api-2.1.pom +excalibur-thread/poms/excalibur-thread-impl-2.1.pom +excalibur-thread/poms/excalibur-thread-instrumented-2.1.pom +fulcrum/jars/fulcrum-1.0.jar +fulcrum/jars/fulcrum-3.0-b1.jar +fulcrum/jars/fulcrum-3.0-b2-dev.jar +fulcrum/jars/fulcrum-crypto-1.0.5.jar +fulcrum/jars/fulcrum-bsf-1.0.2.jar +fulcrum/jars/fulcrum-cache-1.0.5.jar +fulcrum/jars/fulcrum-factory-1.0.3.jar +fulcrum/jars/fulcrum-dvsl-1.0.5.jar +fulcrum/jars/fulcrum-osworkflow-1.0.1.jar +fulcrum/jars/fulcrum-localization-1.0.5.jar +fulcrum/jars/fulcrum-mimetype-1.0.4.jar +fulcrum/jars/fulcrum-naming-1.0.2.jar +fulcrum/jars/fulcrum-security-api-1.0.7.jar +fulcrum/jars/fulcrum-pool-1.0.3.jar +fulcrum/jars/fulcrum-quartz-1.0.jar +fulcrum/jars/fulcrum-security-adapter-opensymphony-1.0.7.jar +fulcrum/jars/fulcrum-security-adapter-turbine-1.0.7.jar +fulcrum/jars/fulcrum-security-hibernate-1.0.7.jar +fulcrum/jars/fulcrum-security-memory-1.0.7.jar +fulcrum/jars/fulcrum-security-nt-1.0.7.jar +fulcrum/jars/fulcrum-testcontainer-1.0.4.jar +fulcrum/jars/fulcrum-upload-1.0.3.jar +fulcrum/jars/fulcrum-xmlrpc-1.0.5.jar +fulcrum/jars/fulcrum-xslt-1.0.3.jar +fulcrum/jars/fulcrum-yaafi-1.0.3.jar +excalibur-util/jars/excalibur-util-1.0.jar +excalibur-xmlutil/jars/excalibur-xmlutil-1.0.jar +excalibur-xmlutil/jars/excalibur-xmlutil-2.1.jar +excalibur-xmlutil/jars/excalibur-xmlutil-20020820.jar +excalibur-xmlutil/poms/excalibur-xmlutil-2.1.pom +geronimo/cars/activemq-1.0.car +geronimo/cars/activemq-broker-1.0.car +geronimo/cars/client-1.0.car +geronimo/cars/client-corba-1.0.car +geronimo/cars/client-security-1.0.car +geronimo/cars/javamail-1.0.car +geronimo/cars/client-system-1.0.car +geronimo/cars/daytrader-derby-jetty-1.0.car +geronimo/cars/daytrader-derby-tomcat-1.0.car +geronimo/cars/daytrader-derby-jetty-streamer-client-1.0.car +geronimo/cars/directory-1.0.car +geronimo/cars/daytrader-derby-tomcat-streamer-client-1.0.car +geronimo/cars/geronimo-gbean-deployer-1.0.car +geronimo/cars/hot-deployer-1.0.car +geronimo/cars/j2ee-system-experimental-1.0.car +geronimo/cars/j2ee-corba-1.0.car +geronimo/cars/j2ee-deployer-1.0.car +geronimo/cars/j2ee-security-1.0.car +geronimo/cars/j2ee-server-1.0.car +geronimo/cars/j2ee-system-1.0.car +geronimo/cars/jetty-1.0.car +geronimo/cars/jetty-deployer-1.0.car +geronimo/cars/jmxdebug-jetty-1.0.car +geronimo/cars/jmxdebug-tomcat-1.0.car +geronimo/cars/jsp-examples-jetty-1.0.car +geronimo/cars/tomcat-1.0.car +geronimo/cars/tomcat-deployer-1.0.car +geronimo/cars/jsp-examples-tomcat-1.0.car +geronimo/cars/ldap-demo-jetty-1.0.car +geronimo/cars/ldap-demo-tomcat-1.0.car +geronimo/cars/ldap-realm-1.0.car +geronimo/cars/rmi-naming-1.0.car +geronimo/cars/online-deployer-1.0.car +geronimo/cars/remote-deploy-jetty-1.0.car +geronimo/cars/remote-deploy-tomcat-1.0.car +geronimo/cars/servlets-examples-jetty-1.0.car +geronimo/cars/servlets-examples-tomcat-1.0.car +geronimo/cars/shutdown-1.0.car +geronimo/cars/system-database-1.0.car +geronimo/cars/uddi-jetty-1.0.car +geronimo/cars/uddi-tomcat-1.0.car +geronimo/cars/webconsole-jetty-1.0.car +geronimo/cars/webconsole-tomcat-1.0.car +geronimo/cars/welcome-jetty-1.0.car +geronimo/cars/welcome-tomcat-1.0.car +geronimo/distributions/geronimo-installer-1.0.jar.MD5 +geronimo/distributions/geronimo-installer-1.0.jar +geronimo/distributions/geronimo-installer-1.0.jar.SHA +geronimo/distributions/geronimo-jetty-j2ee-1.0.tar.gz +geronimo/distributions/geronimo-jetty-j2ee-1.0.zip +geronimo/distributions/geronimo-tomcat-j2ee-1.0.tar.gz +geronimo/distributions/geronimo-tomcat-j2ee-1.0.zip +geronimo/ears/daytrader-ear-1.0.ear +geronimo/ears/daytrader-ear-1.1.ear +geronimo/ears/geronimo-console-1.0.ear +geronimo/ejbs/daytrader-ejb-1.0.jar +geronimo/jars/daytrader-core-1.0.jar +geronimo/jars/daytrader-streamer-1.0.jar +geronimo/jars/daytrader-wsappclient-1.0.jar +geronimo/jars/geronimo-activation-1.0-M4.jar +geronimo/jars/geronimo-1.0-M5.jar +geronimo/jars/geronimo-activation-1.0-M5.jar +geronimo/jars/geronimo-activation-1.0.jar +geronimo/jars/geronimo-activation-1.1.jar +geronimo/jars/geronimo-assembly-1.0-M3.jar +geronimo/jars/geronimo-assembly-1.0-M4.jar +geronimo/jars/geronimo-assembly-plugin-1.0-M4.jar +geronimo/jars/geronimo-assembly-plugin-1.0-M5.jar +geronimo/jars/geronimo-axis-1.0-M2.jar +geronimo/jars/geronimo-axis-1.0-M3.jar +geronimo/jars/geronimo-axis-1.0-M4.jar +geronimo/jars/geronimo-axis-1.0-M5.jar +geronimo/jars/geronimo-axis-1.0.jar +geronimo/jars/geronimo-axis-1.1.jar +geronimo/jars/geronimo-axis-builder-1.0-M4.jar +geronimo/jars/geronimo-axis-builder-1.0-M5.jar +geronimo/jars/geronimo-axis-builder-1.0.jar +geronimo/jars/geronimo-axis-builder-1.1.jar +geronimo/jars/geronimo-client-1.0-M3.jar +geronimo/jars/geronimo-client-1.0-M4.jar +geronimo/jars/geronimo-client-1.0-M5.jar +geronimo/jars/geronimo-client-1.0.jar +geronimo/jars/geronimo-client-1.1.jar +geronimo/jars/geronimo-client-builder-1.0-M3.jar +geronimo/jars/geronimo-client-builder-1.0-M4.jar +geronimo/jars/geronimo-client-builder-1.0-M5.jar +geronimo/jars/geronimo-client-builder-1.0.jar +geronimo/jars/geronimo-client-builder-1.1.jar +geronimo/jars/geronimo-clustering-1.0-M1.jar +geronimo/jars/geronimo-clustering-1.0-M2.jar +geronimo/jars/geronimo-clustering-1.0-M3.jar +geronimo/jars/geronimo-clustering-1.0-M4.jar +geronimo/jars/geronimo-clustering-1.0-M5.jar +geronimo/jars/geronimo-common-1.0-M1.jar +geronimo/jars/geronimo-common-1.0-M2.jar +geronimo/jars/geronimo-common-1.0-M3.jar +geronimo/jars/geronimo-common-1.0-M4.jar +geronimo/jars/geronimo-common-1.0-M5.jar +geronimo/jars/geronimo-common-1.0.jar +geronimo/jars/geronimo-common-1.1.jar +geronimo/jars/geronimo-connector-1.0-M1.jar +geronimo/jars/geronimo-connector-1.0-M2.jar +geronimo/jars/geronimo-connector-1.0-M3.jar +geronimo/jars/geronimo-connector-1.0-M4.jar +geronimo/jars/geronimo-connector-1.0-M5.jar +geronimo/jars/geronimo-connector-1.0.jar +geronimo/jars/geronimo-connector-1.1.jar +geronimo/jars/geronimo-connector-builder-1.0-M3.jar +geronimo/jars/geronimo-connector-builder-1.0-M4.jar +geronimo/jars/geronimo-connector-builder-1.0-M5.jar +geronimo/jars/geronimo-connector-builder-1.0.jar +geronimo/jars/geronimo-connector-builder-1.1.jar +geronimo/jars/geronimo-console-1.0-M5.jar +geronimo/jars/geronimo-console-core-1.0-M5.jar +geronimo/jars/geronimo-console-core-1.0.jar +geronimo/jars/geronimo-console-core-1.1.jar +geronimo/jars/geronimo-converter-1.0.jar +geronimo/jars/geronimo-console-framework-1.0-M5.jar +geronimo/jars/geronimo-console-standard-1.0-M5.jar +geronimo/jars/geronimo-console-web-1.0-M2.jar +geronimo/jars/geronimo-console-web-1.0-M3.jar +geronimo/jars/geronimo-console-web-1.0-M4.jar +geronimo/jars/geronimo-console-web-1.0-M5.jar +geronimo/jars/geronimo-core-1.0-M1.jar +geronimo/jars/geronimo-console-web-1.0.jar +geronimo/jars/geronimo-console-web-1.1.jar +geronimo/jars/geronimo-converter-1.1.jar +geronimo/jars/geronimo-core-1.0-M2.jar +geronimo/jars/geronimo-core-1.0-M3.jar +geronimo/jars/geronimo-core-1.0-M4.jar +geronimo/jars/geronimo-core-1.0-M5.jar +geronimo/jars/geronimo-core-1.0.jar +geronimo/jars/geronimo-core-1.1.jar +geronimo/jars/geronimo-daytrader-derby-db-1.0.jar +geronimo/jars/geronimo-derby-1.0.jar +geronimo/jars/geronimo-daytrader-derby-db-1.1.jar +geronimo/jars/geronimo-demo-1.0-M2.jar +geronimo/jars/geronimo-deploy-config-1.0-M4.jar +geronimo/jars/geronimo-deploy-config-1.0-M5.jar +geronimo/jars/geronimo-deploy-config-1.0.jar +geronimo/jars/geronimo-installer-support-1.1.jar +geronimo/jars/geronimo-deploy-config-1.1.jar +geronimo/jars/geronimo-deploy-jsr88-1.0-M4.jar +geronimo/jars/geronimo-deploy-jsr88-1.0-M5.jar +geronimo/jars/geronimo-deploy-jsr88-1.0.jar +geronimo/jars/geronimo-deploy-jsr88-1.1.jar +geronimo/jars/geronimo-derby-1.1.jar +geronimo/jars/geronimo-deploy-tool-1.0-M4.jar +geronimo/jars/geronimo-deploy-tool-1.0-M5.jar +geronimo/jars/geronimo-deploy-tool-1.0.jar +geronimo/jars/geronimo-deploy-tool-1.1.jar +geronimo/jars/geronimo-deployment-1.0-M1.jar +geronimo/jars/geronimo-deployment-1.0-M2.jar +geronimo/jars/geronimo-deployment-1.0-M3.jar +geronimo/jars/geronimo-deployment-1.0-M4.jar +geronimo/jars/geronimo-deployment-1.0-M5.jar +geronimo/jars/geronimo-deployment-1.0.jar +geronimo/jars/geronimo-deployment-1.1.jar +geronimo/jars/geronimo-derby-1.0-M3.jar +geronimo/jars/geronimo-j2ee-1.0.jar +geronimo/jars/geronimo-derby-1.0-M4.jar +geronimo/jars/geronimo-derby-1.0-M5.jar +geronimo/jars/geronimo-derby-connector-1.0-M3.jar +geronimo/jars/geronimo-derby-connector-1.0-M4.jar +geronimo/jars/geronimo-directory-1.0-M5.jar +geronimo/jars/geronimo-directory-1.0.jar +geronimo/jars/geronimo-directory-1.1.jar +geronimo/jars/geronimo-hot-deploy-1.0.jar +geronimo/jars/geronimo-hot-deploy-1.1.jar +geronimo/jars/geronimo-installer-processing-1.1.jar +geronimo/jars/geronimo-interop-1.0-M4.jar +geronimo/jars/geronimo-interop-1.0-M5.jar +geronimo/jars/geronimo-j2ee-1.0-M1.jar +geronimo/jars/geronimo-j2ee-1.0-M2.jar +geronimo/jars/geronimo-j2ee-1.0-M3.jar +geronimo/jars/geronimo-j2ee-1.0-M4.jar +geronimo/jars/geronimo-j2ee-1.0-M5.jar +geronimo/jars/geronimo-j2ee-builder-1.0-M3.jar +geronimo/jars/geronimo-j2ee-1.1.jar +geronimo/jars/geronimo-j2ee-builder-1.0-M4.jar +geronimo/jars/geronimo-j2ee-builder-1.0-M5.jar +geronimo/jars/geronimo-j2ee-builder-1.0.jar +geronimo/jars/geronimo-j2ee-schema-1.1.jar +geronimo/jars/geronimo-j2ee-builder-1.1.jar +geronimo/jars/geronimo-j2ee-schema-1.0-M2.jar +geronimo/jars/geronimo-j2ee-schema-1.0-M3.jar +geronimo/jars/geronimo-j2ee-schema-1.0-M4.jar +geronimo/jars/geronimo-j2ee-schema-1.0-M5.jar +geronimo/jars/geronimo-j2ee-schema-1.0.jar +geronimo/jars/geronimo-javamail-transport-1.0.jar +geronimo/jars/geronimo-javamail-transport-1.1.jar +geronimo/jars/geronimo-jetty-1.0-M1.jar +geronimo/jars/geronimo-jetty-1.0-M2.jar +geronimo/jars/geronimo-jetty-1.0-M3.jar +geronimo/jars/geronimo-jetty-1.0-M4.jar +geronimo/jars/geronimo-jetty-1.0-M5.jar +geronimo/jars/geronimo-jetty-1.0.jar +geronimo/jars/geronimo-jetty-1.1.jar +geronimo/jars/geronimo-jetty-builder-1.0-M3.jar +geronimo/jars/geronimo-jetty-builder-1.0-M4.jar +geronimo/jars/geronimo-jetty-builder-1.0-M5.jar +geronimo/jars/geronimo-kernel-1.0.jar +geronimo/jars/geronimo-jetty-builder-1.0.jar +geronimo/jars/geronimo-jetty-builder-1.1.jar +geronimo/jars/geronimo-jmxdebug-1.0-M2.jar +geronimo/jars/geronimo-jmxremoting-1.0-M2.jar +geronimo/jars/geronimo-jmxremoting-1.0-M3.jar +geronimo/jars/geronimo-jmxremoting-1.0-M4.jar +geronimo/jars/geronimo-jmxremoting-1.0-M5.jar +geronimo/jars/geronimo-jmxremoting-1.0.jar +geronimo/jars/geronimo-jmxremoting-1.1.jar +geronimo/jars/geronimo-kernel-1.0-M1.jar +geronimo/jars/geronimo-kernel-1.0-M2.jar +geronimo/jars/geronimo-kernel-1.0-M3.jar +geronimo/jars/geronimo-kernel-1.0-M4.jar +geronimo/jars/geronimo-kernel-1.0-M5.jar +geronimo/jars/geronimo-kernel-1.1.jar +geronimo/jars/geronimo-mail-1.0-M3.jar +geronimo/jars/geronimo-mail-1.0-M4.jar +geronimo/jars/geronimo-mail-1.0-M5.jar +geronimo/jars/geronimo-mail-1.0.jar +geronimo/jars/geronimo-mail-1.1.jar +geronimo/jars/geronimo-management-1.0-M5.jar +geronimo/jars/geronimo-management-1.0.jar +geronimo/jars/geronimo-management-1.1.jar +geronimo/jars/geronimo-naming-1.0-M1.jar +geronimo/jars/geronimo-naming-1.0-M2.jar +geronimo/jars/geronimo-naming-1.0-M3.jar +geronimo/jars/geronimo-naming-1.0-M4.jar +geronimo/jars/geronimo-naming-1.0-M5.jar +geronimo/jars/geronimo-naming-1.0.jar +geronimo/jars/geronimo-naming-1.1.jar +geronimo/jars/geronimo-naming-builder-1.0-M3.jar +geronimo/jars/geronimo-naming-builder-1.0-M4.jar +geronimo/jars/geronimo-naming-builder-1.0-M5.jar +geronimo/jars/geronimo-network-1.0-M1.jar +geronimo/jars/geronimo-naming-builder-1.0.jar +geronimo/jars/geronimo-naming-builder-1.1.jar +geronimo/jars/geronimo-network-1.0-M2.jar +geronimo/jars/geronimo-network-1.0-M3.jar +geronimo/jars/geronimo-packaging-plugin-1.0-M5.jar +geronimo/jars/geronimo-scripts-1.0.jar +geronimo/jars/geronimo-remote-deploy-lib-1.0.jar +geronimo/jars/geronimo-remote-deploy-lib-1.1.jar +geronimo/jars/geronimo-remoting-1.0-M1.jar +geronimo/jars/geronimo-remoting-1.0-M2.jar +geronimo/jars/geronimo-remoting-1.0-M3.jar +geronimo/jars/geronimo-spring-1.0-M3.jar +geronimo/jars/geronimo-scripts-1.1.jar +geronimo/jars/geronimo-security-1.0-M1.jar +geronimo/jars/geronimo-security-1.0-M2.jar +geronimo/jars/geronimo-security-1.0-M3.jar +geronimo/jars/geronimo-security-1.0-M4.jar +geronimo/jars/geronimo-security-1.0-M5.jar +geronimo/jars/geronimo-security-1.0.jar +geronimo/jars/geronimo-security-1.1.jar +geronimo/jars/geronimo-security-builder-1.0-M3.jar +geronimo/jars/geronimo-security-builder-1.0-M4.jar +geronimo/jars/geronimo-security-builder-1.0-M5.jar +geronimo/jars/geronimo-security-builder-1.0.jar +geronimo/jars/geronimo-security-builder-1.1.jar +geronimo/jars/geronimo-service-builder-1.0-M4.jar +geronimo/jars/geronimo-service-builder-1.0-M5.jar +geronimo/jars/geronimo-service-builder-1.0.jar +geronimo/jars/geronimo-service-builder-1.1.jar +geronimo/jars/geronimo-servicemix-1.0-M4.jar +geronimo/jars/geronimo-servicemix-1.0-M5.jar +geronimo/jars/geronimo-servicemix-builder-1.0-M4.jar +geronimo/jars/geronimo-servicemix-builder-1.0-M5.jar +geronimo/jars/geronimo-spring-1.0-M2.jar +geronimo/jars/geronimo-spring-1.0-M4.jar +geronimo/jars/geronimo-spring-1.0-M5.jar +geronimo/jars/geronimo-spring-builder-1.0-M4.jar +geronimo/jars/geronimo-spring-builder-1.0-M5.jar +geronimo/jars/geronimo-system-1.0-M1.jar +geronimo/jars/geronimo-system-1.0-M2.jar +geronimo/jars/geronimo-system-1.0-M3.jar +geronimo/jars/geronimo-system-1.0-M4.jar +geronimo/jars/geronimo-system-1.0-M5.jar +geronimo/jars/geronimo-system-1.0.jar +geronimo/jars/geronimo-system-1.1.jar +geronimo/jars/geronimo-test-ddbean-1.0-M4.jar +geronimo/jars/geronimo-test-ddbean-1.0-M5.jar +geronimo/jars/geronimo-test-ddbean-1.0.jar +geronimo/jars/geronimo-test-ddbean-1.1.jar +geronimo/jars/geronimo-timer-1.0-M2.jar +geronimo/jars/geronimo-timer-1.0-M3.jar +geronimo/jars/geronimo-timer-1.0-M4.jar +geronimo/jars/geronimo-timer-1.0-M5.jar +geronimo/jars/geronimo-timer-1.0.jar +geronimo/jars/geronimo-timer-1.1.jar +geronimo/jars/geronimo-tomcat-1.0-M3.jar +geronimo/jars/geronimo-tomcat-1.0-M4.jar +geronimo/jars/geronimo-tomcat-1.0-M5.jar +geronimo/jars/geronimo-tomcat-1.0.jar +geronimo/jars/geronimo-tomcat-1.1.jar +geronimo/jars/geronimo-transaction-1.0-M2.jar +geronimo/jars/geronimo-tomcat-builder-1.0-M4.jar +geronimo/jars/geronimo-tomcat-builder-1.0-M5.jar +geronimo/jars/geronimo-tomcat-builder-1.0.jar +geronimo/jars/geronimo-tomcat-builder-1.1.jar +geronimo/jars/geronimo-transaction-1.0-M1.jar +geronimo/jars/geronimo-util-1.0.jar +geronimo/jars/geronimo-transaction-1.0-M3.jar +geronimo/jars/geronimo-transaction-1.0-M4.jar +geronimo/jars/geronimo-transaction-1.0-M5.jar +geronimo/jars/geronimo-transaction-1.0.jar +geronimo/jars/geronimo-transaction-1.1.jar +geronimo/jars/geronimo-uddi-db-1.0.jar +geronimo/jars/geronimo-uddi-db-1.1.jar +geronimo/jars/geronimo-uddi-server-1.0-M4.jar +geronimo/jars/geronimo-uddi-server-1.0-M5.jar +geronimo/jars/geronimo-upgrade-1.1.jar +geronimo/jars/geronimo-util-1.0-M5.jar +geronimo/jars/geronimo-web-builder-1.0-M4.jar +geronimo/jars/geronimo-util-1.1.jar +geronimo/jars/geronimo-web-builder-1.0-M5.jar +geronimo/jars/geronimo-web-builder-1.0.jar +geronimo/jars/geronimo-web-builder-1.1.jar +geronimo/jars/geronimo-webservices-1.0-M4.jar +geronimo/jars/geronimo-webservices-1.0-M5.jar +geronimo/jars/geronimo-webservices-1.0.jar +geronimo/jars/geronimo-webservices-1.1.jar +geronimo/jars/geronimo-welcome-1.0-M5.jar +geronimo/jars/geronimo-xmlbeans-plugin-1.0-M2.jar +geronimo/plugins/geronimo-assembly-plugin-1.0.2.jar +geronimo/plugins/geronimo-dependency-plugin-1.0.0.jar +geronimo/plugins/geronimo-deployment-plugin-1.0-M1.jar +geronimo/plugins/geronimo-deployment-plugin-1.0-M3.jar +geronimo/plugins/geronimo-deployment-plugin-1.0-M4.jar +geronimo/plugins/geronimo-deployment-plugin-1.0-M5.jar +geronimo/plugins/geronimo-deployment-plugin-1.0.0.jar +geronimo/plugins/geronimo-izpack-plugin-1.0.jar +geronimo/plugins/geronimo-packaging-plugin-1.0.1.jar +geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M1.jar +geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M3.jar +geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M4.jar +geronimo/plugins/geronimo-xpom-plugin-1.0-M3.jar +geronimo/plugins/geronimo-xpom-plugin-1.0-M4.jar +geronimo/plugins/xmlbeans-maven-plugin-2.0.0-beta1.jar +geronimo/poms/activemq-1.0.pom +geronimo/poms/activemq-broker-1.0.pom +geronimo/poms/client-1.0.pom +geronimo/poms/client-corba-1.0.pom +geronimo/poms/client-security-1.0.pom +geronimo/poms/client-system-1.0.pom +geronimo/poms/client-system-1.1.pom +geronimo/poms/daytrader-core-1.0.pom +geronimo/poms/daytrader-derby-jetty-1.0.pom +geronimo/poms/daytrader-derby-tomcat-1.0.pom +geronimo/poms/daytrader-ear-1.0.pom +geronimo/poms/daytrader-ear-1.1.pom +geronimo/poms/daytrader-ejb-1.0.pom +geronimo/poms/directory-1.0.pom +geronimo/poms/daytrader-streamer-1.0.pom +geronimo/poms/daytrader-web-1.0.pom +geronimo/poms/daytrader-wsappclient-1.0.pom +geronimo/poms/ge-activemq-rar-1.1.pom +geronimo/poms/geronimo-1.0-M5.pom +geronimo/poms/geronimo-activation-1.0-M4.pom +geronimo/poms/geronimo-activation-1.0-M5.pom +geronimo/poms/geronimo-activation-1.0.pom +geronimo/poms/geronimo-activation-1.1.pom +geronimo/poms/geronimo-axis-1.0.pom +geronimo/poms/geronimo-axis-builder-1.0-M4.pom +geronimo/poms/geronimo-assembly-1.0-M3.pom +geronimo/poms/geronimo-assembly-1.0-M4.pom +geronimo/poms/geronimo-assembly-plugin-1.0-M4.pom +geronimo/poms/geronimo-assembly-plugin-1.0-M5.pom +geronimo/poms/geronimo-assembly-plugin-1.0.2.pom +geronimo/poms/j2ee-corba-1.0.pom +geronimo/poms/geronimo-assembly-plugin-1.1.0-12.pom +geronimo/poms/geronimo-axis-1.0-M2.pom +geronimo/poms/geronimo-axis-1.0-M3.pom +geronimo/poms/geronimo-axis-1.0-M4.pom +geronimo/poms/geronimo-axis-1.0-M5.pom +geronimo/poms/geronimo-axis-1.1.pom +geronimo/poms/geronimo-axis-builder-1.0-M5.pom +geronimo/poms/geronimo-axis-builder-1.0.pom +geronimo/poms/geronimo-client-1.1.pom +geronimo/poms/geronimo-axis-builder-1.1.pom +geronimo/poms/geronimo-client-1.0-M3.pom +geronimo/poms/geronimo-client-1.0-M4.pom +geronimo/poms/geronimo-client-1.0-M5.pom +geronimo/poms/geronimo-client-1.0.pom +geronimo/poms/geronimo-client-builder-1.0-M3.pom +geronimo/poms/geronimo-client-builder-1.0-M4.pom +geronimo/poms/geronimo-client-builder-1.0-M5.pom +geronimo/poms/geronimo-client-builder-1.0.pom +geronimo/poms/geronimo-client-builder-1.1.pom +geronimo/poms/geronimo-common-1.0-M4.pom +geronimo/poms/geronimo-common-1.0-M5.pom +geronimo/poms/geronimo-clustering-1.0-M2.pom +geronimo/poms/geronimo-clustering-1.0-M3.pom +geronimo/poms/geronimo-clustering-1.0-M4.pom +geronimo/poms/geronimo-clustering-1.0-M5.pom +geronimo/poms/geronimo-common-1.0-M2.pom +geronimo/poms/geronimo-common-1.0-M3.pom +geronimo/poms/geronimo-common-1.0.pom +geronimo/poms/geronimo-common-1.1.pom +geronimo/poms/geronimo-connector-1.0-M2.pom +geronimo/poms/geronimo-connector-1.0-M3.pom +geronimo/poms/geronimo-connector-1.0-M4.pom +geronimo/poms/geronimo-connector-1.0-M5.pom +geronimo/poms/geronimo-connector-1.0.pom +geronimo/poms/geronimo-connector-1.1.pom +geronimo/poms/geronimo-connector-builder-1.0-M3.pom +geronimo/poms/geronimo-connector-builder-1.0-M4.pom +geronimo/poms/geronimo-connector-builder-1.0-M5.pom +geronimo/poms/geronimo-connector-builder-1.0.pom +geronimo/poms/geronimo-connector-builder-1.1.pom +geronimo/poms/geronimo-console-1.0-M5.pom +geronimo/poms/geronimo-console-1.0.pom +geronimo/poms/geronimo-console-1.1.pom +geronimo/poms/geronimo-console-core-1.0-M5.pom +geronimo/poms/geronimo-console-core-1.0.pom +geronimo/poms/geronimo-console-core-1.1.pom +geronimo/poms/geronimo-console-framework-1.0-M5.pom +geronimo/poms/geronimo-console-framework-1.0.pom +geronimo/poms/geronimo-deployment-1.1.pom +geronimo/poms/jetty-1.0.pom +geronimo/poms/geronimo-console-framework-1.1.pom +geronimo/poms/geronimo-console-standard-1.0-M5.pom +geronimo/poms/geronimo-console-standard-1.0.pom +geronimo/poms/geronimo-core-1.0.pom +geronimo/poms/geronimo-console-standard-1.1.pom +geronimo/poms/geronimo-console-web-1.0-M2.pom +geronimo/poms/geronimo-console-web-1.0-M3.pom +geronimo/poms/geronimo-console-web-1.0-M4.pom +geronimo/poms/geronimo-console-web-1.0-M5.pom +geronimo/poms/tomcat-1.0.pom +geronimo/poms/geronimo-console-web-1.0.pom +geronimo/poms/geronimo-console-web-1.1.pom +geronimo/poms/geronimo-converter-1.0.pom +geronimo/poms/geronimo-converter-1.1.pom +geronimo/poms/geronimo-core-1.0-M2.pom +geronimo/poms/geronimo-core-1.0-M3.pom +geronimo/poms/geronimo-core-1.0-M4.pom +geronimo/poms/geronimo-core-1.0-M5.pom +geronimo/poms/geronimo-core-1.1.pom +geronimo/poms/geronimo-demo-1.0.pom +geronimo/poms/geronimo-daytrader-derby-db-1.0.pom +geronimo/poms/geronimo-daytrader-derby-db-1.1.pom +geronimo/poms/geronimo-demo-1.0-M2.pom +geronimo/poms/geronimo-demo-1.0-M3.pom +geronimo/poms/geronimo-demo-1.0-M4.pom +geronimo/poms/geronimo-demo-1.1.pom +geronimo/poms/geronimo-demo-1.0-M5.pom +geronimo/poms/geronimo-dependency-plugin-1.0.0.pom +geronimo/poms/geronimo-dependency-plugin-1.1.0-3.pom +geronimo/poms/geronimo-deploy-config-1.0-M4.pom +geronimo/poms/geronimo-deploy-config-1.0-M5.pom +geronimo/poms/geronimo-deploy-config-1.0.pom +geronimo/poms/geronimo-deploy-config-1.1.pom +geronimo/poms/geronimo-deploy-jsr88-1.0-M4.pom +geronimo/poms/geronimo-deploy-jsr88-1.0-M5.pom +geronimo/poms/geronimo-deploy-jsr88-1.0.pom +geronimo/poms/geronimo-deploy-jsr88-1.1.pom +geronimo/poms/j2ee-server-1.0.pom +geronimo/poms/geronimo-deploy-tool-1.0-M4.pom +geronimo/poms/geronimo-deploy-tool-1.0-M5.pom +geronimo/poms/geronimo-deploy-tool-1.0.pom +geronimo/poms/geronimo-deploy-tool-1.1.pom +geronimo/poms/geronimo-deployment-1.0-M2.pom +geronimo/poms/geronimo-deployment-1.0-M3.pom +geronimo/poms/geronimo-deployment-1.0-M4.pom +geronimo/poms/geronimo-deployment-1.0-M5.pom +geronimo/poms/geronimo-deployment-1.0.pom +geronimo/poms/geronimo-deployment-plugin-1.0-M2.pom +geronimo/poms/geronimo-deployment-plugin-1.0-M4.pom +geronimo/poms/geronimo-deployment-plugin-1.0-M5.pom +geronimo/poms/geronimo-deployment-plugin-1.0.0.pom +geronimo/poms/geronimo-derby-1.0-M3.pom +geronimo/poms/geronimo-deployment-plugin-1.1.0-3.pom +geronimo/poms/geronimo-derby-1.0-M4.pom +geronimo/poms/geronimo-derby-1.0-M5.pom +geronimo/poms/geronimo-derby-1.0.pom +geronimo/poms/geronimo-derby-1.1.pom +geronimo/poms/geronimo-derby-connector-1.0-M3.pom +geronimo/poms/geronimo-derby-connector-1.0-M4.pom +geronimo/poms/geronimo-directory-1.0-M5.pom +geronimo/poms/geronimo-directory-1.0.pom +geronimo/poms/geronimo-directory-1.1.pom +geronimo/poms/geronimo-gbean-deployer-1.0.pom +geronimo/poms/geronimo-gbean-deployer-1.1.pom +geronimo/poms/geronimo-hot-deploy-1.0.pom +geronimo/poms/geronimo-hot-deploy-1.1.pom +geronimo/poms/geronimo-installer-processing-1.1.pom +geronimo/poms/geronimo-installer-support-1.1.pom +geronimo/poms/geronimo-jetty-1.0-M3.pom +geronimo/poms/j2ee-system-1.0.pom +geronimo/poms/geronimo-interop-1.0-M4.pom +geronimo/poms/geronimo-interop-1.0-M5.pom +geronimo/poms/geronimo-izpack-plugin-1.0.pom +geronimo/poms/geronimo-izpack-plugin-1.1.pom +geronimo/poms/geronimo-j2ee-1.0-M2.pom +geronimo/poms/geronimo-j2ee-1.0-M3.pom +geronimo/poms/geronimo-j2ee-1.0-M4.pom +geronimo/poms/geronimo-j2ee-1.0-M5.pom +geronimo/poms/geronimo-j2ee-1.0.pom +geronimo/poms/geronimo-j2ee-1.1.pom +geronimo/poms/geronimo-j2ee-builder-1.0-M3.pom +geronimo/poms/geronimo-j2ee-builder-1.0-M4.pom +geronimo/poms/geronimo-j2ee-builder-1.0-M5.pom +geronimo/poms/geronimo-j2ee-builder-1.0.pom +geronimo/poms/geronimo-j2ee-builder-1.1.pom +geronimo/poms/j2ee-system-1.1.pom +geronimo/poms/geronimo-j2ee-schema-1.0-M2.pom +geronimo/poms/geronimo-j2ee-schema-1.0-M3.pom +geronimo/poms/geronimo-j2ee-schema-1.0-M4.pom +geronimo/poms/geronimo-j2ee-schema-1.0-M5.pom +geronimo/poms/geronimo-j2ee-schema-1.0.pom +geronimo/poms/geronimo-j2ee-schema-1.1.pom +geronimo/poms/geronimo-javamail-transport-1.0.pom +geronimo/poms/geronimo-javamail-transport-1.1.pom +geronimo/poms/geronimo-jetty-1.0-M2.pom +geronimo/poms/geronimo-jetty-1.0-M4.pom +geronimo/poms/geronimo-jetty-1.0-M5.pom +geronimo/poms/geronimo-jetty-1.0.pom +geronimo/poms/geronimo-jetty-1.1.pom +geronimo/poms/geronimo-jetty-builder-1.0-M3.pom +geronimo/poms/geronimo-jetty-builder-1.0-M4.pom +geronimo/poms/javamail-1.0.pom +geronimo/poms/geronimo-jetty-builder-1.0-M5.pom +geronimo/poms/geronimo-jetty-builder-1.0.pom +geronimo/poms/geronimo-jetty-builder-1.1.pom +geronimo/poms/geronimo-jmxdebug-1.0-M2.pom +geronimo/poms/geronimo-jmxdebug-1.0.pom +geronimo/poms/geronimo-jmxdebug-1.0-M3.pom +geronimo/poms/geronimo-jmxdebug-1.0-M4.pom +geronimo/poms/geronimo-jmxdebug-1.0-M5.pom +geronimo/poms/geronimo-jmxremoting-1.0-M2.pom +geronimo/poms/geronimo-jmxremoting-1.0-M3.pom +geronimo/poms/geronimo-jmxremoting-1.0-M4.pom +geronimo/poms/geronimo-jmxremoting-1.0-M5.pom +geronimo/poms/geronimo-kernel-1.0-M5.pom +geronimo/poms/geronimo-jmxremoting-1.0.pom +geronimo/poms/geronimo-jmxremoting-1.1.pom +geronimo/poms/geronimo-kernel-1.0-M2.pom +geronimo/poms/geronimo-kernel-1.0-M3.pom +geronimo/poms/geronimo-kernel-1.0-M4.pom +geronimo/poms/geronimo-kernel-1.0.pom +geronimo/poms/geronimo-kernel-1.1.pom +geronimo/poms/geronimo-ldap-demo-1.0.pom +geronimo/poms/geronimo-ldap-demo-1.1.pom +geronimo/poms/geronimo-mail-1.0-M3.pom +geronimo/poms/geronimo-mail-1.0-M4.pom +geronimo/poms/geronimo-mail-1.0-M5.pom +geronimo/poms/geronimo-mail-1.0.pom +geronimo/poms/geronimo-mail-1.1.pom +geronimo/poms/geronimo-naming-1.0.pom +geronimo/poms/geronimo-management-1.0-M5.pom +geronimo/poms/geronimo-management-1.0.pom +geronimo/poms/geronimo-management-1.1.pom +geronimo/poms/geronimo-naming-1.1.pom +geronimo/poms/geronimo-naming-1.0-M2.pom +geronimo/poms/geronimo-naming-1.0-M3.pom +geronimo/poms/geronimo-naming-1.0-M4.pom +geronimo/poms/geronimo-naming-1.0-M5.pom +geronimo/poms/geronimo-naming-builder-1.0-M3.pom +geronimo/poms/geronimo-naming-builder-1.0-M4.pom +geronimo/poms/geronimo-naming-builder-1.0-M5.pom +geronimo/poms/geronimo-naming-builder-1.0.pom +geronimo/poms/geronimo-naming-builder-1.1.pom +geronimo/poms/geronimo-network-1.0-M2.pom +geronimo/poms/geronimo-network-1.0-M3.pom +geronimo/poms/geronimo-packaging-plugin-0.1.1.pom +geronimo/poms/geronimo-packaging-plugin-0.1.pom +geronimo/poms/geronimo-packaging-plugin-1.0-M5.pom +geronimo/poms/geronimo-packaging-plugin-1.0.1.pom +geronimo/poms/geronimo-packaging-plugin-1.1.0-10.pom +geronimo/poms/geronimo-remote-deploy-1.0.pom +geronimo/poms/geronimo-remote-deploy-1.1.pom +geronimo/poms/geronimo-remote-deploy-lib-1.0.pom +geronimo/poms/geronimo-remote-deploy-lib-1.1.pom +geronimo/poms/geronimo-remoting-1.0-M2.pom +geronimo/poms/geronimo-remoting-1.0-M3.pom +geronimo/poms/geronimo-scripts-1.0.pom +geronimo/poms/geronimo-scripts-1.1.pom +geronimo/poms/geronimo-security-1.0-M2.pom +geronimo/poms/geronimo-security-1.0-M3.pom +geronimo/poms/geronimo-security-1.0-M4.pom +geronimo/poms/geronimo-security-1.0-M5.pom +geronimo/poms/geronimo-security-1.0.pom +geronimo/poms/geronimo-security-1.1.pom +geronimo/poms/geronimo-system-1.0.pom +geronimo/poms/geronimo-security-builder-1.0-M3.pom +geronimo/poms/geronimo-security-builder-1.0-M4.pom +geronimo/poms/geronimo-security-builder-1.0-M5.pom +geronimo/poms/geronimo-security-builder-1.0.pom +geronimo/poms/geronimo-security-builder-1.1.pom +geronimo/poms/geronimo-service-builder-1.0-M4.pom +geronimo/poms/geronimo-service-builder-1.0-M5.pom +geronimo/poms/geronimo-service-builder-1.0.pom +geronimo/poms/geronimo-service-builder-1.1.pom +geronimo/poms/geronimo-servicemix-1.0-M4.pom +geronimo/poms/geronimo-servicemix-1.0-M5.pom +geronimo/poms/geronimo-servicemix-builder-1.0-M4.pom +geronimo/poms/geronimo-servicemix-builder-1.0-M5.pom +geronimo/poms/geronimo-spring-1.0-M2.pom +geronimo/poms/geronimo-test-ddbean-1.0-M5.pom +geronimo/poms/ldap-realm-1.0.pom +geronimo/poms/geronimo-spring-1.0-M3.pom +geronimo/poms/geronimo-spring-1.0-M4.pom +geronimo/poms/geronimo-spring-1.0-M5.pom +geronimo/poms/geronimo-spring-builder-1.0-M4.pom +geronimo/poms/geronimo-spring-builder-1.0-M5.pom +geronimo/poms/geronimo-system-1.0-M2.pom +geronimo/poms/geronimo-system-1.0-M3.pom +geronimo/poms/geronimo-system-1.0-M4.pom +geronimo/poms/geronimo-system-1.0-M5.pom +geronimo/poms/geronimo-system-1.1.pom +geronimo/poms/geronimo-test-ddbean-1.0-M4.pom +geronimo/poms/geronimo-timer-1.0-M4.pom +geronimo/poms/magicGball-1.0.pom +geronimo/poms/geronimo-test-ddbean-1.0.pom +geronimo/poms/geronimo-test-ddbean-1.1.pom +geronimo/poms/geronimo-timer-1.0-M2.pom +geronimo/poms/geronimo-timer-1.0-M3.pom +geronimo/poms/geronimo-tomcat-builder-1.0-M4.pom +geronimo/poms/geronimo-timer-1.0-M5.pom +geronimo/poms/geronimo-timer-1.0.pom +geronimo/poms/geronimo-timer-1.1.pom +geronimo/poms/geronimo-tomcat-1.0-M3.pom +geronimo/poms/geronimo-tomcat-1.0-M4.pom +geronimo/poms/geronimo-tomcat-1.0-M5.pom +geronimo/poms/geronimo-tomcat-1.0.pom +geronimo/poms/geronimo-tomcat-1.1.pom +geronimo/poms/geronimo-tomcat-builder-1.0-M5.pom +geronimo/poms/geronimo-uddi-db-1.0.pom +geronimo/poms/geronimo-tomcat-builder-1.0.pom +geronimo/poms/geronimo-tomcat-builder-1.1.pom +geronimo/poms/geronimo-transaction-1.0-M2.pom +geronimo/poms/geronimo-transaction-1.0-M3.pom +geronimo/poms/geronimo-transaction-1.0-M4.pom +geronimo/poms/geronimo-transaction-1.0-M5.pom +geronimo/poms/geronimo-transaction-1.0.pom +geronimo/poms/geronimo-transaction-1.1.pom +geronimo/poms/geronimo-uddi-db-1.1.pom +geronimo/poms/geronimo-uddi-server-1.0-M4.pom +geronimo/poms/geronimo-uddi-server-1.0-M5.pom +geronimo/poms/geronimo-uddi-server-1.0.pom +geronimo/poms/geronimo-uddi-server-1.1.pom +geronimo/poms/geronimo-upgrade-1.1.pom +geronimo/poms/geronimo-util-1.0-M5.pom +geronimo/poms/geronimo-util-1.0.pom +geronimo/poms/geronimo-util-1.1.pom +geronimo/poms/geronimo-web-builder-1.0-M4.pom +geronimo/poms/geronimo-web-builder-1.0-M5.pom +geronimo/poms/geronimo-web-builder-1.0.pom +geronimo/poms/geronimo-web-builder-1.1.pom +geronimo/poms/rmi-naming-1.0.pom +geronimo/poms/geronimo-webservices-1.0-M4.pom +geronimo/poms/geronimo-webservices-1.0-M5.pom +geronimo/poms/geronimo-webservices-1.0.pom +geronimo/poms/geronimo-webservices-1.1.pom +geronimo/poms/geronimo-welcome-1.0-M5.pom +geronimo/poms/geronimo-welcome-1.0.pom +geronimo/poms/geronimo-welcome-1.1.pom +geronimo/poms/geronimo-xmlbeans-plugin-1.0-20040908.pom +geronimo/poms/geronimo-xmlbeans-plugin-1.0-46009.pom +geronimo/poms/geronimo-xmlbeans-plugin-1.0-M2.pom +geronimo/poms/geronimo-xmlbeans-plugin-1.0-M3.pom +geronimo/poms/geronimo-xmlbeans-plugin-1.0-M4.pom +geronimo/poms/geronimo-xpom-plugin-1.0-M4.pom +geronimo/poms/hot-deployer-1.0.pom +geronimo/poms/j2ee-deployer-1.0.pom +geronimo/poms/j2ee-security-1.0.pom +geronimo/poms/j2ee-system-experimental-1.0.pom +geronimo/poms/jetty-deployer-1.0.pom +geronimo/poms/jmxdebug-jetty-1.0.pom +geronimo/poms/jmxdebug-tomcat-1.0.pom +geronimo/poms/jsp-examples-jetty-1.0.pom +geronimo/poms/jsp-examples-tomcat-1.0.pom +geronimo/poms/ldap-demo-jetty-1.0.pom +geronimo/poms/ldap-demo-tomcat-1.0.pom +geronimo/poms/magicGball-1.1.pom +geronimo/poms/maven-metadata-mavenOneRepository.xml +geronimo/poms/online-deployer-1.0.pom +geronimo/poms/online-deployer-1.1.pom +geronimo/poms/remote-deploy-jetty-1.0.pom +geronimo/poms/servlets-examples-jetty-1.0.pom +geronimo/poms/remote-deploy-tomcat-1.0.pom +geronimo/poms/servlets-examples-tomcat-1.0.pom +geronimo/poms/shutdown-1.0.pom +geronimo/poms/shutdown-1.1.pom +geronimo/poms/system-database-1.0.pom +geronimo/poms/tomcat-deployer-1.0.pom +geronimo/poms/uddi-jetty-1.0.pom +geronimo/poms/uddi-tomcat-1.0.pom +geronimo/poms/upgrade-cli-1.1.pom +geronimo/poms/webconsole-jetty-1.0.pom +geronimo/poms/webconsole-tomcat-1.0.pom +geronimo/poms/welcome-jetty-1.0.pom +geronimo/poms/welcome-tomcat-1.0.pom +geronimo/poms/xmlbeans-maven-plugin-2.0.0-beta1.pom +geronimo/rars/geronimo-derby-connector-1.0-M3.rar +geronimo/rars/geronimo-derby-connector-1.0-M4.rar +geronimo/wars/daytrader-web-1.0.war +geronimo/wars/geronimo-console-framework-1.0.war +geronimo/wars/geronimo-servlet-examples-tomcat-5.5.12.war +geronimo/wars/geronimo-console-standard-1.0.war +geronimo/wars/geronimo-console-web-1.0-M1.war +geronimo/wars/geronimo-demo-1.0-M3.war +geronimo/wars/geronimo-demo-1.0-M4.war +geronimo/wars/geronimo-demo-1.0-M5.war +geronimo/wars/geronimo-demo-1.0.war +geronimo/wars/geronimo-jmxdebug-1.0-M1.war +geronimo/wars/geronimo-jmxdebug-1.0-M3.war +geronimo/wars/geronimo-jmxdebug-1.0-M4.war +geronimo/wars/geronimo-jmxdebug-1.0-M5.war +geronimo/wars/geronimo-jmxdebug-1.0.war +geronimo/wars/geronimo-jsp-examples-tomcat-5.5.12.war +geronimo/wars/geronimo-ldap-demo-1.0.war +geronimo/wars/geronimo-remote-deploy-1.0.war +geronimo/wars/geronimo-uddi-server-1.0.war +geronimo/wars/geronimo-welcome-1.0.war +geronimo/wars/magicGball-1.0.war +geronimo/KEYS +geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc1.jar +geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc2.jar +geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc3.jar +geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc4.jar +geronimo-spec/jars/geronimo-spec-corba-2.3-rc4.jar +geronimo-spec/jars/geronimo-spec-ejb-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-ejb-2.1-rc1.jar +geronimo-spec/jars/geronimo-spec-ejb-2.1-rc2.jar +geronimo-spec/jars/geronimo-spec-ejb-2.1-rc3.jar +geronimo-spec/jars/geronimo-spec-ejb-2.1-rc4.jar +geronimo-spec/jars/geronimo-spec-ejb-DEV.jar +geronimo-spec/jars/geronimo-spec-j2ee-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-j2ee-connector-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc1.jar +geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc3.jar +geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc4.jar +geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc1.jar +geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc1.jar +geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc3.jar +geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc4.jar +geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc1.jar +geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc3.jar +geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc4.jar +geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc1.jar +geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc3.jar +geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc4.jar +geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc5.jar +geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc1.jar +geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc3.jar +geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc2.jar +geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc3.jar +geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc4.jar +geronimo-spec/jars/geronimo-spec-j2eeschema-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc1.jar +geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc2.jar +geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc3.jar +geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc4.jar +geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc4.jar +geronimo-spec/jars/geronimo-spec-jaxrpc-1.1-rc4.jar +geronimo-spec/jars/geronimo-spec-jms-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-jms-1.1-rc1.jar +geronimo-spec/jars/geronimo-spec-jms-1.1-rc2.jar +geronimo-spec/jars/geronimo-spec-jms-1.1-rc3.jar +geronimo-spec/jars/geronimo-spec-jms-1.1-rc4.jar +geronimo-spec/jars/geronimo-spec-jms-DEV.jar +geronimo-spec/jars/geronimo-spec-jsp-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-jsp-2.0-rc1.jar +geronimo-spec/jars/geronimo-spec-jsp-2.0-rc2.jar +geronimo-spec/jars/geronimo-spec-jsp-2.0-rc3.jar +geronimo-spec/jars/geronimo-spec-jsp-2.0-rc4.jar +geronimo-spec/jars/geronimo-spec-jta-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc1.jar +geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc2.jar +geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc3.jar +geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc4.jar +geronimo-spec/jars/geronimo-spec-jta-DEV.jar +geronimo-spec/jars/geronimo-spec-qname-1.1-rc4.jar +geronimo-spec/jars/geronimo-spec-saaj-1.1-rc4.jar +geronimo-spec/jars/geronimo-spec-servlet-1.0-M1.jar +geronimo-spec/jars/geronimo-spec-servlet-2.4-rc1.jar +geronimo-spec/jars/geronimo-spec-servlet-2.4-rc2.jar +geronimo-spec/jars/geronimo-spec-servlet-2.4-rc3.jar +geronimo-spec/jars/geronimo-spec-servlet-2.4-rc4.jar +geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc1.pom +geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc1.pom +geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc2.pom +geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc3.pom +geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc4.pom +geronimo-spec/poms/geronimo-spec-corba-2.3-rc4.pom +geronimo-spec/poms/geronimo-spec-ejb-2.1-rc1.pom +geronimo-spec/poms/geronimo-spec-ejb-2.1-rc2.pom +geronimo-spec/poms/geronimo-spec-ejb-2.1-rc3.pom +geronimo-spec/poms/geronimo-spec-ejb-2.1-rc4.pom +geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc1.pom +geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc2.pom +geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc3.pom +geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc4.pom +geronimo-spec/poms/geronimo-spec-saaj-1.1-rc4.pom +geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc2.pom +geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc3.pom +geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc4.pom +geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc1.pom +geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc2.pom +geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc3.pom +geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc4.pom +geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc1.pom +geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc2.pom +geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc3.pom +geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc4.pom +geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc1.pom +geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc2.pom +geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc3.pom +geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc4.pom +geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc1.pom +geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc2.pom +geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc3.pom +geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc4.pom +geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc5.pom +geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc1.pom +geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc2.pom +geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc3.pom +geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc4.pom +geronimo-spec/poms/geronimo-spec-jaxrpc-1.1-rc4.pom +geronimo-spec/poms/geronimo-spec-jms-1.1-rc1.pom +geronimo-spec/poms/geronimo-spec-jms-1.1-rc2.pom +geronimo-spec/poms/geronimo-spec-jms-1.1-rc3.pom +geronimo-spec/poms/geronimo-spec-jms-1.1-rc4.pom +geronimo-spec/poms/geronimo-spec-jsp-2.0-rc1.pom +geronimo-spec/poms/geronimo-spec-jsp-2.0-rc2.pom +geronimo-spec/poms/geronimo-spec-jsp-2.0-rc3.pom +geronimo-spec/poms/geronimo-spec-jsp-2.0-rc4.pom +geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc1.pom +geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc2.pom +geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc3.pom +geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc4.pom +geronimo-spec/poms/geronimo-spec-qname-1.1-rc4.pom +geronimo-spec/poms/geronimo-spec-servlet-2.4-rc1.pom +geronimo-spec/poms/geronimo-spec-servlet-2.4-rc2.pom +geronimo-spec/poms/geronimo-spec-servlet-2.4-rc3.pom +geronimo-spec/poms/geronimo-spec-servlet-2.4-rc4.pom +hivemind/jars/hivemind-1.0-beta-1.jar +hivemind/jars/hivemind-1.0-beta-2.jar +hivemind/jars/hivemind-1.0-beta-3-snapshot.jar +hivemind/jars/hivemind-1.0-rc-1.jar +hivemind/jars/hivemind-1.0-rc-2.jar +hivemind/jars/hivemind-1.0.jar +hivemind/jars/hivemind-1.1.1.jar +hivemind/jars/hivemind-1.1-alpha-1.jar +hivemind/jars/hivemind-1.1-alpha-2.jar +hivemind/jars/hivemind-1.1-alpha-3.jar +hivemind/jars/hivemind-1.1-beta-1.jar +hivemind/jars/hivemind-1.1-beta-2.jar +hivemind/jars/hivemind-1.1-beta-3.jar +hivemind/jars/hivemind-1.1-rc-1.jar +hivemind/jars/hivemind-1.1.jar +hivemind/jars/hivemind-jmx-1.1-beta-1.jar +hivemind/jars/hivemind-jmx-1.1-beta-2.jar +hivemind/jars/hivemind-jmx-1.1-beta-3.jar +hivemind/jars/hivemind-jmx-1.1-rc-1.jar +hivemind/jars/hivemind-jmx-1.1.1.jar +hivemind/jars/hivemind-jmx-1.1.jar +hivemind/jars/hivemind-lib-1.0-beta-3-snapshot.jar +hivemind/jars/hivemind-lib-1.0-beta-1.jar +hivemind/jars/hivemind-lib-1.0-beta-2.jar +hivemind/jars/hivemind-lib-1.0-rc-1.jar +hivemind/jars/hivemind-lib-1.0-rc-2.jar +hivemind/jars/hivemind-lib-1.0.jar +hivemind/jars/hivemind-lib-1.1-alpha-1.jar +hivemind/jars/hivemind-lib-1.1-alpha-2.jar +hivemind/jars/hivemind-lib-1.1-alpha-3.jar +hivemind/jars/hivemind-lib-1.1-beta-1.jar +hivemind/jars/hivemind-lib-1.1-beta-2.jar +hivemind/jars/hivemind-lib-1.1-beta-3.jar +hivemind/jars/hivemind-lib-1.1.1.jar +hivemind/jars/hivemind-lib-1.1-rc-1.jar +hivemind/jars/hivemind-lib-1.1.jar +httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha3.jar +httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha2.jar +httpcomponents-httpcore/jars/jakarta-httpcore-nio-4.0-alpha3.jar +httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha4.jar +httpcomponents-httpcore/jars/jakarta-httpcore-niossl-4.0-alpha4.jar +httpcomponents-httpcore/jars/jakarta-httpcore-nio-4.0-alpha4.jar +httpcomponents-httpcore/jars/httpcore-4.0-alpha5.jar +httpcomponents-httpcore/jars/httpcore-nio-4.0-alpha5.jar +httpcomponents-httpcore/jars/httpcore-niossl-4.0-alpha5.jar +jakarta-regexp/jars/jakarta-regexp-1.4.jar +james/bars/james-server-3.0a.bar +james/blocks/james-server-3.0a.block +james/configs/james-server-3.0a.config +james/jars/james-3.0a1.jar +james/jars/mailet-1.0.jar +james/jars/mailet-3.0.jar +james/jars/mailet-api-1.0.jar +james/jars/mailet-api-3.0.jar +james/xmls/block.xml +james/xmls/config.xml +javax.jdo/jars/jdo2-api-2.0-beta.jar +javax.jdo/jars/jdo2-api-2.0-rc1.jar +javax.jdo/jars/jdo2-api-2.0.jar +javax.jdo/poms/jdo2-api-2.0-beta.pom +javax.jdo/poms/jdo2-api-2.0-rc1.pom +javax.jdo/poms/jdo2-api-2.0.pom +jaxme/jars/jaxme-0.2.jar +jaxme/jars/jaxme-0.3.1.jar +jaxme/jars/jaxme-0.3.jar +jaxme/jars/jaxme-api-0.2.jar +jaxme/jars/jaxme-api-0.3.1.jar +jaxme/jars/jaxme-api-0.3.jar +jaxme/jars/jaxme2-0.4beta.jar +jaxme/jars/jaxme-js-0.2.jar +jaxme/jars/jaxme-js-0.3.1.jar +jaxme/jars/jaxme-js-0.3.jar +jaxme/jars/jaxme-pm-0.2.jar +jaxme/jars/jaxme-pm-0.3.1.jar +jaxme/jars/jaxme-pm-0.3.jar +jaxme/jars/jaxme-rt-0.2.jar +jaxme/jars/jaxme-rt-0.3.1.jar +jaxme/jars/jaxme-rt-0.3.jar +jaxme/jars/jaxme-xs-0.2.jar +jaxme/jars/jaxme-xs-0.3.1.jar +jaxme/jars/jaxme-xs-0.3.jar +jaxme/jars/jaxme2-0.4-src.zip +jaxme/jars/jaxme2-0.4.jar +jaxme/jars/jaxme2-0.4beta-src.zip +jaxme/jars/jaxme2-0.5.1-sources.jar +jaxme/jars/jaxme2-0.5.1.jar +jaxme/jars/jaxme2-0.5.jar +jaxme/jars/jaxme2-0.5beta.jar +jaxme/jars/jaxme2-src.zip +jaxme/jars/jaxme2-rt-0.4.jar +jaxme/jars/jaxme2-rt-0.4beta.jar +jaxme/jars/jaxme2-rt-0.5.1-sources.jar +jaxme/jars/jaxme2-rt-0.5.1.jar +jaxme/jars/jaxme2-rt-0.5.jar +jaxme/jars/jaxme2-rt-0.5beta.jar +jaxme/jars/jaxme2-src-0.5.zip +jaxme/jars/jaxme2-src-0.5beta.zip +jaxme/jars/jaxmeapi-0.4-src.zip +jaxme/jars/jaxmeapi-0.5.1.jar +jaxme/jars/jaxmejs-0.4.jar +jaxme/jars/jaxmeapi-0.4.jar +jaxme/jars/jaxmeapi-0.4beta-src.zip +jaxme/jars/jaxmeapi-0.4beta.jar +jaxme/jars/jaxmeapi-0.5.1-sources.jar +jaxme/jars/jaxmeapi-0.5.jar +jaxme/jars/jaxmeapi-0.5beta.jar +jaxme/jars/jaxmeapi-src-0.5.zip +jaxme/jars/jaxmeapi-src-0.5beta.zip +jaxme/jars/jaxmejs-0.4-src.zip +jaxme/jars/jaxmejs-0.4beta-src.zip +jaxme/jars/jaxmejs-0.4beta.jar +jaxme/jars/jaxmejs-0.5.1-sources.jar +jaxme/jars/jaxmejs-0.5.1.jar +jaxme/jars/jaxmejs-0.5.jar +jaxme/jars/jaxmejs-0.5beta.jar +jaxme/jars/jaxmejs-src-0.5.zip +jaxme/jars/jaxmejs-src-0.5beta.zip +jaxme/jars/jaxmepm-0.4-src.zip +jaxme/jars/jaxmepm-0.4.jar +jaxme/jars/jaxmepm-0.4beta-src.zip +jaxme/jars/jaxmepm-0.4beta.jar +jaxme/jars/jaxmepm-0.5.1-sources.jar +jaxme/jars/jaxmepm-0.5.1.jar +jaxme/jars/jaxmepm-0.5.jar +jaxme/jars/jaxmepm-0.5beta.jar +jaxme/jars/jaxmepm-src-0.5.zip +jaxme/jars/jaxmepm-src-0.5beta.zip +jaxme/jars/jaxmexs-0.4-src.zip +jaxme/jars/jaxmexs-0.4.jar +jaxme/jars/jaxmexs-0.5.jar +jaxme/jars/jaxmexs-0.4beta-src.zip +jaxme/jars/jaxmexs-0.4beta.jar +jaxme/jars/jaxmexs-0.5.1-sources.jar +jaxme/jars/jaxmexs-0.5.1.jar +jaxme/jars/jaxmexs-0.5beta.jar +jaxme/jars/jaxmexs-src-0.5.zip +jaxme/jars/jaxmexs-src-0.5beta.zip +jcs/jars/jcs-1.0-dev.20020801.123921.jar +jcs/jars/jcs-1.0-dev.20020801.125151.jar +jcs/jars/jcs-1.0-dev.jar +jcs/jars/jcs-20030822.182132.jar +jcs/jars/jcs-snapshot-version +jcs/jars/jcs-1.3.jar +jcs/poms/jcs-1.3.pom +jcs-javagroups/jars/jcs-javagroups-alpha-0.20020813.013703.jar +jspapi/jars/jsp-api-2.0-20040521.jar +jstl/jars/jstl-1.0.1.jar +jstl/jars/jstl-1.0.2.jar +jstl/jars/jstl-1.0.3.jar +jstl/jars/jstl-1.0.4.jar +jstl/jars/jstl-1.0.5.jar +jstl/jars/jstl-1.0.6.jar +jstl/jars/jstl-1.0.jar +jstl/jars/jstl-1.1.0.jar +jstl/jars/jstl-1.1.1.jar +jstl/jars/jstl-1.1.2.jar +jstl/README +log4j/jars/log4j-1.1.3.jar +log4j/jars/log4j-1.2.11.jar +log4j/jars/log4j-1.2.14.jar +log4j/jars/log4j-1.2.12.jar +log4j/jars/log4j-1.2.13.jar +log4j/jars/log4j-1.2.4.jar +log4j/jars/log4j-1.2.5.jar +log4j/jars/log4j-1.2.6.jar +log4j/jars/log4j-1.2.7.jar +log4j/jars/log4j-1.2.8.jar +log4j/jars/log4j-1.2.9.jar +log4j/jars/log4j-1.2.15.jar +log4j/java-sources/log4j-1.2.13-sources.jar +log4j/java-sources/log4j-1.2.14-sources.jar +log4j/java-sources/log4j-1.2.15-sources.jar +log4j/poms/log4j-1.2.12.pom +log4j/poms/log4j-1.2.13.pom +log4j/poms/log4j-1.2.14.pom +log4j/poms/log4j-1.2.15.pom +logkit/distributions/LogKit-1.2-bin.zip +logkit/jars/logkit-1.0.1.jar +logkit/jars/logkit-1.2.2.jar.asc.txt +logkit/jars/logkit-1.2.2.jar +logkit/jars/logkit-1.2.jar +logkit/jars/logkit-20020529.jar +lucene/jars/lucene-1.2.jar +lucene/jars/lucene-1.3-rc1.jar +lucene/jars/lucene-1.4.1.jar +lucene/jars/lucene-1.4.2.jar +lucene/jars/lucene-1.4.3.jar +magicGball/jars/magicGball-0.01234-alpha0.jar +magicGball/poms/magicGball-0.01234-alpha0.pom +maven/jars/commons-jelly-1.0.1-20060717.jar +maven/jars/maven-1.0.1.jar +maven/jars/maven-1.0-rc3.jar +maven/jars/maven-1.0-rc4.jar +maven/jars/maven-1.1-beta-1.jar +maven/jars/maven-1.0.2.jar +maven/jars/maven-1.0.jar +maven/jars/maven-1.1-beta-2.jar +maven/jars/maven-1.1-beta-3.jar +maven/jars/maven-1.1-RC1.jar +maven/jars/maven-jar-plugin-1.5.jar +maven/jars/maven-java-plugin-1.5.jar +maven/jars/maven-jelly-tags-1.0.1.jar +maven/jars/velocity-1.5-20060721.044818.jar +maven/jars/maven-jelly-tags-1.0.jar +maven/jars/maven-model-3.0.0.jar +maven/jars/maven-1.1.jar +maven/jars/maven-model-3.0.1.jar +maven/jars/maven-model-3.0.2.jar +maven/jars/wagon-file-1.0-alpha-3.jar +maven/jars/wagon-http-1.0-alpha-3.jar +maven/jars/wagon-provider-api-1.0-alpha-3.jar +maven/java-sources/maven-1.1-beta-3-sources.jar +maven/java-sources/maven-ant-plugin-1.10-sources.jar +maven/java-sources/maven-ear-plugin-1.9-sources.jar +maven/java-sources/maven-linkcheck-plugin-1.4-sources.jar +maven/java-sources/maven-modello-plugin-1.0-sources.jar +maven/java-sources/maven-pdf-plugin-2.5-sources.jar +maven/java-sources/maven-pmd-plugin-1.9-sources.jar +maven/java-sources/maven-site-plugin-1.7.2-sources.jar +maven/java-sources/maven-announcement-plugin-1.4.1-sources.jar +maven/java-sources/maven-developer-activity-plugin-1.6.1-sources.jar +maven/java-sources/maven-file-activity-plugin-1.6.1-sources.jar +maven/java-sources/maven-model-3.0.2-sources.jar +maven/java-sources/maven-plugin-plugin-1.7.1-sources.jar +maven/java-sources/maven-1.1-RC1-sources.jar +maven/java-sources/maven-idea-plugin-1.7-sources.jar +maven/java-sources/maven-jalopy-plugin-1.5.1-sources.jar +maven/java-sources/maven-jar-plugin-1.8.1-sources.jar +maven/java-sources/maven-javadoc-plugin-1.9-sources.jar +maven/java-sources/maven-multichanges-plugin-1.3-sources.jar +maven/java-sources/maven-1.1-sources.jar +maven/javadoc.jars/maven-1.1-beta-3.javadoc.jar +maven/javadoc.jars/maven-modello-plugin-1.0.javadoc.jar +maven/javadoc.jars/maven-announcement-plugin-1.4.1.javadoc.jar +maven/javadoc.jars/maven-model-3.0.2.javadoc.jar +maven/javadoc.jars/maven-plugin-plugin-1.7.1.javadoc.jar +maven/javadoc.jars/maven-jalopy-plugin-1.5.1.javadoc.jar +maven/javadoc.jars/maven-jar-plugin-1.8.1.javadoc.jar +maven/javadoc.jars/maven-javadoc-plugin-1.9.javadoc.jar +maven/javadoc.jars/maven-multichanges-plugin-1.3.javadoc.jar +maven/javadoc.jars/maven-1.1-RC1.javadoc.jar +maven/javadoc.jars/maven-1.1.javadoc.jar +maven/plugins/maven-abbot-plugin-1.0.jar +maven/plugins/maven-abbot-plugin-1.1.jar +maven/plugins/maven-announcement-plugin-1.1.jar +maven/plugins/maven-announcement-plugin-1.2.jar +maven/plugins/maven-announcement-plugin-1.3.jar +maven/plugins/maven-changelog-plugin-1.9.1.jar +maven/plugins/maven-announcement-plugin-1.4.jar +maven/plugins/maven-ant-plugin-1.10.jar +maven/plugins/maven-ant-plugin-1.7.jar +maven/plugins/maven-ant-plugin-1.8.1.jar +maven/plugins/maven-ant-plugin-1.8.jar +maven/plugins/maven-ant-plugin-1.9.jar +maven/plugins/maven-antlr-plugin-1.2.1.jar +maven/plugins/maven-antlr-plugin-1.2.2.jar +maven/plugins/maven-antlr-plugin-1.2.jar +maven/plugins/maven-appserver-plugin-2.0.jar +maven/plugins/maven-artifact-plugin-1.2.jar +maven/plugins/maven-artifact-plugin-1.3.jar +maven/plugins/maven-artifact-plugin-1.4.1.jar +maven/plugins/maven-artifact-plugin-1.4.jar +maven/plugins/maven-artifact-plugin-1.5.1.jar +maven/plugins/maven-artifact-plugin-1.5.2.jar +maven/plugins/maven-caller-plugin-1.1.jar +maven/plugins/maven-artifact-plugin-1.5.jar +maven/plugins/maven-artifact-plugin-1.6.jar +maven/plugins/maven-artifact-plugin-1.7.jar +maven/plugins/maven-castor-plugin-1.2.jar +maven/plugins/maven-artifact-plugin-1.8.jar +maven/plugins/maven-ashkelon-plugin-1.2.jar +maven/plugins/maven-aspectj-plugin-3.0.jar +maven/plugins/maven-aspectj-plugin-3.1.1.jar +maven/plugins/maven-aspectj-plugin-3.1.jar +maven/plugins/maven-aspectj-plugin-3.2.jar +maven/plugins/maven-aspectj-plugin-4.0.jar +maven/plugins/maven-aspectwerkz-plugin-1.2.jar +maven/plugins/maven-clean-plugin-1.2.jar +maven/plugins/maven-changelog-plugin-1.5.jar +maven/plugins/maven-changelog-plugin-1.6.jar +maven/plugins/maven-changelog-plugin-1.7.1.jar +maven/plugins/maven-changelog-plugin-1.7.2.jar +maven/plugins/maven-changelog-plugin-1.7.jar +maven/plugins/maven-changelog-plugin-1.8.1.jar +maven/plugins/maven-changelog-plugin-1.8.2.jar +maven/plugins/maven-changelog-plugin-1.8.jar +maven/plugins/maven-changelog-plugin-1.9.jar +maven/plugins/maven-changes-plugin-1.4.jar +maven/plugins/maven-changes-plugin-1.5.1.jar +maven/plugins/maven-changes-plugin-1.5.jar +maven/plugins/maven-clean-plugin-1.3.jar +maven/plugins/maven-changes-plugin-1.6.jar +maven/plugins/maven-checkstyle-plugin-2.4.1.jar +maven/plugins/maven-checkstyle-plugin-2.4.jar +maven/plugins/maven-checkstyle-plugin-2.5.jar +maven/plugins/maven-checkstyle-plugin-3.0.1.jar +maven/plugins/maven-checkstyle-plugin-3.0.jar +maven/plugins/maven-clean-plugin-1.4.jar +maven/plugins/maven-clover-plugin-1.10.jar +maven/plugins/maven-clover-plugin-1.11.jar +maven/plugins/maven-clover-plugin-1.5.jar +maven/plugins/maven-clover-plugin-1.6.jar +maven/plugins/maven-clover-plugin-1.7.jar +maven/plugins/maven-clover-plugin-1.8.jar +maven/plugins/maven-clover-plugin-1.9.1.jar +maven/plugins/maven-clover-plugin-1.9.jar +maven/plugins/maven-console-plugin-1.1.jar +maven/plugins/maven-console-plugin-1.2.jar +maven/plugins/maven-cruisecontrol-plugin-1.2.jar +maven/plugins/maven-cruisecontrol-plugin-1.3.jar +maven/plugins/maven-cruisecontrol-plugin-1.4.jar +maven/plugins/maven-cruisecontrol-plugin-1.5.jar +maven/plugins/maven-cruisecontrol-plugin-1.6.jar +maven/plugins/maven-cruisecontrol-plugin-1.7.jar +maven/plugins/maven-cruisecontrol-plugin-1.8.jar +maven/plugins/maven-dashboard-plugin-1.3.jar +maven/plugins/maven-developer-activity-plugin-1.5.1.jar +maven/plugins/maven-dashboard-plugin-1.4.jar +maven/plugins/maven-dashboard-plugin-1.5.jar +maven/plugins/maven-dashboard-plugin-1.6.jar +maven/plugins/maven-dashboard-plugin-1.7.jar +maven/plugins/maven-dashboard-plugin-1.8.jar +maven/plugins/maven-dashboard-plugin-1.9.jar +maven/plugins/maven-deploy-plugin-1.3.jar +maven/plugins/maven-developer-activity-plugin-1.5.2.jar +maven/plugins/maven-dist-plugin-1.5.jar +maven/plugins/maven-developer-activity-plugin-1.5.jar +maven/plugins/maven-developer-activity-plugin-1.6.jar +maven/plugins/maven-dist-plugin-1.6.1.jar +maven/plugins/maven-dist-plugin-1.6.jar +maven/plugins/maven-dist-plugin-1.7.jar +maven/plugins/maven-docbook-plugin-1.2.jar +maven/plugins/maven-ear-plugin-1.5.jar +maven/plugins/maven-ear-plugin-1.6.1.jar +maven/plugins/maven-ear-plugin-1.6.jar +maven/plugins/maven-ear-plugin-1.7.jar +maven/plugins/maven-ear-plugin-1.8.jar +maven/plugins/maven-ear-plugin-1.9.jar +maven/plugins/maven-eclipse-plugin-1.10.jar +maven/plugins/maven-eclipse-plugin-1.11.jar +maven/plugins/maven-eclipse-plugin-1.7.jar +maven/plugins/maven-eclipse-plugin-1.8.jar +maven/plugins/maven-eclipse-plugin-1.9.jar +maven/plugins/maven-ejb-plugin-1.4.jar +maven/plugins/maven-ejb-plugin-1.5.jar +maven/plugins/maven-ejb-plugin-1.6.jar +maven/plugins/maven-ejb-plugin-1.7.1.jar +maven/plugins/maven-ejb-plugin-1.7.2.jar +maven/plugins/maven-ejb-plugin-1.7.jar +maven/plugins/maven-faq-plugin-1.3.jar +maven/plugins/maven-faq-plugin-1.4.jar +maven/plugins/maven-faq-plugin-1.5.jar +maven/plugins/maven-faq-plugin-1.6.1.jar +maven/plugins/maven-file-activity-plugin-1.5.1.jar +maven/plugins/maven-faq-plugin-1.6.jar +maven/plugins/maven-file-activity-plugin-1.5.2.jar +maven/plugins/maven-genapp-plugin-2.3.jar +maven/plugins/maven-gump-plugin-1.3.jar +maven/plugins/maven-file-activity-plugin-1.5.jar +maven/plugins/maven-file-activity-plugin-1.6.jar +maven/plugins/maven-genapp-plugin-2.2.jar +maven/plugins/maven-gump-plugin-1.4.jar +maven/plugins/maven-gump-plugin-2.0.1.jar +maven/plugins/maven-gump-plugin-2.0.jar +maven/plugins/maven-hibernate-plugin-1.1.jar +maven/plugins/maven-hibernate-plugin-1.2.jar +maven/plugins/maven-hibernate-plugin-1.3.jar +maven/plugins/maven-html2xdoc-plugin-1.3.1.jar +maven/plugins/maven-idea-plugin-1.4.jar +maven/plugins/maven-html2xdoc-plugin-1.3.jar +maven/plugins/maven-html2xdoc-plugin-1.4.jar +maven/plugins/maven-idea-plugin-1.5.jar +maven/plugins/maven-idea-plugin-1.6.jar +maven/plugins/maven-jar-plugin-1.7.jar +maven/plugins/maven-j2ee-plugin-1.5.1.jar +maven/plugins/maven-j2ee-plugin-1.5.jar +maven/plugins/maven-jalopy-plugin-1.2.jar +maven/plugins/maven-jalopy-plugin-1.3.1.jar +maven/plugins/maven-jalopy-plugin-1.3.jar +maven/plugins/maven-jalopy-plugin-1.4.jar +maven/plugins/maven-jalopy-plugin-1.5.jar +maven/plugins/maven-jar-plugin-1.5.jar +maven/plugins/maven-jar-plugin-1.6.1.jar +maven/plugins/maven-jar-plugin-1.6.jar +maven/plugins/maven-jar-plugin-1.8.jar +maven/plugins/maven-java-plugin-1.4.jar +maven/plugins/maven-java-plugin-1.5.jar +maven/plugins/maven-java-plugin-1.6.jar +maven/plugins/maven-javacc-plugin-1.1.jar +maven/plugins/maven-jbuilder-plugin-1.5.jar +maven/plugins/maven-javacc-plugin-1.2.jar +maven/plugins/maven-javadoc-plugin-1.5.jar +maven/plugins/maven-javadoc-plugin-1.6.1.jar +maven/plugins/maven-javadoc-plugin-1.6.jar +maven/plugins/maven-javadoc-plugin-1.7.jar +maven/plugins/maven-javadoc-plugin-1.8.jar +maven/plugins/maven-jboss-plugin-1.5.jar +maven/plugins/maven-jcoverage-plugin-1.0.4.jar +maven/plugins/maven-jcoverage-plugin-1.0.5.jar +maven/plugins/maven-jcoverage-plugin-1.0.6.jar +maven/plugins/maven-jcoverage-plugin-1.0.7.jar +maven/plugins/maven-jcoverage-plugin-1.0.8.jar +maven/plugins/maven-jcoverage-plugin-1.0.9.jar +maven/plugins/maven-jdee-plugin-1.1.jar +maven/plugins/maven-jdepend-plugin-1.5.1.jar +maven/plugins/maven-jdepend-plugin-1.5.jar +maven/plugins/maven-jdepend-plugin-1.6.1.jar +maven/plugins/maven-jdepend-plugin-1.6.jar +maven/plugins/maven-jdeveloper-plugin-1.4.jar +maven/plugins/maven-jdiff-plugin-1.3.jar +maven/plugins/maven-jdiff-plugin-1.4.jar +maven/plugins/maven-jdiff-plugin-1.5.jar +maven/plugins/maven-jellydoc-plugin-1.3.1.jar +maven/plugins/maven-jellydoc-plugin-1.3.jar +maven/plugins/maven-jetty-plugin-1.1.jar +maven/plugins/maven-jira-plugin-1.1.1.jar +maven/plugins/maven-jira-plugin-1.1.2.jar +maven/plugins/maven-jira-plugin-1.1.jar +maven/plugins/maven-jira-plugin-1.2.jar +maven/plugins/maven-jira-plugin-1.3.jar +maven/plugins/maven-jnlp-plugin-1.3.jar +maven/plugins/maven-jnlp-plugin-1.4.1.jar +maven/plugins/maven-jnlp-plugin-1.4.jar +maven/plugins/maven-junit-doclet-plugin-1.2.jar +maven/plugins/maven-junit-report-plugin-1.5.1.jar +maven/plugins/maven-junit-report-plugin-1.5.jar +maven/plugins/maven-jxr-plugin-1.4.1.jar +maven/plugins/maven-jxr-plugin-1.4.2.jar +maven/plugins/maven-jxr-plugin-1.4.3.jar +maven/plugins/maven-jxr-plugin-1.4.jar +maven/plugins/maven-jxr-plugin-1.5.jar +maven/plugins/maven-latex-plugin-1.2.jar +maven/plugins/maven-latka-plugin-1.4.jar +maven/plugins/maven-latex-plugin-1.4.1.jar +maven/plugins/maven-latka-plugin-1.4.1.jar +maven/plugins/maven-license-plugin-1.2.jar +maven/plugins/maven-linkcheck-plugin-1.3.1.jar +maven/plugins/maven-linkcheck-plugin-1.4.jar +maven/plugins/maven-linkcheck-plugin-1.3.2.jar +maven/plugins/maven-linkcheck-plugin-1.3.3.jar +maven/plugins/maven-linkcheck-plugin-1.3.4.jar +maven/plugins/maven-linkcheck-plugin-1.3.jar +maven/plugins/maven-multichanges-plugin-1.1.jar +maven/plugins/maven-multichanges-plugin-1.2.jar +maven/plugins/maven-multiproject-plugin-1.3.1.jar +maven/plugins/maven-multiproject-plugin-1.3.jar +maven/plugins/maven-multiproject-plugin-1.4.1.jar +maven/plugins/maven-multiproject-plugin-1.4.jar +maven/plugins/maven-multiproject-plugin-1.5.jar +maven/plugins/maven-native-plugin-1.1.jar +maven/plugins/maven-native-plugin-1.2.jar +maven/plugins/maven-nsis-plugin-1.1.jar +maven/plugins/maven-nsis-plugin-2.0.jar +maven/plugins/maven-pdf-plugin-2.1.jar +maven/plugins/maven-pdf-plugin-2.2.1.jar +maven/plugins/maven-pdf-plugin-2.2.jar +maven/plugins/maven-pdf-plugin-2.3.jar +maven/plugins/maven-pdf-plugin-2.4.jar +maven/plugins/maven-pdf-plugin-2.5.jar +maven/plugins/maven-plugin-plugin-1.4.jar +maven/plugins/maven-plugin-plugin-1.5.1.jar +maven/plugins/maven-plugin-plugin-1.5.2.jar +maven/plugins/maven-plugin-plugin-1.5.jar +maven/plugins/maven-plugin-plugin-1.6.jar +maven/plugins/maven-plugin-plugin-1.7.jar +maven/plugins/maven-pmd-plugin-1.4.jar +maven/plugins/maven-pmd-plugin-1.5.jar +maven/plugins/maven-pmd-plugin-1.6.jar +maven/plugins/maven-pmd-plugin-1.7.jar +maven/plugins/maven-pmd-plugin-1.8.jar +maven/plugins/maven-pmd-plugin-1.9.jar +maven/plugins/maven-pom-plugin-1.4.1.jar +maven/plugins/maven-pom-plugin-1.4.jar +maven/plugins/maven-pom-plugin-1.5.jar +maven/plugins/maven-rar-plugin-1.0.jar +maven/plugins/maven-rar-plugin-1.1.jar +maven/plugins/maven-release-plugin-1.3.jar +maven/plugins/maven-release-plugin-1.4.1.jar +maven/plugins/maven-release-plugin-1.4.jar +maven/plugins/maven-repository-plugin-1.2.jar +maven/plugins/maven-scm-plugin-1.3.jar +maven/plugins/maven-scm-plugin-1.4.1.jar +maven/plugins/maven-scm-plugin-1.4.jar +maven/plugins/maven-scm-plugin-1.5-beta-2.jar +maven/plugins/maven-site-plugin-1.6.jar +maven/plugins/maven-site-plugin-1.7.jar +maven/plugins/maven-scm-plugin-1.5-beta-3.jar +maven/plugins/maven-scm-plugin-1.5.jar +maven/plugins/maven-scm-plugin-1.6.jar +maven/plugins/maven-shell-plugin-1.1.jar +maven/plugins/maven-simian-plugin-1.4.jar +maven/plugins/maven-simian-plugin-1.5.jar +maven/plugins/maven-simian-plugin-1.6.jar +maven/plugins/maven-site-plugin-1.5.1.jar +maven/plugins/maven-site-plugin-1.5.2.jar +maven/plugins/maven-site-plugin-1.5.jar +maven/plugins/maven-site-plugin-1.6.1.jar +maven/plugins/maven-source-plugin-1.0.jar +maven/plugins/maven-struts-plugin-1.3.jar +maven/plugins/maven-tasklist-plugin-2.3.jar +maven/plugins/maven-tasklist-plugin-2.4.jar +maven/plugins/maven-xdoc-plugin-1.9.2.jar +maven/plugins/maven-test-plugin-1.6.1.jar +maven/plugins/maven-test-plugin-1.6.2.jar +maven/plugins/maven-test-plugin-1.6.jar +maven/plugins/maven-test-plugin-1.7.jar +maven/plugins/maven-test-plugin-1.8.jar +maven/plugins/maven-tjdo-plugin-1.0.0.jar +maven/plugins/maven-uberjar-plugin-1.2.jar +maven/plugins/maven-vdoclet-plugin-1.2.jar +maven/plugins/maven-war-plugin-1.6.1.jar +maven/plugins/maven-war-plugin-1.6.2.jar +maven/plugins/maven-war-plugin-1.6.jar +maven/plugins/maven-webserver-plugin-2.0.jar +maven/plugins/maven-wizard-plugin-1.1.jar +maven/plugins/maven-xdoc-plugin-1.10.jar +maven/plugins/maven-xdoc-plugin-1.7.1.jar +maven/plugins/maven-xdoc-plugin-1.7.2.jar +maven/plugins/maven-xdoc-plugin-1.7.jar +maven/plugins/maven-xdoc-plugin-1.8.jar +maven/plugins/maven-xdoc-plugin-1.9.1.jar +maven/plugins/maven-changes-plugin-1.7.jar +maven/plugins/maven-xdoc-plugin-1.9.jar +maven/plugins/maven-genapp-plugin-2.3.1.jar +maven/plugins/maven-pom-plugin-1.5.1.jar +maven/plugins/maven-clover-plugin-1.11.1.jar +maven/plugins/maven-java-plugin-1.6.1.jar +maven/plugins/maven-jira-plugin-1.3.1.jar +maven/plugins/maven-simian-plugin-1.6.1.jar +maven/plugins/maven-clover-plugin-1.11.2.jar +maven/plugins/maven-jdiff-plugin-1.5.1.jar +maven/plugins/maven-pdf-plugin-2.5.1.jar +maven/plugins/maven-pmd-plugin-1.10.jar +maven/plugins/maven-scm-plugin-1.6.1.jar +maven/plugins/maven-site-plugin-1.7.1.jar +maven/plugins/maven-modello-plugin-1.0.jar +maven/plugins/maven-site-plugin-1.7.2.jar +maven/plugins/maven-announcement-plugin-1.4.1.jar +maven/plugins/maven-developer-activity-plugin-1.6.1.jar +maven/plugins/maven-file-activity-plugin-1.6.1.jar +maven/plugins/maven-plugin-plugin-1.7.1.jar +maven/plugins/maven-idea-plugin-1.7.jar +maven/plugins/maven-jalopy-plugin-1.5.1.jar +maven/plugins/maven-jar-plugin-1.8.1.jar +maven/plugins/maven-javadoc-plugin-1.9.jar +maven/plugins/maven-multichanges-plugin-1.3.jar +maven/plugins/maven-artifact-plugin-1.9.jar +maven/plugins/maven-changelog-plugin-1.9.2.jar +maven/plugins/maven-dist-plugin-1.7.1.jar +maven/plugins/maven-eclipse-plugin-1.12.jar +maven/plugins/maven-ejb-plugin-1.7.3.jar +maven/plugins/maven-linkcheck-plugin-1.4.1.jar +maven/plugins/maven-multiproject-plugin-1.5.1.jar +maven/plugins/maven-test-plugin-1.8.1.jar +maven/plugins/maven-war-plugin-1.6.3.jar +maven/plugins/maven-xdoc-plugin-1.10.1.jar +maven/plugins/maven-nsis-plugin-2.1.jar +maven/plugins/maven-artifact-plugin-1.9.1.jar +maven/plugins/maven-test-plugin-1.8.2.jar +maven/poms/commons-jelly-1.0.1-20060717.pom +maven/poms/maven-1.0.1.pom +maven/poms/maven-1.0-rc4.pom +maven/poms/maven-1.0.2.pom +maven/poms/maven-1.0.pom +maven/poms/maven-1.1-beta-3.pom +maven/poms/maven-abbot-plugin-1.0.pom +maven/poms/maven-abbot-plugin-1.1.pom +maven/poms/maven-announcement-plugin-1.2.pom +maven/poms/maven-announcement-plugin-1.3.pom +maven/poms/maven-1.1-RC1.pom +maven/poms/maven-announcement-plugin-1.4.pom +maven/poms/maven-ant-plugin-1.10.pom +maven/poms/maven-ant-plugin-1.8.1.pom +maven/poms/maven-ant-plugin-1.8.pom +maven/poms/maven-ant-plugin-1.9.pom +maven/poms/maven-antlr-plugin-1.2.1.pom +maven/poms/maven-model-3.0.0.pom +maven/poms/maven-antlr-plugin-1.2.2.pom +maven/poms/maven-artifact-plugin-1.3.pom +maven/poms/maven-artifact-plugin-1.4.1.pom +maven/poms/maven-artifact-plugin-1.4.pom +maven/poms/maven-artifact-plugin-1.5.1.pom +maven/poms/maven-artifact-plugin-1.5.2.pom +maven/poms/maven-artifact-plugin-1.5.pom +maven/poms/maven-artifact-plugin-1.6.pom +maven/poms/maven-model-3.0.1.pom +maven/poms/maven-artifact-plugin-1.7.pom +maven/poms/maven-artifact-plugin-1.8.pom +maven/poms/maven-aspectj-plugin-3.1.1.pom +maven/poms/maven-aspectj-plugin-3.2.pom +maven/poms/maven-aspectj-plugin-4.0.pom +maven/poms/maven-changelog-plugin-1.6.pom +maven/poms/maven-changelog-plugin-1.7.1.pom +maven/poms/maven-clean-plugin-1.4.pom +maven/poms/maven-changelog-plugin-1.7.2.pom +maven/poms/maven-changelog-plugin-1.7.pom +maven/poms/maven-changelog-plugin-1.8.1.pom +maven/poms/maven-changelog-plugin-1.9.pom +maven/poms/maven-changelog-plugin-1.8.2.pom +maven/poms/maven-changelog-plugin-1.8.pom +maven/poms/maven-changelog-plugin-1.9.1.pom +maven/poms/maven-changes-plugin-1.5.1.pom +maven/poms/maven-changes-plugin-1.5.pom +maven/poms/maven-changes-plugin-1.6.pom +maven/poms/maven-checkstyle-plugin-2.5.pom +maven/poms/maven-checkstyle-plugin-3.0.1.pom +maven/poms/maven-checkstyle-plugin-3.0.pom +maven/poms/maven-dashboard-plugin-1.5.pom +maven/poms/maven-clover-plugin-1.10.pom +maven/poms/maven-clover-plugin-1.11.pom +maven/poms/maven-clover-plugin-1.6.pom +maven/poms/maven-clover-plugin-1.7.pom +maven/poms/maven-clover-plugin-1.8.pom +maven/poms/maven-clover-plugin-1.9.1.pom +maven/poms/maven-clover-plugin-1.9.pom +maven/poms/maven-dist-plugin-1.6.1.pom +maven/poms/maven-console-plugin-1.2.pom +maven/poms/maven-cruisecontrol-plugin-1.4.pom +maven/poms/maven-cruisecontrol-plugin-1.5.pom +maven/poms/maven-cruisecontrol-plugin-1.6.pom +maven/poms/maven-cruisecontrol-plugin-1.7.pom +maven/poms/maven-cruisecontrol-plugin-1.8.pom +maven/poms/maven-dashboard-plugin-1.4.pom +maven/poms/maven-developer-activity-plugin-1.5.1.pom +maven/poms/maven-dashboard-plugin-1.6.pom +maven/poms/maven-dashboard-plugin-1.7.pom +maven/poms/maven-dashboard-plugin-1.8.pom +maven/poms/maven-dashboard-plugin-1.9.pom +maven/poms/maven-developer-activity-plugin-1.5.2.pom +maven/poms/maven-developer-activity-plugin-1.6.pom +maven/poms/maven-dist-plugin-1.6.pom +maven/poms/maven-dist-plugin-1.7.pom +maven/poms/maven-ear-plugin-1.6.1.pom +maven/poms/maven-ear-plugin-1.6.pom +maven/poms/maven-ear-plugin-1.7.pom +maven/poms/maven-ear-plugin-1.8.pom +maven/poms/maven-ear-plugin-1.9.pom +maven/poms/maven-ejb-plugin-1.5.pom +maven/poms/maven-eclipse-plugin-1.10.pom +maven/poms/maven-eclipse-plugin-1.11.pom +maven/poms/maven-eclipse-plugin-1.8.pom +maven/poms/maven-eclipse-plugin-1.9.pom +maven/poms/maven-ejb-plugin-1.6.pom +maven/poms/maven-ejb-plugin-1.7.1.pom +maven/poms/maven-ejb-plugin-1.7.2.pom +maven/poms/maven-ejb-plugin-1.7.pom +maven/poms/maven-faq-plugin-1.4.pom +maven/poms/maven-faq-plugin-1.5.pom +maven/poms/maven-faq-plugin-1.6.1.pom +maven/poms/maven-file-activity-plugin-1.5.1.pom +maven/poms/maven-faq-plugin-1.6.pom +maven/poms/maven-file-activity-plugin-1.5.2.pom +maven/poms/maven-file-activity-plugin-1.6.pom +maven/poms/maven-genapp-plugin-2.3.pom +maven/poms/maven-gump-plugin-1.4.pom +maven/poms/maven-gump-plugin-2.0.1.pom +maven/poms/maven-gump-plugin-2.0.pom +maven/poms/maven-hibernate-plugin-1.2.pom +maven/poms/maven-hibernate-plugin-1.3.pom +maven/poms/maven-html2xdoc-plugin-1.3.1.pom +maven/poms/maven-html2xdoc-plugin-1.4.pom +maven/poms/maven-idea-plugin-1.5.pom +maven/poms/maven-idea-plugin-1.6.pom +maven/poms/maven-j2ee-plugin-1.5.1.pom +maven/poms/maven-jalopy-plugin-1.3.1.pom +maven/poms/maven-jalopy-plugin-1.3.pom +maven/poms/maven-jalopy-plugin-1.4.pom +maven/poms/maven-jalopy-plugin-1.5.pom +maven/poms/maven-jar-plugin-1.6.1.pom +maven/poms/maven-jar-plugin-1.6.pom +maven/poms/maven-jar-plugin-1.7.pom +maven/poms/maven-jar-plugin-1.8.pom +maven/poms/maven-java-plugin-1.5.pom +maven/poms/maven-java-plugin-1.6.pom +maven/poms/maven-javacc-plugin-1.2.pom +maven/poms/maven-model-3.0.2.pom +maven/poms/maven-javadoc-plugin-1.6.1.pom +maven/poms/maven-javadoc-plugin-1.6.pom +maven/poms/maven-javadoc-plugin-1.7.pom +maven/poms/maven-javadoc-plugin-1.8.pom +maven/poms/maven-jcoverage-plugin-1.0.5.pom +maven/poms/maven-jcoverage-plugin-1.0.6.pom +maven/poms/maven-jcoverage-plugin-1.0.7.pom +maven/poms/maven-jelly-tags-1.0.1.pom +maven/poms/maven-jcoverage-plugin-1.0.8.pom +maven/poms/maven-jcoverage-plugin-1.0.9.pom +maven/poms/maven-jdepend-plugin-1.5.1.pom +maven/poms/maven-jdepend-plugin-1.6.1.pom +maven/poms/maven-jdepend-plugin-1.6.pom +maven/poms/maven-jdiff-plugin-1.5.pom +maven/poms/maven-jira-plugin-1.2-20051203.221911.pom +maven/poms/maven-jellydoc-plugin-1.3.1.pom +maven/poms/maven-jira-plugin-1.1.1.pom +maven/poms/maven-jira-plugin-1.1.2.pom +maven/poms/maven-jira-plugin-1.2.pom +maven/poms/maven-jira-plugin-1.3.pom +maven/poms/maven-jira-plugin-snapshot-version +maven/poms/maven-jnlp-plugin-1.4.1.pom +maven/poms/maven-jnlp-plugin-1.4.pom +maven/poms/maven-junit-report-plugin-1.5.1.pom +maven/poms/maven-jxr-plugin-1.4.1.pom +maven/poms/maven-jxr-plugin-1.4.2.pom +maven/poms/maven-jxr-plugin-1.4.3.pom +maven/poms/maven-jxr-plugin-1.5.pom +maven/poms/maven-latex-plugin-1.4.1.pom +maven/poms/maven-latka-plugin-1.4.1.pom +maven/poms/maven-linkcheck-plugin-1.3.2.pom +maven/poms/maven-linkcheck-plugin-1.3.3.pom +maven/poms/maven-native-plugin-1.2.pom +maven/poms/maven-linkcheck-plugin-1.3.4.pom +maven/poms/maven-linkcheck-plugin-1.4.pom +maven/poms/maven-multichanges-plugin-1.2.pom +maven/poms/maven-multiproject-plugin-1.3.1.pom +maven/poms/maven-multiproject-plugin-1.4.1.pom +maven/poms/maven-multiproject-plugin-1.4.pom +maven/poms/maven-multiproject-plugin-1.5.pom +maven/poms/maven-nsis-plugin-2.0.pom +maven/poms/maven-pdf-plugin-2.2.1.pom +maven/poms/maven-pdf-plugin-2.5.pom +maven/poms/maven-pdf-plugin-2.2.pom +maven/poms/maven-pdf-plugin-2.3.pom +maven/poms/maven-pdf-plugin-2.4.pom +maven/poms/maven-plugin-plugin-1.5.1.pom +maven/poms/maven-plugin-plugin-1.5.2.pom +maven/poms/maven-plugin-plugin-1.5.pom +maven/poms/maven-plugin-plugin-1.6.pom +maven/poms/maven-plugin-plugin-1.7.pom +maven/poms/maven-pmd-plugin-1.5.pom +maven/poms/maven-pmd-plugin-1.6.pom +maven/poms/maven-pmd-plugin-1.7.pom +maven/poms/maven-pmd-plugin-1.8.pom +maven/poms/maven-pmd-plugin-1.9.pom +maven/poms/maven-pom-plugin-1.5.pom +maven/poms/maven-rar-plugin-1.1.pom +maven/poms/maven-release-plugin-1.4.1.pom +maven/poms/maven-scm-plugin-1.4.1.pom +maven/poms/maven-scm-plugin-1.5-beta-2.pom +maven/poms/maven-scm-plugin-1.5-beta-3.pom +maven/poms/maven-scm-plugin-1.5.pom +maven/poms/maven-scm-plugin-1.6.pom +maven/poms/maven-simian-plugin-1.5.pom +maven/poms/maven-simian-plugin-1.6.pom +maven/poms/maven-site-plugin-1.5.1.pom +maven/poms/maven-site-plugin-1.5.2.pom +maven/poms/maven-site-plugin-1.6.1.pom +maven/poms/maven-site-plugin-1.6.pom +maven/poms/maven-site-plugin-1.7.pom +maven/poms/maven-source-plugin-1.0.pom +maven/poms/maven-tasklist-plugin-2.4.pom +maven/poms/maven-test-plugin-1.6.2.pom +maven/poms/maven-test-plugin-1.7.pom +maven/poms/maven-test-plugin-1.8.pom +maven/poms/maven-war-plugin-1.6.1.pom +maven/poms/maven-war-plugin-1.6.2.pom +maven/poms/maven-xdoc-plugin-1.10.pom +maven/poms/maven-xdoc-plugin-1.7.2.pom +maven/poms/maven-xdoc-plugin-1.8.pom +maven/poms/maven-xdoc-plugin-1.9.1.pom +maven/poms/maven-xdoc-plugin-1.9.2.pom +maven/poms/maven-xdoc-plugin-1.9.pom +maven/poms/velocity-1.5-20060721.044818.pom +maven/poms/maven-changes-plugin-1.7.pom +maven/poms/maven-genapp-plugin-2.3.1.pom +maven/poms/maven-pom-plugin-1.5.1.pom +maven/poms/maven-clover-plugin-1.11.1.pom +maven/poms/maven-java-plugin-1.6.1.pom +maven/poms/maven-jira-plugin-1.3.1.pom +maven/poms/maven-simian-plugin-1.6.1.pom +maven/poms/maven-clover-plugin-1.11.2.pom +maven/poms/maven-jdiff-plugin-1.5.1.pom +maven/poms/maven-pdf-plugin-2.5.1.pom +maven/poms/maven-pmd-plugin-1.10.pom +maven/poms/maven-scm-plugin-1.6.1.pom +maven/poms/maven-site-plugin-1.7.1.pom +maven/poms/maven-modello-plugin-1.0.pom +maven/poms/maven-site-plugin-1.7.2.pom +maven/poms/maven-announcement-plugin-1.4.1.pom +maven/poms/maven-developer-activity-plugin-1.6.1.pom +maven/poms/maven-file-activity-plugin-1.6.1.pom +maven/poms/maven-plugin-plugin-1.7.1.pom +maven/poms/maven-idea-plugin-1.7.pom +maven/poms/maven-jalopy-plugin-1.5.1.pom +maven/poms/maven-jar-plugin-1.8.1.pom +maven/poms/maven-javadoc-plugin-1.9.pom +maven/poms/maven-multichanges-plugin-1.3.pom +maven/poms/maven-artifact-plugin-1.9.pom +maven/poms/maven-changelog-plugin-1.9.2.pom +maven/poms/maven-dist-plugin-1.7.1.pom +maven/poms/maven-eclipse-plugin-1.12.pom +maven/poms/maven-ejb-plugin-1.7.3.pom +maven/poms/maven-linkcheck-plugin-1.4.1.pom +maven/poms/maven-multiproject-plugin-1.5.1.pom +maven/poms/maven-test-plugin-1.8.1.pom +maven/poms/maven-war-plugin-1.6.3.pom +maven/poms/maven-xdoc-plugin-1.10.1.pom +maven/poms/maven-nsis-plugin-2.1.pom +maven/poms/maven-artifact-plugin-1.9.1.pom +maven/poms/maven-1.1.pom +maven/poms/maven-test-plugin-1.8.2.pom +maven-new/jars/maven-fetch-20030525.145948.jar +maven-new/jars/maven-fetch-snapshot-version +maven-plugins/jars/maven-aptdoc-plugin-20030413.030249.jar +maven-plugins/jars/maven-aptdoc-plugin-snapshot-version +maven-plugins/jars/maven-dbunit-plugin-20030413.024213.jar +maven-plugins/jars/maven-dbunit-plugin-snapshot-version +maven-plugins/plugins/maven-dbunit-plugin-1.0.jar +maven-plugins/plugins/maven-dbunit-plugin-20030814.080708.jar +merlin/jars/merlin-api-3.3.0.jar +merlin/jars/merlin-cli-3.3.0.jar +merlin/jars/merlin-impl-3.3.0.jar +merlin/jars/merlin-unit-3.3.0.jar +merlin/plugins/merlin-plugin-3.3.0.jar +merlin-developer/jars/merlin-developer-core-snapshot-version +merlin-developer/jars/merlin-developer-core-0.1.jar +merlin-developer/jars/merlin-developer-core-20040423.083017.jar +merlin-tutorial/jars/locator-impl-1.0.jar +merlin-tutorial/jars/locator-api-1.0.jar +merlin-tutorial/jars/publisher-api-1.0.jar +merlin-tutorial/jars/publisher-impl-1.0.jar +muse/jars/2.0.0-M1/KEYS +muse/jars/2.0.0-M1/muse-core-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-platform-axis2-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-tools-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-util-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-util-xml-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-util-qname-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-util-xstream-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsa-soap-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-muws-adv-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-muws-adv-impl-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-muws-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsrf-impl-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-muws-impl-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-wef-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsdm-wef-impl-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsn-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsn-impl-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsrf-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsx-api-2.0.0-M1.jar +muse/jars/2.0.0-M1/muse-wsx-impl-2.0.0-M1.jar +muse/jars/advertiser-xbeans-src-1.0.jar +muse/jars/advertiser-xbeans-1.0.jar +muse/jars/wsdm-xbeans-1.0.jar +muse/jars/muse-1.0.jar +muse/jars/wsdm-xbeans-src-1.0.jar +myfaces/jars/myfaces-1.0.9/myfaces-impl-1.0.9.jar +myfaces/jars/myfaces-1.0.9/myfaces-1.0.9.jar +myfaces/jars/myfaces-1.0.9/myfaces-extensions-1.0.9.jar +myfaces/jars/myfaces-1.0.9/myfaces-jsf-api-1.0.9.jar +myfaces/jars/myfaces-1.0.9/myfaces-wap-1.0.9.jar +myfaces/jars/myfaces-1.0.9/myfaces-xdoclet-1.0.9.jar +myfaces/jars/myfaces-1.1.0/myfaces-impl.jar +myfaces/jars/myfaces-1.1.0/myfaces-all.jar +myfaces/jars/myfaces-1.1.0/myfaces-api.jar +myfaces/jars/myfaces-1.1.0/tomahawk.jar +myfaces/jars/myfaces-1.0.9.jar +myfaces/jars/myfaces-extensions-1.0.9.jar +myfaces/jars/myfaces-all-1.1.0.jar +myfaces/jars/myfaces-all-1.1.1.jar +myfaces/jars/myfaces-api-1.1.0.jar +myfaces/jars/myfaces-api-1.1.1.jar +myfaces/jars/myfaces-impl-1.0.9.jar +myfaces/jars/myfaces-impl-1.1.0.jar +myfaces/jars/myfaces-impl-1.1.1.jar +myfaces/jars/myfaces-jsf-api-1.0.8-beta.jar +myfaces/jars/myfaces-jsf-api-1.0.9.jar +myfaces/jars/myfaces-wap-1.0.9.jar +myfaces/jars/myfaces-xdoclet-1.0.9.jar +myfaces/jars/tomahawk-1.1.0.jar +myfaces/jars/tomahawk-1.1.1.jar +myfaces/poms/myfaces.pom +nekohtml/jars/nekohtml-0.6.5.jar +nekohtml/jars/nekohtml-0.7.1.jar +nekohtml/jars/nekohtml-0.7.4.jar +nekohtml/jars/nekohtml-0.7.6.jar +nekohtml/jars/nekohtml-0.7.7.jar +nekohtml/jars/nekohtml-0.8.1.jar +nekohtml/jars/nekohtmlSamples-0.7.1.jar +nekohtml/jars/nekohtmlSamples-0.7.7.jar +nekohtml/jars/nekohtmlSamples-0.8.1.jar +nekohtml/jars/nekohtmlXni-0.7.1.jar +nekohtml/jars/nekohtmlXni-0.7.6.jar +nekohtml/jars/nekohtmlXni-0.7.7.jar +nekohtml/jars/nekohtmlXni-0.8.1.jar +ojb/jars/db-ojb-1.0.0-tools.jar +ojb/jars/db-ojb-1.0.0.jar +ojb/jars/db-ojb-1.0.1.jar +ojb/jars/db-ojb-1.0.2.jar +ojb/jars/db-ojb-1.0.3.jar +ojb/jars/db-ojb-1.0.4.jar.MD5 +ojb/jars/db-ojb-1.0.4.jar +ojb/jars/db-ojb-1.0.rc5-tools.jar +ojb/jars/ojb-0.9.jar +ojb/jars/db-ojb-1.0.rc5.jar +ojb/jars/db-ojb-1.0.rc7.jar +ojb/jars/ojb-0.5.200.jar +ojb/jars/ojb-0.7.343.jar +ojb/jars/ojb-0.8.375.jar +ojb/jars/ojb-0.9.1.jar +ojb/jars/ojb-0.9.2.jar +ojb/jars/ojb-0.9.4.jar +ojb/jars/ojb-0.9.5.jar +ojb/jars/ojb-0.9.6-dev.jar +ojb/jars/ojb-0.9.6.jar +ojb/jars/ojb-1.0-dev-james-1.jar +ojb/jars/ojb-1.0.rc2.jar +ojb/jars/ojb-1.0.rc3.jar +ojb/jars/ojb-1.0.rc4.jar +ojb/jars/xdoclet-ojb-module-1.2.1.jar +ojb/jars/xdoclet-ojb-module-1.2.3.jar +ojb/jars/xdoclet-ojb-module-1.2.3.jar.MD5 +ojb/poms/db-ojb-1.0.4.pom.MD5 +ojb/poms/db-ojb-1.0.4.pom +ojb/poms/ojb-1.0.rc2.pom +org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.0/geronimo-activation_1.0.2_spec-1.0.jar +org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.0/geronimo-activation_1.0.2_spec-1.0.pom +org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-corba_3.0_spec/1.0/geronimo-corba_3.0_spec-1.0.jar +org/apache/geronimo/specs/geronimo-corba_3.0_spec/1.0/geronimo-corba_3.0_spec-1.0.pom +org/apache/geronimo/specs/geronimo-corba_3.0_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0/geronimo-ejb_2.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0/geronimo-ejb_2.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-ejb_2.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0/geronimo-j2ee-connector_1.5_spec-1.0.jar +org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0/geronimo-j2ee-connector_1.5_spec-1.0.pom +org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/1.0/geronimo-j2ee-deployment_1.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/1.0/geronimo-j2ee-deployment_1.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0/geronimo-j2ee-jacc_1.0_spec-1.0.jar +org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0/geronimo-j2ee-jacc_1.0_spec-1.0.pom +org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.jar +org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.pom +org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0/geronimo-jaxr_1.0_spec-1.0.jar +org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0/geronimo-jaxr_1.0_spec-1.0.pom +org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0/geronimo-jaxrpc_1.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0/geronimo-jaxrpc_1.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-jms_1.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.0/geronimo-jsp_2.0_spec-1.0.jar +org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.0/geronimo-jsp_2.0_spec-1.0.pom +org/apache/geronimo/specs/geronimo-jsp_2.0_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0/geronimo-jta_1.0.1B_spec-1.0.jar +org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0/geronimo-jta_1.0.1B_spec-1.0.pom +org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0/geronimo-qname_1.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0/geronimo-qname_1.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-qname_1.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0/geronimo-saaj_1.1_spec-1.0.jar +org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0/geronimo-saaj_1.1_spec-1.0.pom +org/apache/geronimo/specs/geronimo-saaj_1.1_spec/maven-metadata.xml +org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.0/geronimo-servlet_2.4_spec-1.0.jar +org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.0/geronimo-servlet_2.4_spec-1.0.pom +org/apache/geronimo/specs/geronimo-servlet_2.4_spec/maven-metadata.xml +org.apache.axis/jars/axis-1.4.jar +org.apache.axis/jars/axis-1.4.jar.sha +org.apache.axis/jars/axis-ant-1.4.jar +org.apache.axis/jars/axis-ant-1.4.jar.sha +org.apache.axis/jars/axis-jaxrpc-1.4.jar +org.apache.axis/jars/axis-jaxrpc-1.4.jar.sha +org.apache.axis/jars/axis-saaj-1.4.jar +org.apache.axis/jars/axis-saaj-1.4.jar.sha +org.apache.bcel/jars/bcel-5.2.jar +org.apache.beehive/jars/beehive-controls-1.0.1.jar +org.apache.beehive/jars/beehive-ejb-control-1.0.1.jar +org.apache.beehive/jars/beehive-jdbc-control-1.0.1.jar +org.apache.beehive/jars/beehive-jms-control-1.0.1.jar +org.apache.beehive/jars/beehive-netui-compiler-1.0.1.jar +org.apache.beehive/jars/beehive-netui-core-1.0.1.jar +org.apache.beehive/jars/beehive-netui-tags-1.0.1.jar +org.apache.beehive/poms/beehive-control-ejb-1.0.1.pom +org.apache.beehive/poms/beehive-control-jdbc-1.0.1.pom +org.apache.beehive/poms/beehive-control-jms-1.0.1.pom +org.apache.beehive/poms/beehive-controls-1.0.1.pom +org.apache.beehive/poms/beehive-netui-compiler-1.0.1.pom +org.apache.beehive/poms/beehive-netui-core-1.0.1.pom +org.apache.beehive/poms/beehive-netui-tags-1.0.1.pom +org.apache.derby/jars/derby-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_de_DE-10.1.1.0.jar +org.apache.derby/jars/derby-10.1.2.1.jar +org.apache.derby/jars/derby-10.1.3.1.jar +org.apache.derby/jars/derbyclient-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_de_DE-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_de_DE-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_es-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_es-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_es-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_fr-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_fr-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_fr-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_it-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_it-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_it-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_ja_JP-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_ja_JP-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_ja_JP-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_ko_KR-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_ko_KR-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_ko_KR-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_pt_BR-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_pt_BR-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_pt_BR-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_zh_CN-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_zh_CN-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_zh_CN-10.1.3.1.jar +org.apache.derby/jars/derbyLocale_zh_TW-10.1.1.0.jar +org.apache.derby/jars/derbyLocale_zh_TW-10.1.2.1.jar +org.apache.derby/jars/derbyLocale_zh_TW-10.1.3.1.jar +org.apache.derby/jars/derbyclient-10.1.2.1.jar +org.apache.derby/jars/derbyclient-10.1.3.1.jar +org.apache.derby/jars/derbynet-10.1.1.0.jar +org.apache.derby/jars/derbynet-10.1.2.1.jar +org.apache.derby/jars/derbynet-10.1.3.1.jar +org.apache.derby/jars/derbytools-10.1.1.0.jar +org.apache.derby/jars/derbytools-10.1.2.1.jar +org.apache.derby/jars/derbytools-10.1.3.1.jar +org.apache.derby/jars/derby-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_de_DE-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_es-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_fr-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_it-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_ja_JP-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_ko_KR-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_pt_BR-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_zh_CN-10.2.2.0.jar +org.apache.derby/jars/derbyLocale_zh_TW-10.2.2.0.jar +org.apache.derby/jars/derbyclient-10.2.2.0.jar +org.apache.derby/jars/derbynet-10.2.2.0.jar +org.apache.derby/jars/derbytools-10.2.2.0.jar +org.apache.derby/jars/derbyclient-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_cs-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_de_DE-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_es-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_fr-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_hu-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_it-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_ja_JP-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_ko_KR-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_pl-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_pt_BR-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_ru-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_zh_CN-10.3.1.4.jar +org.apache.derby/jars/derbyLocale_zh_TW-10.3.1.4.jar +org.apache.derby/jars/derby-10.3.1.4.jar +org.apache.derby/jars/derbynet-10.3.1.4.jar +org.apache.derby/jars/derbytools-10.3.1.4.jar +org.apache.derby/poms/derby-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_de_DE-10.1.1.0.pom +org.apache.derby/poms/derby-10.1.2.1.pom +org.apache.derby/poms/derby-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_de_DE-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_de_DE-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_es-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_es-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_es-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_fr-10.1.1.0.pom +org.apache.derby/poms/derbynet-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_fr-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_fr-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_it-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_it-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_it-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_ja_JP-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_ja_JP-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_ja_JP-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_ko_KR-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_ko_KR-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_ko_KR-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_pt_BR-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_pt_BR-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_pt_BR-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_zh_CN-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_zh_CN-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_zh_CN-10.1.3.1.pom +org.apache.derby/poms/derbyLocale_zh_TW-10.1.1.0.pom +org.apache.derby/poms/derbyLocale_zh_TW-10.1.2.1.pom +org.apache.derby/poms/derbyLocale_zh_TW-10.1.3.1.pom +org.apache.derby/poms/derbyclient-10.1.1.0.pom +org.apache.derby/poms/derbytools-10.1.2.1.pom +org.apache.derby/poms/derbyclient-10.1.2.1.pom +org.apache.derby/poms/derbyclient-10.1.3.1.pom +org.apache.derby/poms/derbynet-10.1.2.1.pom +org.apache.derby/poms/derbynet-10.1.3.1.pom +org.apache.derby/poms/derbytools-10.1.1.0.pom +org.apache.derby/poms/derbytools-10.1.3.1.pom +org.apache.derby/poms/derbywar-10.1.1.0.pom +org.apache.derby/poms/derbywar-10.1.2.1.pom +org.apache.derby/poms/derbywar-10.1.3.1.pom +org.apache.derby/poms/derby-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_de_DE-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_es-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_fr-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_it-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_ja_JP-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_ko_KR-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_pt_BR-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_zh_CN-10.2.2.0.pom +org.apache.derby/poms/derbyLocale_zh_TW-10.2.2.0.pom +org.apache.derby/poms/derbyclient-10.2.2.0.pom +org.apache.derby/poms/derbynet-10.2.2.0.pom +org.apache.derby/poms/derbytools-10.2.2.0.pom +org.apache.derby/poms/derbywar-10.2.2.0.pom +org.apache.derby/poms/derbyclient-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_cs-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_de_DE-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_es-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_fr-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_hu-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_it-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_ja_JP-10.3.1.4.pom +org.apache.derby/poms/derby-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_ko_KR-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_pl-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_pt_BR-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_ru-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_zh_CN-10.3.1.4.pom +org.apache.derby/poms/derbyLocale_zh_TW-10.3.1.4.pom +org.apache.derby/poms/derbynet-10.3.1.4.pom +org.apache.derby/poms/derbytools-10.3.1.4.pom +org.apache.derby/poms/derbywar-10.3.1.4.pom +org.apache.derby/wars/derbywar-10.1.1.0.war +org.apache.derby/wars/derbywar-10.1.2.1.war +org.apache.derby/wars/derbywar-10.1.3.1.war +org.apache.derby/wars/derbywar-10.2.2.0.war +org.apache.derby/wars/derbywar-10.3.1.4.war +org.apache.geronimo/jars/daytrader-core-1.0.jar +org.apache.geronimo/jars/daytrader-streamer-1.0.jar +org.apache.geronimo/jars/daytrader-wsappclient-1.0.jar +org.apache.geronimo/jars/geronimo-activation-1.0.jar +org.apache.geronimo/jars/geronimo-axis-1.0.jar +org.apache.geronimo/jars/geronimo-axis-builder-1.0.jar +org.apache.geronimo/jars/geronimo-client-1.0.jar +org.apache.geronimo/jars/geronimo-client-builder-1.0.jar +org.apache.geronimo/jars/geronimo-common-1.0.jar +org.apache.geronimo/jars/geronimo-connector-1.0.jar +org.apache.geronimo/jars/geronimo-connector-builder-1.0.jar +org.apache.geronimo/jars/geronimo-console-core-1.0.jar +org.apache.geronimo/jars/geronimo-console-web-1.0.jar +org.apache.geronimo/jars/geronimo-converter-1.0.jar +org.apache.geronimo/jars/geronimo-core-1.0.jar +org.apache.geronimo/jars/geronimo-daytrader-derby-db-1.0.jar +org.apache.geronimo/jars/geronimo-deploy-config-1.0.jar +org.apache.geronimo/jars/geronimo-deploy-jsr88-1.0.jar +org.apache.geronimo/jars/geronimo-deploy-tool-1.0.jar +org.apache.geronimo/jars/geronimo-deployment-1.0.jar +org.apache.geronimo/jars/geronimo-derby-1.0.jar +org.apache.geronimo/jars/geronimo-directory-1.0.jar +org.apache.geronimo/jars/geronimo-hot-deploy-1.0.jar +org.apache.geronimo/jars/geronimo-j2ee-1.0.jar +org.apache.geronimo/jars/geronimo-j2ee-builder-1.0.jar +org.apache.geronimo/jars/geronimo-j2ee-schema-1.0.jar +org.apache.geronimo/jars/geronimo-javamail-transport-1.0.jar +org.apache.geronimo/jars/geronimo-jetty-1.0.jar +org.apache.geronimo/jars/geronimo-jetty-builder-1.0.jar +org.apache.geronimo/jars/geronimo-jmxremoting-1.0.jar +org.apache.geronimo/jars/geronimo-kernel-1.0.jar +org.apache.geronimo/jars/geronimo-mail-1.0.jar +org.apache.geronimo/jars/geronimo-management-1.0.jar +org.apache.geronimo/jars/geronimo-naming-1.0.jar +org.apache.geronimo/jars/geronimo-naming-builder-1.0.jar +org.apache.geronimo/jars/geronimo-remote-deploy-lib-1.0.jar +org.apache.geronimo/jars/geronimo-scripts-1.0.jar +org.apache.geronimo/jars/geronimo-security-1.0.jar +org.apache.geronimo/jars/geronimo-security-builder-1.0.jar +org.apache.geronimo/jars/geronimo-service-builder-1.0.jar +org.apache.geronimo/jars/geronimo-system-1.0.jar +org.apache.geronimo/jars/geronimo-test-ddbean-1.0.jar +org.apache.geronimo/jars/geronimo-timer-1.0.jar +org.apache.geronimo/jars/geronimo-tomcat-1.0.jar +org.apache.geronimo/jars/geronimo-tomcat-builder-1.0.jar +org.apache.geronimo/jars/geronimo-transaction-1.0.jar +org.apache.geronimo/jars/geronimo-uddi-db-1.0.jar +org.apache.geronimo/jars/geronimo-util-1.0.jar +org.apache.geronimo/jars/geronimo-web-builder-1.0.jar +org.apache.geronimo/jars/geronimo-webservices-1.0.jar +org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.1.jar +org.apache.geronimo.specs/jars/geronimo-commonj_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.1.jar +org.apache.geronimo.specs/jars/geronimo-corba_3.0_spec-1.1.jar +org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.1.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.1.jar +org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.1.jar +org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.jar +org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.jar.sha +org.apache.geronimo.specs/jars/geronimo-annotation_1.0_spec-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-core-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-core-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-index-filters-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-core-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-index-filters-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.0.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.0.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-core-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-index-filters-1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jca-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-index-filters-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.1.1.jar +org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.1.1.jar +org.apache.jackrabbit/java-sources/jackrabbit-core-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-core-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jca-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jca-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-core-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-server-1.0-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-server-1.0.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-server-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jca-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-server-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-core-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jca-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.1.1-sources.jar +org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.1.1-sources.jar +org.apache.jackrabbit/poms/jackrabbit-core-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-core-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-index-filters-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-core-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-index-filters-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-server-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jca-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jca-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-server-1.0.1.pom +org.apache.jackrabbit/poms/jackrabbit-server-1.0.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jca-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-index-filters-1.1.pom +org.apache.jackrabbit/poms/jackrabbit-core-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-index-filters-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jca-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.1.1.pom +org.apache.jackrabbit/poms/jackrabbit-server-1.1.1.pom +org.apache.jackrabbit/rars/jackrabbit-jca-1.0.1.rar +org.apache.jackrabbit/rars/jackrabbit-jca-1.0.rar +org.apache.jackrabbit/rars/jackrabbit-jca-1.1.rar +org.apache.jackrabbit/rars/jackrabbit-jca-1.1.1.rar +org.apache.jackrabbit/wars/jackrabbit-server-1.0.1.war +org.apache.jackrabbit/wars/jackrabbit-server-1.0.war +org.apache.jackrabbit/wars/jackrabbit-server-1.1.war +org.apache.jackrabbit/wars/jackrabbit-server-1.1.1.war +org.apache.jdo/jars/jdo2-core-2.0-beta.jar +org.apache.jdo/jars/jdo2-core-2.0-rc1.jar +org.apache.jdo/jars/jdo2-core-2.0.jar +org.apache.jdo/jars/jdo2-enhancer-2.0-beta.jar +org.apache.jdo/jars/jdo2-enhancer-2.0-rc1.jar +org.apache.jdo/jars/jdo2-enhancer-2.0.jar +org.apache.jdo/jars/jdo2-tck-2.0-rc1.jar +org.apache.jdo/poms/jdo2-core-2.0-beta.pom +org.apache.jdo/poms/jdo2-core-2.0-rc1.pom +org.apache.jdo/poms/jdo2-core-2.0.pom +org.apache.jdo/poms/jdo2-enhancer-2.0-beta.pom +org.apache.jdo/poms/jdo2-enhancer-2.0-rc1.pom +org.apache.jdo/poms/jdo2-enhancer-2.0.pom +org.apache.jdo/poms/jdo2-tck-2.0-rc1.pom +org.apache.maven/jars/maven-artifact-ant-2.0-alpha-1-dep.jar +org.apache.maven/jars/maven-artifact-ant-2.0-alpha-2-dep.jar +org.apache.maven/jars/maven-artifact-ant-2.0-alpha-3-dep.jar +org.apache.maven/jars/maven-artifact-ant-2.0-beta-1-dep.jar +org.apache.maven/jars/maven-artifact-ant-2.0-beta-2-dep.jar +org.apache.maven/jars/maven-model-v3-2.0.jar +org.apache.maven/poms/maven-model-v3-2.0.pom +org.apache.pluto/jars/pluto-1.0.1-rc4.jar +org.apache.pluto/jars/pluto-deploy-1.0.1-rc4.jar +org.apache.pluto/jars/pluto-1.0.1.jar +org.apache.pluto/jars/pluto-deploy-1.0.1.jar +org.apache.pluto/jars/pluto-descriptors-1.0.1-rc4.jar +org.apache.pluto/jars/pluto-descriptors-1.0.1.jar +org.apache.pluto/jars/pluto-portal-1.0.1-rc4.jar +org.apache.pluto/jars/pluto-portal-1.0.1.jar +org.apache.portals.bridges/jars/portals-bridges-common-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-frameworks-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-jsf-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-perl-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-php-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-portletfilter-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-struts-1.2.4-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-struts-1.2.7-1.0.jar +org.apache.portals.bridges/jars/portals-bridges-velocity-1.0.jar +org.apache.portals.jetspeed-2/jars/content-server-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/content-server-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-api-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-api-2.0.1.jar +org.apache.portals.jetspeed-2/jars/jetspeed-api-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-capability-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-capability-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-cm-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-cm-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-commons-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-commons-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-sso-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-statistics-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-components-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-components-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-deploy-tools-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-deploy-tools-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-file-cache-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-file-cache-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-header-resource-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-header-resource-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-id-generator-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-id-generator-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-importer-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-layout-portlets-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-locator-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-locator-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-page-manager-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-page-manager-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portal-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portal-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portal-site-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portal-site-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portlet-factory-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-portlet-factory-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-prefs-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-prefs-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-profiler-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-profiler-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-rdbms-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-rdbms-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-registry-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-registry-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-rewriter-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-rewriter-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-rss-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-search-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-search-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-security-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-security-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-security-schema-2.0.jar +org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-security-schema-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-serializer-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-sso-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-statistics-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-web-content-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed-web-content-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed-webapp-logging-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/jetspeed2-taglib-treecontrol-2.0.jar +org.apache.portals.jetspeed-2/jars/jetspeed2-taglib-treecontrol-2.1-dev.jar +org.apache.portals.jetspeed-2/jars/portals-gems-2.0.jar +org.apache.portals.jetspeed-2/jars/portals-gems-2.1-dev.jar +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/META-INF/MANIFEST.MF +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/HSQLServerThread.class +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/HSQLServer.class +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/ScriptUtil.class +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/apacheds/apacheds-server.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/apacheds/j2-apacheds.ldif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jboss-login-config.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-ds.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-mysql-ds.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-oracle-ds.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/tomcat/jetspeed-tomcat-5.5.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/tomcat/jetspeed-tomcat-5.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/OJB-logging.properties +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/OJB.properties +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository.dtd +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository_database.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository_internal.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase3ojb-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase1-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase2-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/prefs-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/registry-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/security-schema.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/velocity.log +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/velocity.log.1 +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase3ojb-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase1-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase2-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/prefs-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/registry-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/security-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/portal-drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/registry-drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/prefs-drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/populate-userinfo-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/security-drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/schema/phase2-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/schema/security-schema.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/populate-userinfo-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/populate-entities-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/populate-userinfo-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/oracle/drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/oracle/populate-userinfo-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/xml/README.txt +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/xml/populate-db-default.xml +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/drop.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/populate-db-default.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/populate-userinfo-for-default-psml.sql +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_definitions.ajax +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_apps.ajax +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_entities.ajax +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_entity.ajax +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/customize.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/close.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_error_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/edit.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/help.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowfolderclosed1_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowdoc_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/leftnavbg.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/info.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowfolderopen2_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_info_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_success_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_warning_sml.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/info1.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/maximized.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/minimized.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/nw_maj_rond.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/print.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/restore.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/sw_med_rond.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/view.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.3-Messages.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.1-Links.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.2-Fonts.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.4-Sections.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.5-Forms.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.6-Menus-Arrow.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.6-Menus.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.All.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/data-scroller.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/database-browser.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/html-tables.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/portal-standard.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/standard-columns.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/tree-component.css +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/images/movePortletDown.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/images/close.gif +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev.jar +org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.0.jar +org.apache.portals.jetspeed-2/wars/demo-2.1-dev.war +org.apache.portals.jetspeed-2/wars/demo-2.0.war +org.apache.portals.jetspeed-2/wars/j2-admin-2.1-dev.war +org.apache.portals.jetspeed-2/wars/j2-admin-2.0.war +org.apache.portals.jetspeed-2/wars/jetspeed-2.1-dev.war +org.apache.portals.jetspeed-2/wars/jetspeed-2.0.war +org.apache.portals.jetspeed-2/wars/jetspeed-layouts-2.1-dev.war +org.apache.portals.jetspeed-2/wars/jetspeed-layouts-2.0.war +org.apache.portals.jetspeed-2/wars/portals-gems-2.1-dev.war +org.apache.portals.jetspeed-2/wars/portals-gems-2.0.war +org.apache.portals.jetspeed-2/wars/rss-2.1-dev.war +org.apache.portals.jetspeed-2/wars/rss-2.0.war +org.apache.ws.commons/jars/XmlSchema-1.0.1.jar +org.apache.ws.commons/jars/XmlSchema-1.0.2.jar +org.apache.ws.commons/jars/XmlSchema-1.0.3.jar +org.apache.ws.commons/jars/XmlSchema-1.2.jar +org.apache.ws.commons/jars/XmlSchema-1.0.jar +org.apache.ws.commons/poms/XmlSchema-1.0.1.pom +org.apache.ws.commons/poms/XmlSchema-1.0.2.pom +org.apache.ws.commons/poms/XmlSchema-1.0.3.pom +org.apache.ws.commons/poms/XmlSchema-SNAPSHOT.pom +org.apache.ws.commons/poms/maven-metadata.xml +org.apache.xbean/jars/xbean-classpath-2.3.jar +org.apache.xbean/jars/xbean-classpath-2.4.jar +org.apache.xbean/jars/xbean-finder-2.4.jar +org.apache.xbean/jars/xbean-jaxb-2.4.jar +org.apache.xbean/jars/xbean-kernel-2.3.jar +org.apache.xbean/jars/xbean-kernel-2.4.jar +org.apache.xbean/jars/xbean-osgi-2.3.jar +org.apache.xbean/jars/xbean-osgi-2.4.jar +org.apache.xbean/jars/xbean-reflect-2.3.jar +org.apache.xbean/jars/xbean-reflect-2.4.jar +org.apache.xbean/jars/xbean-server-2.3.jar +org.apache.xbean/jars/xbean-server-2.4.jar +org.apache.xbean/jars/xbean-spring-2.3.jar +org.apache.xbean/jars/xbean-spring-2.4.jar +org.apache.xbean/jars/xbean-spring-common-2.4.jar +org.apache.xbean/jars/xbean-tiger-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-124-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-125-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-126-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-127-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-128-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-20m5-2.4.jar +org.apache.xbean/jars/xbean-spring-itests-core-2.4.jar +org.apache.xbean/jars/xbean-spring-v1-2.4.jar +org.apache.xbean/jars/xbean-spring-v2-2.4.jar +org.apache.xbean/jars/xbean-telnet-2.3.jar +org.apache.xbean/jars/xbean-telnet-2.4.jar +org.apache.xbean/jars/xbean-tiger-2.3.jar +org.apache.xbean/maven-plugins/maven-xbean-plugin-2.3.jar +org.apache.xbean/poms/xbean-2.3.pom +org.apache.xbean/poms/maven-metadata-mavenOneRepository.xml +org.apache.xbean/poms/maven-metadata.xml +org.apache.xbean/poms/maven-xbean-plugin-2.3.pom +org.apache.xbean/poms/xbean-classpath-2.3.pom +org.apache.xbean/poms/xbean-kernel-2.3.pom +org.apache.xbean/poms/xbean-osgi-2.3.pom +org.apache.xbean/poms/xbean-reflect-2.3.pom +org.apache.xbean/poms/xbean-server-2.3.pom +org.apache.xbean/poms/xbean-spring-2.3.pom +org.apache.xbean/poms/xbean-telnet-2.3.pom +org.apache.xbean/poms/xbean-tiger-2.3.pom +org.apache.xbean/KEYS +oro/jars/oro-2.0.6.jar +oro/jars/oro-2.0.7.jar +oro/jars/oro-2.0.8.jar +pluto-container/jars/pluto-0.46.jar +poi/jars/poi-1.8.0-dev-20020919.jar +poi/jars/poi-2.0-final-20040126.jar +poi/jars/poi-2.5-final-20040302.jar +poi/jars/poi-2.5.1-final-20040804.jar +poi/jars/poi-3.0-alpha2-sources.jar +poi/jars/poi-3.0-alpha3-sources.jar +poi/jars/poi-3.0-alpha2.jar +poi/jars/poi-contrib-2.0-final-20040126.jar +poi/jars/poi-contrib-2.5-final-20040302.jar +poi/jars/poi-contrib-2.5.1-final-20040804.jar +poi/jars/poi-scratchpad-2.0-final-20040126.jar +poi/jars/poi-3.0-alpha3.jar +poi/jars/poi-scratchpad-2.5-final-20040302.jar +poi/jars/poi-scratchpad-2.5.1-final-20040804.jar +poi/jars/poi-3.0-FINAL.jar +poi/jars/poi-3.0-FINAL-sources.jar +poi/poms/poi-1.8.0-dev-20020919.pom +poi/poms/poi-2.0-final-20040126.pom +poi/poms/poi-2.5-final-20040302.pom +poi/poms/poi-2.5.1-final-20040804.pom +poi/poms/poi-3.0-alpha2.pom +poi/poms/poi-3.0-alpha3.pom +poi/poms/poi-contrib-2.0-final-20040126.pom +poi/poms/poi-contrib-2.5-final-20040302.pom +poi/poms/poi-contrib-2.5.1-final-20040804.pom +poi/poms/poi-scratchpad-2.0-final-20040126.pom +poi/poms/poi-scratchpad-2.5-final-20040302.pom +poi/poms/poi-scratchpad-2.5.1-final-20040804.pom +poi/poms/poi-3.0-FINAL.pom +poi/poms/poi-3.0-FINAL.pom.bak +poi/poms/poi-3.0.1-FINAL.pom +poi/poms/poi-scratchpad-3.0.1-FINAL.pom +poi/poms/poi-contrib-3.0.1-FINAL.pom +pubscribe/jars/submgr-xbeans-1.0.jar +pubscribe/jars/pubscribe-1.0.jar +pubscribe/jars/pubscribe-1.1.jar +pubscribe/jars/submgr-xbeans-src-1.0.jar +pubscribe/jars/wse-xbeans-1.0.jar +pubscribe/jars/wse-xbeans-src-1.0.jar +pubscribe/jars/wsn-xbeans-1.0.jar +pubscribe/jars/wsn-xbeans-src-1.0.jar +sandesha/Sandesha-1.0-RC1.jar +servletapi/jars/servlet-api-2.4-20040521.jar +servletapi/jars/jsp-api-2.4-20040521.jar +slide/jars/catalinawrapper-2.1M1.jar +slide/jars/ant-webdav-2.1M1.jar +slide/jars/catalinawrapper-2.0.jar +slide/jars/jdk14logger-2.0.jar +slide/jars/jaas-2.1M1.jar +slide/jars/jdk14logger-2.1M1.jar +slide/jars/kernel-2.0.jar +slide/jars/kernel-2.1M1.jar +slide/jars/log4jlogger-2.0.jar +slide/jars/log4jlogger-2.1M1.jar +slide/jars/roles-2.0.jar +slide/jars/roles-2.1M1.jar +slide/jars/slide-kernel-2.1.jar +slide/jars/stores-2.1M1.jar +slide/jars/stores-2.0.jar +slide/jars/slide-stores-2.1.jar +slide/jars/slide-webdavlib-2.1.jar +slide/jars/slide-webdavservlet-2.1.jar +slide/jars/webdavlib-2.0beta1.jar +slide/jars/webdavlib-2.0.jar +slide/jars/webdavlib-2.1M1.jar +slide/jars/webdavlib-2.2-20050624.203112.jar +slide/jars/webdavservlet-2.0.jar +slide/jars/webdavservlet-2.1M1.jar +slide/jars/webdavservlet-2.2-20050624.203112.jar +stratum/distributions/stratum-1.0-src.tar.gz +stratum/distributions/stratum-1.0-src.zip +stratum/distributions/stratum-1.0.tar.gz +stratum/distributions/stratum-1.0.zip +stratum/jars/stratum-1.0-b5.jar +stratum/jars/stratum-1.0.jar +stratum/poms/stratum-1.0-b5.pom +stratum/poms/stratum-1.0.pom +struts/jars/struts-1.0.2.jar +struts/jars/struts-1.1-b2-20021124.jar +struts/jars/struts-1.1-b3.jar +struts/jars/struts-1.1-beta-2.jar +struts/jars/struts-1.1-rc2.jar +struts/jars/struts-1.1.jar +struts/jars/struts-1.2.2.jar +struts/jars/struts-1.2.4.jar +struts/jars/struts-1.2.7.jar +struts/jars/struts-1.2.8.jar +struts/jars/struts-1.2.9.jar +struts/jars/struts-el-1.1.jar +struts/jars/struts-el-1.2.4.jar +struts/jars/struts-el-1.2.7.jar +struts/jars/struts-el-1.2.8.jar +struts/jars/struts-el-1.2.9.jar +struts/jars/struts-legacy-1.1.jar +struts/jars/struts-scripting-1.0.1.jar +struts/poms/struts-1.2.4.pom +struts/poms/struts-1.2.7.pom +struts/poms/struts-1.2.8-el.pom +struts/poms/struts-1.2.8.pom +struts/poms/struts-1.2.9.pom +struts/poms/struts-el-1.2.6.pom +struts/poms/struts-scripting-1.0.1.pom +struts/poms/struts-el-1.2.9.pom +struts/tlds/struts-bean-1.1-rc1.tld +struts/tlds/struts-bean-1.1-rc2.tld +struts/tlds/struts-bean-1.2.2.tld +struts/tlds/struts-bean-1.2.4.tld +struts/tlds/struts-bean-1.2.7.tld +struts/tlds/struts-bean-1.2.8.tld +struts/tlds/struts-bean-el-1.2.2.tld +struts/tlds/struts-bean-el-1.2.4.tld +struts/tlds/struts-bean-el-1.2.7.tld +struts/tlds/struts-bean-el-1.2.8.tld +struts/tlds/struts-html-1.1-rc1.tld +struts/tlds/struts-html-1.1-rc2.tld +struts/tlds/struts-html-1.2.2.tld +struts/tlds/struts-html-1.2.4.tld +struts/tlds/struts-html-1.2.7.tld +struts/tlds/struts-html-1.2.8.tld +struts/tlds/struts-html-el-1.2.2.tld +struts/tlds/struts-html-el-1.2.4.tld +struts/tlds/struts-html-el-1.2.7.tld +struts/tlds/struts-html-el-1.2.8.tld +struts/tlds/struts-logic-1.1-rc1.tld +struts/tlds/struts-logic-1.1-rc2.tld +struts/tlds/struts-logic-1.2.2.tld +struts/tlds/struts-logic-1.2.4.tld +struts/tlds/struts-logic-1.2.7.tld +struts/tlds/struts-logic-1.2.8.tld +struts/tlds/struts-logic-el-1.2.2.tld +struts/tlds/struts-logic-el-1.2.4.tld +struts/tlds/struts-logic-el-1.2.7.tld +struts/tlds/struts-logic-el-1.2.8.tld +struts/tlds/struts-nested-1.1-rc1.tld +struts/tlds/struts-nested-1.1-rc2.tld +struts/tlds/struts-nested-1.2.2.tld +struts/tlds/struts-nested-1.2.4.tld +struts/tlds/struts-nested-1.2.7.tld +struts/tlds/struts-nested-1.2.8.tld +struts/tlds/struts-template-1.1-rc1.tld +struts/tlds/struts-tiles-1.1-rc1.tld +struts/tlds/struts-tiles-1.1-rc2.tld +struts/tlds/struts-tiles-1.2.2.tld +struts/tlds/struts-tiles-1.2.4.tld +struts/tlds/struts-tiles-1.2.7.tld +struts/tlds/struts-tiles-1.2.8.tld +struts/tlds/struts-tiles-el-1.2.2.tld +struts/tlds/struts-tiles-el-1.2.4.tld +struts/tlds/struts-tiles-el-1.2.7.tld +struts/tlds/struts-tiles-el-1.2.8.tld +taglibs/jars/application-1.0.1.jar +taglibs/jars/benchmark-1.0.jar +taglibs/jars/datetime-1.0.1.jar +taglibs/jars/dbtags-1.0.0.jar +taglibs/jars/log-1.0.jar +taglibs/jars/mailer-1.1.jar +taglibs/jars/page-1.0.1.jar +taglibs/jars/random-1.0.1.jar +taglibs/jars/random-1.0.2.jar +taglibs/jars/regexp-1.0.1.jar +taglibs/jars/request-1.0.1.jar +taglibs/jars/response-1.0.1.jar +taglibs/jars/session-1.0.1.jar +taglibs/jars/standard-1.0.1.jar +taglibs/jars/standard-1.0.2.jar +taglibs/jars/standard-1.0.3.jar +taglibs/jars/standard-1.0.4.jar +taglibs/jars/standard-1.0.5.jar +taglibs/jars/standard-1.0.6.jar +taglibs/jars/standard-1.0.jar +taglibs/jars/standard-1.1.0.jar +taglibs/jars/standard-1.1.1.jar +taglibs/jars/string-1.0.jar +taglibs/jars/standard-1.1.2.jar +taglibs/jars/string-1.0.1.jar +taglibs/jars/string-1.1.0.jar +taglibs/jars/xsl-1.0.1.jar +taglibs/tlds/permittedTaglibs-1.1.0.tld +taglibs/tlds/application-1.0.1.tld +taglibs/tlds/benchmark-1.0.tld +taglibs/tlds/c-1.0.1.tld +taglibs/tlds/c-1.0.2.tld +taglibs/tlds/c-1.0.3.tld +taglibs/tlds/c-1.0.4.tld +taglibs/tlds/c-1.0.5.tld +taglibs/tlds/c-1.0.6.tld +taglibs/tlds/c-1.0.tld +taglibs/tlds/c-1.1.0.tld +taglibs/tlds/c-1.1.1.tld +taglibs/tlds/c-1.1.2.tld +taglibs/tlds/c-rt-1.0.1.tld +taglibs/tlds/c-rt-1.0.2.tld +taglibs/tlds/c-rt-1.0.3.tld +taglibs/tlds/c-rt-1.0.4.tld +taglibs/tlds/c-rt-1.0.5.tld +taglibs/tlds/c-rt-1.0.6.tld +taglibs/tlds/c-rt-1.0.tld +taglibs/tlds/fmt-1.0.tld +taglibs/tlds/datetime-1.0.1.tld +taglibs/tlds/dbtags-1.0.0.tld +taglibs/tlds/fmt-1.0.1.tld +taglibs/tlds/fmt-1.0.2.tld +taglibs/tlds/fmt-1.0.3.tld +taglibs/tlds/fmt-1.0.4.tld +taglibs/tlds/fmt-1.0.5.tld +taglibs/tlds/fmt-1.0.6.tld +taglibs/tlds/fmt-1.1.0.tld +taglibs/tlds/fmt-1.1.1.tld +taglibs/tlds/fmt-1.1.2.tld +taglibs/tlds/fmt-rt-1.0.1.tld +taglibs/tlds/fmt-rt-1.0.2.tld +taglibs/tlds/fmt-rt-1.0.3.tld +taglibs/tlds/fmt-rt-1.0.4.tld +taglibs/tlds/fmt-rt-1.0.5.tld +taglibs/tlds/fmt-rt-1.0.6.tld +taglibs/tlds/fmt-rt-1.0.tld +taglibs/tlds/fn-1.1.0.tld +taglibs/tlds/fn-1.1.1.tld +taglibs/tlds/log-1.0.tld +taglibs/tlds/mailer-1.1.tld +taglibs/tlds/page-1.0.1.tld +taglibs/tlds/sql-rt-1.0.1.tld +taglibs/tlds/permittedTaglibs-1.1.1.tld +taglibs/tlds/random-1.0.1.tld +taglibs/tlds/random-1.0.2.tld +taglibs/tlds/regexp-1.0.1.tld +taglibs/tlds/request-1.0.1.tld +taglibs/tlds/response-1.0.1.tld +taglibs/tlds/scriptfree-1.1.0.tld +taglibs/tlds/scriptfree-1.1.1.tld +taglibs/tlds/session-1.0.1.tld +taglibs/tlds/sql-1.0.1.tld +taglibs/tlds/sql-1.0.2.tld +taglibs/tlds/sql-1.0.3.tld +taglibs/tlds/sql-1.0.4.tld +taglibs/tlds/sql-1.0.5.tld +taglibs/tlds/sql-1.0.6.tld +taglibs/tlds/sql-1.0.tld +taglibs/tlds/sql-1.1.0.tld +taglibs/tlds/sql-1.1.1.tld +taglibs/tlds/sql-1.1.2.tld +taglibs/tlds/sql-rt-1.0.2.tld +taglibs/tlds/sql-rt-1.0.3.tld +taglibs/tlds/sql-rt-1.0.4.tld +taglibs/tlds/sql-rt-1.0.5.tld +taglibs/tlds/sql-rt-1.0.6.tld +taglibs/tlds/sql-rt-1.0.tld +taglibs/tlds/string-1.0.1.tld +taglibs/tlds/string-1.0.tld +taglibs/tlds/string-1.1.0.tld +taglibs/tlds/x-1.0.1.tld +taglibs/tlds/x-1.0.2.tld +taglibs/tlds/x-1.0.3.tld +taglibs/tlds/x-1.0.4.tld +taglibs/tlds/x-1.0.5.tld +taglibs/tlds/x-1.0.6.tld +taglibs/tlds/x-1.0.tld +taglibs/tlds/x-1.1.0.tld +taglibs/tlds/x-1.1.1.tld +taglibs/tlds/x-1.1.2.tld +taglibs/tlds/x-rt-1.0.1.tld +taglibs/tlds/x-rt-1.0.2.tld +taglibs/tlds/x-rt-1.0.3.tld +taglibs/tlds/x-rt-1.0.4.tld +taglibs/tlds/x-rt-1.0.5.tld +taglibs/tlds/x-rt-1.0.6.tld +taglibs/tlds/x-rt-1.0.tld +taglibs/tlds/xsl-1.0.1.tld +taglibs/wars/application-examples-1.0.1.war +taglibs/wars/application-doc-1.0.1.war +taglibs/wars/benchmark-examples-1.0.war +taglibs/wars/benchmark-doc-1.0.war +taglibs/wars/datetime-examples-1.0.1.war +taglibs/wars/datetime-doc-1.0.1.war +taglibs/wars/dbtags-examples-1.0.0.war +taglibs/wars/dbtags-doc-1.0.0.war +taglibs/wars/log-examples-1.0.war +taglibs/wars/log-doc-1.0.war +taglibs/wars/mailer-examples-1.1.war +taglibs/wars/mailer-doc-1.1.war +taglibs/wars/page-doc-1.0.1.war +taglibs/wars/page-examples-1.0.1.war +taglibs/wars/random-doc-1.0.1.war +taglibs/wars/random-doc-1.0.2.war +taglibs/wars/random-examples-1.0.1.war +taglibs/wars/random-examples-1.0.2.war +taglibs/wars/regexp-doc-1.0.1.war +taglibs/wars/regexp-examples-1.0.1.war +taglibs/wars/request-doc-1.0.1.war +taglibs/wars/request-examples-1.0.1.war +taglibs/wars/response-doc-1.0.1.war +taglibs/wars/response-examples-1.0.1.war +taglibs/wars/session-doc-1.0.1.war +taglibs/wars/session-examples-1.0.1.war +taglibs/wars/standard-doc-1.0.1.war +taglibs/wars/standard-doc-1.0.3.war +taglibs/wars/standard-doc-1.0.4.war +taglibs/wars/standard-doc-1.0.5.war +taglibs/wars/standard-doc-1.0.6.war +taglibs/wars/standard-doc-1.0.war +taglibs/wars/standard-doc-1.1.0.war +taglibs/wars/standard-doc-1.1.1.war +taglibs/wars/standard-doc-1.1.2.war +taglibs/wars/standard-examples-1.0.1.war +taglibs/wars/standard-examples-1.0.3.war +taglibs/wars/standard-examples-1.0.4.war +taglibs/wars/standard-examples-1.0.5.war +taglibs/wars/standard-examples-1.0.6.war +taglibs/wars/standard-examples-1.0.war +taglibs/wars/standard-examples-1.1.0.war +taglibs/wars/standard-examples-1.1.1.war +taglibs/wars/standard-examples-1.1.2.war +taglibs/wars/string-doc-1.0.1.war +taglibs/wars/string-doc-1.0.war +taglibs/wars/string-doc-1.1.0.war +taglibs/wars/string-examples-1.0.1.war +taglibs/wars/string-examples-1.0.war +taglibs/wars/string-examples-1.1.0.war +taglibs/wars/xsl-doc-1.0.1.war +taglibs/wars/xsl-examples-1.0.1.war +tapestry/jars/net.sf.tapestry-2.2.jar +tapestry/jars/net.sf.tapestry.contrib-2.2.jar +tapestry/jars/tapestry-3.0-beta-1a.jar +tapestry/jars/tapestry-3.0-beta-2.jar +tapestry/jars/tapestry-3.0.1.jar +tapestry/jars/tapestry-3.0.2.jar +tapestry/jars/tapestry-3.0.3.jar +tapestry/jars/tapestry-3.0.jar +tapestry/jars/tapestry-3.1-alpha-1.jar +tapestry/jars/tapestry-4.0-alpha-2.jar +tapestry/jars/tapestry-4.0-alpha-3.jar +tapestry/jars/tapestry-4.0-alpha-4-snapshot.jar +tapestry/jars/tapestry-4.0-beta-1.jar +tapestry/jars/tapestry-4.0-beta-5.jar +tapestry/jars/tapestry-4.0-beta-10.jar +tapestry/jars/tapestry-4.0-beta-11.jar +tapestry/jars/tapestry-4.0-beta-12.jar +tapestry/jars/tapestry-4.0-beta-13.jar +tapestry/jars/tapestry-4.0-beta-2.jar +tapestry/jars/tapestry-4.0-beta-3.jar +tapestry/jars/tapestry-4.0-beta-4.jar +tapestry/jars/tapestry-4.0-beta-6.jar +tapestry/jars/tapestry-4.0-beta-7.jar +tapestry/jars/tapestry-4.0-beta-8.jar +tapestry/jars/tapestry-4.0-beta-9.jar +tapestry/jars/tapestry-4.0-rc-1.jar +tapestry/jars/tapestry-4.0.1.jar +tapestry/jars/tapestry-4.0-rc-2.jar +tapestry/jars/tapestry-annotations-4.0.1.jar +tapestry/jars/tapestry-4.0-rc-3.jar +tapestry/jars/tapestry-4.0.2.jar +tapestry/jars/tapestry-4.0.jar +tapestry/jars/tapestry-annotations-4.0-alpha-4-snapshot.jar +tapestry/jars/tapestry-annotations-4.0-beta-1.jar +tapestry/jars/tapestry-annotations-4.0-beta-7.jar +tapestry/jars/tapestry-annotations-4.0-beta-10.jar +tapestry/jars/tapestry-annotations-4.0-beta-11.jar +tapestry/jars/tapestry-annotations-4.0-beta-12.jar +tapestry/jars/tapestry-annotations-4.0-beta-13.jar +tapestry/jars/tapestry-annotations-4.0-beta-2.jar +tapestry/jars/tapestry-annotations-4.0-beta-3.jar +tapestry/jars/tapestry-annotations-4.0-beta-4.jar +tapestry/jars/tapestry-annotations-4.0-beta-5.jar +tapestry/jars/tapestry-annotations-4.0-beta-6.jar +tapestry/jars/tapestry-annotations-4.0-beta-8.jar +tapestry/jars/tapestry-annotations-4.0-beta-9.jar +tapestry/jars/tapestry-annotations-4.0-rc-1.jar +tapestry/jars/tapestry-annotations-4.0-rc-2.jar +tapestry/jars/tapestry-annotations-4.0-rc-3.jar +tapestry/jars/tapestry-annotations-4.0.2.jar +tapestry/jars/tapestry-annotations-4.0.jar +tapestry/jars/tapestry-contrib-3.0-beta-2.jar +tapestry/jars/tapestry-contrib-3.0.1.jar +tapestry/jars/tapestry-contrib-3.0.2.jar +tapestry/jars/tapestry-contrib-3.0.3.jar +tapestry/jars/tapestry-contrib-3.0.jar +tapestry/jars/tapestry-contrib-3.1-alpha-1.jar +tapestry/jars/tapestry-contrib-4.0-alpha-2.jar +tapestry/jars/tapestry-contrib-4.0-alpha-4-snapshot.jar +tapestry/jars/tapestry-contrib-4.0-alpha-3.jar +tapestry/jars/tapestry-contrib-4.0-beta-1.jar +tapestry/jars/tapestry-contrib-4.0-beta-10.jar +tapestry/jars/tapestry-contrib-4.0-beta-11.jar +tapestry/jars/tapestry-contrib-4.0-beta-12.jar +tapestry/jars/tapestry-contrib-4.0-beta-13.jar +tapestry/jars/tapestry-contrib-4.0-beta-2.jar +tapestry/jars/tapestry-contrib-4.0-beta-3.jar +tapestry/jars/tapestry-contrib-4.0-beta-4.jar +tapestry/jars/tapestry-contrib-4.0-beta-5.jar +tapestry/jars/tapestry-contrib-4.0-rc-2.jar +tapestry/jars/tapestry-contrib-4.0-beta-6.jar +tapestry/jars/tapestry-contrib-4.0-beta-7.jar +tapestry/jars/tapestry-contrib-4.0-beta-8.jar +tapestry/jars/tapestry-contrib-4.0-beta-9.jar +tapestry/jars/tapestry-contrib-4.0-rc-1.jar +tapestry/jars/tapestry-contrib-4.0-rc-3.jar +tapestry/jars/tapestry-contrib-4.0.1.jar +tapestry/jars/tapestry-contrib-4.0.2.jar +tapestry/jars/tapestry-contrib-4.0.jar +tapestry/jars/tapestry-portlet-4.0.1.jar +tapestry/jars/tapestry-portlet-4.0-alpha-2.jar +tapestry/jars/tapestry-portlet-4.0-alpha-3.jar +tapestry/jars/tapestry-portlet-4.0-alpha-4-snapshot.jar +tapestry/jars/tapestry-portlet-4.0-beta-1.jar +tapestry/jars/tapestry-portlet-4.0-beta-10.jar +tapestry/jars/tapestry-portlet-4.0-beta-11.jar +tapestry/jars/tapestry-portlet-4.0-beta-12.jar +tapestry/jars/tapestry-portlet-4.0-beta-13.jar +tapestry/jars/tapestry-portlet-4.0-beta-2.jar +tapestry/jars/tapestry-portlet-4.0-beta-3.jar +tapestry/jars/tapestry-portlet-4.0-beta-4.jar +tapestry/jars/tapestry-portlet-4.0-beta-5.jar +tapestry/jars/tapestry-portlet-4.0-beta-6.jar +tapestry/jars/tapestry-portlet-4.0-beta-7.jar +tapestry/jars/tapestry-portlet-4.0-beta-8.jar +tapestry/jars/tapestry-portlet-4.0-beta-9.jar +tapestry/jars/tapestry-portlet-4.0-rc-1.jar +tapestry/jars/tapestry-portlet-4.0-rc-2.jar +tapestry/jars/tapestry-portlet-4.0-rc-3.jar +tapestry/jars/tapestry-portlet-4.0.2.jar +tapestry/jars/tapestry-portlet-4.0.jar +tapestry/jars/vlibbeans-4.0-beta-4.jar +tapestry/jars/vlibbeans-4.0-beta-5.jar +tapestry/poms/tapestry-4.0-beta-8.pom +tapestry/poms/tapestry-4.0.1.pom +tapestry/poms/tapestry-annotations-4.0.1.pom +tapestry/poms/tapestry-4.0.2.pom +tapestry/poms/tapestry-annotations-4.0.2.pom +tapestry/poms/tapestry-contrib-4.0.1.pom +tapestry/poms/tapestry-contrib-4.0.2.pom +tapestry/poms/tapestry-portlet-4.0.1.pom +tapestry/poms/tapestry-portlet-4.0.2.pom +tapestry/tlds/tapestry-3.0.1.tld +tomcat/jars/bootstrap-4.0.6.jar +tomcat/jars/bootstrap-5.0.28.jar +tomcat/jars/bootstrap-5.5.12.jar +tomcat/jars/catalina-5.5.15.jar +tomcat/jars/catalina-4.0.4.jar +tomcat/jars/catalina-4.0.6.jar +tomcat/jars/catalina-5.0.28.jar +tomcat/jars/catalina-5.5.12.jar +tomcat/jars/catalina-admin-5.0.28.jar +tomcat/jars/catalina-ant-5.0.28.jar +tomcat/jars/catalina-ant-5.5.12.jar +tomcat/jars/catalina-ant-5.5.15.jar +tomcat/jars/catalina-ant-jmx-5.5.12.jar +tomcat/jars/catalina-balancer-5.0.28.jar +tomcat/jars/catalina-balancer-5.5.12.jar +tomcat/jars/catalina-cluster-5.0.28.jar +tomcat/jars/catalina-cluster-5.5.12.jar +tomcat/jars/catalina-cluster-5.5.15.jar +tomcat/jars/catalina-host-manager-5.5.12.jar +tomcat/jars/warp-4.0.6.jar +tomcat/jars/catalina-i18n-es-5.0.28.jar +tomcat/jars/catalina-i18n-fr-5.0.28.jar +tomcat/jars/catalina-i18n-ja-5.0.28.jar +tomcat/jars/catalina-manager-5.0.28.jar +tomcat/jars/catalina-manager-5.5.12.jar +tomcat/jars/catalina-optional-5.0.28.jar +tomcat/jars/catalina-optional-5.5.12.jar +tomcat/jars/catalina-optional-5.5.15.jar +tomcat/jars/catalina-root-5.0.28.jar +tomcat/jars/catalina-root-5.5.12.jar +tomcat/jars/catalina-storeconfig-5.5.12.jar +tomcat/jars/catalina-storeconfig-5.5.15.jar +tomcat/jars/commons-logging-4.0.6.jar +tomcat/jars/container_util-3.3.2.jar +tomcat/jars/core_util-3.3.2.jar +tomcat/jars/etomcat-3.3.2.jar +tomcat/jars/jasper-compiler-4.0.4.jar +tomcat/jars/facade22-3.3.2.jar +tomcat/jars/jasper-3.2.4.jar +tomcat/jars/jasper-3.3.2.jar +tomcat/jars/jasper-compiler-4.0.6.jar +tomcat/jars/jasper-compiler-5.0.28.jar +tomcat/jars/jasper-compiler-5.5.12.jar +tomcat/jars/jasper-compiler-5.5.15.jar +tomcat/jars/jasper-compiler-jdt-5.5.12.jar +tomcat/jars/jasper-compiler-jdt-5.5.15.jar +tomcat/jars/jasper-runtime-3.3.2.jar +tomcat/jars/jasper-runtime-4.0.4.jar +tomcat/jars/jasper-runtime-5.5.15.jar +tomcat/jars/jkconfig-5.0.28.jar +tomcat/jars/jasper-runtime-4.0.6.jar +tomcat/jars/jasper-runtime-5.0.28.jar +tomcat/jars/jasper-runtime-5.5.12.jar +tomcat/jars/jkshm-5.0.28.jar +tomcat/jars/jsp-api-5.5.12.jar +tomcat/jars/jsp-api-5.5.15.jar +tomcat/jars/naming-common-4.0.6.jar +tomcat/jars/naming-common-5.0.28.jar +tomcat/jars/naming-factory-4.0.6.jar +tomcat/jars/naming-factory-5.0.28.jar +tomcat/jars/naming-factory-5.5.12.jar +tomcat/jars/naming-factory-5.5.15.jar +tomcat/jars/naming-factory-dbcp-5.5.12.jar +tomcat/jars/naming-factory-dbcp-5.5.15.jar +tomcat/jars/naming-java-5.0.28.jar +tomcat/jars/naming-resources-4.0.6.jar +tomcat/jars/servlet-4.0.6.jar +tomcat/jars/naming-resources-5.0.28.jar +tomcat/jars/naming-resources-5.5.12.jar +tomcat/jars/naming-resources-5.5.15.jar +tomcat/jars/servlet-api-5.5.12.jar +tomcat/jars/servlet-api-5.5.15.jar +tomcat/jars/servlets-common-4.0.6.jar +tomcat/jars/servlets-common-5.0.28.jar +tomcat/jars/servlets-default-4.0.6.jar +tomcat/jars/servlets-default-5.0.28.jar +tomcat/jars/servlets-default-5.5.12.jar +tomcat/jars/servlets-default-5.5.15.jar +tomcat/jars/servlets-invoker-4.0.6.jar +tomcat/jars/servlets-invoker-5.0.28.jar +tomcat/jars/servlets-invoker-5.5.12.jar +tomcat/jars/servlets-invoker-5.5.15.jar +tomcat/jars/servlets-manager-4.0.6.jar +tomcat/jars/servlets-webdav-4.0.6.jar +tomcat/jars/servlets-webdav-5.0.28.jar +tomcat/jars/servlets-webdav-5.5.12.jar +tomcat/jars/servlets-webdav-5.5.15.jar +tomcat/jars/stop-tomcat-3.3.2.jar +tomcat/jars/tomcat-3.2.3.jar +tomcat/jars/tomcat-3.3.2.jar +tomcat/jars/tomcat-ajp-4.0.6.jar +tomcat/jars/tomcat-ajp-5.5.12.jar +tomcat/jars/tomcat-ajp-5.5.15.jar +tomcat/jars/tomcat-ant-3.3.2.jar +tomcat/jars/tomcat-apr-5.5.12.jar +tomcat/jars/tomcat-apr-5.5.15.jar +tomcat/jars/tomcat-coyote-3.3.2.jar +tomcat/jars/tomcat-coyote-4.0.4.jar +tomcat/jars/tomcat-coyote-4.0.6.jar +tomcat/jars/tomcat-coyote-5.0.28.jar +tomcat/jars/tomcat-coyote-5.5.12.jar +tomcat/jars/tomcat-coyote-5.5.15.jar +tomcat/jars/tomcat-http-5.5.12.jar +tomcat/jars/tomcat-http-5.5.15.jar +tomcat/jars/tomcat-http11-3.3.2.jar +tomcat/jars/tomcat-http11-4.0.6.jar +tomcat/jars/tomcat-http11-5.0.28.jar +tomcat/jars/tomcat-i18n-en-5.5.12.jar +tomcat/jars/tomcat-i18n-es-5.5.12.jar +tomcat/jars/tomcat-i18n-fr-5.5.12.jar +tomcat/jars/tomcat-i18n-ja-5.5.12.jar +tomcat/jars/tomcat-jk-5.0.28.jar +tomcat/jars/tomcat-jk2-3.3.2.jar +tomcat/jars/tomcat-jk2-5.0.28.jar +tomcat/jars/tomcat-jni-5.0.28.jar +tomcat/jars/tomcat-juli-5.5.12.jar +tomcat/jars/tomcat-naming-1.0.jar +tomcat/jars/tomcat-util-3.3.2.jar +tomcat/jars/tomcat-util-4.0.6.jar +tomcat/jars/tomcat-util-5.0.28.jar +tomcat/jars/tomcat-util-5.5.12.jar +tomcat/jars/tomcat-util-5.5.15.jar +tomcat/jars/tomcat33-coyote-3.3.2.jar +tomcat/jars/tomcat33-resource-3.3.2.jar +tomcat/jars/bootstrap-4.1.36.jar +tomcat/jars/tomcat_core-3.3.2.jar +tomcat/jars/tomcat_modules-3.3.2.jar +tomcat/jars/webserver-3.2.4.jar +tomcat/jars/catalina-4.1.36.jar +tomcat/jars/catalina-ant-4.1.36.jar +tomcat/jars/jasper-compiler-4.1.36.jar +tomcat/jars/jasper-runtime-4.1.36.jar +tomcat/jars/naming-common-4.1.36.jar +tomcat/jars/naming-factory-4.1.36.jar +tomcat/jars/naming-resources-4.1.36.jar +tomcat/jars/servlet-4.1.36.jar +tomcat/jars/servlets-cgi-4.1.36.jar +tomcat/jars/servlets-common-4.1.36.jar +tomcat/jars/servlets-default-4.1.36.jar +tomcat/jars/servlets-invoker-4.1.36.jar +tomcat/jars/servlets-manager-4.1.36.jar +tomcat/jars/servlets-ssi-4.1.36.jar +tomcat/jars/servlets-webdav-4.1.36.jar +tomcat/jars/tomcat4-coyote-4.1.36.jar +tomcat/jars/tomcat-coyote-4.1.36.jar +tomcat/jars/tomcat-http11-4.1.36.jar +tomcat/jars/tomcat-jk2-4.1.36.jar +tomcat/jars/tomcat-jk-4.1.36.jar +tomcat/jars/tomcat-jni-4.1.36.jar +tomcat/jars/tomcat-util-4.1.36.jar +tomcat/poms/catalina-5.5.15.pom +tomcat/poms/catalina-ant-5.5.15.pom +tomcat/poms/catalina-cluster-5.5.15.pom +tomcat/poms/catalina-optional-5.5.15.pom +tomcat/poms/catalina-storeconfig-5.5.15.pom +tomcat/poms/jasper-compiler-5.5.15.pom +tomcat/poms/jasper-compiler-jdt-5.5.15.pom +tomcat/poms/jasper-runtime-5.5.15.pom +tomcat/poms/jsp-api-5.5.15.pom +tomcat/poms/naming-factory-5.5.15.pom +tomcat/poms/naming-factory-dbcp-5.5.15.pom +tomcat/poms/naming-resources-5.5.15.pom +tomcat/poms/servlet-api-5.5.15.pom +tomcat/poms/servlets-default-5.5.15.pom +tomcat/poms/servlets-invoker-5.5.15.pom +tomcat/poms/servlets-webdav-5.5.15.pom +tomcat/poms/tomcat-ajp-5.5.15.pom +tomcat/poms/tomcat-apr-5.5.15.pom +tomcat/poms/tomcat-coyote-5.5.15.pom +tomcat/poms/tomcat-http-5.5.15.pom +tomcat/poms/tomcat-parent-5.5.15.pom +tomcat/poms/tomcat-util-5.5.15.pom +tomcat/zips/apache-tomcat-5.5.23.zip +tomcat-util/jars/tomcat-util-dev.20021002.102355.jar +torque/jars/maven-torque-plugin-3.2-rc1.jar +torque/jars/torque-20030218.172852.jar +torque/jars/torque-20030310.174947.jar +torque/jars/torque-20030327.065722.jar +torque/jars/torque-3.0-b4.jar +torque/jars/torque-3.0-b3-dev.20020711.025538.jar +torque/jars/torque-3.0-b4-dev.20020724.014157.jar +torque/jars/torque-3.0-b4-dev.20020814.103755.jar +torque/jars/torque-3.0-rc1.jar +torque/jars/torque-3.0.1.jar +torque/jars/torque-3.0.2.jar +torque/jars/torque-3.1.1.jar +torque/jars/torque-3.0.jar +torque/jars/torque-3.1-alpha1.jar +torque/jars/torque-3.1-alpha2.jar +torque/jars/torque-3.1-beta1.jar +torque/jars/torque-3.1-dev.jar +torque/jars/torque-3.1-rc.jar +torque/jars/torque-3.1.1-rc1.jar +torque/jars/torque-3.1.1-rc2.jar +torque/jars/torque-3.1.1-rc3.jar +torque/jars/torque-3.1.jar +torque/jars/torque-3.2-rc1.jar +torque/jars/torque-gen-3.1-alpha1.jar +torque/jars/torque-3.2-rc2.jar +torque/jars/torque-3.2-rc3.jar +torque/jars/torque-3.2.jar +torque/jars/torque-gen-20030215.100807.jar +torque/jars/torque-gen-20030310.175447.jar +torque/jars/torque-gen-20030327.070220.jar +torque/jars/torque-gen-3.1-alpha2.jar +torque/jars/torque-gen-3.1-beta1.jar +torque/jars/torque-gen-3.1-dev.jar +torque/jars/torque-gen-3.1-rc.jar +torque/jars/torque-gen-3.1.1-rc1.jar +torque/jars/torque-gen-3.1.1-rc2.jar +torque/jars/torque-gen-3.1.1-rc3.jar +torque/jars/torque-gen-3.1.1.jar +torque/jars/torque-gen-3.1.jar +torque/jars/torque-gen-3.2-rc1.jar +torque/jars/torque-gen-3.2.jar +torque/jars/torque-gen-3.2-rc2.jar +torque/jars/torque-gen-3.2-rc3.jar +torque/jars/torque-gen-snapshot-version +torque/jars/torque-gen-templates-3.2-rc1.jar +torque/jars/torque-gen-templates-3.2-rc2.jar +torque/jars/torque-gen-templates-3.2-rc3.jar +torque/jars/torque-gen-templates-3.2.jar +torque/jars/torque-3.3-RC1.jar +torque/jars/torque-snapshot-version +torque/jars/torque-gen-templates-3.3-RC1.jar +torque/jars/torque-gen-3.3-RC1.jar +torque/jars/torque-3.3-RC2.jar +torque/jars/torque-gen-templates-3.3-RC2.jar +torque/jars/torque-gen-3.3-RC2.jar +torque/plugins/maven-torque-plugin-3.1.1-dev.jar +torque/plugins/maven-torque-plugin-3.1.1-rc1.jar +torque/plugins/maven-torque-plugin-3.1.1-rc2.jar +torque/plugins/maven-torque-plugin-3.1.1-rc3.jar +torque/plugins/maven-torque-plugin-3.1.1.jar +torque/plugins/maven-torque-plugin-3.2-rc1.jar +torque/plugins/maven-torque-plugin-3.2-rc2.jar +torque/plugins/maven-torque-plugin-3.2-rc3.jar +torque/plugins/maven-torque-plugin-3.2.jar +torque/plugins/maven-torque-plugin-3.3-RC1.jar +torque/plugins/maven-torque-plugin-3.3-RC2.jar +torque/poms/maven-torque-plugin-3.1.1-dev.pom +torque/poms/maven-torque-plugin-3.1.1-rc1.pom +torque/poms/maven-torque-plugin-3.1.1-rc2.pom +torque/poms/maven-torque-plugin-3.1.1-rc3.pom +torque/poms/maven-torque-plugin-3.2-rc1.pom +torque/poms/maven-torque-plugin-3.2-rc2.pom +torque/poms/maven-torque-plugin-3.2-rc3.pom +torque/poms/maven-torque-plugin-3.2.pom +torque/poms/torque-3.1.1-rc1.pom +torque/poms/torque-3.1.1-rc2.pom +torque/poms/torque-3.1.1-rc3.pom +torque/poms/torque-3.2-rc1.pom +torque/poms/torque-3.2-rc2.pom +torque/poms/torque-gen-templates-3.2-rc1.pom +torque/poms/torque-3.2-rc3.pom +torque/poms/torque-3.2.pom +torque/poms/torque-gen-3.1.1-rc1.pom +torque/poms/torque-gen-3.1.1-rc2.pom +torque/poms/torque-gen-3.1.1-rc3.pom +torque/poms/torque-gen-3.2-rc1.pom +torque/poms/torque-gen-3.2-rc2.pom +torque/poms/torque-gen-3.2-rc3.pom +torque/poms/torque-gen-3.2.pom +torque/poms/torque-3.3-RC1.pom +torque/poms/torque-gen-templates-3.2-rc2.pom +torque/poms/maven-torque-plugin-3.3-RC1.pom +torque/poms/torque-gen-templates-3.2-rc3.pom +torque/poms/torque-gen-templates-3.2.pom +torque/poms/torque-gen-templates-3.3-RC1.pom +torque/poms/torque-gen-3.3-RC1.pom +torque/poms/torque-3.3-RC2.pom +torque/poms/torque-gen-templates-3.3-RC2.pom +torque/poms/torque-gen-3.3-RC2.pom +torque/poms/maven-torque-plugin-3.3-RC2.pom +turbine/distributions/maven-turbine-plugin-1.3-src.tar.gz +turbine/distributions/maven-turbine-plugin-1.3-src.zip +turbine/distributions/maven-turbine-plugin-1.3.tar.gz +turbine/distributions/maven-turbine-plugin-1.3.zip +turbine/distributions/turbine-2.3.2-src.tar.gz +turbine/distributions/turbine-2.3.2-src.zip +turbine/distributions/turbine-2.3.2.tar.gz +turbine/distributions/turbine-2.3.2.zip +turbine/jars/turbine-2.1.jar +turbine/jars/turbine-2.2-b1.jar +turbine/jars/turbine-2.2-b2-dev.jar +turbine/jars/turbine-2.2-rc1.jar +turbine/jars/turbine-2.2.jar +turbine/jars/turbine-2.2b1.jar +turbine/jars/turbine-2.3-rc1.jar +turbine/jars/turbine-2.3.1-rc1.jar +turbine/jars/turbine-2.3.1-rc2.jar +turbine/jars/turbine-2.3.1.jar +turbine/jars/turbine-2.3.2.jar +turbine/jars/turbine-2.3.jar +turbine/jars/turbine-2.4-M1.jar +turbine/jars/turbine-3.0-alpha-1.20020912.045138.jar +turbine/jars/turbine-3.0-dev.jar +turbine/plugins/maven-turbine-plugin-20040825.211642.jar +turbine/plugins/maven-turbine-plugin-1.2-rc1.jar +turbine/plugins/maven-turbine-plugin-1.2.jar +turbine/plugins/maven-turbine-plugin-1.3.jar +turbine/plugins/maven-turbine-plugin-20040825.214656.jar +turbine/plugins/maven-turbine-plugin-snapshot-version +turbine/poms/maven-turbine-plugin-20040825.211642.pom +turbine/poms/maven-turbine-plugin-1.2-rc1.pom +turbine/poms/maven-turbine-plugin-1.3.pom +turbine/poms/maven-turbine-plugin-20040825.214656.pom +turbine/poms/maven-turbine-plugin-snapshot-version +turbine/poms/turbine-2.3.1-rc1.pom +turbine/poms/turbine-2.3.1-rc2.pom +turbine/poms/turbine-2.3.2.pom +velocity/jars/velocity-1.3-dev.jar +velocity/jars/velocity-1.3.1.jar +velocity/jars/velocity-1.3.jar +velocity/jars/velocity-1.4-dev.jar +velocity/jars/velocity-1.4-rc1.jar +velocity/jars/velocity-1.4.jar +velocity/jars/velocity-dep-1.5-beta2.jar +velocity/jars/velocity-1.5.jar +velocity/jars/velocity-dep-1.3.1.jar +velocity/jars/velocity-dep-1.4-rc1.jar +velocity/jars/velocity-dep-1.4.jar +velocity/jars/velocity-1.5-beta2.jar +velocity/jars/anakia-1.0.jar +velocity/jars/texen-1.0.jar +velocity/poms/velocity-1.5.pom.bak +velocity/poms/velocity-1.5.pom.carlos +velocity/poms/velocity-1.5.pom.md5.bak +velocity-dvsl/jars/velocity-dvsl-0.31.jar +velocity-dvsl/jars/velocity-dvsl-0.40.jar +velocity-dvsl/jars/velocity-dvsl-0.43.20020711.010949.jar +velocity-dvsl/jars/velocity-dvsl-0.43.20020716.041424.jar +velocity-dvsl/jars/velocity-dvsl-0.43.jar +velocity-dvsl/jars/velocity-dvsl-0.43.20020719.020022.jar +velocity-dvsl/jars/velocity-dvsl-0.45.jar +velocity-dvsl/jars/velocity-dvsl-0.44.20020719.122919.jar +velocity-dvsl/jars/velocity-dvsl-0.44.20020720.011619.jar +velocity-dvsl/jars/velocity-dvsl-0.44.20020720.082908.jar +velocity-tools/jars/velocity-tools-1.0.jar +velocity-tools/jars/velocity-tools-1.1.jar +velocity-tools/jars/velocity-tools-1.2.jar +velocity-tools/jars/velocity-tools-generic-1.0.jar +velocity-tools/jars/velocity-tools-generic-1.1.jar +velocity-tools/jars/velocity-tools-generic-1.2.jar +velocity-tools/jars/velocity-tools-view-1.0.jar +velocity-tools/jars/velocity-tools-view-1.1.jar +velocity-tools/jars/velocity-tools-view-1.2.jar +velocity-tools/jars/velocity-tools-1.3.jar +velocity-tools/jars/velocity-tools-generic-1.3.jar +velocity-tools/jars/velocity-tools-view-1.3.jar +ws-commons/jars/KEYS +ws-commons/jars/axiom-api-0.95.jar +ws-commons/jars/tcpmon-1.0.jar +ws-commons/jars/sign.sh +ws-commons/jars/axiom-api-1.0.jar +ws-commons/jars/axiom-dom-1.0.jar +ws-commons/jars/axiom-impl-0.95.jar +ws-commons/jars/axiom-impl-1.0.jar +ws-commons/jars/neethi-1.0.1.jar +ws-commons/jars/policy-1.0.jar +ws-commons/poms/axiom-1.0.pom +ws-commons/poms/axiom-api-1.0.pom +ws-commons/poms/axiom-impl-1.0.pom +ws-commons/poms/neethi-1.0.1.pom +ws-commons-java5/jars/ws-commons-java5-1.0-sources.jar +ws-commons-java5/jars/ws-commons-java5-1.0.1-sources.jar +ws-commons-java5/jars/ws-commons-java5-1.0.1.jar +ws-commons-java5/jars/ws-commons-java5-1.0.jar +ws-commons-java5/poms/ws-commons-java5-1.0.1.pom +ws-commons-java5/poms/ws-commons-java5-1.0.pom +ws-commons-util/jars/ws-commons-util-1.0-sources.jar +ws-commons-util/jars/ws-commons-util-1.0.1-sources.jar +ws-commons-util/jars/ws-commons-util-1.0.1.jar +ws-commons-util/jars/ws-commons-util-1.0.jar +ws-commons-util/poms/ws-commons-util-1.0.1.pom +ws-commons-util/poms/ws-commons-util-1.0.pom +ws-scout/jars/scout-0.5.jar +ws-scout/jars/scout-0.7rc1.jar +ws-scout/jars/scout-0.7rc2.pom +ws-scout/jars/scout-0.7rc2.jar +ws-scout/jars/scout-0.7rc2-sources.jar +ws-scout/KEYS +wsdl4j/jars/wsdl4j-1.0.jar +wsrf/jars/j2ee-xbeans-src-1.0.jar +wsrf/jars/j2ee-xbeans-1.0.jar +wsrf/jars/wsa-xbeans-src-1.0.jar +wsrf/jars/wsa-xbeans-1.0.jar +wsrf/jars/wsrf-xbeans-1.0.jar +wsrf/jars/wsrf-1.0.jar +wsrf/jars/wsrf-1.1.jar +wsrf/jars/wsrf-jndi-config-src-1.0.jar +wsrf/jars/wsrf-jndi-config-1.0.jar +wsrf/jars/wsrf-xbeans-src-1.0.jar +wss4j/jars/wss4j-1.5.0.jar +wss4j/jars/wss4j-1.5.1.jar +xalan/jars/xalan-2.1.0.jar +xalan/jars/xalan-2.3.1.jar +xalan/jars/xalan-2.4.0.jar +xalan/jars/xalan-2.4.1.jar +xalan/jars/xalan-2.5.0.jar +xalan/jars/xalan-2.5.1.jar +xalan/jars/xalan-2.6.0.jar +xalan/jars/xalan-2.7.0.jar +xalan/jars/xalansamples-2.4.1.jar +xalan/jars/xalansamples-2.5.1.jar +xalan/jars/xalansamples-2.6.0.jar +xalan/jars/xalanservlet-2.4.1.jar +xalan/wars/xalanservlet-2.5.1.war +xerces/jars/xerces-1.2.3.jar +xerces/jars/xerces-1.4.0.jar +xerces/jars/xerces-1.4.4.jar +xerces/jars/xerces-2.0.0.jar +xerces/jars/xerces-2.0.1.jar +xerces/jars/xerces-2.0.2.jar +xerces/jars/xerces-2.2.1.jar +xerces/jars/xerces-2.3.0.jar +xerces/jars/xerces-2.4.0.jar +xerces/jars/xercesImpl-2.0.0.jar +xerces/jars/xercesImpl-2.5.0.jar +xerces/jars/xercesImpl-2.6.0.jar +xerces/jars/xercesImpl-2.6.2.jar +xerces/jars/xercesImpl-2.7.1.jar +xerces/jars/xercesImpl-2.8.0.jar +xerces/jars/xercesImpl-2.8.0.jar.sig +xerces/jars/xercesSamples-2.5.0.jar +xerces/jars/xercesSamples-2.6.0.jar +xerces/jars/xercesSamples-2.6.2.jar +xerces/jars/xercesSamples-2.8.0.jar +xerces/jars/xercesSamples-2.8.0.jar.sig +xerces/jars/xmlParserAPIs-2.0.0.jar +xerces/jars/xmlParserAPIs-2.0.2.jar +xerces/jars/xmlParserAPIs-2.2.1.jar +xerces/jars/xmlParserAPIs-2.6.0.jar +xerces/jars/xmlParserAPIs-2.6.2.jar +xerces/java-sources/xercesImpl-2.8.0-sources.jar +xerces/poms/xercesImpl-2.8.0.pom +xercesjarv/jars/xercesjarv-20020712-DG.jar +xercesjarv/jars/xercesjarv-20020712.jar +xml-apis/jars/xml-apis-1.0.b2.jar +xml-apis/jars/.htaccess +xml-apis/jars/README.html +xml-apis/jars/xml-apis-1.0.b2.james +xml-apis/jars/xml-apis-1.3.02.jar +xml-apis/jars/xml-apis-1.3.03.jar +xml-apis/jars/xml-apis-1.3.03.jar.sig +xml-apis/poms/xml-apis-1.3.02.pom +xml-apis/poms/xml-apis-1.3.03.pom +xml-resolver/jars/xml-resolver-1.1.jar +xml-security/jars/xml-security-1.0.4.jar +xml-security/jars/xmlsec-1.0.5D2.jar +xml-security/jars/xmlsec-1.1.0.jar +xml-security/jars/xmlsec-1.1.0.jar.sig +xml-security/jars/xmlsec-1.2.1.jar +xml-security/jars/xmlsec-1.2.1.jar.sig +xml-security/jars/xmlsec-1.3.0.jar +xml-security/jars/xmlsec-1.3.0.jar.sig +xmlbeans/jars/jsr173_1.0_api.jar +xmlbeans/jars/jsr173_1.0_api_bundle.jar +xmlbeans/jars/xbean-1.0.3.jar +xmlbeans/jars/xbean-1.0.4-jdk1.3.jar +xmlbeans/jars/xbean-1.0.4.jar +xmlbeans/jars/xbean-2.0.0-beta1.jar +xmlbeans/jars/xbean-2.0.0.jar +xmlbeans/jars/xbean-2.1.0.jar +xmlbeans/jars/xbean_xpath-1.0.3.jar +xmlbeans/jars/xbean-2.2.0.jar +xmlbeans/jars/xbean_xpath-1.0.4-jdk1.3.jar +xmlbeans/jars/xbean_xpath-1.0.4.jar +xmlbeans/jars/xbean_xpath-2.0.0-beta1.jar +xmlbeans/jars/xbean_xpath-2.0.0.jar +xmlbeans/jars/xbean_xpath-2.1.0.jar +xmlbeans/jars/xbean_xpath-2.2.0.jar +xmlbeans/jars/xmlbeans-1.0.3.jar +xmlbeans/jars/xmlbeans-1.0.jar +xmlbeans/jars/xmlpublic-2.0.0-beta1.jar +xmlbeans/jars/xmlpublic-2.0.0.jar +xmlbeans/jars/xmlpublic-2.1.0.jar +xmlbeans/jars/xmlpublic-2.2.0.jar +xmlbeans/poms/xmlbeans-1.0.3.pom +xmlbeans/poms/xbean-2.2.0.pom +xmlrpc/jars/xmlrpc-1.1.jar +xmlrpc/jars/xmlrpc-1.2-a1.jar +xmlrpc/jars/xmlrpc-1.2-a2.jar +xmlrpc/jars/xmlrpc-1.2-a3-dev.20030102.111633.jar +xmlrpc/jars/xmlrpc-1.2-a3-dev.jar +xmlrpc/jars/xmlrpc-1.2-b1.jar +xmlrpc/jars/xmlrpc-2.0-applet.jar +xmlrpc/jars/xmlrpc-1.2.jar +xmlrpc/jars/xmlrpc-2.0-beta-applet.jar +xmlrpc/jars/xmlrpc-2.0-beta.jar +xmlrpc/jars/xmlrpc-2.0.1-sources.jar +xmlrpc/jars/xmlrpc-3.0a1-sources.jar +xmlrpc/jars/xmlrpc-2.0.1.jar +xmlrpc/jars/xmlrpc-2.0.jar +xmlrpc/jars/xmlrpc-3.0a1.jar +xmlrpc/jars/xmlrpc-client-3.0-sources.jar +xmlrpc/jars/xmlrpc-common-3.0.jar +xmlrpc/jars/xmlrpc-client-3.0.jar +xmlrpc/jars/xmlrpc-client-3.0b1-sources.jar +xmlrpc/jars/xmlrpc-client-3.0b1.jar +xmlrpc/jars/xmlrpc-common-3.0-sources.jar +xmlrpc/jars/xmlrpc-common-3.0b1-sources.jar +xmlrpc/jars/xmlrpc-common-3.0b1.jar +xmlrpc/jars/xmlrpc-helma-1.0.jar +xmlrpc/jars/xmlrpc-server-3.0-sources.jar +xmlrpc/jars/xmlrpc-server-3.0.jar +xmlrpc/jars/xmlrpc-server-3.0b1-sources.jar +xmlrpc/jars/xmlrpc-server-3.0b1.jar +xmlrpc/poms/xmlrpc-3.0.pom +xmlrpc/poms/xmlrpc-3.0b1.pom +xmlrpc/poms/xmlrpc-client-3.0.pom +xmlrpc/poms/xmlrpc-client-3.0b1.pom +xmlrpc/poms/xmlrpc-common-3.0.pom +xmlrpc/poms/xmlrpc-common-3.0b1.pom +xmlrpc/poms/xmlrpc-server-3.0.pom +xmlrpc/poms/xmlrpc-server-3.0b1.pom +org.apache.ws.commons.axiom/jars/axiom-api-1.2.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.jar +org.apache.ws.commons.axiom/jars/axiom-1.2.1.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.1.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.1.jar +org.apache.ws.commons.axiom/jars/axiom-api-1.2.1.jar +org.apache.ws.commons.axiom/jars/axiom-1.2.2.jar +org.apache.ws.commons.axiom/jars/axiom-api-1.2.2.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.2.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.2.jar +org.apache.ws.commons.axiom/jars/axiom-1.2.3.jar +org.apache.ws.commons.axiom/jars/axiom-api-1.2.3.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.3.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.3.jar +org.apache.ws.commons.axiom/jars/axiom-1.2.4.jar +org.apache.ws.commons.axiom/jars/axiom-api-1.2.4.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.4.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.4.jar +org.apache.ws.commons.axiom/jars/axiom-impl-1.2.5.jar +org.apache.ws.commons.axiom/jars/axiom-dom-1.2.5.jar +org.apache.ws.commons.axiom/jars/axiom-api-1.2.5.jar +org.apache.ws.commons.axiom/jars/axiom-1.2.5.jar +org.apache.ws.commons.schema/jars/XmlSchema-1.2.jar +org.apache.axis2/jars/axis2-adb-1.1.jar +org.apache.axis2/jars/axis2-adb-codegen-1.1.jar +org.apache.axis2/jars/axis2-codegen-1.1.jar +org.apache.axis2/jars/axis2-java2wsdl-1.1.jar +org.apache.axis2/jars/axis2-jibx-1.1.jar +org.apache.axis2/jars/axis2-kernel-1.1.jar +org.apache.axis2/jars/axis2-saaj-1.1.jar +org.apache.axis2/jars/axis2-soapmonitor-1.1.jar +org.apache.axis2/jars/axis2-spring-1.1.jar +org.apache.axis2/jars/axis2-tools-1.1.jar +org.apache.axis2/jars/axis2-xmlbeans-1.1.jar +org.apache.axis2/jars/axis2-1.1.jar +org.apache.axis2/jars/axis2-rahas-1.1.jar +org.apache.axis2/jars/axis2-secpolicy-1.1.jar +org.apache.axis2/jars/axis2-security-1.1.jar +org.apache.axis2/jars/axis2-1.1.1.jar +org.apache.axis2/jars/axis2-adb-1.1.1.jar +org.apache.axis2/jars/axis2-adb-codegen-1.1.1.jar +org.apache.axis2/jars/axis2-codegen-1.1.1.jar +org.apache.axis2/jars/axis2-java2wsdl-1.1.1.jar +org.apache.axis2/jars/axis2-jaxbri-1.1.1.jar +org.apache.axis2/jars/axis2-jibx-1.1.1.jar +org.apache.axis2/jars/axis2-kernel-1.1.1.jar +org.apache.axis2/jars/axis2-saaj-1.1.1.jar +org.apache.axis2/jars/axis2-soapmonitor-1.1.1.jar +org.apache.axis2/jars/axis2-spring-1.1.1.jar +org.apache.axis2/jars/axis2-tools-1.1.1.jar +org.apache.axis2/jars/axis2-xmlbeans-1.1.1.jar +org.apache.axis2/jars/axis2-1.2.jar +org.apache.axis2/jars/axis2-adb-1.2.jar +org.apache.axis2/jars/axis2-adb-codegen-1.2.jar +org.apache.axis2/jars/axis2-addressing-1.2.jar +org.apache.axis2/jars/axis2-codegen-1.2.jar +org.apache.axis2/jars/axis2-fastinfoset-1.2.jar +org.apache.axis2/jars/axis2-jaxws-1.2.jar +org.apache.axis2/jars/axis2-java2wsdl-1.2.jar +org.apache.axis2/jars/axis2-jaxbri-1.2.jar +org.apache.axis2/jars/axis2-jaxws-api-1.2.jar +org.apache.axis2/jars/axis2-jibx-1.2.jar +org.apache.axis2/jars/axis2-json-1.2.jar +org.apache.axis2/jars/axis2-kernel-1.2.jar +org.apache.axis2/jars/axis2-metadata-1.2.jar +org.apache.axis2/jars/axis2-mex-1.2.jar +org.apache.axis2/jars/axis2-mtompolicy-1.2.jar +org.apache.axis2/jars/axis2-ping-1.2.jar +org.apache.axis2/jars/axis2-saaj-1.2.jar +org.apache.axis2/jars/axis2-saaj-api-1.2.jar +org.apache.axis2/jars/axis2-soapmonitor-1.2.jar +org.apache.axis2/jars/axis2-spring-1.2.jar +org.apache.axis2/jars/axis2-xmlbeans-1.2.jar +org.apache.axis2/mars/addressing-1.1.mar +org.apache.axis2/mars/soapmonitor-1.1.mar +org.apache.axis2/mars/rampart-1.1.mar +org.apache.axis2/mars/rahas-1.1.mar +org.apache.axis2/mars/addressing-1.1.1.mar +org.apache.axis2/mars/soapmonitor-1.1.1.mar +org.apache.axis2/mars/addressing-1.2.mar +org.apache.axis2/mars/soapmonitor-1.2.mar +org.apache.neethi/jars/neethi-2.0.jar +org.apache.neethi/jars/neethi-2.0.1.jar +org.apache.neethi/jars/neethi-2.0.2.jar +org.apache.ws.commons.neethi/jars/neethi-1.0.1.jar +org.apache.ws.commons.neethi/jars/neethi-2.0.1.jar +org.apache.sandesha2/jars/sandesha2-1.1.jar +org.apache.sandesha2/jars/sandesha2-client-1.1.jar +org.apache.sandesha2/jars/sandesha2-policy-1.1.jar +org.apache.sandesha2/mars/sandesha2-1.1.mar +org.apache.ant/jars/ant-1.7.0.jar +org.apache.ant/jars/ant-antlr-1.7.0.jar +org.apache.ant/jars/ant-apache-bcel-1.7.0.jar +org.apache.ant/jars/ant-apache-bsf-1.7.0.jar +org.apache.ant/jars/ant-apache-log4j-1.7.0.jar +org.apache.ant/jars/ant-apache-oro-1.7.0.jar +org.apache.ant/jars/ant-apache-regexp-1.7.0.jar +org.apache.ant/jars/ant-apache-resolver-1.7.0.jar +org.apache.ant/jars/ant-commons-logging-1.7.0.jar +org.apache.ant/jars/ant-commons-net-1.7.0.jar +org.apache.ant/jars/ant-jai-1.7.0.jar +org.apache.ant/jars/ant-javamail-1.7.0.jar +org.apache.ant/jars/ant-jdepend-1.7.0.jar +org.apache.ant/jars/ant-jmf-1.7.0.jar +org.apache.ant/jars/ant-jsch-1.7.0.jar +org.apache.ant/jars/ant-junit-1.7.0.jar +org.apache.ant/jars/ant-launcher-1.7.0.jar +org.apache.ant/jars/ant-netrexx-1.7.0.jar +org.apache.ant/jars/ant-nodeps-1.7.0.jar +org.apache.ant/jars/ant-starteam-1.7.0.jar +org.apache.ant/jars/ant-stylebook-1.7.0.jar +org.apache.ant/jars/ant-swing-1.7.0.jar +org.apache.ant/jars/ant-testutil-1.7.0.jar +org.apache.ant/jars/ant-trax-1.7.0.jar +org.apache.ant/jars/ant-weblogic-1.7.0.jar +org.apache.ant/poms/ant-1.7.0.pom +org.apache.ant/poms/ant-antlr-1.7.0.pom +org.apache.ant/poms/ant-apache-bcel-1.7.0.pom +org.apache.ant/poms/ant-apache-bsf-1.7.0.pom +org.apache.ant/poms/ant-apache-log4j-1.7.0.pom +org.apache.ant/poms/ant-apache-oro-1.7.0.pom +org.apache.ant/poms/ant-apache-regexp-1.7.0.pom +org.apache.ant/poms/ant-apache-resolver-1.7.0.pom +org.apache.ant/poms/ant-commons-logging-1.7.0.pom +org.apache.ant/poms/ant-commons-net-1.7.0.pom +org.apache.ant/poms/ant-jai-1.7.0.pom +org.apache.ant/poms/ant-javamail-1.7.0.pom +org.apache.ant/poms/ant-jdepend-1.7.0.pom +org.apache.ant/poms/ant-jmf-1.7.0.pom +org.apache.ant/poms/ant-jsch-1.7.0.pom +org.apache.ant/poms/ant-junit-1.7.0.pom +org.apache.ant/poms/ant-launcher-1.7.0.pom +org.apache.ant/poms/ant-netrexx-1.7.0.pom +org.apache.ant/poms/ant-nodeps-1.7.0.pom +org.apache.ant/poms/ant-parent-1.7.0.pom +org.apache.ant/poms/ant-starteam-1.7.0.pom +org.apache.ant/poms/ant-stylebook-1.7.0.pom +org.apache.ant/poms/ant-swing-1.7.0.pom +org.apache.ant/poms/ant-trax-1.7.0.pom +org.apache.ant/poms/ant-testutil-1.7.0.pom +org.apache.ant/poms/ant-weblogic-1.7.0.pom +org.apache.activemq/tar.bz2s/apache-activemq-4.1.1.tar.bz2 +org.apache.activemq/jars/activemq-console-4.1.1.jar +org.apache.activemq/jars/activemq-core-4.1.1-tests.jar +org.apache.activemq/jars/activemq-core-4.1.1.jar +org.apache.activemq/jars/activemq-jaas-4.1.1.jar +org.apache.activemq/jars/activemq-openwire-generator-4.1.1.jar +org.apache.activemq/jars/activemq-optional-4.1.1.jar +org.apache.activemq/jars/activemq-ra-4.1.1.jar +org.apache.activemq/jars/activemq-test-atomikos-4.1.1.jar +org.apache.activemq/jars/activemq-web-4.1.1.jar +org.apache.activemq/jars/activemq-xmpp-4.1.1.jar +org.apache.activemq/jars/apache-activemq-4.1.1.jar +org.apache.activemq/java-sources/activemq-console-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-openwire-generator-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-core-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-jaas-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-optional-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-ra-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-test-atomikos-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-rar-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-web-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-web-console-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-web-demo-4.1.1-sources.jar +org.apache.activemq/java-sources/activemq-xmpp-4.1.1-sources.jar +org.apache.activemq/java-sources/apache-activemq-4.1.1-sources.jar +org.apache.activemq/poms/activemq-console-4.1.1.pom +org.apache.activemq/poms/activemq-openwire-generator-4.1.1.pom +org.apache.activemq/poms/activemq-core-4.1.1.pom +org.apache.activemq/poms/activemq-jaas-4.1.1.pom +org.apache.activemq/poms/activemq-ra-4.1.1.pom +org.apache.activemq/poms/activemq-optional-4.1.1.pom +org.apache.activemq/poms/activemq-parent-4.1.1.pom +org.apache.activemq/poms/activemq-xmpp-4.1.1.pom +org.apache.activemq/poms/activemq-rar-4.1.1.pom +org.apache.activemq/poms/activemq-test-atomikos-4.1.1.pom +org.apache.activemq/poms/activemq-web-4.1.1.pom +org.apache.activemq/poms/activemq-web-console-4.1.1.pom +org.apache.activemq/poms/activemq-web-demo-4.1.1.pom +org.apache.activemq/poms/apache-activemq-4.1.1.pom +org.apache.activemq/poms/maven-metadata.xml +org.apache.activemq/rars/activemq-rar-4.1.1.rar +org.apache.activemq/htmls/activemq-core-4.1.1-schema.html +org.apache.activemq/htmls/activemq-ra-4.1.1-schema.html +org.apache.activemq/tar.gzs/apache-activemq-4.1.1-src.tar.gz +org.apache.activemq/tar.gzs/apache-activemq-4.1.1.tar.gz +org.apache.activemq/wars/activemq-web-console-4.1.1.war +org.apache.activemq/wars/activemq-web-demo-4.1.1.war +org.apache.activemq/xsd.htmls/activemq-core-4.1.1.xsd.html +org.apache.activemq/xsd.htmls/activemq-ra-4.1.1.xsd.html +org.apache.activemq/xsds/activemq-core-4.1.1.xsd +org.apache.activemq/xsds/activemq-ra-4.1.1.xsd +org.apache.activemq/xsds/README.txt +org.apache.activemq/xsds/ReadMe.html +org.apache.activemq/xsds/HEADER.html +org.apache.activemq/zips/apache-activemq-4.1.1-src.zip +org.apache.activemq/zips/apache-activemq-4.1.1.zip +org.apache.activemq/snapshot-schema +org.apache.poi/jars/poi-3.0.1-FINAL.jar +org.apache.poi/jars/poi-scratchpad-3.0.1-FINAL.jar +org.apache.poi/jars/poi-contrib-3.0.1-FINAL.jar +org.apache.poi/poms/poi-3.0-FINAL.pom +org.apache.poi/poms/poi-3.0.1-FINAL.pom +org.apache.poi/poms/poi-scratchpad-3.0.1-FINAL.pom +org.apache.poi/poms/poi-contrib-3.0.1-FINAL.pom +org.apache.camel/poms/apache-camel-1.0.0.pom +org.apache.camel/poms/archetypes-1.0.0.pom +org.apache.camel/poms/camel-activemq-1.0.0.pom +org.apache.camel/poms/camel-example-jms-file-1.0.0.pom +org.apache.camel/poms/camel-bam-1.0.0.pom +org.apache.camel/poms/camel-book-1.0.0.pom +org.apache.camel/poms/camel-core-1.0.0.pom +org.apache.camel/poms/camel-cxf-1.0.0.pom +org.apache.camel/poms/camel-example-spring-1.0.0.pom +org.apache.camel/poms/camel-ftp-1.0.0.pom +org.apache.camel/poms/camel-jms-1.0.0.pom +org.apache.camel/poms/camel-http-1.0.0.pom +org.apache.camel/poms/camel-irc-1.0.0.pom +org.apache.camel/poms/camel-jaxb-1.0.0.pom +org.apache.camel/poms/camel-jbi-1.0.0.pom +org.apache.camel/poms/camel-josql-1.0.0.pom +org.apache.camel/poms/camel-jpa-1.0.0.pom +org.apache.camel/poms/camel-mail-1.0.0.pom +org.apache.camel/poms/camel-maven-plugin-1.0.0.pom +org.apache.camel/poms/camel-mina-1.0.0.pom +org.apache.camel/poms/camel-parent-1.0.0.pom +org.apache.camel/poms/camel-rmi-1.0.0.pom +org.apache.camel/poms/camel-quartz-1.0.0.pom +org.apache.camel/poms/camel-router-1.0.0.pom +org.apache.camel/poms/camel-saxon-1.0.0.pom +org.apache.camel/poms/camel-script-1.0.0.pom +org.apache.camel/poms/camel-spring-1.0.0.pom +org.apache.camel/poms/camel-xmpp-1.0.0.pom +org.apache.camel/poms/components-1.0.0.pom +org.apache.camel/poms/examples-1.0.0.pom +org.apache.camel/poms/maven-html-to-docbook-1.0.0.pom +org.apache.camel/poms/maven-metadata.xml +org.apache.camel/poms/maven-plugins-1.0.0.pom +org.apache.camel/poms/tooling-1.0.0.pom +org.apache.camel/poms/apache-camel-1.1.0.pom +org.apache.camel/poms/archetypes-1.1.0.pom +org.apache.camel/poms/camel-activemq-1.1.0.pom +org.apache.camel/poms/camel-bam-1.1.0.pom +org.apache.camel/poms/camel-book-1.1.0.pom +org.apache.camel/poms/camel-core-1.1.0.pom +org.apache.camel/poms/camel-cxf-1.1.0.pom +org.apache.camel/poms/camel-example-bam-1.1.0.pom +org.apache.camel/poms/camel-example-etl-1.1.0.pom +org.apache.camel/poms/camel-example-jms-file-1.1.0.pom +org.apache.camel/poms/camel-jpa-1.1.0.pom +org.apache.camel/poms/camel-example-spring-1.1.0.pom +org.apache.camel/poms/camel-ftp-1.1.0.pom +org.apache.camel/poms/camel-http-1.1.0.pom +org.apache.camel/poms/camel-irc-1.1.0.pom +org.apache.camel/poms/camel-jaxb-1.1.0.pom +org.apache.camel/poms/camel-jing-1.1.0.pom +org.apache.camel/poms/camel-jms-1.1.0.pom +org.apache.camel/poms/camel-maven-plugin-1.1.0.pom +org.apache.camel/poms/camel-josql-1.1.0.pom +org.apache.camel/poms/camel-juel-1.1.0.pom +org.apache.camel/poms/camel-mail-1.1.0.pom +org.apache.camel/poms/camel-msv-1.1.0.pom +org.apache.camel/poms/camel-mina-1.1.0.pom +org.apache.camel/poms/camel-rmi-1.1.0.pom +org.apache.camel/poms/camel-ognl-1.1.0.pom +org.apache.camel/poms/camel-parent-1.1.0.pom +org.apache.camel/poms/camel-quartz-1.1.0.pom +org.apache.camel/poms/examples-1.1.0.pom +org.apache.camel/poms/camel-router-1.1.0.pom +org.apache.camel/poms/camel-saxon-1.1.0.pom +org.apache.camel/poms/camel-script-1.1.0.pom +org.apache.camel/poms/camel-spring-1.1.0.pom +org.apache.camel/poms/camel-xmpp-1.1.0.pom +org.apache.camel/poms/components-1.1.0.pom +org.apache.camel/poms/maven-html-to-docbook-1.1.0.pom +org.apache.camel/poms/maven-plugins-1.1.0.pom +org.apache.camel/poms/tooling-1.1.0.pom +org.apache.camel/java-sources/apache-camel-1.0.0-sources.jar +org.apache.camel/java-sources/camel-activemq-1.0.0-sources.jar +org.apache.camel/java-sources/camel-bam-1.0.0-sources.jar +org.apache.camel/java-sources/camel-cxf-1.0.0-sources.jar +org.apache.camel/java-sources/camel-core-1.0.0-sources.jar +org.apache.camel/java-sources/camel-example-jms-file-1.0.0-sources.jar +org.apache.camel/java-sources/camel-ftp-1.0.0-sources.jar +org.apache.camel/java-sources/camel-example-spring-1.0.0-sources.jar +org.apache.camel/java-sources/camel-http-1.0.0-sources.jar +org.apache.camel/java-sources/camel-irc-1.0.0-sources.jar +org.apache.camel/java-sources/camel-jaxb-1.0.0-sources.jar +org.apache.camel/java-sources/camel-jbi-1.0.0-sources.jar +org.apache.camel/java-sources/camel-jms-1.0.0-sources.jar +org.apache.camel/java-sources/camel-josql-1.0.0-sources.jar +org.apache.camel/java-sources/camel-jpa-1.0.0-sources.jar +org.apache.camel/java-sources/camel-mail-1.0.0-sources.jar +org.apache.camel/java-sources/camel-maven-plugin-1.0.0-sources.jar +org.apache.camel/java-sources/camel-rmi-1.0.0-sources.jar +org.apache.camel/java-sources/camel-mina-1.0.0-sources.jar +org.apache.camel/java-sources/camel-quartz-1.0.0-sources.jar +org.apache.camel/java-sources/camel-router-1.0.0-sources.jar +org.apache.camel/java-sources/camel-saxon-1.0.0-sources.jar +org.apache.camel/java-sources/camel-script-1.0.0-sources.jar +org.apache.camel/java-sources/camel-spring-1.0.0-sources.jar +org.apache.camel/java-sources/camel-xmpp-1.0.0-sources.jar +org.apache.camel/java-sources/maven-html-to-docbook-1.0.0-sources.jar +org.apache.camel/java-sources/apache-camel-1.1.0-sources.jar +org.apache.camel/java-sources/camel-activemq-1.1.0-sources.jar +org.apache.camel/java-sources/camel-bam-1.1.0-sources.jar +org.apache.camel/java-sources/camel-core-1.1.0-sources.jar +org.apache.camel/java-sources/camel-cxf-1.1.0-sources.jar +org.apache.camel/java-sources/camel-example-bam-1.1.0-sources.jar +org.apache.camel/java-sources/camel-ftp-1.1.0-sources.jar +org.apache.camel/java-sources/camel-example-etl-1.1.0-sources.jar +org.apache.camel/java-sources/camel-example-jms-file-1.1.0-sources.jar +org.apache.camel/java-sources/camel-example-spring-1.1.0-sources.jar +org.apache.camel/java-sources/camel-http-1.1.0-sources.jar +org.apache.camel/java-sources/camel-irc-1.1.0-sources.jar +org.apache.camel/java-sources/camel-maven-plugin-1.1.0-sources.jar +org.apache.camel/java-sources/camel-jaxb-1.1.0-sources.jar +org.apache.camel/java-sources/camel-jing-1.1.0-sources.jar +org.apache.camel/java-sources/camel-jms-1.1.0-sources.jar +org.apache.camel/java-sources/camel-josql-1.1.0-sources.jar +org.apache.camel/java-sources/camel-jpa-1.1.0-sources.jar +org.apache.camel/java-sources/camel-juel-1.1.0-sources.jar +org.apache.camel/java-sources/camel-mail-1.1.0-sources.jar +org.apache.camel/java-sources/camel-mina-1.1.0-sources.jar +org.apache.camel/java-sources/camel-msv-1.1.0-sources.jar +org.apache.camel/java-sources/camel-ognl-1.1.0-sources.jar +org.apache.camel/java-sources/camel-rmi-1.1.0-sources.jar +org.apache.camel/java-sources/camel-quartz-1.1.0-sources.jar +org.apache.camel/java-sources/camel-router-1.1.0-sources.jar +org.apache.camel/java-sources/camel-saxon-1.1.0-sources.jar +org.apache.camel/java-sources/camel-script-1.1.0-sources.jar +org.apache.camel/java-sources/camel-spring-1.1.0-sources.jar +org.apache.camel/java-sources/camel-xmpp-1.1.0-sources.jar +org.apache.camel/java-sources/maven-html-to-docbook-1.1.0-sources.jar +org.apache.camel/maven-plugins/camel-maven-plugin-1.0.0.jar +org.apache.camel/maven-plugins/maven-html-to-docbook-1.0.0.jar +org.apache.camel/maven-plugins/camel-maven-plugin-1.1.0.jar +org.apache.camel/maven-plugins/maven-html-to-docbook-1.1.0.jar +org.apache.camel/jars/apache-camel-1.0.0.jar +org.apache.camel/jars/camel-activemq-1.0.0.jar +org.apache.camel/jars/camel-example-jms-file-1.0.0.jar +org.apache.camel/jars/camel-bam-1.0.0.jar +org.apache.camel/jars/camel-core-1.0.0-tests.jar +org.apache.camel/jars/camel-core-1.0.0.jar +org.apache.camel/jars/camel-cxf-1.0.0.jar +org.apache.camel/jars/camel-example-spring-1.0.0.jar +org.apache.camel/jars/camel-ftp-1.0.0.jar +org.apache.camel/jars/camel-http-1.0.0.jar +org.apache.camel/jars/camel-irc-1.0.0.jar +org.apache.camel/jars/camel-jaxb-1.0.0.jar +org.apache.camel/jars/camel-jbi-1.0.0.jar +org.apache.camel/jars/camel-jms-1.0.0.jar +org.apache.camel/jars/camel-josql-1.0.0.jar +org.apache.camel/jars/camel-jpa-1.0.0.jar +org.apache.camel/jars/camel-mail-1.0.0.jar +org.apache.camel/jars/camel-mina-1.0.0.jar +org.apache.camel/jars/camel-quartz-1.0.0.jar +org.apache.camel/jars/camel-rmi-1.0.0.jar +org.apache.camel/jars/camel-router-1.0.0.jar +org.apache.camel/jars/camel-saxon-1.0.0.jar +org.apache.camel/jars/camel-script-1.0.0.jar +org.apache.camel/jars/camel-spring-1.0.0-tests.jar +org.apache.camel/jars/camel-spring-1.0.0.jar +org.apache.camel/jars/camel-xmpp-1.0.0.jar +org.apache.camel/jars/apache-camel-1.1.0.jar +org.apache.camel/jars/camel-activemq-1.1.0.jar +org.apache.camel/jars/camel-bam-1.1.0.jar +org.apache.camel/jars/camel-core-1.1.0-tests.jar +org.apache.camel/jars/camel-core-1.1.0.jar +org.apache.camel/jars/camel-cxf-1.1.0.jar +org.apache.camel/jars/camel-example-bam-1.1.0.jar +org.apache.camel/jars/camel-example-etl-1.1.0.jar +org.apache.camel/jars/camel-example-jms-file-1.1.0.jar +org.apache.camel/jars/camel-ftp-1.1.0.jar +org.apache.camel/jars/camel-example-spring-1.1.0.jar +org.apache.camel/jars/camel-http-1.1.0.jar +org.apache.camel/jars/camel-irc-1.1.0.jar +org.apache.camel/jars/camel-jaxb-1.1.0.jar +org.apache.camel/jars/camel-jing-1.1.0.jar +org.apache.camel/jars/camel-jms-1.1.0.jar +org.apache.camel/jars/camel-josql-1.1.0.jar +org.apache.camel/jars/camel-jpa-1.1.0.jar +org.apache.camel/jars/camel-juel-1.1.0.jar +org.apache.camel/jars/camel-mail-1.1.0.jar +org.apache.camel/jars/camel-mina-1.1.0.jar +org.apache.camel/jars/camel-msv-1.1.0.jar +org.apache.camel/jars/camel-ognl-1.1.0.jar +org.apache.camel/jars/camel-quartz-1.1.0.jar +org.apache.camel/jars/camel-rmi-1.1.0.jar +org.apache.camel/jars/camel-router-1.1.0.jar +org.apache.camel/jars/camel-saxon-1.1.0.jar +org.apache.camel/jars/camel-script-1.1.0.jar +org.apache.camel/jars/camel-spring-1.1.0-tests.jar +org.apache.camel/jars/camel-spring-1.1.0.jar +org.apache.camel/jars/camel-xmpp-1.1.0.jar +org.apache.camel/tar.gzs/apache-camel-1.0.0-src.tar.gz +org.apache.camel/tar.gzs/apache-camel-1.0.0.tar.gz +org.apache.camel/tar.gzs/apache-camel-1.1.0-src.tar.gz +org.apache.camel/tar.gzs/apache-camel-1.1.0.tar.gz +org.apache.camel/xsds/camel-spring-1.0.0.xsd +org.apache.camel/xsds/camel-spring-1.1.0.xsd +org.apache.camel/zips/apache-camel-1.0.0-src.zip +org.apache.camel/zips/apache-camel-1.0.0.zip +org.apache.camel/zips/apache-camel-1.1.0-src.zip +org.apache.camel/zips/apache-camel-1.1.0.zip +org.apache.xmlbeans/jars/xmlbeans-2.3.0.jar +org.apache.xmlbeans/jars/xmlbeans-xmlpublic-2.3.0.jar +org.apache.xmlbeans/jars/xmlbeans-qname-2.3.0.jar +org.apache.xmlbeans/jars/xmlbeans-2.2.0.jar +org.apache.xmlbeans/jars/xmlbeans-xmlpublic-2.2.0.jar +org.apache.xmlbeans/jars/xmlbeans-xpath-2.3.0.jar +org.apache.xmlbeans/jars/xmlbeans-xpath-2.2.0.jar +org.apache.xmlbeans/poms/xmlbeans-2.2.0.pom +org.apache.xmlbeans/poms/xmlbeans-2.3.0.pom +org.apache.xmlbeans/poms/xmlbeans-xpath-2.3.0.pom +org.apache.xmlbeans/poms/xmlbeans-xmlpublic-2.2.0.pom +org.apache.xmlbeans/poms/xmlbeans-xmlpublic-2.3.0.pom +org.apache.xmlbeans/poms/xmlbeans-xpath-2.2.0.pom +org.apache.xmlbeans/poms/xmlbeans-qname-2.3.0.pom +org.apache.poi.DELETE/poms/poi-3.0-FINAL.pom diff --git a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml new file mode 100644 index 000000000..1d099487e --- /dev/null +++ b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --> + +<component-set> + <components> + <component> + <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> + <implementation>org.apache.maven.archiva.configuration.DefaultArchivaConfiguration</implementation> + <requirements> + <requirement> + <role>org.codehaus.plexus.registry.Registry</role> + <role-hint>configured</role-hint> + </requirement> + </requirements> + </component> + <component> + <role>org.codehaus.plexus.registry.Registry</role> + <role-hint>configured</role-hint> + <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation> + <configuration> + <properties> + <system/> + <xml fileName="${basedir}/src/test/resources/scanner-archiva.xml" + config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/> + </properties> + </configuration> + </component> + </components> + +</component-set> diff --git a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml index cbb36db8b..5776d2ac0 100644 --- a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml +++ b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml @@ -31,10 +31,6 @@ <description>MetadataTools</description> <requirements> <requirement> - <role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role> - <field-name>layoutFactory</field-name> - </requirement> - <requirement> <role>org.apache.maven.archiva.configuration.FileTypes</role> <field-name>filetypes</field-name> </requirement> |