You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2024/05/13 16:34:47 UTC

(maven) branch master updated: [MNG-8108] Fix problem when building the consumer pom

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new bde81a4d85 [MNG-8108] Fix problem when building the consumer pom
bde81a4d85 is described below

commit bde81a4d854f990b7580237bb95e5d3f4a574c49
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon May 13 18:34:29 2024 +0200

    [MNG-8108] Fix problem when building the consumer pom
---
 .../impl/DefaultConsumerPomBuilder.java            |  7 +---
 .../maven/project/DefaultProjectBuilder.java       | 38 ++++++++++------------
 2 files changed, 19 insertions(+), 26 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java b/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
index 9579697fc0..c0ef5bcf3e 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
@@ -66,7 +66,6 @@ import org.apache.maven.internal.impl.model.DefaultModelBuilder;
 import org.apache.maven.internal.impl.model.DefaultProfileSelector;
 import org.apache.maven.internal.impl.model.ProfileActivationFilePathInterpolator;
 import org.apache.maven.internal.impl.resolver.DefaultModelCache;
-import org.apache.maven.internal.impl.resolver.DefaultModelRepositoryHolder;
 import org.apache.maven.model.v4.MavenModelVersion;
 import org.apache.maven.project.MavenProject;
 import org.eclipse.aether.RepositorySystem;
@@ -139,9 +138,6 @@ class DefaultConsumerPomBuilder implements ConsumerPomBuilder {
     @Inject
     private ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator;
 
-    @Inject
-    private ModelResolver modelResolver;
-
     Logger logger = LoggerFactory.getLogger(getClass());
 
     @Override
@@ -205,8 +201,7 @@ class DefaultConsumerPomBuilder implements ConsumerPomBuilder {
         request.source(ModelSource.fromPath(src));
         request.validationLevel(ModelBuilderRequest.VALIDATION_LEVEL_MINIMAL);
         request.locationTracking(false);
-        request.modelResolver(modelResolver);
-        request.modelRepositoryHolder(iSession.getData().get(SessionData.key(DefaultModelRepositoryHolder.class)));
+        request.modelResolver(iSession.getData().get(SessionData.key(ModelResolver.class)));
         request.transformerContextBuilder(modelBuilder.newTransformerContextBuilder());
         request.systemProperties(session.getSystemProperties());
         request.userProperties(session.getUserProperties());
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index eb4ccd71e8..f2f043ee7f 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -282,6 +282,7 @@ public class DefaultProjectBuilder implements ProjectBuilder {
         private final ModelTransformerContextBuilder transformerContextBuilder;
         private final ExecutorService executor;
         private final ModelCache modelCache;
+        private final ModelResolver modelResolver;
 
         BuildSession(ProjectBuildingRequest request, boolean localProjects) {
             this.request = request;
@@ -299,6 +300,21 @@ public class DefaultProjectBuilder implements ProjectBuilder {
             }
             this.parentCache = new ConcurrentHashMap<>();
             this.modelCache = DefaultModelCache.newInstance(session, true);
+            this.modelResolver = new ModelResolverWrapper() {
+                @Override
+                protected org.apache.maven.model.resolution.ModelResolver getResolver(
+                        List<RemoteRepository> repositories) {
+                    return new ProjectModelResolver(
+                            session,
+                            RequestTrace.newChild(null, request),
+                            repoSystem,
+                            repositoryManager,
+                            repositories,
+                            request.getRepositoryMerging(),
+                            modelPool,
+                            parentCache);
+                }
+            };
         }
 
         ExecutorService createExecutor(int parallelism) {
@@ -1006,24 +1022,6 @@ public class DefaultProjectBuilder implements ProjectBuilder {
         private ModelBuilderRequest.ModelBuilderRequestBuilder getModelBuildingRequest() {
             ModelBuilderRequest.ModelBuilderRequestBuilder modelBuildingRequest = ModelBuilderRequest.builder();
 
-            RequestTrace trace = RequestTrace.newChild(null, request).newChild(modelBuildingRequest);
-
-            ModelResolver resolver = new ModelResolverWrapper() {
-                @Override
-                protected org.apache.maven.model.resolution.ModelResolver getResolver(
-                        List<RemoteRepository> repositories) {
-                    return new ProjectModelResolver(
-                            session,
-                            trace,
-                            repoSystem,
-                            repositoryManager,
-                            repositories,
-                            request.getRepositoryMerging(),
-                            modelPool,
-                            parentCache);
-                }
-            };
-
             InternalSession internalSession = InternalSession.from(session);
             modelBuildingRequest.session(internalSession.withRemoteRepositories(request.getRemoteRepositories().stream()
                     .map(r -> internalSession.getRemoteRepository(RepositoryUtils.toRepo(r)))
@@ -1041,7 +1039,7 @@ public class DefaultProjectBuilder implements ProjectBuilder {
             modelBuildingRequest.systemProperties(toMap(request.getSystemProperties()));
             modelBuildingRequest.userProperties(toMap(request.getUserProperties()));
             // bv4: modelBuildingRequest.setBuildStartTime(request.getBuildStartTime());
-            modelBuildingRequest.modelResolver(resolver);
+            modelBuildingRequest.modelResolver(modelResolver);
             DefaultModelRepositoryHolder holder = new DefaultModelRepositoryHolder(
                     internalSession,
                     DefaultModelRepositoryHolder.RepositoryMerging.valueOf(
@@ -1049,7 +1047,6 @@ public class DefaultProjectBuilder implements ProjectBuilder {
                     repositories.stream()
                             .map(internalSession::getRemoteRepository)
                             .toList());
-            internalSession.getData().set(SessionData.key(DefaultModelRepositoryHolder.class), holder);
             modelBuildingRequest.modelRepositoryHolder(holder);
             modelBuildingRequest.modelCache(modelCache);
             modelBuildingRequest.transformerContextBuilder(transformerContextBuilder);
@@ -1064,6 +1061,7 @@ public class DefaultProjectBuilder implements ProjectBuilder {
                 }
             }
             */
+            internalSession.getData().set(SessionData.key(ModelResolver.class), modelResolver);
 
             return modelBuildingRequest;
         }