[
https://issues.apache.org/jira/browse/MNG-6991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
François Guillot updated MNG-6991:
----------------------------------
Description:
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)
{{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 );}}
{{ }}}
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
{{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}}
{{ );}}
{{}}}
effectively _always_ replacing the local repository definition, potentially
nulling it.
was:
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.
> 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
> 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)
> {{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 );}}
> {{ }}}
> 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
> {{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}}
> {{ );}}
> {{}}}
> effectively _always_ replacing the local repository definition, potentially
> nulling it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)