aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
diff options
context:
space:
mode:
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.java329
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;
+ }
+}