RFR 8189777: jlink --module-path default value and automatic addition of $JAVA_HOME/jmods if java.base is missing

mandy chung mandy.chung at oracle.com
Tue Oct 24 17:10:45 UTC 2017



On 10/23/17 9:05 PM, Sundararajan Athijegannathan wrote:
> Hi,
>
> * ALL-MODULE-PATH case seems to be handled fine (in  private 
> JlinkConfiguration initJlinkConfig() throws BadArgs { method). When no 
> --module-path is specified, default module path is used and all 
> default observable modules are added as root. I ran the command you 
> mentioned and it worked fine.
>

That's right.  The default module path is added before initJlinkConfig 
is called.  Thanks for confirming that.

> * refactored JlinkConfiguration.moduleFinder as a static method. Note 
> that we've to create ModuleFinder inside JlinkContiguration because we 
> may change modulepaths in constructor (if java.base module is not 
> found) and so new ModuleFinder has to be created anyway.
>
There are three places creating a ModuleFinder, 
JlinkConfiguration::moduleFinder, JlinkTask::initJlinkConfig, and 
JlinkTask::newModuleFinder.   It'd be good to  refactor this e.g. all 
call the newModuleFinder method.

Add a new JlinkConfiguration constructor takes a ModuleFinder and have 
the initJlinkConfig method to create a ModuleFinder with the default 
module path appended, if appropriate.  line 254-265 in JlinkTask - the 
check of an empty module path is not needed. Instead it can test if 
java.base is found from JlinkConfiguration::finder.

Mandy


More information about the jigsaw-dev mailing list