Update to upstream version 3.0.0

This commit is contained in:
Mikolaj Izdebski 2022-04-25 00:47:17 +02:00
parent 4eeef040e7
commit abe3dc3259
4 changed files with 34 additions and 591 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
/enforcer-1.4.1-source-release.zip
/enforcer-3.0.0-M2-source-release.zip
/enforcer-3.0.0-M3-source-release.zip
/enforcer-3.0.0-source-release.zip

View File

@ -1,567 +0,0 @@
From 6a4c8a3177ad95989baa4df28d8a3479faf8be8c Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 12 Oct 2015 15:48:16 +0200
Subject: [PATCH] Port to Maven 3 API
---
enforcer-rules/pom.xml | 6 ++-
.../enforcer/AbstractBanDependencies.java | 13 +++--
.../enforcer/BanTransitiveDependencies.java | 7 ++-
.../enforcer/DependencyConvergence.java | 29 +++++------
.../enforcer/RequirePluginVersions.java | 51 +++++++------------
.../enforcer/RequireUpperBoundDeps.java | 31 ++++-------
.../enforcer/utils/DependencyVersionMap.java | 6 +--
.../enforcer/utils/EnforcerRuleUtils.java | 40 +++------------
pom.xml | 11 ++--
9 files changed, 78 insertions(+), 116 deletions(-)
diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index 187d38b..076c84a 100644
--- a/enforcer-rules/pom.xml
+++ b/enforcer-rules/pom.xml
@@ -43,12 +43,16 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-core</artifactId>
+ <artifactId>maven-compat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-artifact-transfer</artifactId>
+ </dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
index 2888a61..cfd5338 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
@@ -23,8 +23,10 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.plugins.enforcer.utils.ArtifactUtils;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
import org.apache.maven.shared.dependency.graph.DependencyNode;
@@ -53,10 +55,11 @@ public abstract class AbstractBanDependencies
{
// get the project
- MavenProject project = null;
+ ProjectBuildingRequest projectBuildingRequest = null;
try
{
- project = (MavenProject) helper.evaluate( "${project}" );
+ projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( (MavenProject) helper.evaluate( "${project}" ) );
}
catch ( ExpressionEvaluationException eee )
{
@@ -83,7 +86,7 @@ public abstract class AbstractBanDependencies
}
// get the correct list of dependencies
- Set<Artifact> dependencies = getDependenciesToCheck( project );
+ Set<Artifact> dependencies = getDependenciesToCheck( projectBuildingRequest );
// look for banned dependencies
Set<Artifact> foundExcludes = checkDependencies( dependencies, helper.getLog() );
@@ -114,12 +117,12 @@ public abstract class AbstractBanDependencies
return "Found Banned Dependency: " + artifact.getId() + System.lineSeparator();
}
- protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+ protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest projectBuildingRequest )
{
Set<Artifact> dependencies = null;
try
{
- DependencyNode node = graphBuilder.buildDependencyGraph( project, null );
+ DependencyNode node = graphBuilder.buildDependencyGraph( projectBuildingRequest, null );
if ( searchTransitive )
{
dependencies = ArtifactUtils.getAllDescendants( node );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
index 6e1dcd4..b84f421 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
@@ -27,7 +27,9 @@ import org.apache.maven.enforcer.rule.api.EnforcerRule;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.plugins.enforcer.utils.ArtifactMatcher;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
import org.apache.maven.shared.dependency.graph.DependencyNode;
import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder;
@@ -157,8 +159,9 @@ public class BanTransitiveDependencies
try
{
- MavenProject project = (MavenProject) helper.evaluate( "${project}" );
- rootNode = createDependencyGraphBuilder().buildDependencyGraph( project, null );
+ ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( (MavenProject) helper.evaluate( "${project}" ) );
+ rootNode = createDependencyGraphBuilder().buildDependencyGraph( projectBuildingRequest, null );
}
catch ( Exception e )
{
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java
index 03201fd..35bcd57 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java
@@ -23,6 +23,7 @@ import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
/**
* This rule checks that lists of plugins are not included.
@@ -33,9 +34,9 @@ public class BannedPlugins
extends BannedDependencies
{
@Override
- protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+ protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest projectBuildingRequest )
{
- return project.getPluginArtifacts();
+ return projectBuildingRequest.getProject().getPluginArtifacts();
}
@Override
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
index 684f984..4795634 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
@@ -24,20 +24,19 @@ import java.util.Collections;
import java.util.List;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.enforcer.rule.api.EnforcerRule;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugins.enforcer.utils.DependencyVersionMap;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -74,17 +73,13 @@ public class DependencyConvergence
{
try
{
- MavenProject project = (MavenProject) helper.evaluate( "${project}" );
- DependencyTreeBuilder dependencyTreeBuilder =
- (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
+ ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( (MavenProject) helper.evaluate( "${project}" ) );
+ DependencyGraphBuilder dependencyGraphBuilder = (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
- ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
- ArtifactMetadataSource metadataSource =
- (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
- ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
ArtifactFilter filter = null; // we need to evaluate all scopes
- DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, repository, factory,
- metadataSource, filter, collector );
+ projectBuildingRequest.setLocalRepository( repository );
+ DependencyNode node = dependencyGraphBuilder.buildDependencyGraph( projectBuildingRequest, filter );
return node;
}
catch ( ExpressionEvaluationException e )
@@ -95,9 +90,9 @@ public class DependencyConvergence
{
throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
}
- catch ( DependencyTreeBuilderException e )
+ catch ( DependencyGraphBuilderException e )
{
- throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
+ throw new EnforcerRuleException( "Could not build dependency graph " + e.getLocalizedMessage(), e );
}
}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
index 34f0f20..1323b11 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
@@ -36,7 +36,6 @@ import org.apache.maven.artifact.factory.ArtifactFactory;
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.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
@@ -62,8 +61,12 @@ import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtils;
import org.apache.maven.plugins.enforcer.utils.PluginWrapper;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.settings.Settings;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.ReflectionUtils;
@@ -166,12 +169,6 @@ public class RequirePluginVersions
/** The resolver. */
private ArtifactResolver resolver;
- /** The local. */
- private ArtifactRepository local;
-
- /** The remote repositories. */
- private List<ArtifactRepository> remoteRepositories;
-
/** The log. */
private Log log;
@@ -205,8 +202,8 @@ public class RequirePluginVersions
pluginManager = (PluginManager) helper.getComponent( PluginManager.class );
factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
- local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
- remoteRepositories = project.getRemoteArtifactRepositories();
+ ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( project );
utils = new EnforcerRuleUtils( helper );
@@ -254,7 +251,7 @@ public class RequirePluginVersions
// if anything was found, log it then append the optional message.
if ( !failures.isEmpty() )
{
- handleMessagesToTheUser( project, failures );
+ handleMessagesToTheUser( projectBuildingRequest, failures );
}
}
catch ( ExpressionEvaluationException e )
@@ -277,13 +274,9 @@ public class RequirePluginVersions
{
throw new EnforcerRuleException( e.getLocalizedMessage() );
}
- catch ( ArtifactResolutionException e )
- {
- throw new EnforcerRuleException( e.getLocalizedMessage() );
- }
- catch ( ArtifactNotFoundException e )
+ catch ( ArtifactResolverException e )
{
- throw new EnforcerRuleException( e.getLocalizedMessage() );
+ // What does this mean?
}
catch ( IOException e )
{
@@ -299,7 +292,7 @@ public class RequirePluginVersions
}
}
- private void handleMessagesToTheUser( MavenProject project, List<Plugin> failures )
+ private void handleMessagesToTheUser( ProjectBuildingRequest projectBuildingRequest, List<Plugin> failures )
throws EnforcerRuleException
{
StringBuilder newMsg = new StringBuilder();
@@ -316,7 +309,7 @@ public class RequirePluginVersions
{
newMsg.append( ". \tThe version currently in use is " );
- Plugin currentPlugin = findCurrentPlugin( plugin, project );
+ Plugin currentPlugin = findCurrentPlugin( plugin, projectBuildingRequest );
if ( currentPlugin != null )
{
@@ -518,12 +511,12 @@ public class RequirePluginVersions
* @param project project to search
* @return matching plugin, <code>null</code> if not found.
*/
- protected Plugin findCurrentPlugin( Plugin plugin, MavenProject project )
+ protected Plugin findCurrentPlugin( Plugin plugin, ProjectBuildingRequest projectBuildingRequest )
{
Plugin found = null;
try
{
- Model model = project.getModel();
+ Model model = projectBuildingRequest.getProject().getModel();
Map<String, Plugin> plugins = model.getBuild().getPluginsAsMap();
found = plugins.get( plugin.getKey() );
}
@@ -534,7 +527,7 @@ public class RequirePluginVersions
if ( found == null )
{
- found = resolvePlugin( plugin, project );
+ found = resolvePlugin( plugin, projectBuildingRequest );
}
return found;
@@ -547,23 +540,18 @@ public class RequirePluginVersions
* @param project the project
* @return the plugin
*/
- protected Plugin resolvePlugin( Plugin plugin, MavenProject project )
+ protected Plugin resolvePlugin( Plugin plugin, ProjectBuildingRequest projectBuildingRequest )
{
- List<ArtifactRepository> pluginRepositories = project.getPluginArtifactRepositories();
Artifact artifact = factory.createPluginArtifact( plugin.getGroupId(), plugin.getArtifactId(),
VersionRange.createFromVersion( "LATEST" ) );
try
{
- this.resolver.resolve( artifact, pluginRepositories, this.local );
+ this.resolver.resolveArtifact( projectBuildingRequest, artifact );
plugin.setVersion( artifact.getVersion() );
}
- catch ( ArtifactResolutionException e )
- {
- // What does this mean?
- }
- catch ( ArtifactNotFoundException e )
+ catch ( ArtifactResolverException e )
{
// What does this mean?
}
@@ -1046,13 +1034,12 @@ public class RequirePluginVersions
*
* @param project the project
* @return the all plugin entries wrapped in a PluginWrapper Object
- * @throws ArtifactResolutionException the artifact resolution exception
- * @throws ArtifactNotFoundException the artifact not found exception
+ * @throws ArtifactResolverException the artifact resolution exception
* @throws IOException Signals that an I/O exception has occurred.
* @throws XmlPullParserException the xml pull parser exception
*/
protected List<PluginWrapper> getAllPluginEntries( MavenProject project )
- throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
+ throws ArtifactResolverException, IOException, XmlPullParserException
{
List<Model> models = new ArrayList<Model>();
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
index 458554a..c48205f 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
@@ -26,10 +26,7 @@ import java.util.List;
import java.util.Map;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
@@ -37,11 +34,13 @@ import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -105,18 +104,10 @@ public class RequireUpperBoundDeps
{
try
{
- MavenProject project = (MavenProject) helper.evaluate( "${project}" );
- DependencyTreeBuilder dependencyTreeBuilder =
- (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
- ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
- ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
- ArtifactMetadataSource metadataSource =
- (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
- ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
- ArtifactFilter filter = null; // we need to evaluate all scopes
- DependencyNode node =
- dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter,
- collector );
+ ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( (MavenProject) helper.evaluate( "${project}" ) );
+ DependencyGraphBuilder dependencyGraphBuilder = (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
+ DependencyNode node = dependencyGraphBuilder.buildDependencyGraph( projectBuildingRequest, null );
return node;
}
catch ( ExpressionEvaluationException e )
@@ -127,7 +118,7 @@ public class RequireUpperBoundDeps
{
throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
}
- catch ( DependencyTreeBuilderException e )
+ catch ( DependencyGraphBuilderException e )
{
throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
index b6213fa..2c2a645 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
@@ -26,8 +26,8 @@ import java.util.Map;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
/**
* @author Brian Fox
@@ -132,4 +132,4 @@ public class DependencyVersionMap
}
return output;
}
-}
\ No newline at end of file
+}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
index c122e10..a9208f7 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
@@ -23,12 +23,15 @@ import java.util.List;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -46,42 +49,14 @@ public class EnforcerRuleUtils
/** The resolver. */
ArtifactResolver resolver;
- /** The local. */
- ArtifactRepository local;
-
- /** The remote repositories. */
- List<ArtifactRepository> remoteRepositories;
-
/** The log. */
Log log;
/** The project. */
- MavenProject project;
+ ProjectBuildingRequest projectBuildingRequest;
private EnforcerRuleHelper helper;
- /**
- * Instantiates a new enforcer rule utils.
- *
- * @param theFactory the the factory
- * @param theResolver the the resolver
- * @param theLocal the the local
- * @param theRemoteRepositories the the remote repositories
- * @param project the project
- * @param theLog the the log
- */
- public EnforcerRuleUtils( ArtifactFactory theFactory, ArtifactResolver theResolver, ArtifactRepository theLocal,
- List<ArtifactRepository> theRemoteRepositories, MavenProject project, Log theLog )
- {
- super();
- this.factory = theFactory;
- this.resolver = theResolver;
- this.local = theLocal;
- this.remoteRepositories = theRemoteRepositories;
- this.log = theLog;
- this.project = project;
- }
-
/**
* Instantiates a new enforcer rule utils.
*
@@ -97,9 +72,8 @@ public class EnforcerRuleUtils
{
factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
- local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
- project = (MavenProject) helper.evaluate( "${project}" );
- remoteRepositories = project.getRemoteArtifactRepositories();
+ projectBuildingRequest = new DefaultProjectBuildingRequest( (ProjectBuildingRequest) helper.evaluate( "${session.projectBuildingRequest}" ) );
+ projectBuildingRequest.setProject( (MavenProject) helper.evaluate( "${project}" ) );
}
catch ( ComponentLookupException e )
{
diff --git a/pom.xml b/pom.xml
index 83306f1..79dd17f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,7 @@
</site>
</distributionManagement>
<properties>
- <maven.version>3.0</maven.version>
+ <maven.version>3.3.1</maven.version>
<maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
<javaVersion>7</javaVersion>
</properties>
@@ -139,16 +139,21 @@
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-artifact-transfer</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
- <version>2.1</version>
+ <version>3.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
- <version>2.2</version>
+ <version>3.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>

View File

@ -1,20 +1,14 @@
%bcond_with bootstrap
Name: maven-enforcer
Version: 3.0.0~M3
Release: 8%{?dist}
Version: 3.0.0
Release: 1%{?dist}
Summary: Maven Enforcer
License: ASL 2.0
URL: https://maven.apache.org/enforcer
BuildArch: noarch
%global upstream_version %(echo '%{version}' | tr '~' '-')
Source0: https://repo1.maven.org/maven2/org/apache/maven/enforcer/enforcer/%{upstream_version}/enforcer-%{upstream_version}-source-release.zip
# TODO forward upstream
# https://issues.apache.org/jira/browse/MENFORCER-267
Patch0: 0001-Port-to-Maven-3-API.patch
Source0: https://repo1.maven.org/maven2/org/apache/maven/enforcer/enforcer/%{version}/enforcer-%{version}-source-release.zip
BuildRequires: maven-local
%if %{with bootstrap}
@ -22,21 +16,21 @@ BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.maven.enforcer:enforcer-api)
BuildRequires: mvn(org.apache.maven.enforcer:enforcer-rules)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-util)
BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters)
BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree)
BuildRequires: mvn(org.apache.maven:maven-artifact)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.shared:maven-artifact-transfer)
BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters)
BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree)
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin)
%endif
%description
@ -62,26 +56,36 @@ Summary: Enforcer Rules
This component contains the standard Enforcer Rules.
%package plugin
Summary: Enforcer Rules
Summary: Enforcer Plugin
%description plugin
This component contains the standard Enforcer Rules.
The Enforcer plugin provides goals to control certain environmental
constraints such as Maven version, JDK version and OS family along
with many more built-in rules and user created rules.
%package extension
Summary: Maven Enforcer Extension
%description extension
The Enforcer Extension provides a way to globally define rules without
making use of pom inheritence. This way you don't have to adjust the
pom.xml, but you can enforce a set of rules.
%prep
%setup -q -n enforcer-%{upstream_version}
%setup -q -n enforcer-%{version}
find -name '*.java' -exec sed -i 's/\r//' {} +
%patch0 -p1
# Port to maven-artifact-transfer 0.11.0
sed -i 's/shared\.artifact\.resolve/shared.transfer.artifact.resolve/' enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
sed -i 's/shared\.artifact\.resolve/shared.transfer.artifact.resolve/' enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
%pom_remove_plugin :maven-enforcer-plugin
find -name EvaluateBeanshell.java -delete
%pom_remove_dep :bsh enforcer-rules
# XXX extra-enforcer-rules are not packaged yet
%pom_remove_dep :extra-enforcer-rules
# Avoid dependency cycle
%pom_xpath_inject pom:build/pom:pluginManagement/pom:plugins "
<plugin>
@ -110,10 +114,15 @@ sed -e "s|<artifactId>plexus-maven-plugin</artifactId>|<artifactId>plexus-compon
%files plugin -f .mfiles-maven-enforcer-plugin
%files extension -f .mfiles-maven-enforcer-extension
%files javadoc -f .mfiles-javadoc
%doc LICENSE NOTICE
%changelog
* Sun Apr 24 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.0-1
- Update to upstream version 3.0.0
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 3.0.0~M3-8
- Rebuilt for java-17-openjdk as system jdk

View File

@ -1 +1 @@
SHA512 (enforcer-3.0.0-M3-source-release.zip) = ab3fe7f71bce102e2a5f4539c61f4a3476748829a77ec52495adf833b424ab81830b59058df37ad4175cf9e368d38d1932bc6bff26ece3c64163a2fdbea83134
SHA512 (enforcer-3.0.0-source-release.zip) = 2916475006ee76223de1d2fc58129b42864275edcfcf14945bef7699fa29fb26e23f35532d54a83413f3ab1bfb84a05885418ce5aa3d6b25dad29299c5957523