[ 
https://issues.apache.org/jira/browse/MNG-7563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17646857#comment-17646857
 ] 

Hervé Guillemet commented on MNG-7563:
--------------------------------------

I'm not familiar enough with maven internals to have any strong opinion about 
what is the right and what is wrong here. I just reported a breaking change 
that looks important to me.

But, if it helps, here are two comments:
 * if the developer of an artifact wants his artifact to react to some settings 
from the end user,  he must configure voluntarily for this, so that it won't 
happen by accident. I guess the proper way to do this is to define a profile 
that could be activated using -P or maybe with a true system property.
 * it's difficult for a user to understand how system property and user 
property interact. I understand that this will change in Maven 4 but I don't 
know how. My expectation would be that user properties somehow only concern the 
model written by the user, and that system properties are somehow global to the 
system. Keeping these two kind of properties separated would avoid confusion.

Sorry if I'm just stating the obvious.

> User properties now override model properties in dependencies
> -------------------------------------------------------------
>
>                 Key: MNG-7563
>                 URL: https://issues.apache.org/jira/browse/MNG-7563
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies, POM
>    Affects Versions: 3.8.5, 3.8.6
>            Reporter: Hervé Guillemet
>            Assignee: Michael Osipov
>            Priority: Major
>             Fix For: waiting-for-feedback
>
>         Attachments: poms.zip
>
>
> An important change has been introduced in 3.8.5 that breaks some existing 
> builds: Java system properties now take precedence over default values of 
> user properties in dependency POMs. This look like a bug since it's now easy 
> to affect dependency behaviors with system properties, a practice that has 
> been discouraged. But maybe do you consider this as a new feature ?
> As an example, 3 poms are attached to this ticket.
> After installing projects b and c, building project a with:
> {{mvn package -Ddep=x}}
> used to succeed until 3.8.4 (-D is ignored) but throws error with 3.8.5 and 
> 3.8.6 (-D override the default).
> Note that without the setting of the default value for property {{dep}} in 
> project b, the build fails with any version of Maven.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to