diff --git a/maven-bootstrap-core/src/main/java/org/sourcepit/maven/bootstrap/core/AbstractBootstrapper.java b/maven-bootstrap-core/src/main/java/org/sourcepit/maven/bootstrap/core/AbstractBootstrapper.java
index 172dec8..9582e7f 100644
--- a/maven-bootstrap-core/src/main/java/org/sourcepit/maven/bootstrap/core/AbstractBootstrapper.java
+++ b/maven-bootstrap-core/src/main/java/org/sourcepit/maven/bootstrap/core/AbstractBootstrapper.java
@@ -35,6 +35,7 @@
import javax.inject.Inject;
+import org.apache.maven.ArtifactFilterManager;
import org.apache.maven.MavenExecutionException;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
@@ -43,6 +44,8 @@
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.artifact.resolver.filter.AndArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
import org.apache.maven.classrealm.ClassRealmManager;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
@@ -110,6 +113,9 @@ public abstract class AbstractBootstrapper implements MavenExecutionParticipant
@Inject
private MojoExecutor mojoExecutor;
+
+ @Inject
+ private ArtifactFilterManager artifactFilterManager;
private final ImportEnforcer importEnforcer;
@@ -535,6 +541,9 @@ private ClassRealm getExtensionExtensionRealm(MavenSession bootSession, MavenPro
newRealm.importFrom(extensionRealm, exportedPackage);
}
newRealm.importFrom(classRealmManager.getMavenApiRealm(), "");
+ // org.apache.maven.bridge currently not exposed via Maven Api (3.2.3) but required by API components, e.g
+ // org.apache.maven.project.DefaultProjectBuilder.
+ newRealm.importFrom(classRealmManager.getCoreRealm(), "org.apache.maven.bridge");
}
}
@@ -603,10 +612,13 @@ private ArtifactResolutionResult resolve(MavenSession session, MavenProject proj
final ArtifactResolutionRequest request = new ArtifactResolutionRequest();
request.setResolveRoot(true);
request.setResolveTransitively(true);
- request
- .setResolutionFilter(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME_PLUS_SYSTEM));
- request
- .setCollectionFilter(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME_PLUS_SYSTEM));
+
+ final AndArtifactFilter artifactFilter = new AndArtifactFilter();
+ artifactFilter.add(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME_PLUS_SYSTEM));
+ artifactFilter.add(new ExclusionSetFilter(artifactFilterManager.getCoreArtifactExcludes()));
+
+ request.setResolutionFilter(artifactFilter);
+ request.setCollectionFilter(artifactFilter);
final MavenExecutionRequest executionRequest = session.getRequest();
request.setForceUpdate(executionRequest.isUpdateSnapshots());
diff --git a/pom.xml b/pom.xml
index 86e2d9f..8be9660 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
org.sourcepit
srcpit-parent
- 19
+ 20-SNAPSHOT
org.sourcepit.tools
@@ -61,17 +61,17 @@
org.sourcepit.common.maven
common-maven-core
- 0.21.1
+ 0.22.0-SNAPSHOT
org.sourcepit.common
common-testing
- 0.12.0
+ 0.13.0-SNAPSHOT
org.sourcepit.common
org.sourcepit.common.utils
- 0.14.1
+ 0.15.0-SNAPSHOT
@@ -82,7 +82,7 @@
org.sourcepit.tools
deploy-maven-plugin
- 0.2.0
+ 0.3.0-SNAPSHOT