RHEL 9.0.0 Alpha bootstrap

The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/maven-enforcer#d14cb8696fb87124c51f61f2ac378cefd60b33de
This commit is contained in:
Petr Šabata 2020-10-15 19:12:42 +02:00
parent e66f840823
commit b87d5bc898
5 changed files with 840 additions and 0 deletions

12
.gitignore vendored
View File

@ -0,0 +1,12 @@
/results_*
/*.src.rpm
/enforcer-1.0-beta-2.tar.xz
/enforcer-1.0.tar.xz
/enforcer-1.0.1-source-release.zip
/enforcer-1.2-source-release.zip
/enforcer-1.3.1-source-release.zip
/enforcer-1.4-source-release.zip
/enforcer-1.4.1-source-release.zip
/enforcer-3.0.0-M2-source-release.zip
/enforcer-3.0.0-M3-source-release.zip

View File

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

View File

@ -0,0 +1,30 @@
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 f2e2cc7..c81de9d 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
@@ -66,8 +66,8 @@ 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.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.transfer.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;
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 3974a9e..d319e74 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
@@ -30,8 +30,8 @@ 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.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;

247
maven-enforcer.spec Normal file
View File

@ -0,0 +1,247 @@
Name: maven-enforcer
Version: 3.0.0~M3
Release: 3%{?dist}
Summary: Maven Enforcer
License: ASL 2.0
%global upstream_version %(echo '%{version}' | tr '~' '-')
URL: https://maven.apache.org/enforcer
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
# port to maven-artifact-transfer 0.11.0
Patch1: 0002-Port-to-artifact-transfer-0.11.0.patch
BuildArch: noarch
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.plugin-tools:maven-plugin-annotations)
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-artifact-transfer)
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.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-%{upstream_version}
# Use Unix line endings
find -name '*.java' -exec sed -i 's/\r//' {} \;
find -name 'pom.xml' -exec sed -i 's/\r//' {} \;
%patch0 -p1
%patch1 -p1
%pom_remove_plugin :maven-enforcer-plugin
# Avoid dependency cycle
%pom_xpath_inject pom:build/pom:pluginManagement/pom:plugins "
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<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
%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 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
* 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
* 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
* Thu Jan 25 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-7
- Avoid dependency cycle during Maven build
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Oct 12 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-3
- Fix Maven 3 patch
* Mon Oct 12 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-2
- Port to Maven 3 API
* Mon Aug 31 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-1
- Update to upstream version 1.4.1
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Feb 2 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4-1
- Update to upstream version 1.4
* Tue Oct 14 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.3.1-4
- Remove legacy Obsoletes/Provides for maven2 plugin
* Mon Aug 4 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.3.1-3
- Fix build-requires on parent POM
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Aug 9 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.3.1-1
- Update to upstream version 1.3.1
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Apr 19 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-6
- Build with xmvn
- Update to current packaging guidelines
* Fri Apr 19 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-5
- Remove BR on maven-doxia
- Resolves: rhbz#915611
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 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 <mizdebsk@redhat.com> - 1.2-2
- Add mising R: forge-parent
* Mon Dec 3 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2-1
- Update to upstream version 1.2
* Thu Nov 22 2012 Jaromir Capik <jcapik@redhat.com> - 1.1.1-3
- Including LICENSE and NOTICE
* Mon Oct 15 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.1.1-2
- Remove RPM bug workaround
* Fri Oct 12 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Feb 02 2012 Jaromir Capik <jcapik@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Jul 15 2011 Jaromir Capik <jcapik@redhat.com> - 1.0.1-2
- Removal of plexus-maven-plugin dependency (not needed)
* Tue Jun 28 2011 Alexander Kurtakov <akurtako@redhat.com> 1.0.1-1
- Update to latest upstream 1.0.1.
- Adapt to current guidelines.
* Thu Mar 10 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-1
- Update to latest upstream (1.0)
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.3.b2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Dec 13 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-0.2.b2
- Fix FTBFS (#631388)
- Use new maven plugin names
- Versionless jars & javadocs
* Wed May 19 2010 Alexander Kurtakov <akurtako@redhat.com> 1.0-0.1.b2
- Initial package

1
sources Normal file
View File

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