From df01a07557ac2f57f25d463b32faf5303f3baa04 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 4 Nov 2021 03:53:20 -0400 Subject: [PATCH] import maven-enforcer-3.0.0~M3-8.el9 --- .gitignore | 1 + .maven-enforcer.metadata | 1 + SOURCES/0001-Port-to-Maven-3-API.patch | 567 +++++++++++++++++++++++++ SPECS/maven-enforcer.spec | 280 ++++++++++++ 4 files changed, 849 insertions(+) create mode 100644 .gitignore create mode 100644 .maven-enforcer.metadata create mode 100644 SOURCES/0001-Port-to-Maven-3-API.patch create mode 100644 SPECS/maven-enforcer.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc58d78 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/enforcer-3.0.0-M3-source-release.zip diff --git a/.maven-enforcer.metadata b/.maven-enforcer.metadata new file mode 100644 index 0000000..bc0721d --- /dev/null +++ b/.maven-enforcer.metadata @@ -0,0 +1 @@ +b44f735da69615d841248582a4dff37202f2ef75 SOURCES/enforcer-3.0.0-M3-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..fa1ef5d --- /dev/null +++ b/SOURCES/0001-Port-to-Maven-3-API.patch @@ -0,0 +1,567 @@ +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 ++- + .../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 @@ + + + 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 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 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() + System.lineSeparator(); + } + +- 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 = 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 getDependenciesToCheck( MavenProject project ) ++ 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 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 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 failures ) ++ private void handleMessagesToTheUser( ProjectBuildingRequest projectBuildingRequest, List 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, 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() ); + } +@@ -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 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 getAllPluginEntries( MavenProject project ) +- throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException ++ throws ArtifactResolverException, IOException, XmlPullParserException + { + List models = new ArrayList(); + +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 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 83306f1..79dd17f 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -63,7 +63,7 @@ + + + +- 3.0 ++ 3.3.1 + enforcer-archives/enforcer-LATEST + 7 + +@@ -139,16 +139,21 @@ + commons-codec + 1.12 + ++ ++ 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.apache.maven.resolver diff --git a/SPECS/maven-enforcer.spec b/SPECS/maven-enforcer.spec new file mode 100644 index 0000000..f4c31a1 --- /dev/null +++ b/SPECS/maven-enforcer.spec @@ -0,0 +1,280 @@ +%bcond_with bootstrap + +Name: maven-enforcer +Version: 3.0.0~M3 +Release: 8%{?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 + +BuildRequires: maven-local +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +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.codehaus.plexus:plexus-container-default) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +%endif + +%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-%{upstream_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 + +# 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 +* Mon Aug 09 2021 Mohan Boddu - 3.0.0~M3-8 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jun 09 2021 Mikolaj Izdebski - 3.0.0~M3-7 +- Rebuild to workaround DistroBaker issue + +* Tue Jun 08 2021 Mikolaj Izdebski - 3.0.0~M3-6 +- Bootstrap Maven for CentOS Stream 9 + +* Mon May 17 2021 Mikolaj Izdebski - 3.0.0~M3-5 +- Bootstrap build +- Non-bootstrap build + +* Fri May 14 2021 Marian Koncek - 3.0.0~M3-1 +- Update to upstream version 3.0.0~M3 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.0.0~M3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.0.0~M3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 3.0.0~M3-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Thu May 07 2020 Fabio Valentini - 3.0.0~M3-1 +- Update to version 3.0.0-M3. + +* Wed Jan 29 2020 Fedora Release Engineering - 3.0.0~M2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 05 2019 Mikolaj Izdebski - 3.0.0~M2-2 +- Mass rebuild for javapackages-tools 201902 + +* Sun Nov 03 2019 Fabio Valentini - 3.0.0~M2-2 +- Port to maven-artifact-transfer 0.11.0. + +* Thu Aug 08 2019 Marian Koncek - 3.0.0~M2-1 +- Update to upstream verssion 3.0.0~M2 + +* Thu Jul 25 2019 Fedora Release Engineering - 1.4.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* 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 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.4.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.4.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* 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