diff --git a/versions-common/src/main/java/org/codehaus/mojo/versions/api/PomHelper.java b/versions-common/src/main/java/org/codehaus/mojo/versions/api/PomHelper.java index 938ba9ee1..f0fbd5947 100644 --- a/versions-common/src/main/java/org/codehaus/mojo/versions/api/PomHelper.java +++ b/versions-common/src/main/java/org/codehaus/mojo/versions/api/PomHelper.java @@ -37,29 +37,35 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Properties; import java.util.Set; import java.util.Stack; import java.util.TreeMap; import java.util.TreeSet; +import java.util.function.Consumer; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; import org.apache.maven.artifact.versioning.VersionRange; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Dependency; import org.apache.maven.model.Model; import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; +import org.apache.maven.model.building.ModelBuildingRequest; +import org.apache.maven.model.building.UrlModelSource; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.plugin.logging.Log; -import org.apache.maven.profiles.ProfileManager; +import org.apache.maven.project.DefaultProjectBuildingRequest; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingException; +import org.apache.maven.project.ProjectBuildingRequest; +import org.apache.maven.project.ProjectBuildingResult; import org.codehaus.mojo.versions.rewriting.ModifiedPomXMLEventReader; import org.codehaus.mojo.versions.utils.RegexUtils; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; @@ -1462,37 +1468,43 @@ public static String getGroupId( Model model ) } /** - * Finds the local root of the specified project. + * Finds the local root of the current project of the {@link MavenSession} instance. * - * @param project The project to find the local root for. - * @param builder {@linkplain MavenProjectBuilder} object - * @param localRepository the local repo. - * @param globalProfileManager the global profile manager. + * @param projectBuilder {@link ProjectBuilder} instance + * @param mavenSession {@link MavenSession} instance * @param logger The logger to log tog * @return The local root (note this may be the project passed as an argument). */ - public static MavenProject getLocalRoot( MavenProjectBuilder builder, MavenProject project, - ArtifactRepository localRepository, ProfileManager globalProfileManager, + public static MavenProject getLocalRoot( ProjectBuilder projectBuilder, + MavenSession mavenSession, Log logger ) { logger.info( "Searching for local aggregator root..." ); + MavenProject project = mavenSession.getCurrentProject(); while ( true ) { final File parentDir = project.getBasedir().getParentFile(); if ( parentDir != null && parentDir.isDirectory() ) { logger.debug( "Checking to see if " + parentDir + " is an aggregator parent" ); - File parent = new File( parentDir, "pom.xml" ); - if ( parent.isFile() ) + File parentFile = new File( parentDir, "pom.xml" ); + if ( parentFile.isFile() ) { try { - final MavenProject parentProject = - builder.build( parent, localRepository, globalProfileManager ); - if ( getAllChildModules( parentProject, logger ).contains( project.getBasedir().getName() ) ) + ProjectBuildingResult result = projectBuilder.build( parentFile, + createProjectBuilderRequest( mavenSession ) ); + if ( !result.getProblems().isEmpty() ) + { + logger.warn( "Problems encountered during the computation of the local aggregation root." ); + result.getProblems().forEach( p -> + logger.warn( "\t" + p.getMessage() ) ); + } + if ( getAllChildModules( result.getProject(), logger ) + .contains( project.getBasedir().getName() ) ) { logger.debug( parentDir + " is an aggregator parent" ); - project = parentProject; + project = result.getProject(); continue; } else @@ -1511,6 +1523,60 @@ public static MavenProject getLocalRoot( MavenProjectBuilder builder, MavenProje } } + /** + * Retrieves the standalone superproject + * + * @param projectBuilder {@link ProjectBuilder} instance + * @param mavenSession {@link MavenSession} instance + * @param logger The logger to log tog + * + * @return superproject retrieved + * @throws ProjectBuildingException if the retrieval fails + */ + public static MavenProject getStandaloneSuperProject( ProjectBuilder projectBuilder, + MavenSession mavenSession, + Log logger ) throws ProjectBuildingException + { + ProjectBuildingResult result = projectBuilder.build( new UrlModelSource( + Objects.requireNonNull( PomHelper.class.getResource( "standalone.xml" ) ) ), + createProjectBuilderRequest( mavenSession, r -> r.setProcessPlugins( false ) ) ); + if ( !result.getProblems().isEmpty() ) + { + logger.warn( "Problems encountered during building of the superproject." ); + result.getProblems().forEach( p -> + logger.warn( "\t" + p.getMessage() ) ); + } + return result.getProject(); + } + + /** + *

Convenience method for creating a {@link ProjectBuildingRequest} instance based on maven session.

+ *

Note: The method initializes the remote repositories with the remote artifact repositories. + * Please use the initializers if you need to override this.

+ * @param mavenSession {@link MavenSession} instance + * @param initializers optional additional initializers, which will be executed after the object is initialized + * @return constructed builder request + */ + @SafeVarargs + public static ProjectBuildingRequest createProjectBuilderRequest( MavenSession mavenSession, + Consumer... initializers ) + { + return new DefaultProjectBuildingRequest() + {{ + setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); + setResolveDependencies( false ); + setLocalRepository( mavenSession.getLocalRepository() ); + setRemoteRepositories( mavenSession.getCurrentProject().getRemoteArtifactRepositories() ); + setBuildStartTime( mavenSession.getStartTime() ); + setUserProperties( mavenSession.getUserProperties() ); + setSystemProperties( mavenSession.getSystemProperties() ); + setActiveProfileIds( mavenSession.getRequest().getActiveProfiles() ); + setInactiveProfileIds( mavenSession.getRequest().getInactiveProfiles() ); + setRepositorySession( mavenSession.getRepositorySession() ); + Arrays.stream( initializers ).forEach( i -> i.accept( this ) ); + }}; + } + /** * Builds a map of raw models keyed by module path. * diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDependencyUpdaterMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDependencyUpdaterMojo.java index 3bf069a9c..8992c28da 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDependencyUpdaterMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDependencyUpdaterMojo.java @@ -38,7 +38,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.apache.maven.shared.artifact.filter.PatternExcludesArtifactFilter; import org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter; @@ -159,11 +158,10 @@ public abstract class AbstractVersionsDependencyUpdaterMojo @Inject protected AbstractVersionsDependencyUpdaterMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDisplayMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDisplayMojo.java index 12497c240..0009b7433 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDisplayMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsDisplayMojo.java @@ -32,7 +32,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.maven.artifact.manager.WagonManager; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -86,11 +85,10 @@ public abstract class AbstractVersionsDisplayMojo @Inject protected AbstractVersionsDisplayMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } @SuppressWarnings( "unchecked" ) diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java index f878b562d..5ce3f508a 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java @@ -44,7 +44,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.DefaultVersionsHelper; @@ -92,14 +91,6 @@ public abstract class AbstractVersionsUpdaterMojo */ protected org.eclipse.aether.RepositorySystem aetherRepositorySystem; - /** - * The (injected) {@link MavenProjectBuilder} instance. - */ - /** - * @since 1.0-alpha-1 - */ - protected final MavenProjectBuilder projectBuilder; - /** * @since 1.0-alpha-1 */ @@ -214,13 +205,11 @@ public abstract class AbstractVersionsUpdaterMojo @Inject protected AbstractVersionsUpdaterMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { this.repositorySystem = repositorySystem; this.aetherRepositorySystem = aetherRepositorySystem; - this.projectBuilder = projectBuilder; this.wagonManager = wagonManager; this.changeRecorders = changeRecorders; } diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/CompareDependenciesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/CompareDependenciesMojo.java index 06ffe7f52..537fa9ab9 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/CompareDependenciesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/CompareDependenciesMojo.java @@ -33,14 +33,16 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.manager.WagonManager; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingException; +import org.apache.maven.project.ProjectBuildingResult; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactAssociation; import org.codehaus.mojo.versions.api.PomHelper; @@ -118,22 +120,23 @@ public class CompareDependenciesMojo protected File reportOutputFile; /** - * The project builder used to initialize the remote project. + * The (injected) instance of {@link ProjectBuilder} + * + * @since 2.14.0 */ - protected MavenProjectBuilder mavenProjectBuilder; + protected final ProjectBuilder projectBuilder; // ------------------------------ METHODS -------------------------- @Inject public CompareDependenciesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, - MavenProjectBuilder mavenProjectBuilder, + ProjectBuilder projectBuilder, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); - this.mavenProjectBuilder = mavenProjectBuilder; + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); + this.projectBuilder = projectBuilder; } /** @@ -157,30 +160,21 @@ protected void update( ModifiedPomXMLEventReader pom ) reportMode = false; } - String[] remotePomParts = this.remotePom.split( ":" ); - if ( remotePomParts.length != 3 ) + String[] remoteGAV = this.remotePom.split( ":" ); + if ( remoteGAV.length != 3 ) { throw new MojoFailureException( " Invalid format for remotePom: " + remotePom ); } - String rGroupId = remotePomParts[0]; - String rArtifactId = remotePomParts[1]; - String rVersion = remotePomParts[2]; - - Artifact remoteArtifact = this.toArtifact( DependencyBuilder.newBuilder() - .withGroupId( rGroupId ) - .withArtifactId( rArtifactId ) - .withVersion( rVersion ).build() ); + MavenProject remoteMavenProject = null; try { - remoteMavenProject = - mavenProjectBuilder.buildFromRepository( remoteArtifact, - session.getCurrentProject().getRemoteArtifactRepositories(), - session.getLocalRepository() ); + remoteMavenProject = getRemoteMavenProject( remoteGAV[0], remoteGAV[1], + remoteGAV[2] ); } - catch ( ProjectBuildingException e ) + catch ( ArtifactResolutionException | ProjectBuildingException e ) { - throw new MojoExecutionException( "Unable to build remote project " + remoteArtifact, e ); + throw new MojoFailureException( e.getMessage() ); } Map remoteDepsMap = new HashMap<>(); @@ -276,6 +270,40 @@ && isProcessingParent() ) } + /** + * Builds a {@link MavenProject} instance for the dependency with a given {@code groupId}, + * {@code artifactId}, and {@code version}. + * @param groupId {@code groupId} of the dependency + * @param artifactId {@code artifactId} of the dependency + * @param version {@code version} of the dependency + * @return retrieved {@link MavenProject} instance for the given dependency + * @throws MojoExecutionException thrown if the artifact for the dependency could not be constructed + * @throws ProjectBuildingException thrown if the {@link MavenProject} instance could not be constructed + */ + private MavenProject getRemoteMavenProject( String groupId, String artifactId, String version ) + throws MojoExecutionException, ArtifactResolutionException, ProjectBuildingException + { + Artifact remoteArtifact = toArtifact( DependencyBuilder.newBuilder() + .withGroupId( groupId ) + .withArtifactId( artifactId ) + .withVersion( version ) + .build() ); + ProjectBuildingResult result = + projectBuilder.build( remoteArtifact, true, + PomHelper.createProjectBuilderRequest( session, + r -> r.setProcessPlugins( false ), + r -> r.setRemoteRepositories( session.getCurrentProject() + .getPluginArtifactRepositories() ) ) ); + if ( !result.getProblems().isEmpty() ) + { + getLog().warn( "Problems encountered during construction of the POM for " + + remoteArtifact.toString() ); + result.getProblems().forEach( p -> + getLog().warn( "\t" + p.getMessage() ) ); + } + return result.getProject(); + } + /** * Compare the dependency versions of the current project with the dependency versions of a remote project * diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojo.java index 06ea66476..7773890a7 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojo.java @@ -37,7 +37,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.Segment; @@ -346,11 +345,10 @@ public class DisplayDependencyUpdatesMojo @Inject public DisplayDependencyUpdatesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } // open for tests diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayParentUpdatesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayParentUpdatesMojo.java index 0f76921d5..882d3c676 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayParentUpdatesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayParentUpdatesMojo.java @@ -31,7 +31,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.VersionRetrievalException; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -54,11 +53,10 @@ public class DisplayParentUpdatesMojo @Inject public DisplayParentUpdatesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } @Override diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPluginUpdatesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPluginUpdatesMojo.java index 7818b310a..a0d25aa1d 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPluginUpdatesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPluginUpdatesMojo.java @@ -53,7 +53,6 @@ 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.artifact.resolver.ArtifactResolver; import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -84,10 +83,10 @@ import org.apache.maven.plugin.version.PluginVersionNotFoundException; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.project.DefaultProjectBuilderConfiguration; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingException; +import org.apache.maven.project.ProjectBuildingResult; import org.apache.maven.repository.RepositorySystem; import org.apache.maven.settings.Settings; import org.codehaus.mojo.versions.api.ArtifactVersions; @@ -159,22 +158,29 @@ public class DisplayPluginUpdatesMojo */ private RuntimeInformation runtimeInformation; + /** + * The (injected) instance of {@link ProjectBuilder} + * + * @since 2.14.0 + */ + protected final ProjectBuilder projectBuilder; + // --------------------- GETTER / SETTER METHODS --------------------- @Inject @SuppressWarnings( "checkstyle:ParameterNumber" ) public DisplayPluginUpdatesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, + ProjectBuilder projectBuilder, WagonManager wagonManager, - ArtifactResolver artifactResolver, LifecycleExecutor lifecycleExecutor, ModelInterpolator modelInterpolator, PluginManager pluginManager, RuntimeInformation runtimeInformation, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); + this.projectBuilder = projectBuilder; this.lifecycleExecutor = lifecycleExecutor; this.modelInterpolator = modelInterpolator; this.pluginManager = pluginManager; @@ -297,9 +303,8 @@ else if ( event.isEndElement() ) Map superPomPluginManagement; try { - MavenProject superProject = - projectBuilder.buildStandaloneSuperProject( new DefaultProjectBuilderConfiguration() ); - superPomPluginManagement = new HashMap<>( getPluginManagement( superProject.getOriginalModel() ) ); + superPomPluginManagement = new HashMap<>( getPluginManagement( + PomHelper.getStandaloneSuperProject( projectBuilder, session, getLog() ).getOriginalModel() ) ); } catch ( ProjectBuildingException e ) { @@ -448,20 +453,10 @@ public void execute() ArtifactVersion minRequires = null; for ( int j = newerVersions.length - 1; j >= 0; j-- ) { - Artifact probe = getHelper().createDependencyArtifact( DependencyBuilder.newBuilder() - .withGroupId( groupId ) - .withArtifactId( artifactId ) - .withVersion( newerVersions[j].toString() ) - .withType( "pom" ) - .withScope( Artifact.SCOPE_RUNTIME ) - .build() ); try { - getHelper().resolveArtifact( probe, true ); - MavenProject pluginMavenProject = - projectBuilder.buildFromRepository( probe, session.getCurrentProject() - .getRemoteArtifactRepositories(), session.getLocalRepository() ); - ArtifactVersion pluginRequires = getPrerequisitesMavenVersion( pluginMavenProject ); + ArtifactVersion pluginRequires = getPrerequisitesMavenVersion( + getPluginProject( groupId, artifactId, newerVersions[j].toString() ) ); if ( artifactVersion == null && compare( specMavenVersion, pluginRequires ) >= 0 ) { // ok, newer version compatible with current specMavenVersion @@ -513,20 +508,10 @@ public void execute() } if ( effectiveVersion != null ) { - Artifact probe = getHelper().createDependencyArtifact( DependencyBuilder.newBuilder() - .withGroupId( groupId ) - .withArtifactId( artifactId ) - .withVersion( effectiveVersion ) - .withType( "pom" ) - .withScope( Artifact.SCOPE_RUNTIME ) - .build() ); try { - getHelper().resolveArtifact( probe, true ); - MavenProject mavenProject = - projectBuilder.buildFromRepository( probe, getProject().getRemoteArtifactRepositories(), - session.getLocalRepository() ); - ArtifactVersion requires = getPrerequisitesMavenVersion( mavenProject ); + ArtifactVersion requires = getPrerequisitesMavenVersion( + getPluginProject( groupId, artifactId, effectiveVersion ) ); if ( minMavenVersion == null || compare( minMavenVersion, requires ) < 0 ) { minMavenVersion = requires; @@ -716,6 +701,43 @@ else if ( minMavenVersion != null && compare( specMavenVersion, minMavenVersion logLine( false, "" ); } + /** + * Builds a {@link MavenProject} instance for the plugin with a given {@code groupId}, + * {@code artifactId}, and {@code version}. + * @param groupId {@code groupId} of the plugin + * @param artifactId {@code artifactId} of the plugin + * @param version {@code version} of the plugin + * @return retrieved {@link MavenProject} instance for the given plugin + * @throws MojoExecutionException thrown if the artifact for the plugin could not be constructed + * @throws ProjectBuildingException thrown if the {@link MavenProject} instance could not be constructed + */ + private MavenProject getPluginProject( String groupId, String artifactId, String version ) + throws MojoExecutionException, ProjectBuildingException, ArtifactResolutionException + { + Artifact probe = getHelper().createDependencyArtifact( DependencyBuilder.newBuilder() + .withGroupId( groupId ) + .withArtifactId( artifactId ) + .withVersion( version ) + .withType( "pom" ) + .withScope( Artifact.SCOPE_RUNTIME ) + .build() ); + getHelper().resolveArtifact( probe, true ); + ProjectBuildingResult result = + projectBuilder.build( probe, true, + PomHelper.createProjectBuilderRequest( session, + r -> r.setProcessPlugins( false ), + r -> r.setRemoteRepositories( session.getCurrentProject() + .getPluginArtifactRepositories() ) ) ); + if ( !result.getProblems().isEmpty() ) + { + getLog().warn( "Problems encountered during construction of the plugin POM for " + + probe.toString() ); + result.getProblems().forEach( p -> + getLog().warn( "\t" + p.getMessage() ) ); + } + return result.getProject(); + } + private static String pad( String start, int len, String... ends ) { StringBuilder buf = new StringBuilder( len ); diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPropertyUpdatesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPropertyUpdatesMojo.java index d555b87a3..3596347b9 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPropertyUpdatesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/DisplayPropertyUpdatesMojo.java @@ -34,7 +34,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.Property; import org.codehaus.mojo.versions.api.PropertyVersions; @@ -142,11 +141,10 @@ public class DisplayPropertyUpdatesMojo @Inject public DisplayPropertyUpdatesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } public void execute() diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ForceReleasesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ForceReleasesMojo.java index 1b7bae0a9..7f2cb52a0 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ForceReleasesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ForceReleasesMojo.java @@ -37,7 +37,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.PomHelper; @@ -71,11 +70,10 @@ public class ForceReleasesMojo @Inject public ForceReleasesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/LockSnapshotsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/LockSnapshotsMojo.java index 41c860f03..607483838 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/LockSnapshotsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/LockSnapshotsMojo.java @@ -37,7 +37,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -70,11 +69,10 @@ public class LockSnapshotsMojo @Inject public LockSnapshotsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ResolveRangesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ResolveRangesMojo.java index ccffc1e56..29e115e30 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ResolveRangesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/ResolveRangesMojo.java @@ -38,7 +38,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Property; @@ -128,11 +127,10 @@ public class ResolveRangesMojo @Inject public ResolveRangesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/RevertMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/RevertMojo.java index c2c294fcf..dd49650b4 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/RevertMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/RevertMojo.java @@ -28,13 +28,14 @@ import java.util.Set; import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuilder; import org.codehaus.mojo.versions.api.PomHelper; import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; @@ -49,12 +50,12 @@ public class RevertMojo extends AbstractMojo { /** - * The Maven Project. + * The {@link MavenSession} instance * - * @since 1.0-alpha-1 + * @since 2.14.0 */ - @Parameter( defaultValue = "${project}", required = true, readonly = true ) - private MavenProject project; + @Parameter( defaultValue = "${session}", required = true, readonly = true ) + private MavenSession session; /** * Whether to start processing at the local aggregation root (which might be a parent module @@ -66,13 +67,18 @@ public class RevertMojo extends AbstractMojo @Parameter( property = "processFromLocalAggregationRoot", defaultValue = "true" ) private boolean processFromLocalAggregationRoot; - protected MavenProjectBuilder projectBuilder; + /** + * The (injected) {@link ProjectBuilder} instance + * + * @since 2.14.0 + */ + protected final ProjectBuilder projectBuilder; @Parameter( defaultValue = "${localRepository}", readonly = true ) protected ArtifactRepository localRepository; @Inject - protected RevertMojo( MavenProjectBuilder projectBuilder ) + protected RevertMojo( ProjectBuilder projectBuilder ) { this.projectBuilder = projectBuilder; } @@ -80,8 +86,8 @@ protected RevertMojo( MavenProjectBuilder projectBuilder ) public void execute() throws MojoExecutionException, MojoFailureException { final MavenProject projectToProcess = !processFromLocalAggregationRoot - ? PomHelper.getLocalRoot( projectBuilder, this.project, localRepository, null, getLog() ) - : this.project; + ? PomHelper.getLocalRoot( projectBuilder, session, getLog() ) + : session.getCurrentProject(); getLog().info( "Local aggregation root: " + projectToProcess.getBasedir() ); Set reactor = PomHelper.getAllChildModules( projectToProcess, getLog() ); diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetMojo.java index f8b778542..4c1700bff 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetMojo.java @@ -49,7 +49,7 @@ import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -244,15 +244,23 @@ public class SetMojo extends AbstractVersionsUpdaterMojo */ private final transient List sourceChanges = new ArrayList<>(); + /** + * The (injected) instance of {@link ProjectBuilder} + * + * @since 2.14.0 + */ + protected final ProjectBuilder projectBuilder; + @Inject public SetMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, + ProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders, Prompter prompter ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); + this.projectBuilder = projectBuilder; this.prompter = prompter; } @@ -337,8 +345,7 @@ public void execute() throws MojoExecutionException, MojoFailureException try { final MavenProject project = processFromLocalAggregationRoot - ? PomHelper.getLocalRoot( projectBuilder, getProject(), session.getLocalRepository(), - null, getLog() ) + ? PomHelper.getLocalRoot( projectBuilder, session, getLog() ) : getProject(); getLog().info( "Local aggregation root: " + project.getBasedir() ); diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java index f72ad64f7..8ea42bfb9 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java @@ -31,7 +31,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Property; @@ -92,11 +91,10 @@ public class SetPropertyMojo @Inject public SetPropertyMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetScmTagMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetScmTagMojo.java index 2e73f3dfa..8da352537 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetScmTagMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetScmTagMojo.java @@ -14,7 +14,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -68,11 +67,10 @@ public class SetScmTagMojo extends AbstractVersionsUpdaterMojo @Inject public SetScmTagMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UnlockSnapshotsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UnlockSnapshotsMojo.java index a454db574..14e88af3a 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UnlockSnapshotsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UnlockSnapshotsMojo.java @@ -36,7 +36,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.recording.ChangeRecord; @@ -69,11 +68,10 @@ public class UnlockSnapshotsMojo extends AbstractVersionsDependencyUpdaterMojo @Inject public UnlockSnapshotsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateChildModulesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateChildModulesMojo.java index 254db5431..a00659d4c 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateChildModulesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateChildModulesMojo.java @@ -35,7 +35,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.recording.ChangeRecorder; @@ -71,11 +70,10 @@ public class UpdateChildModulesMojo @Inject public UpdateChildModulesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java index 4325f60b0..f9ff51641 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java @@ -38,7 +38,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.PomHelper; @@ -140,11 +139,10 @@ public class UpdateParentMojo extends AbstractVersionsUpdaterMojo @Inject public UpdateParentMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertiesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertiesMojo.java index c04e82d65..8292a6926 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertiesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertiesMojo.java @@ -32,7 +32,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactAssociation; import org.codehaus.mojo.versions.api.Property; @@ -141,11 +140,10 @@ public class UpdatePropertiesMojo extends AbstractVersionsDependencyUpdaterMojo @Inject public UpdatePropertiesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertyMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertyMojo.java index 21bb0009d..e8371fd36 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertyMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UpdatePropertyMojo.java @@ -32,7 +32,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactAssociation; import org.codehaus.mojo.versions.api.Property; @@ -140,11 +139,10 @@ public class UpdatePropertyMojo @Inject public UpdatePropertyMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseDepVersionMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseDepVersionMojo.java index 2f36f1247..f61b2e4dc 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseDepVersionMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseDepVersionMojo.java @@ -34,7 +34,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.PomHelper; @@ -75,11 +74,10 @@ public class UseDepVersionMojo extends AbstractVersionsDependencyUpdaterMojo @Inject public UseDepVersionMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } @Override diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestReleasesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestReleasesMojo.java index 8ee9f69c9..cf76a901a 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestReleasesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestReleasesMojo.java @@ -40,7 +40,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Segment; @@ -104,11 +103,10 @@ public class UseLatestReleasesMojo @Inject public UseLatestReleasesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestSnapshotsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestSnapshotsMojo.java index 92a9be4f9..6ed13e961 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestSnapshotsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestSnapshotsMojo.java @@ -36,7 +36,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Segment; @@ -93,11 +92,10 @@ public class UseLatestSnapshotsMojo @Inject public UseLatestSnapshotsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojo.java index 6a1601d34..099d48c59 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojo.java @@ -34,7 +34,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Segment; @@ -101,11 +100,10 @@ public class UseLatestVersionsMojo @Inject public UseLatestVersionsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } @Override diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojoBase.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojoBase.java index dc0ec16a8..462ebb145 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojoBase.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseLatestVersionsMojoBase.java @@ -34,7 +34,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.VersionRetrievalException; @@ -51,11 +50,10 @@ public abstract class UseLatestVersionsMojoBase { public UseLatestVersionsMojoBase( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextReleasesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextReleasesMojo.java index ab700bb25..04c79dc7c 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextReleasesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextReleasesMojo.java @@ -33,7 +33,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.VersionRetrievalException; @@ -67,11 +66,10 @@ public class UseNextReleasesMojo @Inject public UseNextReleasesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextSnapshotsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextSnapshotsMojo.java index bded43e36..e68844370 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextSnapshotsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextSnapshotsMojo.java @@ -35,7 +35,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.Segment; @@ -92,11 +91,10 @@ public class UseNextSnapshotsMojo @Inject public UseNextSnapshotsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); // the below is necessary for UseLatestVersionsMojoBase.useLatestVersions to select snapshots allowSnapshots = true; } diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextVersionsMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextVersionsMojo.java index 7694c5a1a..64f4b4b31 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextVersionsMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseNextVersionsMojo.java @@ -32,7 +32,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.VersionRetrievalException; @@ -59,11 +58,10 @@ public class UseNextVersionsMojo @Inject public UseNextVersionsMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReactorMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReactorMojo.java index c0233e4cf..361fcc9b0 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReactorMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReactorMojo.java @@ -35,7 +35,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.PomHelper; import org.codehaus.mojo.versions.api.VersionRetrievalException; @@ -58,11 +57,10 @@ public class UseReactorMojo @Inject public UseReactorMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReleasesMojo.java b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReleasesMojo.java index 6fb108e97..4bee79200 100644 --- a/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReleasesMojo.java +++ b/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/UseReleasesMojo.java @@ -38,7 +38,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.repository.RepositorySystem; import org.codehaus.mojo.versions.api.ArtifactVersions; import org.codehaus.mojo.versions.api.PomHelper; @@ -85,11 +84,10 @@ public class UseReleasesMojo @Inject public UseReleasesMojo( RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystem aetherRepositorySystem, - MavenProjectBuilder projectBuilder, WagonManager wagonManager, Map changeRecorders ) { - super( repositorySystem, aetherRepositorySystem, projectBuilder, wagonManager, changeRecorders ); + super( repositorySystem, aetherRepositorySystem, wagonManager, changeRecorders ); } /** diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojoTest.java index c2b70a393..1119b5636 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/DisplayDependencyUpdatesMojoTest.java @@ -162,7 +162,6 @@ public void testVersionsWithQualifiersNotConsideredAsMinorUpdates() "2.0.0-rc1"} ); }} ), null, - null, null ) {{ setProject( createProject() ); @@ -208,7 +207,6 @@ public void testAllowMajorUpdatesFalse() put( "default-dependency", new String[] {"1.0.0", "1.1.0", "2.0.0"} ); }} ), null, - null, null ) {{ setProject( createProject() ); @@ -253,7 +251,6 @@ public void testAllowMinorUpdatesFalse() put( "default-dependency", new String[] {"1.0.0", "1.0.1", "1.1.0", "2.0.0"} ); }} ), null, - null, null ) {{ setProject( createProject() ); @@ -299,7 +296,6 @@ public void testAllowIncrementalUpdatesFalse() put( "default-dependency", new String[] {"1.0.0", "1.0.0-1", "1.0.1", "1.1.0", "2.0.0"} ); }} ), null, - null, null ) {{ setProject( createProject() ); @@ -347,7 +343,6 @@ public void testVersionsWithQualifiersNotConsideredAsIncrementalUpdates() "1.9.0-rc1"} ); }} ), null, - null, null ) {{ setProject( createProject() ); diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/ForceReleasesMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/ForceReleasesMojoTest.java index 791ab1589..5f1aee06b 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/ForceReleasesMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/ForceReleasesMojoTest.java @@ -62,7 +62,9 @@ public class ForceReleasesMojoTest extends AbstractMojoTestCase public void setUp() throws IllegalAccessException { changeRecorder = new TestChangeRecorder(); - mojo = new ForceReleasesMojo( mockRepositorySystem(), mockAetherRepositorySystem(), null, null, + mojo = new ForceReleasesMojo( mockRepositorySystem(), + mockAetherRepositorySystem(), + null, changeRecorder.asTestMap() ); setVariableValueToObject( mojo, "reactorProjects", emptyList() ); mojo.project = new MavenProject() diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/SeparatePatternsForIncludesAnExcludesTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/SeparatePatternsForIncludesAnExcludesTest.java index 4ebed3b4b..d5a4f51e3 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/SeparatePatternsForIncludesAnExcludesTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/SeparatePatternsForIncludesAnExcludesTest.java @@ -17,7 +17,7 @@ public class SeparatePatternsForIncludesAnExcludesTest public void setUp() throws Exception { - mojo = new AbstractVersionsDependencyUpdaterMojo( null, null, null, null, null ) + mojo = new AbstractVersionsDependencyUpdaterMojo( null, null, null, null ) { @Override protected void update( ModifiedPomXMLEventReader pom ) diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UpdateParentMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UpdateParentMojoTest.java index b98762163..2673a73bb 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UpdateParentMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UpdateParentMojoTest.java @@ -75,8 +75,7 @@ public void setUp() throws IllegalAccessException { changeRecorder = new TestChangeRecorder(); - mojo = new UpdateParentMojo( repositorySystem, aetherRepositorySystem, null, null, - changeRecorder.asTestMap() ) + mojo = new UpdateParentMojo( repositorySystem, aetherRepositorySystem, null, changeRecorder.asTestMap() ) {{ setProject( createProject() ); reactorProjects = Collections.emptyList(); diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestReleasesMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestReleasesMojoTest.java index 4dd3cb1cd..a02eef31f 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestReleasesMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestReleasesMojoTest.java @@ -62,7 +62,6 @@ public void setUp() throws Exception mojo = new UseLatestReleasesMojo( repositorySystemMock, aetherRepositorySystem, null, - null, changeRecorder.asTestMap() ) {{ reactorProjects = emptyList(); diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestVersionsMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestVersionsMojoTest.java index f95c8462f..9a3db80a4 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestVersionsMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseLatestVersionsMojoTest.java @@ -75,7 +75,6 @@ public void setUp() throws Exception mojo = new UseLatestVersionsMojo( repositorySystemMock, aetherRepositorySystem, null, - null, changeRecorder.asTestMap() ) {{ reactorProjects = emptyList(); diff --git a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseReleasesMojoTest.java b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseReleasesMojoTest.java index 0827bc1c8..8f108b744 100644 --- a/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseReleasesMojoTest.java +++ b/versions-maven-plugin/src/test/java/org/codehaus/mojo/versions/UseReleasesMojoTest.java @@ -65,7 +65,6 @@ public void setUp() throws IllegalAccessException mojo = new UseReleasesMojo( mockRepositorySystem(), mockAetherRepositorySystem(), null, - null, changeRecorder.asTestMap() ); setVariableValueToObject( mojo, "reactorProjects", emptyList() ); mojo.project = new MavenProject()