[
https://issues.apache.org/jira/browse/MNG-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525513#comment-16525513
]
Chris Egerton commented on MNG-6434:
------------------------------------
It seems like the behavior for the API here doesn't really align with the
expectations a user would have when configuring a Maven plugin. A default value
is what should be used in the event that a parameter is _not_ specified; if the
user goes out of their way to specify a value, even an empty/null one, why
would they still want it overridden by the default?
> 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)