Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6260

Inconsistency for dynamic property replacement while using Maven's Plugin Prefix Resolution

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.3.9, 3.5.0
    • None
    • None
    • None

    Description

      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
        <some.exampleParameter>${sample.generated}</some.exampleParameter>
        

      Observations:

      • When building with
        mvn clean package

        the injected Property sample.generated will be printed by the Mojo as well as from antrun correctly.

      • When building with
        mvn com.test.plugins:testPlugin:deployMojo

        the injected Property sample.generated will be printed by antrun correctly but will show up as null for the mojo execution.

      • When building with
        mvn com.test.plugins:testPlugin:buildInjectPropertyMojo antrun:run com.test.plugins:testPlugin:deployMojo

        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

      mvn clean install

      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

      Attachments

        1. SampleProject.zip
          4 kB
          S L

        Activity

          People

            Unassigned Unassigned
            TheSnoozer S L
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: