RFR [9] 8168149: Examine the behavior of jmod command-line options - repeating vs last one wins
Chris Hegarty
chris.hegarty at oracle.com
Thu Jan 5 13:14:12 UTC 2017
> On 4 Jan 2017, at 21:03, Mandy Chung <mandy.chung at oracle.com> wrote:
>
>
>> On Dec 22, 2016, at 9:11 AM, Chris Hegarty <chris.hegarty at oracle.com> wrote:
>>
>> Most options for the jmod tool should be last one wins, to be consistent
>> with the JDK tool convention, 8168149 [1]. Excludes is the only
>> repeatable option.
>>
>> Given the existing usage of JOpt Simple, the most straight forward way
>> to achieve the last-one-wins behaviour is to drop the
>> withValuesSeparatedBy() from the OptionSpec have have the ValueConverters
>> themselves do the separation, if any. That way all options can be made
>> repeatable and the last element of the list of the option’s values will
>> be the final one on the command line.
>>
>> http://cr.openjdk.java.net/~chegar/8168149.00/
>
> This looks okay.
Thanks for looking at this Mandy.
> I wonder if it would be more helpful if it fails when a non-repeating option is specified more than once for a packaging tool. Otherwise, the only way to find out if the command-line is correct is to list the content after the JMOD file is created. OptionSpec::value throws an exception if the option is specified more than once.
Right. I was following the existing longstanding precedent of
last-one-wins for JDK tool options. If I read your comment
correctly you are suggesting that packaging tools do not
follow this, correct? This will need further discussion, and
maybe a clarification in JEP 293 "Guidelines for JDK
Command-Line Tool Options”.
-Chris.
[1] http://openjdk.java.net/jeps/293
More information about the jigsaw-dev
mailing list