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

Stephane Nicoll commented on MJAR-264:
--------------------------------------

This is not about the fact the field is not effectively read-only but rather 
that its default value is lazily resolved. Given that the field is supposed to 
be read-only, the default in the annotation basically means the value we should 
use. The problem with this arrangement (besides the field can actually be set) 
is that its value is resolved once the plugin executes. 

 

In other words, if you have an expression as in the attached project, 
\{{MavenProject#getBuild().getFinalName()}} does not return the same thing.

> finalName property can be set and is not immutable
> --------------------------------------------------
>
>                 Key: MJAR-264
>                 URL: https://issues.apache.org/jira/browse/MJAR-264
>             Project: Maven JAR Plugin
>          Issue Type: Bug
>    Affects Versions: 3.1.1
>            Reporter: Stephane Nicoll
>            Priority: Major
>
> From what I understood, the intention of making sure the {{finalName}} is 
> read-only was to prevent users to be able to mutate its value while the build 
> was running. Rather, they should use the standard {{build/finalName}} that is 
> immutable.
> Unfortunately, both these are happening at the moment. There is a bug so that 
> {{read-only}} is ignored and the field can be set anyway. And because the 
> field as a default to the standard property, its value is evaluated lazily 
> and can change based on the execution of another plugin.
> Here is a simple project that reproduces the problem with the latest version 
> of the plugin: [https://github.com/snicoll-scratches/test-jar-final-name]
> The Spring Boot Maven Plugin has the exact same setup (actually we did align 
> our plugin to what the jar plugin did for consistency). We broke users by 
> removing the field when we noticed one can still set it and we are looking 
> for advices as what to do. We want to make sure that the decision we take is 
> align with the direction of core plugins.
> Thanks!
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to