diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java')
-rw-r--r-- | framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java new file mode 100644 index 00000000..050ec478 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java @@ -0,0 +1,329 @@ +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.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.RepositoryCache; +import org.apache.maven.artifact.repository.RepositoryRequest; +import org.apache.maven.artifact.resolver.filter.ArtifactFilter; +import org.apache.maven.settings.Mirror; +import org.apache.maven.settings.Proxy; +import org.apache.maven.settings.Server; + +/** + * A resolution request allows you to either use an existing MavenProject, or a coordinate (gid:aid:version) + * to process a POMs dependencies. + * + * @author Jason van Zyl + */ +public class ArtifactResolutionRequest + implements RepositoryRequest +{ + + private Artifact artifact; + + // Needs to go away + // These are really overrides now, projects defining dependencies for a plugin that override what is + // specified in the plugin itself. + private Set<Artifact> artifactDependencies; + + private ArtifactRepository localRepository; + + private List<ArtifactRepository> remoteRepositories; + + private ArtifactFilter collectionFilter; + + private ArtifactFilter resolutionFilter; + + // Needs to go away + private List<ResolutionListener> listeners = new ArrayList<ResolutionListener>(); + + // This is like a filter but overrides all transitive versions + private Map<String, Artifact> managedVersionMap; + + private boolean resolveRoot = true; + + private boolean resolveTransitively = false; + + private boolean offline; + + private boolean forceUpdate; + + private List<Server> servers; + + private List<Mirror> mirrors; + + private List<Proxy> proxies; + + public ArtifactResolutionRequest() + { + // nothing here + } + + public ArtifactResolutionRequest( RepositoryRequest request ) + { + setLocalRepository( request.getLocalRepository() ); + setRemoteRepositories( request.getRemoteRepositories() ); + setOffline( request.isOffline() ); + setForceUpdate( request.isForceUpdate() ); + } + + public Artifact getArtifact() + { + return artifact; + } + + public ArtifactResolutionRequest setArtifact( Artifact artifact ) + { + this.artifact = artifact; + + return this; + } + + public ArtifactResolutionRequest setArtifactDependencies( Set<Artifact> artifactDependencies ) + { + this.artifactDependencies = artifactDependencies; + + return this; + } + + public Set<Artifact> getArtifactDependencies() + { + return artifactDependencies; + } + + public ArtifactRepository getLocalRepository() + { + return localRepository; + } + + public ArtifactResolutionRequest setLocalRepository( ArtifactRepository localRepository ) + { + this.localRepository = localRepository; + + return this; + } + + public List<ArtifactRepository> getRemoteRepositories() + { + return remoteRepositories; + } + + public ArtifactResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories ) + { + this.remoteRepositories = remoteRepositories; + + return this; + } + + /** + * Gets the artifact filter that controls traversal of the dependency graph. + * + * @return The filter used to determine which of the artifacts in the dependency graph should be traversed or + * {@code null} to collect all transitive dependencies. + */ + public ArtifactFilter getCollectionFilter() + { + return collectionFilter; + } + + public ArtifactResolutionRequest setCollectionFilter( ArtifactFilter filter ) + { + this.collectionFilter = filter; + + return this; + } + + /** + * Gets the artifact filter that controls downloading of artifact files. This filter operates on those artifacts + * that have been included by the {@link #getCollectionFilter()}. + * + * @return The filter used to determine which of the artifacts should have their files resolved or {@code null} to + * resolve the files for all collected artifacts. + */ + public ArtifactFilter getResolutionFilter() + { + return resolutionFilter; + } + + public ArtifactResolutionRequest setResolutionFilter( ArtifactFilter filter ) + { + this.resolutionFilter = filter; + + return this; + } + + public List<ResolutionListener> getListeners() + { + return listeners; + } + + public ArtifactResolutionRequest setListeners( List<ResolutionListener> listeners ) + { + this.listeners = listeners; + + return this; + } + + public ArtifactResolutionRequest addListener( ResolutionListener listener ) + { + listeners.add( listener ); + + return this; + } + + public Map<String, Artifact> getManagedVersionMap() + { + return managedVersionMap; + } + + public ArtifactResolutionRequest setManagedVersionMap( Map<String, Artifact> managedVersionMap ) + { + this.managedVersionMap = managedVersionMap; + + return this; + } + + public ArtifactResolutionRequest setResolveRoot( boolean resolveRoot ) + { + this.resolveRoot = resolveRoot; + + return this; + } + + public boolean isResolveRoot() + { + return resolveRoot; + } + + public ArtifactResolutionRequest setResolveTransitively( boolean resolveDependencies ) + { + this.resolveTransitively = resolveDependencies; + + return this; + } + + public boolean isResolveTransitively() + { + return resolveTransitively; + } + + public String toString() + { + StringBuilder sb = new StringBuilder() + .append( "REQUEST: " ).append( "\n" ) + .append( "artifact: " ).append( artifact ).append( "\n" ) + .append( artifactDependencies ).append( "\n" ) + .append( "localRepository: " ).append( localRepository ).append( "\n" ) + .append( "remoteRepositories: " ).append( remoteRepositories ).append( "\n" ); + + return sb.toString(); + } + + public boolean isOffline() + { + return offline; + } + + public ArtifactResolutionRequest setOffline( boolean offline ) + { + this.offline = offline; + + return this; + } + + public boolean isForceUpdate() + { + return forceUpdate; + } + + public ArtifactResolutionRequest setForceUpdate( boolean forceUpdate ) + { + this.forceUpdate = forceUpdate; + + return this; + } + + public ArtifactResolutionRequest setServers( List<Server> servers ) + { + this.servers = servers; + + return this; + } + + public List<Server> getServers() + { + if ( servers == null ) + { + servers = new ArrayList<Server>(); + } + + return servers; + } + + public ArtifactResolutionRequest setMirrors( List<Mirror> mirrors ) + { + this.mirrors = mirrors; + + return this; + } + + public List<Mirror> getMirrors() + { + if ( mirrors == null ) + { + mirrors = new ArrayList<Mirror>(); + } + + return mirrors; + } + + public ArtifactResolutionRequest setProxies( List<Proxy> proxies ) + { + this.proxies = proxies; + + return this; + } + + public List<Proxy> getProxies() + { + if ( proxies == null ) + { + proxies = new ArrayList<Proxy>(); + } + + return proxies; + } + + // + // Used by Tycho and will break users and force them to upgrade to Maven 3.1 so we should really leave + // this here, possibly indefinitely. + // + public ArtifactResolutionRequest setCache( RepositoryCache cache ) + { + return this; + } +} |