aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.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/project/DefaultProjectBuildingRequest.java')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java339
1 files changed, 339 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
new file mode 100644
index 00000000..185e4ca7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
@@ -0,0 +1,339 @@
+package org.apache.maven.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 java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Profile;
+import org.apache.maven.model.building.ModelBuildingRequest;
+import org.eclipse.aether.RepositorySystemSession;
+
+public class DefaultProjectBuildingRequest
+ implements ProjectBuildingRequest
+{
+
+ private RepositorySystemSession repositorySession;
+
+ private ArtifactRepository localRepository;
+
+ private List<ArtifactRepository> remoteRepositories;
+
+ private List<ArtifactRepository> pluginArtifactRepositories;
+
+ private MavenProject project;
+
+ private int validationLevel = ModelBuildingRequest.VALIDATION_LEVEL_STRICT;
+
+ private boolean processPlugins;
+
+ private List<Profile> profiles;
+
+ private List<String> activeProfileIds;
+
+ private List<String> inactiveProfileIds;
+
+ private Properties systemProperties;
+
+ private Properties userProperties;
+
+ private Date buildStartTime;
+
+ private boolean resolveDependencies;
+
+ private boolean resolveVersionRanges;
+
+ private RepositoryMerging repositoryMerging = RepositoryMerging.POM_DOMINANT;
+
+ public DefaultProjectBuildingRequest()
+ {
+ processPlugins = true;
+ profiles = new ArrayList<Profile>();
+ activeProfileIds = new ArrayList<String>();
+ inactiveProfileIds = new ArrayList<String>();
+ systemProperties = new Properties();
+ userProperties = new Properties();
+ remoteRepositories = new ArrayList<ArtifactRepository>();
+ pluginArtifactRepositories = new ArrayList<ArtifactRepository>();
+ }
+
+ public DefaultProjectBuildingRequest( ProjectBuildingRequest request )
+ {
+ this();
+ setProcessPlugins( request.isProcessPlugins() );
+ setProfiles( request.getProfiles() );
+ setActiveProfileIds( request.getActiveProfileIds() );
+ setInactiveProfileIds( request.getInactiveProfileIds() );
+ setSystemProperties( request.getSystemProperties() );
+ setUserProperties( request.getUserProperties() );
+ setRemoteRepositories( request.getRemoteRepositories() );
+ setPluginArtifactRepositories( request.getPluginArtifactRepositories() );
+ setRepositorySession( request.getRepositorySession() );
+ setLocalRepository( request.getLocalRepository() );
+ setBuildStartTime( request.getBuildStartTime() );
+ setProject( request.getProject() );
+ setResolveDependencies( request.isResolveDependencies() );
+ setValidationLevel( request.getValidationLevel() );
+ }
+
+ public MavenProject getProject()
+ {
+ return project;
+ }
+
+ public void setProject( MavenProject mavenProject )
+ {
+ this.project = mavenProject;
+ }
+
+ public ProjectBuildingRequest setLocalRepository( ArtifactRepository localRepository )
+ {
+ this.localRepository = localRepository;
+ return this;
+ }
+
+ public ArtifactRepository getLocalRepository()
+ {
+ return localRepository;
+ }
+
+ public List<ArtifactRepository> getRemoteRepositories()
+ {
+ return remoteRepositories;
+ }
+
+ public ProjectBuildingRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
+ {
+ if ( remoteRepositories != null )
+ {
+ this.remoteRepositories = new ArrayList<ArtifactRepository>( remoteRepositories );
+ }
+ else
+ {
+ this.remoteRepositories.clear();
+ }
+
+ return this;
+ }
+
+ public List<ArtifactRepository> getPluginArtifactRepositories()
+ {
+ return pluginArtifactRepositories;
+ }
+
+ public ProjectBuildingRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifactRepositories )
+ {
+ if ( pluginArtifactRepositories != null )
+ {
+ this.pluginArtifactRepositories = new ArrayList<ArtifactRepository>( pluginArtifactRepositories );
+ }
+ else
+ {
+ this.pluginArtifactRepositories.clear();
+ }
+
+ return this;
+ }
+
+ public Properties getSystemProperties()
+ {
+ return systemProperties;
+ }
+
+ public ProjectBuildingRequest setSystemProperties( Properties systemProperties )
+ {
+ if ( systemProperties != null )
+ {
+ this.systemProperties = new Properties();
+ synchronized ( systemProperties )
+ { // avoid concurrentmodification if someone else sets/removes an unrelated system property
+ this.systemProperties.putAll( systemProperties );
+ }
+ }
+ else
+ {
+ this.systemProperties.clear();
+ }
+
+ return this;
+ }
+
+ public Properties getUserProperties()
+ {
+ return userProperties;
+ }
+
+ public ProjectBuildingRequest setUserProperties( Properties userProperties )
+ {
+ if ( userProperties != null )
+ {
+ this.userProperties = new Properties();
+ this.userProperties.putAll( userProperties );
+ }
+ else
+ {
+ this.userProperties.clear();
+ }
+
+ return this;
+ }
+
+ public boolean isProcessPlugins()
+ {
+ return processPlugins;
+ }
+
+ public ProjectBuildingRequest setProcessPlugins( boolean processPlugins )
+ {
+ this.processPlugins = processPlugins;
+ return this;
+ }
+
+ public ProjectBuildingRequest setResolveDependencies( boolean resolveDependencies )
+ {
+ this.resolveDependencies = resolveDependencies;
+ return this;
+ }
+
+ public boolean isResolveDependencies()
+ {
+ return resolveDependencies;
+ }
+
+ /** @since 3.2.2 */
+ public ProjectBuildingRequest setResolveVersionRanges( boolean value )
+ {
+ this.resolveVersionRanges = value;
+ return this;
+ }
+
+ /** @since 3.2.2 */
+ public boolean isResolveVersionRanges()
+ {
+ return this.resolveVersionRanges;
+ }
+
+ public ProjectBuildingRequest setValidationLevel( int validationLevel )
+ {
+ this.validationLevel = validationLevel;
+ return this;
+ }
+
+ public int getValidationLevel()
+ {
+ return validationLevel;
+ }
+
+ public List<String> getActiveProfileIds()
+ {
+ return activeProfileIds;
+ }
+
+ public void setActiveProfileIds( List<String> activeProfileIds )
+ {
+ if ( activeProfileIds != null )
+ {
+ this.activeProfileIds = new ArrayList<String>( activeProfileIds );
+ }
+ else
+ {
+ this.activeProfileIds.clear();
+ }
+ }
+
+ public List<String> getInactiveProfileIds()
+ {
+ return inactiveProfileIds;
+ }
+
+ public void setInactiveProfileIds( List<String> inactiveProfileIds )
+ {
+ if ( inactiveProfileIds != null )
+ {
+ this.inactiveProfileIds = new ArrayList<String>( inactiveProfileIds );
+ }
+ else
+ {
+ this.inactiveProfileIds.clear();
+ }
+ }
+
+ public void setProfiles( List<Profile> profiles )
+ {
+ if ( profiles != null )
+ {
+ this.profiles = new ArrayList<Profile>( profiles );
+ }
+ else
+ {
+ this.profiles.clear();
+ }
+ }
+
+ public void addProfile( Profile profile )
+ {
+ profiles.add( profile );
+ }
+
+ public List<Profile> getProfiles()
+ {
+ return profiles;
+ }
+
+ public Date getBuildStartTime()
+ {
+ return buildStartTime;
+ }
+
+ public void setBuildStartTime( Date buildStartTime )
+ {
+ this.buildStartTime = buildStartTime;
+ }
+
+ public RepositorySystemSession getRepositorySession()
+ {
+ return repositorySession;
+ }
+
+ public DefaultProjectBuildingRequest setRepositorySession( RepositorySystemSession repositorySession )
+ {
+ this.repositorySession = repositorySession;
+ return this;
+ }
+
+ public DefaultProjectBuildingRequest setRepositoryMerging( RepositoryMerging repositoryMerging )
+ {
+ if ( repositoryMerging == null )
+ {
+ throw new IllegalArgumentException( "repository merge mode not specified" );
+ }
+ this.repositoryMerging = repositoryMerging;
+ return this;
+ }
+
+ public RepositoryMerging getRepositoryMerging()
+ {
+ return repositoryMerging;
+ }
+
+}