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

Romain Manni-Bucau commented on MNG-7563:
-----------------------------------------

Hi,

 

Think we should normalise the behavior to always enable to override a value by 
the most specific setting, ie system properties in our case. So model would be 
overriden by user props which is overriden by system props.

The rational is double:

* an user should ultimately control what he builds so more specific is the 
setting more it overrides others (as in most system actually)

* if you to try to lock the value with the definition, then you fall in the 
trap to force the end user to not set the value and force it to be required at 
the highest level you want (user or system props) which is a big anti-pattern 
because you can't build without specific settings anymore.

> 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