aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java324
1 files changed, 0 insertions, 324 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
deleted file mode 100644
index fff2de10..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
+++ /dev/null
@@ -1,324 +0,0 @@
-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.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.building.ModelBuildingException;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelSource;
-import org.apache.maven.model.building.UrlModelSource;
-import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.properties.internal.EnvironmentUtils;
-import org.apache.maven.repository.RepositorySystem;
-import org.apache.maven.wagon.events.TransferListener;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- */
-@Component( role = MavenProjectBuilder.class )
-@Deprecated
-public class DefaultMavenProjectBuilder
- implements MavenProjectBuilder
-{
-
- @Requirement
- private ProjectBuilder projectBuilder;
-
- @Requirement
- private RepositorySystem repositorySystem;
-
- @Requirement
- private LegacySupport legacySupport;
-
- // ----------------------------------------------------------------------
- // MavenProjectBuilder Implementation
- // ----------------------------------------------------------------------
-
- private ProjectBuildingRequest toRequest( ProjectBuilderConfiguration configuration )
- {
- DefaultProjectBuildingRequest request = new DefaultProjectBuildingRequest();
-
- request.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 );
- request.setResolveDependencies( false );
-
- request.setLocalRepository( configuration.getLocalRepository() );
- request.setBuildStartTime( configuration.getBuildStartTime() );
- request.setUserProperties( configuration.getUserProperties() );
- request.setSystemProperties( configuration.getExecutionProperties() );
-
- ProfileManager profileManager = configuration.getGlobalProfileManager();
- if ( profileManager != null )
- {
- request.setActiveProfileIds( profileManager.getExplicitlyActivatedIds() );
- request.setInactiveProfileIds( profileManager.getExplicitlyDeactivatedIds() );
- }
- else
- {
- /*
- * MNG-4900: Hack to workaround deficiency of legacy API which makes it impossible for plugins to access the
- * global profile manager which is required to build a POM like a CLI invocation does. Failure to consider
- * the activated profiles can cause repo declarations to be lost which in turn will result in artifact
- * resolution failures, in particular when using the enhanced local repo which guards access to local files
- * based on the configured remote repos.
- */
- MavenSession session = legacySupport.getSession();
- if ( session != null )
- {
- MavenExecutionRequest req = session.getRequest();
- if ( req != null )
- {
- request.setActiveProfileIds( req.getActiveProfiles() );
- request.setInactiveProfileIds( req.getInactiveProfiles() );
- }
- }
- }
-
- return request;
- }
-
- private ProjectBuildingRequest injectSession( ProjectBuildingRequest request )
- {
- MavenSession session = legacySupport.getSession();
- if ( session != null )
- {
- request.setRepositorySession( session.getRepositorySession() );
- request.setSystemProperties( session.getSystemProperties() );
- if ( request.getUserProperties().isEmpty() )
- {
- request.setUserProperties( session.getUserProperties() );
- }
-
- MavenExecutionRequest req = session.getRequest();
- if ( req != null )
- {
- request.setRemoteRepositories( req.getRemoteRepositories() );
- }
- }
- else
- {
- Properties props = new Properties();
- EnvironmentUtils.addEnvVars( props );
- props.putAll( System.getProperties() );
- request.setSystemProperties( props );
- }
-
- return request;
- }
-
- @SuppressWarnings( "unchecked" )
- private List<ArtifactRepository> normalizeToArtifactRepositories( List<?> repositories,
- ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- /*
- * This provides backward-compat with 2.x that allowed plugins like the maven-remote-resources-plugin:1.0 to
- * populate the builder configuration with model repositories instead of artifact repositories.
- */
-
- if ( repositories != null )
- {
- boolean normalized = false;
-
- List<ArtifactRepository> repos = new ArrayList<ArtifactRepository>( repositories.size() );
-
- for ( Object repository : repositories )
- {
- if ( repository instanceof Repository )
- {
- try
- {
- ArtifactRepository repo = repositorySystem.buildArtifactRepository( (Repository) repository );
- repositorySystem.injectMirror( request.getRepositorySession(), Arrays.asList( repo ) );
- repositorySystem.injectProxy( request.getRepositorySession(), Arrays.asList( repo ) );
- repositorySystem.injectAuthentication( request.getRepositorySession(), Arrays.asList( repo ) );
- repos.add( repo );
- }
- catch ( InvalidRepositoryException e )
- {
- throw new ProjectBuildingException( "", "Invalid remote repository " + repository, e );
- }
- normalized = true;
- }
- else
- {
- repos.add( (ArtifactRepository) repository );
- }
- }
-
- if ( normalized )
- {
- return repos;
- }
- }
-
- return (List<ArtifactRepository>) repositories;
- }
-
- private ProjectBuildingException transformError( ProjectBuildingException e )
- {
- if ( e.getCause() instanceof ModelBuildingException )
- {
- return new InvalidProjectModelException( e.getProjectId(), e.getMessage(), e.getPomFile() );
- }
-
- return e;
- }
-
- public MavenProject build( File pom, ProjectBuilderConfiguration configuration )
- throws ProjectBuildingException
- {
- ProjectBuildingRequest request = injectSession( toRequest( configuration ) );
-
- try
- {
- return projectBuilder.build( pom, request ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- throw transformError( e );
- }
- }
-
- // This is used by the SITE plugin.
- public MavenProject build( File pom, ArtifactRepository localRepository, ProfileManager profileManager )
- throws ProjectBuildingException
- {
- ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration();
- configuration.setLocalRepository( localRepository );
- configuration.setGlobalProfileManager( profileManager );
-
- return build( pom, configuration );
- }
-
- public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories,
- ProjectBuilderConfiguration configuration, boolean allowStubModel )
- throws ProjectBuildingException
- {
- ProjectBuildingRequest request = injectSession( toRequest( configuration ) );
- request.setRemoteRepositories( normalizeToArtifactRepositories( remoteRepositories, request ) );
- request.setProcessPlugins( false );
- request.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
-
- try
- {
- return projectBuilder.build( artifact, allowStubModel, request ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- throw transformError( e );
- }
- }
-
- public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories,
- ArtifactRepository localRepository, boolean allowStubModel )
- throws ProjectBuildingException
- {
- ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration();
- configuration.setLocalRepository( localRepository );
-
- return buildFromRepository( artifact, remoteRepositories, configuration, allowStubModel );
- }
-
- public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories,
- ArtifactRepository localRepository )
- throws ProjectBuildingException
- {
- return buildFromRepository( artifact, remoteRepositories, localRepository, true );
- }
-
- /**
- * This is used for pom-less execution like running archetype:generate. I am taking out the profile handling and the
- * interpolation of the base directory until we spec this out properly.
- */
- public MavenProject buildStandaloneSuperProject( ProjectBuilderConfiguration configuration )
- throws ProjectBuildingException
- {
- ProjectBuildingRequest request = injectSession( toRequest( configuration ) );
- request.setProcessPlugins( false );
- request.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
-
- ModelSource modelSource = new UrlModelSource( getClass().getResource( "standalone.xml" ) );
-
- MavenProject project = projectBuilder.build( modelSource, request ).getProject();
- project.setExecutionRoot( true );
- return project;
- }
-
- public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository )
- throws ProjectBuildingException
- {
- return buildStandaloneSuperProject( localRepository, null );
- }
-
- public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository, ProfileManager profileManager )
- throws ProjectBuildingException
- {
- ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration();
- configuration.setLocalRepository( localRepository );
- configuration.setGlobalProfileManager( profileManager );
-
- return buildStandaloneSuperProject( configuration );
- }
-
- public MavenProject buildWithDependencies( File pom, ArtifactRepository localRepository,
- ProfileManager profileManager, TransferListener transferListener )
- throws ProjectBuildingException, ArtifactResolutionException, ArtifactNotFoundException
- {
- ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration();
- configuration.setLocalRepository( localRepository );
- configuration.setGlobalProfileManager( profileManager );
-
- ProjectBuildingRequest request = injectSession( toRequest( configuration ) );
-
- request.setResolveDependencies( true );
-
- try
- {
- return projectBuilder.build( pom, request ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- throw transformError( e );
- }
- }
-
- public MavenProject buildWithDependencies( File pom, ArtifactRepository localRepository,
- ProfileManager profileManager )
- throws ProjectBuildingException, ArtifactResolutionException, ArtifactNotFoundException
- {
- return buildWithDependencies( pom, localRepository, profileManager, null );
- }
-
-}