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

Required parameters of self written Mojo configured in execution part of POM are ignored and causing error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • None
    • None
    • Plugins and Lifecycle
    • None
    • Windows XP

    Description

      Required parameters configured in execution part of POM are ignored if:

      the parameter ist set as required AND
      (no default value is set OR
      default-Value is set to "") AND
      configuration of parameter values are done in the execution element.

      Example:

      Parameter definition in Mojo:

      	/** 
      	 * @parameter  default-value="ATTENTION DEFAULT"
      	 * @required
      	 */	
      	private File dummy1;
      

      and snip from POM:

          <plugins>
            <plugin>
              <groupId>myownartifact.plugin</groupId>
              <artifactId>maven-myownartifact-plugin</artifactId>
              <extensions>true</extensions>
              <executions>
                <execution>
                   <id>extract</id>
                   <configuration>
                    <dummy1>c:/my files/test/dummy1</dummy1>
                   </configuration>
                   <goals>
                     <goal>extract</goal>
                   </goals>
                </execution>
              </executions>
            </plugin>     
          </plugins>
      

      runs fine.

      If I change the definition of the parameter to

      	/** 
      	 * @parameter 
      	 * @required
      	 */	
      	private File dummy1;
      

      or

            * @parameter default-value=""
      

      then I got an error:

      [0] inside the definition for plugin: 'maven-myownartifact-plugin'specify the following:

      <configuration>
      ...
      <dummy2>VALUE</dummy2>
      </configuration>.

      In my opinion this is a bug because with @required I have already tagged this parameter as mandatory. So I'm already forced to configure it.

      BTW, if I configure the parameters outside the execution element evrything works fine as expected!

      More info:

      • the plugin is bind to the package phase

      If a runable example is needed it's possible to provide one.

      Attachments

        Issue Links

          Activity

            People

              brianf Brian E Fox
              che--- Halil-Cem Gürsoy
              Votes:
              4 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: