You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2023/02/23 08:56:41 UTC

[maven] branch maven-3.9.x updated: [MNG-7693] For older clients make OOTB defaults (#1008)

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

cstamas pushed a commit to branch maven-3.9.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.9.x by this push:
     new b231238e6 [MNG-7693] For older clients make OOTB defaults (#1008)
b231238e6 is described below

commit b231238e64c0c9b7fd0573ebcac5e06f609dd6ca
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Feb 23 09:56:34 2023 +0100

    [MNG-7693] For older clients make OOTB defaults (#1008)
    
    Older clients (like pyliglot) will miss to inject ModelCacheFactory
    as their Plexus XML will not contain that requirement. For them,
    provide OOTB defaults.
    
    This would not happen, if JSR330 used, as then Sisu would remedy
    this at runtime, but Plexus XML actually puts things in "concrete"
    during build time.
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-7693
---
 .../main/java/org/apache/maven/project/DefaultProjectBuilder.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

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 6d51ab46a..00498cf39 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
@@ -62,6 +62,7 @@ import org.apache.maven.model.building.ModelSource;
 import org.apache.maven.model.building.StringModelSource;
 import org.apache.maven.model.resolution.ModelResolver;
 import org.apache.maven.repository.internal.ArtifactDescriptorUtils;
+import org.apache.maven.repository.internal.DefaultModelCacheFactory;
 import org.apache.maven.repository.internal.ModelCacheFactory;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
@@ -999,6 +1000,9 @@ public class DefaultProjectBuilder implements ProjectBuilder {
     }
 
     private ModelCache createModelCache(RepositorySystemSession session) {
-        return modelCacheFactory.createCache(session);
+        // MNG-7693: for older clients (not injecting ModelCacheFactory), make this work OOTB w/ defaults
+        return modelCacheFactory != null
+                ? modelCacheFactory.createCache(session)
+                : new DefaultModelCacheFactory().createCache(session);
     }
 }