You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/07/15 21:24:29 UTC
svn commit: r794373 [3/9] - in /maven/components/branches/MNG-4221:
maven-compat/ maven-compat/src/main/java/org/apache/maven/artifact/
maven-compat/src/main/java/org/apache/maven/artifact/deployer/
maven-compat/src/main/java/org/apache/maven/artifact/...
Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.2
Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 15 19:24:20 2009
@@ -0,0 +1,7 @@
+/maven/components/branches/MNG-3932-1/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:746145-746157
+/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:680477
+/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:679206
+/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java:751453-767358,767708-768832
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java Wed Jul 15 19:24:20 2009
@@ -10,31 +10,9 @@
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.wagon.events.TransferListener;
-/*
- * 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.
- */
-
-/**
- * @author Jason van Zyl
- */
-// Just hide the one method we want behind the RepositorySystem interface.
+@Deprecated
public interface ArtifactResolver
{
- ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
-
- // The rest is deprecated
-
// USED BY MAVEN ASSEMBLY PLUGIN 2.2-beta-2
@Deprecated
String ROLE = ArtifactResolver.class.getName();
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Wed Jul 15 19:24:20 2009
@@ -1,11 +1,37 @@
package org.apache.maven.artifact.resolver;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.legacy.metadata.ArtifactMetadataSource;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.resolver.ResolutionListener;
+import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
+import org.apache.maven.repository.legacy.resolver.filter.ArtifactFilter;
import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
@Deprecated
@Component(role=ArtifactCollector.class)
public class DefaultArtifactCollector
- extends org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector
implements ArtifactCollector
-{
+{
+ @Requirement
+ private RepositorySystem repositorySystem;
+
+ public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+ List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners,
+ List<ConflictResolver> conflictResolvers )
+ {
+ return repositorySystem.collect( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, conflictResolvers );
+ }
+
+ public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+ List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners )
+ {
+ return repositorySystem.collect( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners );
+ }
}
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed Jul 15 19:24:20 2009
@@ -1,269 +1,48 @@
package org.apache.maven.artifact.resolver;
-/*
- * 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 java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
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.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Snapshot;
-import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata;
-import org.apache.maven.artifact.repository.metadata.Versioning;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.repository.legacy.WagonManager;
-import org.apache.maven.repository.legacy.metadata.ArtifactMetadata;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.legacy.resolver.ResolutionErrorHandler;
+import org.apache.maven.repository.legacy.resolver.ResolutionListener;
import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
-import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformationManager;
-import org.apache.maven.wagon.ResourceDoesNotExistException;
-import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.events.TransferListener;
-import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * @author Jason van Zyl
- */
+
+@Deprecated
@Component(role = ArtifactResolver.class)
public class DefaultArtifactResolver
implements ArtifactResolver
{
- @Requirement
- private Logger logger;
-
- @Requirement
- private WagonManager wagonManager;
-
@Requirement
- private ArtifactTransformationManager transformationManager;
-
- @Requirement
- protected ArtifactFactory artifactFactory;
-
- @Requirement
- private ArtifactCollector artifactCollector;
+ private RepositorySystem repositorySystem;
@Requirement
private ResolutionErrorHandler resolutionErrorHandler;
-
- @Requirement
- private ArtifactMetadataSource source;
-
- @Requirement
- private PlexusContainer container;
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener resolutionListener )
throws ArtifactResolutionException, ArtifactNotFoundException
{
- resolve( artifact, remoteRepositories, localRepository, resolutionListener, false );
+ repositorySystem.resolve( artifact, remoteRepositories, localRepository, resolutionListener, false );
}
public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
throws ArtifactResolutionException, ArtifactNotFoundException
{
- resolve( artifact, remoteRepositories, localRepository, null, true );
+ repositorySystem.resolve( artifact, remoteRepositories, localRepository, null, true );
}
- private void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener downloadMonitor, boolean force )
- throws ArtifactResolutionException, ArtifactNotFoundException
+ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
{
- if ( artifact == null )
- {
- return;
- }
-
- File destination;
-
- if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
- {
- File systemFile = artifact.getFile();
-
- if ( systemFile == null )
- {
- throw new ArtifactNotFoundException( "System artifact: " + artifact + " has no file attached", artifact );
- }
-
- if ( !systemFile.exists() )
- {
- throw new ArtifactNotFoundException( "System artifact: " + artifact + " not found in path: " + systemFile, artifact );
- }
-
- if ( !systemFile.isFile() )
- {
- throw new ArtifactNotFoundException( "System artifact: " + artifact + " is not a file: " + systemFile, artifact );
- }
-
- artifact.setResolved( true );
-
- return;
- }
-
- if ( !artifact.isResolved() )
- {
- // ----------------------------------------------------------------------
- // Check for the existence of the artifact in the specified local
- // ArtifactRepository. If it is present then simply return as the
- // request for resolution has been satisfied.
- // ----------------------------------------------------------------------
-
- artifact = localRepository.find( artifact );
-
- if ( artifact.isFromAuthoritativeRepository() )
- {
- return;
- }
-
- if ( artifact.isSnapshot() && artifact.isResolved() )
- {
- return;
- }
-
- transformationManager.transformForResolve( artifact, remoteRepositories, localRepository );
-
- boolean localCopy = isLocalCopy( artifact );
-
- destination = artifact.getFile();
-
- boolean resolved = false;
-
- if ( force || !destination.exists() || ( artifact.isSnapshot() && !localCopy ) )
- {
- try
- {
- if ( artifact.getRepository() != null )
- {
- // the transformations discovered the artifact - so use it exclusively
- wagonManager.getArtifact( artifact, artifact.getRepository(), downloadMonitor );
- }
- else
- {
- wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor );
- }
-
- if ( !artifact.isResolved() && !destination.exists() )
- {
- throw new ArtifactResolutionException( "Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata.",
- artifact, remoteRepositories );
- }
- }
- catch ( ResourceDoesNotExistException e )
- {
- throw new ArtifactNotFoundException( e.getMessage(), artifact, remoteRepositories, e );
- }
- catch ( TransferFailedException e )
- {
- throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
- }
-
- resolved = true;
- }
-
- if ( destination.exists() )
- {
- artifact.setResolved( true );
- }
-
- // 1.0-SNAPSHOT
- //
- // 1) pom = 1.0-SoNAPSHOT
- // 2) pom = 1.0-yyyymmdd.hhmmss
- // 3) baseVersion = 1.0-SNAPSHOT
- if ( artifact.isSnapshot() && !artifact.getBaseVersion().equals( artifact.getVersion() ) )
- {
- String version = artifact.getVersion();
-
- // 1.0-SNAPSHOT
- artifact.selectVersion( artifact.getBaseVersion() );
-
- // Make a file with a 1.0-SNAPSHOT format
- File copy = new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
-
- // if the timestamped version was resolved or the copy doesn't exist then copy a version
- // of the file like 1.0-SNAPSHOT. Even if there is a timestamped version the non-timestamped
- // version will be created.
- if ( resolved || !copy.exists() )
- {
- // recopy file if it was reresolved, or doesn't exist.
- try
- {
- FileUtils.copyFile( destination, copy );
-
- copy.setLastModified( destination.lastModified() );
- }
- catch ( IOException e )
- {
- throw new ArtifactResolutionException( "Unable to copy resolved artifact for local use: " + e.getMessage(), artifact, remoteRepositories, e );
- }
- }
-
- // We are only going to use the 1.0-SNAPSHOT version
- artifact.setFile( copy );
-
- // Set the version to the 1.0-SNAPSHOT version
- artifact.selectVersion( version );
- }
- }
- }
-
- private boolean isLocalCopy( Artifact artifact )
- {
- boolean localCopy = false;
-
- for ( ArtifactMetadata m : artifact.getMetadataList() )
- {
- if ( m instanceof SnapshotArtifactRepositoryMetadata )
- {
- SnapshotArtifactRepositoryMetadata snapshotMetadata = (SnapshotArtifactRepositoryMetadata) m;
-
- Metadata metadata = snapshotMetadata.getMetadata();
-
- if ( metadata != null )
- {
- Versioning versioning = metadata.getVersioning();
-
- if ( versioning != null )
- {
- Snapshot snapshot = versioning.getSnapshot();
-
- if ( snapshot != null )
- {
- // TODO is it possible to have more than one SnapshotArtifactRepositoryMetadata
- localCopy = snapshot.isLocalCopy();
- }
- }
- }
- }
- }
-
- return localCopy;
+ return repositorySystem.resolve( request );
}
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
@@ -316,15 +95,9 @@
List<ConflictResolver> conflictResolvers )
throws ArtifactResolutionException, ArtifactNotFoundException
{
- ArtifactResolutionRequest request = new ArtifactResolutionRequest()
- .setArtifact( originatingArtifact )
- .setResolveRoot( false )
+ ArtifactResolutionRequest request = new ArtifactResolutionRequest().setArtifact( originatingArtifact ).setResolveRoot( false )
// This is required by the surefire plugin
- .setArtifactDependencies( artifacts )
- .setManagedVersionMap( managedVersions )
- .setLocalRepository( localRepository )
- .setRemoteRepostories( remoteRepositories )
- .setFilter( filter )
+ .setArtifactDependencies( artifacts ).setManagedVersionMap( managedVersions ).setLocalRepository( localRepository ).setRemoteRepostories( remoteRepositories ).setFilter( filter )
.setListeners( listeners );
return resolveWithExceptions( request );
@@ -344,170 +117,14 @@
return result;
}
- // ------------------------------------------------------------------------
- //
- // ------------------------------------------------------------------------
-
- public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
- {
- Artifact rootArtifact = request.getArtifact();
- Set<Artifact> artifacts = request.getArtifactDependencies();
- Map managedVersions = request.getManagedVersionMap();
- ArtifactRepository localRepository = request.getLocalRepository();
- List<ArtifactRepository> remoteRepositories = request.getRemoteRepostories();
- List<ResolutionListener> listeners = request.getListeners();
- ArtifactFilter filter = request.getFilter();
-
- //TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the workspace
- if ( source == null )
- {
- try
- {
- source = container.lookup( ArtifactMetadataSource.class );
- }
- catch ( ComponentLookupException e )
- {
- e.printStackTrace();
- // won't happen
- }
- }
-
- if ( listeners == null )
- {
- listeners = new ArrayList<ResolutionListener>();
-
- if ( logger.isDebugEnabled() )
- {
- listeners.add( new DebugResolutionListener( logger ) );
- }
-
- listeners.add( new WarningResolutionListener( logger ) );
- }
-
- ArtifactResolutionResult result = new ArtifactResolutionResult();
-
- // The root artifact may, or may not be resolved so we need to check before we attempt to resolve.
- // This is often an artifact like a POM that is taken from disk and we already have hold of the
- // file reference. But this may be a Maven Plugin that we need to resolve from a remote repository
- // as well as its dependencies.
-
- if ( request.isResolveRoot() && rootArtifact.getFile() == null )
- {
- try
- {
- resolve( rootArtifact, remoteRepositories, localRepository );
- }
- catch ( ArtifactResolutionException e )
- {
- result.addErrorArtifactException( e );
- return result;
- }
- catch ( ArtifactNotFoundException e )
- {
- result.addMissingArtifact( request.getArtifact() );
- return result;
- }
- }
-
- if ( request.isResolveTransitively() )
- {
- try
- {
- Set<Artifact> directArtifacts = source.retrieve( rootArtifact, localRepository, remoteRepositories ).getArtifacts();
-
- if ( artifacts == null || artifacts.isEmpty() )
- {
- artifacts = directArtifacts;
- }
- else
- {
- List<Artifact> allArtifacts = new ArrayList<Artifact>();
- allArtifacts.addAll( artifacts );
- allArtifacts.addAll( directArtifacts );
-
- Map<String, Artifact> mergedArtifacts = new LinkedHashMap<String, Artifact>();
- for ( Artifact artifact : allArtifacts )
- {
- String conflictId = artifact.getDependencyConflictId();
- if ( !mergedArtifacts.containsKey( conflictId ) )
- {
- mergedArtifacts.put( conflictId, artifact );
- }
- }
-
- artifacts = new LinkedHashSet<Artifact>( mergedArtifacts.values() );
- }
- }
- catch ( ArtifactMetadataRetrievalException e )
- {
- // need to add metadata resolution exception
- return result;
- }
- }
-
- if ( artifacts == null || artifacts.isEmpty() )
- {
- if ( request.isResolveRoot() )
- {
- result.addArtifact( rootArtifact );
- }
- return result;
- }
-
- // After the collection we will have the artifact object in the result but they will not be resolved yet.
- result = artifactCollector.collect( artifacts, rootArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, null );
-
- // We have metadata retrieval problems, or there are cycles that have been detected
- // so we give this back to the calling code and let them deal with this information
- // appropriately.
-
- if ( result.hasMetadataResolutionExceptions() || result.hasVersionRangeViolations() || result.hasCircularDependencyExceptions() )
- {
- return result;
- }
-
- if ( result.getArtifacts() != null )
- {
- for ( Artifact artifact : result.getArtifacts() )
- {
- try
- {
- resolve( artifact, remoteRepositories, localRepository, request.getTransferListener() );
- }
- catch ( ArtifactNotFoundException anfe )
- {
- // These are cases where the artifact just isn't present in any of the remote repositories
- // because it wasn't deployed, or it was deployed in the wrong place.
-
- result.addMissingArtifact( artifact );
- }
- catch ( ArtifactResolutionException e )
- {
- // This is really a wagon TransferFailedException so something went wrong after we successfully
- // retrieved the metadata.
-
- result.addErrorArtifactException( e );
- }
- }
- }
-
- // We want to send the root artifact back in the result but we need to do this after the other dependencies
- // have been resolved.
- if ( request.isResolveRoot() )
- {
- // Add the root artifact (as the first artifact to retain logical order of class path!)
- Set<Artifact> allArtifacts = new LinkedHashSet<Artifact>();
- allArtifacts.add( rootArtifact );
- allArtifacts.addAll( result.getArtifacts() );
- result.setArtifacts( allArtifacts );
- }
-
- return result;
- }
-
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
throws ArtifactResolutionException, ArtifactNotFoundException
{
resolve( artifact, remoteRepositories, localRepository, null );
}
+
+ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
+ {
+ return repositorySystem.resolve( request );
+ }
}
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ArtifactFilter.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ArtifactFilter.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ArtifactFilter.java Wed Jul 15 19:24:20 2009
@@ -1,31 +1,7 @@
package org.apache.maven.artifact.resolver.filter;
-/*
- * 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.artifact.Artifact;
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id$
- */
+@Deprecated
public interface ArtifactFilter
+ extends org.apache.maven.repository.legacy.resolver.filter.ArtifactFilter
{
- boolean include( Artifact artifact );
}
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java Wed Jul 15 19:24:20 2009
@@ -19,8 +19,8 @@
* under the License.
*/
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.repository.legacy.versioning.ArtifactVersion;
+import org.apache.maven.repository.legacy.versioning.DefaultArtifactVersion;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/RuntimeInformation.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/RuntimeInformation.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/RuntimeInformation.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/execution/RuntimeInformation.java Wed Jul 15 19:24:20 2009
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.repository.legacy.versioning.ArtifactVersion;
/**
* Describes runtime information about the application.
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/MissingRepositoryElementException.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/MissingRepositoryElementException.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/MissingRepositoryElementException.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/MissingRepositoryElementException.java Wed Jul 15 19:24:20 2009
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.repository.legacy.InvalidRepositoryException;
public class MissingRepositoryElementException
extends InvalidRepositoryException
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java Wed Jul 15 19:24:20 2009
@@ -22,18 +22,21 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryAdapter;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.LegacyArtifactRepositoryAdapter;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Repository;
import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.legacy.InvalidRepositoryException;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
// This class needs to stick around because it was exposed the the remote resources plugin started using it instead of
// getting the repositories from the project.
+@Deprecated
public final class ProjectUtils
{
static RepositorySystem rs;
@@ -45,29 +48,52 @@
public static List<ArtifactRepository> buildArtifactRepositories( List<Repository> repositories, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
throws InvalidRepositoryException
{
-
+ //
+ // Old repository format
+ //
List<ArtifactRepository> remoteRepositories = new ArrayList<ArtifactRepository>();
for ( Repository r : repositories )
{
remoteRepositories.add( buildArtifactRepository( r, artifactRepositoryFactory, c ) );
- }
-
- remoteRepositories = rs( c ).getMirrors( remoteRepositories );
-
- return remoteRepositories;
+ }
+
+ //TODO: This is not very nice so we need to make sure the mirrors are processed internally
+ // and plugins that are accessing repositories outside the context of a MavenProject or the system
+ // is categorically bad.
+ return convertToLegacy( rs( c ).getMirrors( convertFromLegacy( remoteRepositories ) ) );
}
+ private static List<org.apache.maven.repository.legacy.repository.ArtifactRepository> convertFromLegacy( List<ArtifactRepository> repositories )
+ {
+ List<org.apache.maven.repository.legacy.repository.ArtifactRepository> repos = new ArrayList<org.apache.maven.repository.legacy.repository.ArtifactRepository>();
+ for( ArtifactRepository r : repositories )
+ {
+ repos.add( new ArtifactRepositoryAdapter( r ) );
+ }
+ return repos;
+ }
+
+ private static List<ArtifactRepository> convertToLegacy( List<org.apache.maven.repository.legacy.repository.ArtifactRepository> repositories )
+ {
+ List<ArtifactRepository> repos = new ArrayList<ArtifactRepository>();
+ for( org.apache.maven.repository.legacy.repository.ArtifactRepository r : repositories )
+ {
+ repos.add( new LegacyArtifactRepositoryAdapter( r ) );
+ }
+ return repos;
+ }
+
public static ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
throws InvalidRepositoryException
{
- return rs( c ).buildArtifactRepository( repo );
+ return new LegacyArtifactRepositoryAdapter( rs( c ).buildArtifactRepository( repo ) );
}
public static ArtifactRepository buildArtifactRepository( Repository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
throws InvalidRepositoryException
{
- return rs( c ).buildArtifactRepository( repo );
+ return new LegacyArtifactRepositoryAdapter( rs( c ).buildArtifactRepository( repo ) );
}
private static RepositorySystem rs( PlexusContainer c )
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java Wed Jul 15 19:24:20 2009
@@ -26,10 +26,10 @@
import java.util.Map;
import java.util.Set;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
+import org.apache.maven.repository.legacy.repository.DefaultArtifactRepository;
+import org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java Wed Jul 15 19:24:20 2009
@@ -21,10 +21,10 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.MavenArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.repository.legacy.repository.MavenArtifactRepository;
+import org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout;
/**
* Delegating local artifact repository chains the reactor, IDE workspace