You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Emmanuel Lécharny (Jira)" <ji...@apache.org> on 2023/09/11 04:30:00 UTC

[jira] [Comment Edited] (MNG-5948) Parameter values are only injected from plugin configuration if the config value is identical to variable names.

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

Emmanuel Lécharny edited comment on MNG-5948 at 9/11/23 4:29 AM:
-----------------------------------------------------------------

Hi,

still, I don't think it's consistant. I was figthing the same problem at Apache Directory project, where we have:

 

```
{color:#646464}@{color}{color:#646464}Parameter{color}{color:#000000}(property = {color}{color:#2a00ff}"installers.dpkg"{color}{color:#000000}, defaultValue = {color}{color:#2a00ff}"/usr/bin/dpkg"{color}{color:#000000}){color}

{color:#7f0055}private{color}{color:#000000} File {color}{color:#0000c0}dpkgUtility{color}{color:#000000};{color}

```

and that kind of configuration does not work:

 

 

```
<{color:#268bd2}plugin{color}>

<{color:#268bd2}groupId{color}>${project.groupId}</{color:#268bd2}groupId{color}>

<{color:#268bd2}artifactId{color}>apacheds-installers-maven-plugin</{color:#268bd2}artifactId{color}>

<{color:#268bd2}configuration{color}>

{color:#93a1a1} <dpkg>/usr/local/bin/dpkg</dpkg>{color}

```

(I had to change it to <dpkgUtility>...</dpkgUtility> to get it working)

while ```mvn clean install -Pdebian -Dinstallers.dpkg=/usr/local/bin/dpkg``` works.

 

What the point in allowing a 'property' being defined if it can't be used in the pom.xml configuation file? It's really confusing...


was (Author: elecharny):
Hi,

still, I don't think it's consistant. I was figthing the same problem at Apache Directory project, where we have:

 

```
{color:#646464}@{color}{color:#646464}Parameter{color}{color:#000000}(property = {color}{color:#2a00ff}"installers.dpkg"{color}{color:#000000}, defaultValue = {color}{color:#2a00ff}"/usr/bin/dpkg"{color}{color:#000000}){color}

{color:#7f0055}private{color}{color:#000000} File {color}{color:#0000c0}dpkgUtility{color}{color:#000000};{color}

```

and that kind of configuration does not work:

 

 

```
<{color:#268bd2}plugin{color}>

<{color:#268bd2}groupId{color}>${project.groupId}</{color:#268bd2}groupId{color}>

<{color:#268bd2}artifactId{color}>apacheds-installers-maven-plugin</{color:#268bd2}artifactId{color}>

<{color:#268bd2}configuration{color}>

{color:#93a1a1} <dpkg>/usr/local/bin/dpkg</dpkg>{color}

```

 

while ```mvn clean install -Pdebian -Dinstallers.dpkg=/usr/local/bin/dpkg``` works.

 

What the point in allowing a 'property' being defined if it can't be used in the pom.xml configuation file? It's really confusing...

> Parameter values are only injected from plugin configuration if the config value is identical to variable names.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5948
>                 URL: https://issues.apache.org/jira/browse/MNG-5948
>             Project: Maven
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.3.3
>            Reporter: Krzysztof Trojan
>            Priority: Major
>         Attachments: param-issue-demo-maven-plugin.zip
>
>
> In Maven 3.3.x it was observed that the Mojo field, being a parameter (annotated @Parameter either in Javadoc or in Java annotation), is only injected a value if in configuration a property is given with the exact same name. The "property" attribute of the @Parameter annotation seems not to make to read the value from a property named  in the attribute.
> Example:
> {code}
> @Mojo( name = "something" )
> public class ExampleMojo   extends AbstractMojo
> {
>     @Parameter( property = "propertyIWant" )
>     private String myParam;
> // truncated
> {code}
> does inject anything into myParam from a pom.xml with the config below in the plugin configuration:
> {code:xml}
>                         <configuration>
>                             <propertyIWant>something to inject</propertyIWant>
>                         </configuration>
> {code}
> While:
> {code:xml}
>                         <configuration>
>                             <myParam>something to inject</myParam>
>                         </configuration>
> {code}
> works nicely.
> This is regression comparing to Maven 3.0.x, where the same plugin works and gets values from the config entry named as in @Parameter(property)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)