mirror of
https://github.com/apache/maven.git
synced 2025-02-22 10:00:09 +00:00
[MNG-3849]
- abstract test for testing all repository system implementations - mercury implementation test git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@749858 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
892ade6462
commit
fca57c3241
@ -29,12 +29,11 @@ under the License.
|
||||
<artifactId>maven-repository-mercury</artifactId>
|
||||
<name>Mercury Repository </name>
|
||||
<description>Mercury implementation for the Maven Repository System</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<mercury.version>1.0-alpha-6-SNAPSHOT</mercury.version>
|
||||
<plexus.lang.version>1.1</plexus.lang.version>
|
||||
</properties>
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
@ -42,6 +41,18 @@ under the License.
|
||||
<artifactId>maven-repository</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-repository</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-mercury</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
@ -54,7 +65,31 @@ under the License.
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-plexus</artifactId>
|
||||
<artifactId>mercury-external</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-util</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-md-sat</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-repo-api</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-repo-local-m2</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
@ -63,20 +98,54 @@ under the License.
|
||||
<artifactId>mercury-repo-remote-m2</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-lang</artifactId>
|
||||
<version>${plexus.lang.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-artifact</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-plexus</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.mercury</groupId>
|
||||
<artifactId>mercury-transport-http</artifactId>
|
||||
<version>${mercury.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.plexus</groupId>
|
||||
<artifactId>plexus-jetty6</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.spice</groupId>
|
||||
<artifactId>plexus-webdav</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-component-metadata</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>generate-metadata</goal>
|
||||
<goal>generate-test-metadata</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
@ -26,10 +26,8 @@ Licensed to the Apache Software Foundation (ASF) under one
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.artifact.DefaultArtifact;
|
||||
import org.apache.maven.artifact.factory.ArtifactFactory;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.versioning.ArtifactVersion;
|
||||
import org.apache.maven.artifact.versioning.VersionRange;
|
||||
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
|
||||
import org.apache.maven.mercury.artifact.ArtifactMetadata;
|
||||
import org.apache.maven.mercury.builder.api.DependencyProcessor;
|
||||
@ -60,7 +58,7 @@ public static List<Repository> toMercuryRepos( ArtifactRepository localRepositor
|
||||
if ( localRepository != null )
|
||||
{
|
||||
LocalRepositoryM2 lr =
|
||||
new LocalRepositoryM2( localRepository.getId(), new File( localRepository.getBasedir() ),
|
||||
new LocalRepositoryM2( localRepository.getId(), new File( localRepository.getUrl() ),
|
||||
dependencyProcessor );
|
||||
res.add( lr );
|
||||
}
|
||||
@ -111,14 +109,33 @@ public static ArtifactMetadata toMercuryMetadata( Artifact a )
|
||||
return md;
|
||||
}
|
||||
|
||||
public static Artifact toMavenArtifact( org.apache.maven.mercury.artifact.Artifact a )
|
||||
public static Artifact toMavenArtifact( ArtifactFactory af, org.apache.maven.mercury.artifact.Artifact a )
|
||||
{
|
||||
VersionRange vr = VersionRange.createFromVersion( a.getVersion() );
|
||||
Artifact ma =
|
||||
new DefaultArtifact( a.getGroupId(), a.getArtifactId(), vr, a.getScope(), a.getType(), a.getClassifier(),
|
||||
null );
|
||||
Artifact ma = a.getClassifier() == null
|
||||
? af.createArtifact( a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getScope(), a.getType() )
|
||||
: af.createArtifactWithClassifier( a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getType(), a.getClassifier() )
|
||||
;
|
||||
ma.setScope( a.getScope() );
|
||||
|
||||
ma.setFile( a.getFile() );
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
public static Artifact toMavenArtifact( ArtifactFactory af, org.apache.maven.mercury.artifact.ArtifactBasicMetadata a )
|
||||
{
|
||||
Artifact ma = a.getClassifier() == null
|
||||
? af.createArtifact( a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getScope(), a.getType() )
|
||||
: af.createArtifactWithClassifier( a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getType(), a.getClassifier() )
|
||||
;
|
||||
ma.setScope( a.getScope() );
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
public static Artifact toMavenArtifact( ArtifactFactory af, String name )
|
||||
{
|
||||
return toMavenArtifact( af, new ArtifactBasicMetadata(name) );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,13 +19,10 @@ Licensed to the Apache Software Foundation (ASF) under one
|
||||
|
||||
package org.apache.maven.repository.mercury;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.artifact.factory.ArtifactFactory;
|
||||
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
|
||||
import org.apache.maven.artifact.metadata.ResolutionGroup;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
@ -37,9 +34,6 @@ Licensed to the Apache Software Foundation (ASF) under one
|
||||
import org.apache.maven.mercury.plexus.PlexusMercury;
|
||||
import org.apache.maven.mercury.repository.api.Repository;
|
||||
import org.apache.maven.mercury.repository.api.RepositoryException;
|
||||
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
|
||||
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
|
||||
import org.apache.maven.mercury.transport.api.Server;
|
||||
import org.apache.maven.mercury.util.Util;
|
||||
import org.apache.maven.repository.LegacyMavenRepositorySystem;
|
||||
import org.apache.maven.repository.MavenRepositorySystem;
|
||||
@ -65,6 +59,9 @@ public class MercuryRepositorySystem
|
||||
@Requirement
|
||||
PlexusMercury _mercury;
|
||||
|
||||
@Requirement
|
||||
ArtifactFactory _artifactFactory;
|
||||
|
||||
@Override
|
||||
public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
|
||||
{
|
||||
@ -90,7 +87,7 @@ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
|
||||
|
||||
if ( !Util.isEmpty( mercuryArtifactList ) )
|
||||
for ( org.apache.maven.mercury.artifact.Artifact a : mercuryArtifactList )
|
||||
result.addArtifact( MercuryAdaptor.toMavenArtifact( a ) );
|
||||
result.addArtifact( MercuryAdaptor.toMavenArtifact( _artifactFactory, a ) );
|
||||
}
|
||||
catch ( RepositoryException e )
|
||||
{
|
||||
|
@ -0,0 +1,42 @@
|
||||
/*
|
||||
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.
|
||||
*/
|
||||
|
||||
package org.apache.maven.repository.mercury;
|
||||
|
||||
import org.apache.maven.repository.AbstractMavenRepositorySystemTest;
|
||||
import org.apache.maven.repository.MavenRepositorySystem;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author Oleg Gusakov
|
||||
* @version $Id$
|
||||
*
|
||||
*/
|
||||
public class MercuryRepositorySystemTest
|
||||
extends AbstractMavenRepositorySystemTest
|
||||
{
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
_mrs = getContainer().lookup( MavenRepositorySystem.class, "mercury" );
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user