Compare commits

...

No commits in common. "c8-stream-201902" and "c8-beta-stream-202201" have entirely different histories.

5 changed files with 96 additions and 590 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
SOURCES/enforcer-3.0.0-M2-source-release.zip

View File

@ -1 +0,0 @@
40bf0276c930e60c8c79e70dc0fc82510fe7ce5e SOURCES/enforcer-3.0.0-M2-source-release.zip

View File

@ -1,559 +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 ++-
.../maven/plugins/enforcer/BannedPlugins.java | 7 +--
.../enforcer/DependencyConvergence.java | 29 +++++------
.../enforcer/RequirePluginVersions.java | 48 +++++++------------
.../enforcer/RequireUpperBoundDeps.java | 31 +++++-------
.../enforcer/utils/DependencyVersionMap.java | 6 +--
.../enforcer/utils/EnforcerRuleUtils.java | 40 +++-------------
pom.xml | 11 +++--
10 files changed, 80 insertions(+), 118 deletions(-)
diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index 2b3dd62..c68a7da 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 bab10ef..b791781 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,7 +23,9 @@ 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.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() + "\n";
}
- 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 = 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 d6993c7..860969f 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 ddcfb26..6085f47 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.
@@ -32,10 +33,10 @@ import org.apache.maven.project.MavenProject;
public class BannedPlugins
extends BannedDependencies
{
- @Override
- protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+ @Override
+ 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 0f12a2d..dbc85d4 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 b78c6cf..f564d36 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
@@ -37,7 +37,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;
@@ -63,8 +62,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;
@@ -168,12 +171,6 @@ public class RequirePluginVersions
/** The resolver. */
ArtifactResolver resolver;
- /** The local. */
- ArtifactRepository local;
-
- /** The remote repositories. */
- List<ArtifactRepository> remoteRepositories;
-
/** The log. */
Log log;
@@ -219,8 +216,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 );
@@ -291,7 +288,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 )
{
@@ -340,11 +337,7 @@ 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() );
}
@@ -513,12 +506,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() );
}
@@ -529,7 +522,7 @@ public class RequirePluginVersions
if ( found == null )
{
- found = resolvePlugin( plugin, project );
+ found = resolvePlugin( plugin, projectBuildingRequest );
}
return found;
@@ -542,24 +535,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?
}
@@ -1034,13 +1021,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<PluginWrapper> plugins = new ArrayList<PluginWrapper>();
// get all the pom models
@@ -1263,4 +1249,4 @@ public class RequirePluginVersions
{
return additionalPlugins;
}
-}
\ No newline at end of file
+}
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 da8da08..7299d3b 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 64f6742..4d95ed9 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 ef72a27..31c7885 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 4343304..1f5e962 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>
<surefire.version>2.21.0</surefire.version>
</properties>
@@ -139,16 +139,21 @@
<artifactId>commons-codec</artifactId>
<version>1.6</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.assertj</groupId>
--
2.20.1

Binary file not shown.

View File

@ -1,34 +1,39 @@
%bcond_with bootstrap
Name: maven-enforcer
Version: 3.0.0~M2
Release: 2%{?dist}
Version: 3.0.0
Release: 4%{?dist}
Summary: Maven Enforcer
License: ASL 2.0
URL: http://maven.apache.org/enforcer
URL: https://maven.apache.org/enforcer
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
Source0: http://repo1.maven.org/maven2/org/apache/maven/enforcer/enforcer/3.0.0-M2/enforcer-3.0.0-M2-source-release.zip
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
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: maven-local
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.beanshell:bsh)
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
BuildRequires: mvn(org.codehaus.mojo:extra-enforcer-rules)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin)
%endif
%description
Enforcer is a build rule execution framework.
@ -53,21 +58,28 @@ 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-3.0.0-M2
%patch0 -p1
%setup -q -n enforcer-%{version}
find -name '*.java' -exec sed -i 's/\r//' {} +
# 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
# Avoid dependency cycle
%pom_xpath_inject pom:build/pom:pluginManagement/pom:plugins "
@ -76,11 +88,6 @@ sed -i 's/shared\.artifact\.resolve/shared.transfer.artifact.resolve/' enforcer-
<version>SYSTEM</version>
</plugin>"
# Replace plexus-maven-plugin with plexus-component-metadata
sed -e "s|<artifactId>plexus-maven-plugin</artifactId>|<artifactId>plexus-component-metadata</artifactId>|" \
-e "s|<goal>descriptor</goal>|<goal>generate-metadata</goal>|" \
-i enforcer-{api,rules}/pom.xml
%build
%mvn_build -s -f
@ -97,19 +104,79 @@ 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
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue May 10 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.0-3
- Remove obsolete patches
* Thu May 05 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.0-2
- Add build-dependency on extra-enforcer-rules
* 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
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0~M3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0~M3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.0~M3-5
- Bootstrap build
- Non-bootstrap build
* Fri May 14 2021 Marian Koncek <mkoncek@redhat.com> - 3.0.0~M3-1
- Update to upstream version 3.0.0~M3
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0~M3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0~M3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 3.0.0~M3-2
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Thu May 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.0.0~M3-1
- Update to version 3.0.0-M3.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0~M2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.0~M2-2
- Mass rebuild for javapackages-tools 201902
* Sun Nov 03 2019 Fabio Valentini <decathorpe@gmail.com> - 3.0.0~M2-2
- Port to maven-artifact-transfer 0.11.0.
* Thu Aug 08 2019 Marian Koncek <mkoncek@redhat.com> - 3.0.0~M2-1
- Update to upstream verssion 3.0.0~M2
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 29 2019 Marian Koncek <mkoncek@redhat.com> - 3.0.0-1
- Update to upstream version 3.0.0~M2
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-9
- Mass rebuild for javapackages-tools 201901
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild