-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b120
-
generic
-
generic
-
Not verified
Our goal is to have simple, minimal jlink API for plugins and hide everything else as internal implementation detail. This issue is a first step towards the goal.
* Only exported package from jdk.jlink module should be jdk.tools.jlink.plugin -- all other packages should be internal.
* All plugin API should be interfaces except for PluginException class
* The following class name renamings are proposed:
Pool -> ModulePool
Pool.Module -> LinkModule
Pool.ModuleData -> ModuleEntry
Pool.ModuleDataType -> ModuleEntry.Type
Plugin.CATEGORY -> Plugin.Category
Plugin.STATE -> Plugin.State
* remove PluginContext and PluginContextImpl
* avoid read-only Collections and null return value from plugin API interfaces. Use Streams and Optional (eg. modules, entries, findModule, findEntry) uniformly.
* Change ReleaseInfoPlugin is a TransformerPlugin rather than a post-processing plugin
* Only exported package from jdk.jlink module should be jdk.tools.jlink.plugin -- all other packages should be internal.
* All plugin API should be interfaces except for PluginException class
* The following class name renamings are proposed:
Pool -> ModulePool
Pool.Module -> LinkModule
Pool.ModuleData -> ModuleEntry
Pool.ModuleDataType -> ModuleEntry.Type
Plugin.CATEGORY -> Plugin.Category
Plugin.STATE -> Plugin.State
* remove PluginContext and PluginContextImpl
* avoid read-only Collections and null return value from plugin API interfaces. Use Streams and Optional (eg. modules, entries, findModule, findEntry) uniformly.
* Change ReleaseInfoPlugin is a TransformerPlugin rather than a post-processing plugin
- relates to
-
JDK-8157076 Several tests fail on various platforms after JDK-8156914
-
- Closed
-