You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Chris Egerton (JIRA)" <ji...@apache.org> on 2018/06/27 18:28:00 UTC

[jira] [Commented] (MNG-6434) Cannot specify empty string for configuration value

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

Chris Egerton commented on MNG-6434:
------------------------------------

A workaround we're thinking of is allowing the user to specify "none" as a value when they really want it to be null/empty, and then checking for that special case during execution. However, this only works for String parameters and not for Booleans or Integers.

> Cannot specify empty string for configuration value
> ---------------------------------------------------
>
>                 Key: MNG-6434
>                 URL: https://issues.apache.org/jira/browse/MNG-6434
>             Project: Maven
>          Issue Type: Bug
>          Components: Plugin API
>    Affects Versions: 3.5.4
>            Reporter: Chris Egerton
>            Priority: Major
>
> We have a MOJO class that involves several user-configured parameters. Some of these parameters have default values that we'd like to use in the event that the user doesn't specify a value for them; however, we'd also like the user to be able to explicitly specify that the parameter should _not_ have a value. The approach we wanted to take was to specify default values in the parameter's annotation:
> {{@Parameter(property = "foo.bar", defaultValue = "${project.scm.url}")}}
> {{private String foo;}}
> And then detect empty strings as the user's way of saying "I know there's a default value for this parameter but I'm sure that I'd actually like it to be empty anyways.":
> {{<configuration>}}
> {{  <foo></foo>}}
> {{</configuration>}}
> or
> {{<configuration>}}
> {{  <foo />}}
> {{</configuration>}}
>  
> However, there's been some trouble as we haven't found a way yet to distinguish between an intentionally-empty string and one that hasn't been specified at all; the value for foo is always null regardless.
> Is there a friendly and/or intuitive way for the user to pass an empty string as a parameter value?



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