diff --git a/src/it/local-project-repo/invoker.properties b/src/it/local-project-repo/invoker.properties
new file mode 100644
index 00000000..98becc2a
--- /dev/null
+++ b/src/it/local-project-repo/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals = enforcer:enforce
+invoker.buildResult = success
\ No newline at end of file
diff --git a/src/it/local-project-repo/local-repo/dumy/dumy-local-repo/1.0/dumy-local-repo-1.0.pom b/src/it/local-project-repo/local-repo/dumy/dumy-local-repo/1.0/dumy-local-repo-1.0.pom
new file mode 100644
index 00000000..e1ef851d
--- /dev/null
+++ b/src/it/local-project-repo/local-repo/dumy/dumy-local-repo/1.0/dumy-local-repo-1.0.pom
@@ -0,0 +1,7 @@
+
+ 4.0.0
+ dumy
+ dumy-local-repo
+ pom
+ 1.0
+
diff --git a/src/it/local-project-repo/pom.xml b/src/it/local-project-repo/pom.xml
new file mode 100644
index 00000000..9c0d5748
--- /dev/null
+++ b/src/it/local-project-repo/pom.xml
@@ -0,0 +1,52 @@
+
+ 4.0.0
+
+ org.codehaus.mojo.extra-enforcer-rules.it
+ local-project-repo
+ 1.0-SNAPSHOT
+ Resolve artifact from local repo
+
+
+ UTF-8
+
+
+
+
+ dumy
+ dumy-local-repo
+ pom
+ 1.0
+
+
+
+
+
+
+ maven-enforcer-plugin
+ @enforcerPluginVersion@
+
+
+ @project.groupId@
+ @project.artifactId@
+ @project.version@
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+ local-project-repo
+ ${project.baseUri}local-repo
+
+
+
diff --git a/src/it/local-project-repo/verify.groovy b/src/it/local-project-repo/verify.groovy
new file mode 100644
index 00000000..cc3585ae
--- /dev/null
+++ b/src/it/local-project-repo/verify.groovy
@@ -0,0 +1,8 @@
+File file = new File( basedir, "build.log" );
+assert file.exists();
+
+String text = file.getText( "utf-8" );
+
+assert text.contains( '[DEBUG] Analyzing artifact dumy:dumy-local-repo:pom:1.0:compile' )
+
+return true;
diff --git a/src/it/setup-prefill-repo/invoker.properties b/src/it/setup-prefill-repo/invoker.properties
new file mode 100644
index 00000000..557f44ad
--- /dev/null
+++ b/src/it/setup-prefill-repo/invoker.properties
@@ -0,0 +1 @@
+invoker.goals = compile
diff --git a/src/it/setup-prefill-repo/pom.xml b/src/it/setup-prefill-repo/pom.xml
new file mode 100644
index 00000000..26f71189
--- /dev/null
+++ b/src/it/setup-prefill-repo/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ localhost
+ setup-prefill-repo
+ 1.0
+ prefill local repo
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+
+ org.hibernate
+ hibernate-annotations
+ 3.4.0.GA
+
+
+
+
diff --git a/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java b/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
index 61e4da46..a267334d 100644
--- a/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
+++ b/src/main/java/org/apache/maven/plugins/enforcer/AbstractResolveDependencies.java
@@ -6,11 +6,8 @@
import java.util.Set;
import java.util.regex.Pattern;
+import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
import org.apache.maven.enforcer.rule.api.EnforcerRule;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
@@ -18,12 +15,15 @@
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.repository.RepositorySystem;
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;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+import org.eclipse.aether.resolution.ArtifactResult;
/**
* Abstract rule for when the content of the artifacts matters.
@@ -38,7 +38,6 @@ public abstract class AbstractResolveDependencies extends AbstractMojoHausEnforc
private MavenSession session;
private RepositorySystem repositorySystem;
- private ResolutionErrorHandler resolutionErrorHandler;
private EnforcerRuleHelper helper;
@@ -51,7 +50,6 @@ public void execute( EnforcerRuleHelper helper )
try
{
repositorySystem = helper.getComponent( RepositorySystem.class );
- resolutionErrorHandler = helper.getComponent( ResolutionErrorHandler.class );
graphBuilder = helper.getComponent( DependencyGraphBuilder.class );
}
catch ( ComponentLookupException e )
@@ -142,16 +140,15 @@ private Set getAllDescendants( DependencyNode node )
private void resolveArtifact( Artifact artifact ) throws ArtifactResolutionException
{
- ArtifactResolutionRequest request = new ArtifactResolutionRequest()
- .setArtifact( artifact )
- .setLocalRepository( session.getLocalRepository() )
- .setRemoteRepositories( session.getRequest().getProjectBuildingRequest().getRemoteRepositories() )
- .setOffline( session.isOffline() )
- .setForceUpdate( session.getRequest().isUpdateSnapshots() );
+ ArtifactRequest request = new ArtifactRequest();
+ request.setRepositories( session.getCurrentProject().getRemoteProjectRepositories() );
+ request.setArtifact( RepositoryUtils.toArtifact( artifact ) );
- ArtifactResolutionResult result = repositorySystem.resolve( request );
+ ArtifactResult artifactResult = repositorySystem.resolveArtifact( session.getRepositorySession(), request );
- resolutionErrorHandler.throwErrors( request, result );
+ artifact.setFile( artifactResult.getArtifact().getFile() );
+ artifact.setVersion( artifactResult.getArtifact().getVersion() );
+ artifact.setResolved( true );
}
protected Log getLog()