Bug 267943 - Add hooks to the hook registry using public API
Summary: Add hooks to the hook registry using public API
Status: RESOLVED WONTFIX
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: 3.5   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: equinox.framework-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks: 267638
  Show dependency tree
 
Reported: 2009-03-10 14:39 EDT by Diego Madruga Sandin CLA
Modified: 2009-03-10 15:36 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Madruga Sandin CLA 2009-03-10 14:39:57 EDT
We from MTJ requires to add a hook to OSGI to handle our preprocessing stuff. At the moment we extend/implement a series of classes that are not being exported as an API, such as:

- org.eclipse.osgi.baseadaptor.HookConfigurator
- org.eclipse.osgi.baseadaptor.HookRegistry
- org.eclipse.osgi.baseadaptor.BaseData
- org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry
- org.eclipse.osgi.baseadaptor.hooks.ClassLoadingHook
- org.eclipse.osgi.baseadaptor.loader.BaseClassLoader
- org.eclipse.osgi.baseadaptor.loader.ClasspathEntry
- org.eclipse.osgi.baseadaptor.loader.ClasspathManager
- org.eclipse.osgi.framework.adaptor.BundleProtectionDomain
- org.eclipse.osgi.framework.adaptor.ClassLoaderDelegate
- org.eclipse.osgi.framework.debug.FrameworkDebugOptions

All this classes are not marked as internal, but are not also public in the Export-Package

Could this classes made available as a public API?

We are asking this because Galileo has one requirement that we should should leverage only published APIs.
Comment 1 Thomas Watson CLA 2009-03-10 15:36:36 EDT
These packages are considered SPI (which is not formally defined in Eclipse).  They are not public API for clients.  We do not want to export them, without x-internal, because we do not want them to be used by normal bundles. Instead they are SPI which fragments can use to plug-in to our internals.  Since they are so tied to our internals we need more freedom to evolve these packages than real API.