You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/11/18 20:25:33 UTC

[maven] branch MNG-7600 created (now 20cf9ce31)

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

sjaranowski pushed a change to branch MNG-7600
in repository https://gitbox.apache.org/repos/asf/maven.git


      at 20cf9ce31 [MNG-7600] LocalRepositoryManager is created to early

This branch includes the following new commits:

     new 20cf9ce31 [MNG-7600] LocalRepositoryManager is created to early

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven] 01/01: [MNG-7600] LocalRepositoryManager is created to early

Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch MNG-7600
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 20cf9ce31024c5251523cca43acac0fac2e1a1fe
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Fri Nov 18 21:25:13 2022 +0100

    [MNG-7600] LocalRepositoryManager is created to early
    
    LocalRepositoryManager needs configurations from RepositorySystemSession
    so must be created after session configuration is finished.
---
 .../DefaultRepositorySystemSessionFactory.java     | 47 ++++++++++++----------
 1 file changed, 26 insertions(+), 21 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index 7908c88db..9c2980df2 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -174,27 +174,6 @@ public class DefaultRepositorySystemSessionFactory
 
         session.setArtifactTypeRegistry( RepositoryUtils.newArtifactTypeRegistry( artifactHandlerManager ) );
 
-        LocalRepository localRepo = new LocalRepository( request.getLocalRepository().getBasedir() );
-
-        if ( request.isUseLegacyLocalRepository() )
-        {
-            try
-            {
-                session.setLocalRepositoryManager( simpleLocalRepoMgrFactory.newInstance( session, localRepo ) );
-                logger.info( "Disabling enhanced local repository: using legacy is strongly discouraged to ensure"
-                                 + " build reproducibility." );
-            }
-            catch ( NoLocalRepositoryManagerException e )
-            {
-                logger.error( "Failed to configure legacy local repository: falling back to default" );
-                session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
-            }
-        }
-        else
-        {
-            session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
-        }
-
         session.setWorkspaceReader(
                 request.getWorkspaceReader() != null ? request.getWorkspaceReader() : workspaceRepository );
 
@@ -309,6 +288,8 @@ public class DefaultRepositorySystemSessionFactory
         mavenRepositorySystem.injectProxy( session, request.getPluginArtifactRepositories() );
         mavenRepositorySystem.injectAuthentication( session, request.getPluginArtifactRepositories() );
 
+        setupLocalRepositoryManager( request, session );
+
         if ( Features.buildConsumer( request.getUserProperties() ).isActive() )
         {
             session.setFileTransformerManager( a -> getTransformersForArtifact( a, session.getData() ) );
@@ -317,6 +298,30 @@ public class DefaultRepositorySystemSessionFactory
         return session;
     }
 
+    private void setupLocalRepositoryManager( MavenExecutionRequest request, DefaultRepositorySystemSession session )
+    {
+        LocalRepository localRepo = new LocalRepository( request.getLocalRepository().getBasedir() );
+
+        if ( request.isUseLegacyLocalRepository() )
+        {
+            try
+            {
+                session.setLocalRepositoryManager( simpleLocalRepoMgrFactory.newInstance( session, localRepo ) );
+                logger.info( "Disabling enhanced local repository: using legacy is strongly discouraged to ensure"
+                                 + " build reproducibility." );
+            }
+            catch ( NoLocalRepositoryManagerException e )
+            {
+                logger.error( "Failed to configure legacy local repository: falling back to default" );
+                session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
+            }
+        }
+        else
+        {
+            session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
+        }
+    }
+
     private Map<?, ?> getPropertiesFromRequestedProfiles( MavenExecutionRequest request )
     {