François Guillot created MNG-6991:
-------------------------------------

             Summary: settings-defined local repository is not honored
                 Key: MNG-6991
                 URL: https://issues.apache.org/jira/browse/MNG-6991
             Project: Maven
          Issue Type: Bug
            Reporter: François Guillot


We have functional tests using the latest Maven snapshots and they started 
polluting the global ~/.m2/repository.

[This 
commit|https://github.com/apache/maven/commit/ac80f5c2b93743c36e2b24ca91a47a0f13de981f]
 introduced a bug in the handling of the local repository definition.

The local repository is taken from settings 
[here|https://github.com/apache/maven/blob/b962ff361aee64a291db588e9f88d86c5f9dee0c/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java#L234].

but then, before, Maven was doing (in MavenCli)
{quote}String localRepoProperty = request.getUserProperties().getProperty( 
MavenCli.LOCAL_REPO_PROPERTY ) {
if ( localRepoProperty == null ) {
 localRepoProperty = request.getSystemProperties().getProperty( 
MavenCli.LOCAL_REPO_PROPERTY )
}
if ( localRepoProperty != null ) {
 request.setLocalRepositoryPath( localRepoProperty );
}
{quote}
effectively replacing the local repository definition only if 
`maven.repo.local` was defined in user or system properties.
 
After the commit mentioned above, the code does
{quote}{{request.setLocalRepositoryPath(determineLocalRepositoryPath(request) 
);}}
{{...}}
{{private String determineLocalRepositoryPath( final MavenExecutionRequest 
request ) {}}
{{ return request.getUserProperties().getProperty(}}
{{ MavenCli.LOCAL_REPO_PROPERTY,}}
{{ request.getSystemProperties().getProperty( MavenCli.LOCAL_REPO_PROPERTY ) // 
null if not found}}
{{ );}}
{{}}}
{quote}
effectively _always_ replacing the local repository definition, potentially 
nulling it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to