[
https://issues.apache.org/jira/browse/MNG-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525499#comment-16525499
]
Chris Egerton commented on MNG-6434:
------------------------------------
Thanks for your help! However, the issue isn't that whitespace-only values
can't be specified, it's that empty values can't be specified ("" vs " "). And,
beneath that, it's that there's no good way at the moment for a user to
override a default value for a configuration with something that says "I know
this has a default value but I really don't want it included". We could just
recommend a value for the configuration and remove the defaults altogether, but
that would make it harder on our users and be a non-backwards-compatible change
that we'd like to avoid if possible.
Trying with {{xml:space="preserve"}} and values of " " and "" still resulted in
the default value being used for the parameter.
> 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)