commit 17294c14bc4e165a7ef0ff2e52f42140bdbe9281 Author: CentOS Sources Date: Fri May 8 02:20:22 2020 +0000 import maven-enforcer-3.0.0~M2-2.module+el8.2.0+4938+c0cffa5b diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b5635a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/enforcer-3.0.0-M2-source-release.zip diff --git a/.maven-enforcer.metadata b/.maven-enforcer.metadata new file mode 100644 index 0000000..8f8687f --- /dev/null +++ b/.maven-enforcer.metadata @@ -0,0 +1 @@ +40bf0276c930e60c8c79e70dc0fc82510fe7ce5e SOURCES/enforcer-3.0.0-M2-source-release.zip diff --git a/SOURCES/0001-Port-to-Maven-3-API.patch b/SOURCES/0001-Port-to-Maven-3-API.patch new file mode 100644 index 0000000..c785036 --- /dev/null +++ b/SOURCES/0001-Port-to-Maven-3-API.patch @@ -0,0 +1,559 @@ +From 6a4c8a3177ad95989baa4df28d8a3479faf8be8c Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +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 @@ + + + org.apache.maven +- maven-core ++ maven-compat + + + org.apache.maven.shared + maven-common-artifact-filters + ++ ++ org.apache.maven.shared ++ maven-artifact-transfer ++ + + org.codehaus.plexus + plexus-utils +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 dependencies = getDependenciesToCheck( project ); ++ Set dependencies = getDependenciesToCheck( projectBuildingRequest ); + + // look for banned dependencies + Set foundExcludes = checkDependencies( dependencies, helper.getLog() ); +@@ -114,12 +117,12 @@ public abstract class AbstractBanDependencies + return "Found Banned Dependency: " + artifact.getId() + "\n"; + } + +- protected Set getDependenciesToCheck( MavenProject project ) ++ protected Set getDependenciesToCheck( ProjectBuildingRequest projectBuildingRequest ) + { + Set 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 getDependenciesToCheck( MavenProject project ) ++ @Override ++ protected Set 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 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, null 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 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 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 getAllPluginEntries( MavenProject project ) +- throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException ++ throws ArtifactResolverException, IOException, XmlPullParserException + { + List plugins = new ArrayList(); + // 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 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 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 @@ + + + +- 3.0 ++ 3.3.1 + enforcer-archives/enforcer-LATEST + 2.21.0 + +@@ -139,16 +139,21 @@ + commons-codec + 1.6 + ++ ++ org.apache.maven.shared ++ maven-artifact-transfer ++ 3.0-SNAPSHOT ++ + + org.apache.maven.plugin-testing + maven-plugin-testing-harness +- 2.1 ++ 3.3.0 + test + + + org.apache.maven.shared + maven-dependency-tree +- 2.2 ++ 3.0 + + + org.assertj +-- +2.20.1 + diff --git a/SPECS/maven-enforcer.spec b/SPECS/maven-enforcer.spec new file mode 100644 index 0000000..15380b3 --- /dev/null +++ b/SPECS/maven-enforcer.spec @@ -0,0 +1,220 @@ +Name: maven-enforcer +Version: 3.0.0~M2 +Release: 2%{?dist} +Summary: Maven Enforcer +License: ASL 2.0 +URL: http://maven.apache.org/enforcer +BuildArch: 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 + +BuildRequires: maven-local +BuildRequires: mvn(com.google.code.findbugs:jsr305) +BuildRequires: mvn(commons-codec:commons-codec) +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: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.plexus:plexus-utils) + +%description +Enforcer is a build rule execution framework. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +API documentation for %{name}. + +%package api +Summary: Enforcer API + +%description api +This component provides the generic interfaces needed to +implement custom rules for the maven-enforcer-plugin. + +%package rules +Summary: Enforcer Rules + +%description rules +This component contains the standard Enforcer Rules. + +%package plugin +Summary: Enforcer Rules + +%description plugin +This component contains the standard Enforcer Rules. + + +%prep +%setup -q -n enforcer-3.0.0-M2 +%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 + +# Avoid dependency cycle +%pom_xpath_inject pom:build/pom:pluginManagement/pom:plugins " + + maven-enforcer-plugin + SYSTEM + " + +# Replace plexus-maven-plugin with plexus-component-metadata +sed -e "s|plexus-maven-plugin|plexus-component-metadata|" \ + -e "s|descriptor|generate-metadata|" \ + -i enforcer-{api,rules}/pom.xml + +%build +%mvn_build -s -f + +%install +%mvn_install + +%files -f .mfiles-enforcer +%doc LICENSE NOTICE + +%files api -f .mfiles-enforcer-api +%doc LICENSE NOTICE + +%files rules -f .mfiles-enforcer-rules + +%files plugin -f .mfiles-maven-enforcer-plugin + +%files javadoc -f .mfiles-javadoc +%doc LICENSE NOTICE + +%changelog +* Tue Nov 05 2019 Mikolaj Izdebski - 3.0.0~M2-2 +- Mass rebuild for javapackages-tools 201902 + +* Wed May 29 2019 Marian Koncek - 3.0.0-1 +- Update to upstream version 3.0.0~M2 + +* Fri May 24 2019 Mikolaj Izdebski - 1.4.1-9 +- Mass rebuild for javapackages-tools 201901 + +* Thu Feb 08 2018 Fedora Release Engineering - 1.4.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 25 2018 Mikolaj Izdebski - 1.4.1-7 +- Avoid dependency cycle during Maven build + +* Wed Jul 26 2017 Fedora Release Engineering - 1.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Oct 12 2015 Mikolaj Izdebski - 1.4.1-3 +- Fix Maven 3 patch + +* Mon Oct 12 2015 Mikolaj Izdebski - 1.4.1-2 +- Port to Maven 3 API + +* Mon Aug 31 2015 Mikolaj Izdebski - 1.4.1-1 +- Update to upstream version 1.4.1 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Feb 2 2015 Mikolaj Izdebski - 1.4-1 +- Update to upstream version 1.4 + +* Tue Oct 14 2014 Mikolaj Izdebski - 1.3.1-4 +- Remove legacy Obsoletes/Provides for maven2 plugin + +* Mon Aug 4 2014 Mikolaj Izdebski - 1.3.1-3 +- Fix build-requires on parent POM + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Aug 9 2013 Mikolaj Izdebski - 1.3.1-1 +- Update to upstream version 1.3.1 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Apr 19 2013 Mikolaj Izdebski - 1.2-6 +- Build with xmvn +- Update to current packaging guidelines + +* Fri Apr 19 2013 Mikolaj Izdebski - 1.2-5 +- Remove BR on maven-doxia +- Resolves: rhbz#915611 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG - 1.2-3 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Thu Dec 6 2012 Mikolaj Izdebski - 1.2-2 +- Add mising R: forge-parent + +* Mon Dec 3 2012 Mikolaj Izdebski - 1.2-1 +- Update to upstream version 1.2 + +* Thu Nov 22 2012 Jaromir Capik - 1.1.1-3 +- Including LICENSE and NOTICE + +* Mon Oct 15 2012 Mikolaj Izdebski - 1.1.1-2 +- Remove RPM bug workaround + +* Fri Oct 12 2012 Mikolaj Izdebski - 1.1.1-1 +- Update to upstream version 1.1.1 +- Convert patches to POM macro +- Remove patch for bug 748074, upstreamed + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Feb 02 2012 Jaromir Capik - 1.0.1-4 +- Migration to plexus-containers-component-metadata +- Maven3 compatibility patches +- Minor spec file changes according to the latest guidelines + +* Fri Jan 13 2012 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jul 15 2011 Jaromir Capik - 1.0.1-2 +- Removal of plexus-maven-plugin dependency (not needed) + +* Tue Jun 28 2011 Alexander Kurtakov 1.0.1-1 +- Update to latest upstream 1.0.1. +- Adapt to current guidelines. + +* Thu Mar 10 2011 Stanislav Ochotnicky - 1.0-1 +- Update to latest upstream (1.0) + +* Tue Feb 08 2011 Fedora Release Engineering - 1.0-0.3.b2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 13 2010 Stanislav Ochotnicky - 1.0-0.2.b2 +- Fix FTBFS (#631388) +- Use new maven plugin names +- Versionless jars & javadocs + +* Wed May 19 2010 Alexander Kurtakov 1.0-0.1.b2 +- Initial package