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

Robert Scholte commented on MNG-6260:
-------------------------------------

bq. I'm wondering if there would be a way to make the deployMoyo aware of the 
changed value for sample.generated.

I doubt that Maven will change it's current behavior as some might want the 
first/original value; it is up to the plugin if it wants to verify a new value, 
like:

{code}
String newExampleParameter = System.getProperty("prop.some.exampleParameter", 
exampleParameter );
{code}

There's also a pluginContext available per mojo, which is another way to share 
Objects between mojo's, but it is kind of against the concept that plugins 
should be independent.

> Inconsistency for dynamic property replacement while using Maven's Plugin 
> Prefix Resolution
> -------------------------------------------------------------------------------------------
>
>                 Key: MNG-6260
>                 URL: https://issues.apache.org/jira/browse/MNG-6260
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.3.9, 3.5.0
>            Reporter: S L
>            Priority: Major
>         Attachments: SampleProject.zip
>
>
> Hi,
> I recently discovered a strange behaviour dynamic property replacement while 
> using Maven's Plugin Prefix Resolution.
> The original cause was reported to a project that I currently maintain and 
> basically extract's repository information from git and inject them back as 
> properties into the maven project.
> The original report was that one if generated properties does not get 
> resolved when it is getting used as a configuration parameter while executing 
> ??mvn appengine:deploy??.
> To be able to reproduce the issue I crafted a sample project that contain's 
> of two Mojo's to simulate this behaviour.
> * The first Mojo {{BuildInjectPropertyMojo}} will inject a Property 
> {{sample.generated}} to the Maven project
> * The second Mojo {{DeployMojo}} basically takes an arbitrary argument and 
> prints it to the console. To reproduce the issue the Parameter needs to 
> defined as followed 
> {noformat}
> <some.exampleParameter>${sample.generated}</some.exampleParameter>
> {noformat}
> Observations:
> * When building with {noformat}mvn clean package{noformat} the injected 
> Property {{sample.generated}} will be printed by the Mojo as well as from 
> antrun correctly.
> * When building with {noformat}mvn 
> com.test.plugins:testPlugin:deployMojo{noformat} the injected Property 
> {{sample.generated}} will be printed by antrun correctly but will show up as 
> null for the mojo execution.
> * When building with {noformat}mvn 
> com.test.plugins:testPlugin:buildInjectPropertyMojo antrun:run 
> com.test.plugins:testPlugin:deployMojo{noformat} he injected Property 
> {{sample.generated}} will be printed by the Mojo as well as from antrun 
> correctly.
> To use the attached example one need to install it first {noformat}mvn clean 
> install{noformat} and remove the comments inside the pom.xml that are 
> annotated with {{COMMENT THIS IN TO REPRODUCE}}
> Please note that the execution of {{mvn appengine:deploy}} is per offical 
> guideline of this tool:
> https://cloud.google.com/appengine/docs/standard/java/tools/using-maven#deploying_your_application



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

Reply via email to