Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pde-dev] Fragments to the system.bundle

Hi,

To get access to none public API packages from the JRE (bootclasspath or
extension classpath) your current advise is found at:

http://wiki.eclipse.org/PDE/FAQ#I_have_an_error_that_says_some_package_.28e.g..2C_com.sun.misc.29_isn.27t_accessible_but_it.27s_on_my_classpath

The correct solution at the OSGi-Level although would be that the user
creates a fragment who has the system.bundle as the host and exporting
the additional packages from there.

PDE would support that because org.eclipse.osgi has the
Eclipse-ExtensibleAPI: true header set

The problem is that the fragment itself is not holding the real classes
but only does the package exports to make the OSGi-Runtime happy and
load the classes through the bootclassloader (or extensionclassloader).

If I understood Curtis right on IRC he say that the package resolving is
currently only looking at the EE which naturally does not hold the
required packages to export.

The following solutions come to my mind:
a) We allow a plugin to do what a user has to do above manually
   (adjusting the accessrules)

b) PDE is smarter and when detecting that a fragment of the
   system.bundle exports packages which physically do not exist in the
   bundle itself adds the packages to the one read from the EE

To help PDE not needing to read a bundles content we could add another
header in the fragments MANIFEST.MF (e.g. Eclipse-EEExtension: true)
indicating that the exports from this fragment extend the EE

Tom

-- 
B e s t S o l u t i o n . a t                        EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl                 geschäftsführer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5-7/1   A-6020 innsbruck     fax      ++43 512 935833
http://www.BestSolution.at                      phone    ++43 512 935834


Back to the top