Meaning of [dynamic] in modules.summary
Alan Bateman
Alan.Bateman at Sun.COM
Tue Jan 12 12:33:55 PST 2010
Mark Reinhold wrote:
> In the modules.summary file generated during the build, are all
> dependences marked as "[dynamic]" effectively optional? That is,
> if the target of the dependence is not there then will anything
> break?
>
> - Mark
>
I didn't realize this was going through to the modules.summary as
"dynamic" (Mandy, I think that has implications for CheckDeps as it
understands "optional but not "dynamic").
The dependencies marked as "dynamic" are Class.forName usages and are
optional. For example, the base module has the mandatory charsets; all
others are (currently) in "charsets". Many of the others cases in
modules.summary are also because of service provider interfaces - for
example the base dependency on "net-compat" is because of legacy URL
protocol handlers, the base dependency on the security-* modules is
because the security API is mostly a framework with the implementations
in various providers. A few of them are not SPI related. JSSE can
optionally negotiate to use Kerberos ciphers if present, and there are a
few more like this. In all these cases, if the module is not present,
then it is handled "gracefully". This could break something of course -
for example, if an application requires a specific provider to be
present then it would need to specify the dependency to ensure that the
provider is installed.
-Alan.
More information about the jigsaw-dev
mailing list