+ PathMatchers.isAbsolute() and .getSearchRoot() adjusted to not
rely on Path object behavior differences between Unix and Windows
+ Updated StartArgs processing of --lib to automatically expand
extra lib references prior to submitting them to the internal
BaseHome for processing as pattern for paths.
+ Updated test cases for new behavior.
+ Final work for unit testing happiness
+ BaseHome is now configured via ConfigSources (as intended)
+ StartArgs now parses the ConfigSources list (in reverse)
+ CommandLineConfigSource now does all of the ${jetty.base} and
${jetty.home} determination (from properties and env, with
fallbacks)
+ Introduction of ConfigSources (a properly ordered list of ConfigSource
impls) to aide in initial setup of configuration sources, prior to
being parsed by StartArgs for the final runtime configuration of
the jetty server.
+ --lib={pattern} now supported
+ regular searching rules (for BaseHome) apply
+ even supporting multiple lib pattern entries via File.pathSeparator
separation, resulting in support for command lines like this:
--lib=/opt/common/lib/**.jar:lib/db/*.jar
+ {pattern} can be any valid java.nio.file.PathMatcher of syntax "glob:"
(since we rely on File.pathSeparator to break apart the --lib line
the existence of that same char in "glob:" and "regex:" means that
supporting both syntaxes of (regex and glob) isn't going to make
writing this line easy for the user. opting for glob only seems
like a good compromise)
+ Removed spurious check for no properties set (as System Properties are
not part of that check, but should have been, which essentially means
that there is never no properties available)
+ Removing start failure on missing [files] entries as this would
prevent startup when the user has configured to alternative files
locations. The modules directives for [files] are defaults,
best practice, not required content. It now warns only on
missing download directives.
+ Separating Module logical name from file system reference name
+ [depend] references in *.mod files are tried as file system reference
names, then logical names.
+ --module=<name> are tried only as logical names.
+ All of the npn/npn-${jvm.version}.mod files are defined as logical
name of npn-boot