[ https://issues.apache.org/jira/browse/MNG-6991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maarten Mulders resolved MNG-6991.
----------------------------------
Resolution: Fixed
Fixed in [df67c00f|https://github.com/apache/maven/commit/df67c00fba25a52e39fa43021b52de8a25b6e999].
> 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
> Assignee: Maarten Mulders
> Priority: Major
>
> 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)
> {code}
> 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 );
> }
> {code}
> 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
> {code}
> 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
> );
> }
> {code}
> effectively _always_ replacing the local repository definition, potentially nulling it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
|