This commit was manufactured by cvs2svn to create tag 'v20100715'.

Sprout from master 2010-07-13 18:41:53 UTC Thomas Watson <twatson> 'Bug 315094 -  Wrong javadoc for the BundleContextImpl class'
Cherrypick from master 2010-07-15 19:40:45 UTC Thomas Watson <twatson> 'Bug 320029 -  ClassCastException inside debug code prevents tests from being run in debug mode':
    bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/module/MappedList.java
Delete:
    bundles/org.eclipse.equinox.executable/.cdtproject
    bundles/org.eclipse.equinox.executable/.cproject
    bundles/org.eclipse.equinox.executable/.cvsignore
    bundles/org.eclipse.equinox.executable/.project
    bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs
    bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns
    bundles/org.eclipse.equinox.executable/bin/gtk/linux/ppc/libcairo-swt.so
    bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm
    bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/libcairo-swt.so
    bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/icon.xpm
    bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/libcairo-swt.so
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.l.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.m.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.s.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.t.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.l.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.m.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.s.pm
    bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.t.pm
    bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/icon.xpm
    bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/libXm.so.2
    bundles/org.eclipse.equinox.executable/build.properties
    bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.l.pm
    bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.m.pm
    bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.s.pm
    bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.t.pm
    bundles/org.eclipse.equinox.executable/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.executable/eclipse_update_120.jpg
    bundles/org.eclipse.equinox.executable/epl-v10.html
    bundles/org.eclipse.equinox.executable/feature.properties
    bundles/org.eclipse.equinox.executable/feature.xml
    bundles/org.eclipse.equinox.executable/gtk_root/about.html
    bundles/org.eclipse.equinox.executable/gtk_root/about_files/about_cairo.html
    bundles/org.eclipse.equinox.executable/gtk_root/about_files/mpl-v11.txt
    bundles/org.eclipse.equinox.executable/gtk_root/about_files/pixman-licenses.txt
    bundles/org.eclipse.equinox.executable/library/carbon/.cvsignore
    bundles/org.eclipse.equinox.executable/library/carbon/build.sh
    bundles/org.eclipse.equinox.executable/library/carbon/build.xml
    bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c
    bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonCommon.c
    bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonMain.c
    bundles/org.eclipse.equinox.executable/library/carbon/eclipseMain.c
    bundles/org.eclipse.equinox.executable/library/carbon/make_carbon.mak
    bundles/org.eclipse.equinox.executable/library/carbon/make_cocoa.mak
    bundles/org.eclipse.equinox.executable/library/eclipse.c
    bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
    bundles/org.eclipse.equinox.executable/library/eclipseCommon.h
    bundles/org.eclipse.equinox.executable/library/eclipseConfig.c
    bundles/org.eclipse.equinox.executable/library/eclipseConfig.h
    bundles/org.eclipse.equinox.executable/library/eclipseJNI.c
    bundles/org.eclipse.equinox.executable/library/eclipseJNI.h
    bundles/org.eclipse.equinox.executable/library/eclipseMain.c
    bundles/org.eclipse.equinox.executable/library/eclipseMozilla.c
    bundles/org.eclipse.equinox.executable/library/eclipseMozilla.h
    bundles/org.eclipse.equinox.executable/library/eclipseNix.c
    bundles/org.eclipse.equinox.executable/library/eclipseOS.h
    bundles/org.eclipse.equinox.executable/library/eclipseShm.c
    bundles/org.eclipse.equinox.executable/library/eclipseShm.h
    bundles/org.eclipse.equinox.executable/library/eclipseUnicode.h
    bundles/org.eclipse.equinox.executable/library/eclipseUtil.c
    bundles/org.eclipse.equinox.executable/library/eclipseUtil.h
    bundles/org.eclipse.equinox.executable/library/gtk/.cvsignore
    bundles/org.eclipse.equinox.executable/library/gtk/build.sh
    bundles/org.eclipse.equinox.executable/library/gtk/build.xml
    bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c
    bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
    bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
    bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
    bundles/org.eclipse.equinox.executable/library/gtk/make_linux.mak
    bundles/org.eclipse.equinox.executable/library/gtk/make_solaris.mak
    bundles/org.eclipse.equinox.executable/library/make_version.mak
    bundles/org.eclipse.equinox.executable/library/motif/.cvsignore
    bundles/org.eclipse.equinox.executable/library/motif/NgCommon.c
    bundles/org.eclipse.equinox.executable/library/motif/NgCommon.h
    bundles/org.eclipse.equinox.executable/library/motif/NgImage.c
    bundles/org.eclipse.equinox.executable/library/motif/NgImage.h
    bundles/org.eclipse.equinox.executable/library/motif/NgImageData.c
    bundles/org.eclipse.equinox.executable/library/motif/NgImageData.h
    bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.c
    bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.h
    bundles/org.eclipse.equinox.executable/library/motif/build.sh
    bundles/org.eclipse.equinox.executable/library/motif/build.xml
    bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c
    bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.h
    bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifCommon.c
    bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifInit.c
    bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifShim.c
    bundles/org.eclipse.equinox.executable/library/motif/make_aix.mak
    bundles/org.eclipse.equinox.executable/library/motif/make_hpux_PA_RISC.mak
    bundles/org.eclipse.equinox.executable/library/motif/make_hpux_ia64_32.mak
    bundles/org.eclipse.equinox.executable/library/motif/make_linux.mak
    bundles/org.eclipse.equinox.executable/library/motif/make_solaris.mak
    bundles/org.eclipse.equinox.executable/library/photon/.cvsignore
    bundles/org.eclipse.equinox.executable/library/photon/build.sh
    bundles/org.eclipse.equinox.executable/library/photon/build.xml
    bundles/org.eclipse.equinox.executable/library/photon/eclipsePhoton.c
    bundles/org.eclipse.equinox.executable/library/photon/make_qnx.mak
    bundles/org.eclipse.equinox.executable/library/win32/.cvsignore
    bundles/org.eclipse.equinox.executable/library/win32/build.bat
    bundles/org.eclipse.equinox.executable/library/win32/build.sh
    bundles/org.eclipse.equinox.executable/library/win32/build.xml
    bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest
    bundles/org.eclipse.equinox.executable/library/win32/eclipse.ico
    bundles/org.eclipse.equinox.executable/library/win32/eclipse.rc
    bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c
    bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c
    bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak
    bundles/org.eclipse.equinox.executable/library/win32/make_win32.mak
    bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak
    bundles/org.eclipse.equinox.executable/library/win32/make_win64_ia64.mak
    bundles/org.eclipse.equinox.executable/library/wpf/.cvsignore
    bundles/org.eclipse.equinox.executable/library/wpf/build.bat
    bundles/org.eclipse.equinox.executable/library/wpf/build.xml
    bundles/org.eclipse.equinox.executable/library/wpf/com.c
    bundles/org.eclipse.equinox.executable/library/wpf/eclipse.ico
    bundles/org.eclipse.equinox.executable/library/wpf/eclipse.rc
    bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp
    bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpfCommon.cpp
    bundles/org.eclipse.equinox.executable/library/wpf/make_wpf.mak
    bundles/org.eclipse.equinox.executable/license.html
    bundles/org.eclipse.equinox.executable/motif_root/about.html
    bundles/org.eclipse.equinox.executable/motif_root/about_files/about_cairo.html
    bundles/org.eclipse.equinox.executable/motif_root/about_files/about_open_motif.html
    bundles/org.eclipse.equinox.executable/motif_root/about_files/mlpl-v10.html
    bundles/org.eclipse.equinox.executable/motif_root/about_files/mpl-v11.txt
    bundles/org.eclipse.equinox.executable/motif_root/about_files/pixman-licenses.txt
    bundles/org.eclipse.equinox.executable/target.build.properties
    bundles/org.eclipse.equinox.executable/target.build.xml
    bundles/org.eclipse.equinox.launcher/.cdtproject
    bundles/org.eclipse.equinox.launcher/.classpath
    bundles/org.eclipse.equinox.launcher/.cproject
    bundles/org.eclipse.equinox.launcher/.project
    bundles/org.eclipse.equinox.launcher/.settings/.api_filters
    bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/about.html
    bundles/org.eclipse.equinox.launcher/build.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/.project
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/about.html
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/build.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/launcher.gtk.linux.s390.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/.project
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/about.html
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/build.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/launcher.gtk.linux.s390x.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/.project
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/about.html
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/build.properties
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/launcher.gtk.solaris.x86.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/launcher.carbon.macosx.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/launcher.cocoa.macosx.x86_64.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/launcher.cocoa.macosx.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/launcher.gtk.linux.ppc.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/launcher.gtk.linux.ppc64.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/launcher.gtk.linux.x86.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/launcher.gtk.linux.x86_64.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/launcher.gtk.solaris.sparc.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/launcher.motif.aix.ppc.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/README.TXT
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/launcher.motif.hpux.ia64_32.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/launcher.motif.linux.x86.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/customBuildCallbacks.xml
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/launcher.motif.solaris.sparc.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/launcher.win32.win32.ia64.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/launcher.win32.win32.x86.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.classpath
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.project
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/about.html
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/build.properties
    bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/launcher.wpf.win32.x86.properties
    bundles/org.eclipse.equinox.launcher/launcher.properties
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/package.html
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
    bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/package.html
    bundles/org.eclipse.osgi.services/.classpath
    bundles/org.eclipse.osgi.services/.cvsignore
    bundles/org.eclipse.osgi.services/.project
    bundles/org.eclipse.osgi.services/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.osgi.services/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.osgi.services/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.services/about.html
    bundles/org.eclipse.osgi.services/about_files/LICENSE-2.0.txt
    bundles/org.eclipse.osgi.services/build.properties
    bundles/org.eclipse.osgi.services/customBuildCallbacks.xml
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/Configuration.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationAdmin.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationEvent.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationException.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationListener.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermission.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection$1.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPlugin.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedServiceFactory.class
    bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentConstants.class
    bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentContext.class
    bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentException.class
    bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentFactory.class
    bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentInstance.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/Constants.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/Device.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/Driver.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverLocator.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverSelector.class
    bundles/org.eclipse.osgi.services/org/osgi/service/device/Match.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/Event$UnmodifiableDictionary.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/Event.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/EventAdmin.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/EventConstants.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/EventHandler.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermission.class
    bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermissionCollection.class
    bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpContext.class
    bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/http/NamespaceException.class
    bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectionFactory.class
    bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectorService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/log/LogEntry.class
    bundles/org.eclipse.osgi.services/org/osgi/service/log/LogListener.class
    bundles/org.eclipse.osgi.services/org/osgi/service/log/LogReaderService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/log/LogService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/metatype/AttributeDefinition.class
    bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeInformation.class
    bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeProvider.class
    bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/metatype/ObjectClassDefinition.class
    bundles/org.eclipse.osgi.services/org/osgi/service/provisioning/ProvisioningService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPAction.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPDevice.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPEventListener.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPException.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPIcon.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPLocalStateVariable.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPService.class
    bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPStateVariable.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Authorization.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Group.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Role.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/User.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdmin.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminEvent.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminListener.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermission.class
    bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermissionCollection.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/BasicEnvelope.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Consumer.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Envelope.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Producer.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Wire.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdmin.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminEvent.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminListener.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireConstants.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermission.class
    bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermissionCollection.class
    bundles/org.eclipse.osgi.services/plugin.properties
    bundles/org.eclipse.osgi.services/src.zip
    bundles/org.eclipse.osgi.tests/.classpath
    bundles/org.eclipse.osgi.tests/.cvsignore
    bundles/org.eclipse.osgi.tests/.project
    bundles/org.eclipse.osgi.tests/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.osgi.tests/All OSGi Tests.launch
    bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/about.html
    bundles/org.eclipse.osgi.tests/build.properties
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/activator/error1/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/activator/error2/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/activator/error3/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/activator.error4/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/buddy/dependent/a/test1/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test1.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/buddy/dependent/a/test2/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test2.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/buddy/registered/a/test1/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test1.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/buddy/registered/a/test2/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test2.txt
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/resources/test.txt
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AChain.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain1.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain2.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BChain.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain1.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain2.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain1.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain2.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/DMultipleChain1.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestMultiChain.java
    bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestSingleChain.java
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/ICircularity.java
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/TestCircularity.java
    bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/client1/multiple/exports/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/client2/multiple/exports/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/exporter/importer/test/Test1.java
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/exporter/importer/test/Test2.java
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/test/Test3.java
    bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer4/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/ext/extclasspath/a/importer/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/ExtClasspathExtTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/extresource.txt
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/ext/framework/a/importer/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/ext/framework/a/requires/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/FrameworkExtTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/fwkresource.txt
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
    bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass1.java
    bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass2.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess2.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/fragment/test/attach/frag/b/Test.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.require/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/Activator2.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/internal/test/PackageAccessTest2.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/internal/test/PackageAccessTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass1.java
    bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass2.java
    bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/onlyone/PublicClass1.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/BTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/a/BAExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/b/BBExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/CTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/a/CAExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/b/CBExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy1.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy2.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/SimpleLegacy.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy1.java
    bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy2.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativefile1.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativetest/a1/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativefile2.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativetest/a2/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativefile.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativetest/b1/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativefile.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativetest/b2/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test1/nativecode.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test2/nativecode.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test3/nativecode.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/nativetest/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/libs/test1/nativecode.txt
    bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/nativetest/d/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/BTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/a/BAExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/b/BBExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/CTest.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/a/CAExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/b/CBExcluded.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude1.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude2.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude1.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude2.java
    bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazySimple.java
    bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/HostManifest_en_US.properties
    bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/frag.a.txt
    bundles/org.eclipse.osgi.tests/bundles_src/security.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/security.a/resources/HostManifest.properties
    bundles/org.eclipse.osgi.tests/bundles_src/security.a/security/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/security.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/security.b/OSGI-INF/permissions.perm
    bundles/org.eclipse.osgi.tests/bundles_src/security.b/security/b/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/substitutes/q/AFq.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/data/resource1
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/x/Ax.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/y/Ay.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/substitutes/q/BFq.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/x/Bx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/y/By.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.d/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/substitutes/z/Ez.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/substitutes/z/Fz.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.g/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.h/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/x/Ix.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/y/Iy.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/x/Jx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/y/Jy.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/x/Kx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/y/Ky.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/x/Lx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/y/Ly.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/x/Mx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/y/My.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/x/Nx.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/y/Ny.java
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.p/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/substitutes.q/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/X1.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/internal/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/x/X.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/Y.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/internal/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a.update/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/Service1.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/b/Service2.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/test/bug259903/b/Service3.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/test/bug259903/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/OSGI-INF/permissions.perm
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/OSGI-INF/permissions.perm
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/test/bug287750/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/test/bug306181a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/component.xml
    bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/test/bug306181b/Component.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/test/filter/a/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.fragment1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.fragment2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.fragment3/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.fragment4/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.fragment5/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/test/link/a/client/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/SomeAPI.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/params/AParam.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/resource.txt
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/test/link/b/client/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/SomeAPI.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/params/AParam.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/resource.txt
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/test/link/c/client/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service1/Service1.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service2/Service2.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service3/Service3.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/test/link/d/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/test/link/e/client/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service1/Service1.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service2/Service2.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service3/Service3.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/test/link/postponed/PostPonedCondition.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/a/A.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/b/B.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/c/C.java
    bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/test/tccl/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test/a/b/c/d
    bundles/org.eclipse.osgi.tests/bundles_src/test/data/resource1
    bundles/org.eclipse.osgi.tests/bundles_src/test/stuff/data/resource1
    bundles/org.eclipse.osgi.tests/bundles_src/test/test1/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/test2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/test2/data/resource1
    bundles/org.eclipse.osgi.tests/bundles_src/test2/stuff/data/resource1
    bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/ATest.java
    bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Class1.java
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/external/TestFriends.java
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/onlyforfriends/TestFriends.java
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/xfriends/test2/Activator.java
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/xfriends/test3/Activator.java
    bundles/org.eclipse.osgi.tests/plugin.xml
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/AutomatedTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/AbstractBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ArrayTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleExceptionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstaller.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/EventListenerTestResults.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ExtensionBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ITestRunner.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/NativeCodeBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PackageAdminBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PlatformAdminBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SubstituteExportsBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SyncEventListenerTestResults.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AbstractCompositeTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AllCompositeTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeCreateTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeSecurityTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeShareTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eventmgr/EventManagerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/BundleContextFilterTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FilterTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FrameworkUtilFilterTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/misc/MiscTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/AdminPermissionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PackagePermissionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PermissionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/ServicePermissionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeAnyTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeSignedTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeTrustedTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/AllSecurityAdminTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/TestPermissionStorage.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceHookTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceTrackerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SimplePlatformAdmin.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/AllTests.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ManifestElementTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/NLSTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ObjectPoolTestCase.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
    bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
    bundles/org.eclipse.osgi.tests/test.xml
    bundles/org.eclipse.osgi.tests/test_files/configuration/bundle01/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/configuration/bundle02/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/configuration/bundle03/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle 01/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle02_1.0.0/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle03/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle04/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle05/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle06/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07b/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08b/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle09/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle10/plugin.xml
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle11/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle12/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle13/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle14/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle15/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle16/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle17/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle18/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/README
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed_with_corrupt.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_tsa.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_corrupt.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_added.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_corrupt.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_removed.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_sf_corrupted.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/test.bug252098.jar
    bundles/org.eclipse.osgi.tests/test_files/security/bundles/unsigned.jar
    bundles/org.eclipse.osgi.tests/test_files/security/eclipse.jks
    bundles/org.eclipse.osgi.tests/test_files/security/keystore.jks
    bundles/org.eclipse.osgi.tests/test_files/security/leafkeys.jks
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/README
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafa.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafb.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_ou.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_root.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafa.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafb.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_ou.p12
    bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_root.p12
    bundles/org.eclipse.osgi.util/.classpath
    bundles/org.eclipse.osgi.util/.cvsignore
    bundles/org.eclipse.osgi.util/.project
    bundles/org.eclipse.osgi.util/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.osgi.util/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.osgi.util/META-INF/MANIFEST.MF
    bundles/org.eclipse.osgi.util/about.html
    bundles/org.eclipse.osgi.util/about_files/LICENSE-2.0.txt
    bundles/org.eclipse.osgi.util/build.properties
    bundles/org.eclipse.osgi.util/customBuildCallbacks.xml
    bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Measurement.class
    bundles/org.eclipse.osgi.util/org/osgi/util/measurement/State.class
    bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Unit.class
    bundles/org.eclipse.osgi.util/org/osgi/util/position/Position.class
    bundles/org.eclipse.osgi.util/org/osgi/util/xml/XMLParserActivator.class
    bundles/org.eclipse.osgi.util/plugin.properties
    bundles/org.eclipse.osgi.util/src.zip
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
    bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/package.html
    features/org.eclipse.equinox.core.sdk/.project
    features/org.eclipse.equinox.core.sdk/build.properties
    features/org.eclipse.equinox.core.sdk/epl-v10.html
    features/org.eclipse.equinox.core.sdk/feature.properties
    features/org.eclipse.equinox.core.sdk/feature.xml
    features/org.eclipse.equinox.core.sdk/license.html
    releng/org.eclipse.equinox.launcher.releng/.project
    releng/org.eclipse.equinox.launcher.releng/build.xml
    releng/org.eclipse.equinox.launcher.releng/remote.sh
diff --git a/bundles/org.eclipse.equinox.executable/.cdtproject b/bundles/org.eclipse.equinox.executable/.cdtproject
deleted file mode 100644
index 1f97f13..0000000
--- a/bundles/org.eclipse.equinox.executable/.cdtproject
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject id="org.eclipse.cdt.make.core.make">
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-<data>
-<item id="scannerConfiguration">
-<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="true" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="makefileGenerator">
-<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-</item>
-<item id="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-</item>
-<item id="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/carbon">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/carbon">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="all-mingw" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/win32">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/win32">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/motif">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/motif">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/gtk">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak JAVA_HOME=/usr/java/1.5</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" targetID="org.eclipse.cdt.make.MakeTargetBuilder" path="library/gtk">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-</buildTargets>
-</item>
-</data>
-</cdtproject>
diff --git a/bundles/org.eclipse.equinox.executable/.cproject b/bundles/org.eclipse.equinox.executable/.cproject
deleted file mode 100644
index 214395b..0000000
--- a/bundles/org.eclipse.equinox.executable/.cproject
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><?fileVersion 4.0.0?><cproject>
-	<storageModule moduleId="org.eclipse.cdt.core.settings">
-		<cconfiguration id="converted.config.1797282818">
-			<storageModule moduleId="scannerConfiguration">
-				<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-				<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-					<buildOutputProvider>
-						<openAction enabled="true" filePath=""/>
-						<parser enabled="true"/>
-					</buildOutputProvider>
-					<scannerInfoProvider id="specsFile">
-						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-						<parser enabled="true"/>
-					</scannerInfoProvider>
-				</profile>
-				<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-					<buildOutputProvider>
-						<openAction enabled="false" filePath=""/>
-						<parser enabled="true"/>
-					</buildOutputProvider>
-					<scannerInfoProvider id="makefileGenerator">
-						<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-						<parser enabled="false"/>
-					</scannerInfoProvider>
-				</profile>
-				<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-					<buildOutputProvider>
-						<openAction enabled="false" filePath=""/>
-						<parser enabled="true"/>
-					</buildOutputProvider>
-					<scannerInfoProvider id="specsFile">
-						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-						<parser enabled="false"/>
-					</scannerInfoProvider>
-				</profile>
-				<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-					<buildOutputProvider>
-						<openAction enabled="false" filePath=""/>
-						<parser enabled="true"/>
-					</buildOutputProvider>
-					<scannerInfoProvider id="specsFile">
-						<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-						<parser enabled="false"/>
-					</scannerInfoProvider>
-				</profile>
-			</storageModule>
-			<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1797282818" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-			<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-			<storageModule moduleId="org.eclipse.cdt.core.pathentry">
-				<pathentry kind="mac" name="JNIEXPORT" path="" value=""/>
-				<pathentry include="/usr/X11R6/include" kind="inc" path="" system="true"/>
-				<pathentry include="/opt/gnome/include/gtk-2.0" kind="inc" path="" system="true"/>
-				<pathentry include="/opt/gnome/include/glib-2.0" kind="inc" path="" system="true"/>
-				<pathentry kind="src" path=""/>
-				<pathentry kind="out" path=""/>
-				<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
-				<buildTargets>
-					<target name="linux-all" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_linux.mak DEFAULT_OS_ARCH=x86_64 JAVA_HOME=/usr/java/ibm-150</buildArguments>
-						<buildTarget>all</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="clean" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_linux.mak</buildArguments>
-						<buildTarget>clean</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="all" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_macosx.mak</buildArguments>
-						<buildTarget>all</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="clean" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_macosx.mak</buildArguments>
-						<buildTarget>clean</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="all-mingw" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_mingw.mak JAVA_HOME=C:/Dev/Java/IBM-1.6.0-20090519-SR5</buildArguments>
-						<buildTarget>all</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="clean" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_mingw.mak</buildArguments>
-						<buildTarget>clean</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="linux-all" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif MOTIF_HOME=/eclipse/motif21</buildArguments>
-						<buildTarget>all</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-					<target name="clean" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-						<buildCommand>make</buildCommand>
-						<buildArguments>-f make_linux.mak</buildArguments>
-						<buildTarget>clean</buildTarget>
-						<stopOnError>false</stopOnError>
-						<useDefaultCommand>false</useDefaultCommand>
-						<runAllBuilders>true</runAllBuilders>
-					</target>
-				</buildTargets>
-			</storageModule>
-		</cconfiguration>
-	</storageModule>
-</cproject>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/.cvsignore b/bundles/org.eclipse.equinox.executable/.cvsignore
deleted file mode 100644
index 78fb1fc..0000000
--- a/bundles/org.eclipse.equinox.executable/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.gdb_history
diff --git a/bundles/org.eclipse.equinox.executable/.project b/bundles/org.eclipse.equinox.executable/.project
deleted file mode 100644
index e9419d7..0000000
--- a/bundles/org.eclipse.equinox.executable/.project
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.executable</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.cdt.make.core.makeBuilder</name>
-			<triggers>clean,full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>org.eclipse.cdt.core.errorOutputParser</key>
-					<value>org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.append_environment</key>
-					<value>true</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.arguments</key>
-					<value></value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.command</key>
-					<value>make</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.location</key>
-					<value>\org.eclipse.equinox.executable\library\${system_property:osgi.ws}</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.target.auto</key>
-					<value>all</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.target.clean</key>
-					<value>clean</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.build.target.inc</key>
-					<value>all</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
-					<value>false</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
-					<value>true</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.enableFullBuild</key>
-					<value>true</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
-					<value>true</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.environment</key>
-					<value>DEFAULT_WS=${system_property:osgi.ws}|DEFAULT_OS=${system_property:osgi.os}|DEFAULT_OS_ARCH=${system_property:osgi.arch}|X11_HOME=/usr/X11R6|PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/share/pkgconfig|MOTIF_HOME=/usr/X11|</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.stopOnError</key>
-					<value>false</value>
-				</dictionary>
-				<dictionary>
-					<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
-					<value>true</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.cdt.core.cnature</nature>
-		<nature>org.eclipse.cdt.make.core.makeNature</nature>
-		<nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index 06ad8fe..0000000
--- a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,154 +0,0 @@
-#Thu Feb 04 13:33:58 EST 2010
-org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert
-org.eclipse.cdt.core.formatter.continuation_indentation=2
-org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=insert
-org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16
-org.eclipse.cdt.core.formatter.tabulation.size=4
-org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.cdt.core.formatter.tabulation.char=tab
-org.eclipse.cdt.core.formatter.lineSplit=800
-org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert
-org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=16
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert
-org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert
-org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert
-org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.cdt.core.formatter.alignment_for_compact_if=0
-org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.cdt.core.formatter.indent_empty_lines=false
-org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=16
-org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=true
-org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert
-org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-indexer/indexerId=org.eclipse.cdt.core.fastIndexer
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert
-org.eclipse.cdt.core.formatter.indentation.size=4
-org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false
-org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-eclipse.preferences.version=1
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.cdt.core.formatter.compact_else_if=true
-org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true
-org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line
-org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert
-org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.cdt.core.formatter.alignment_for_expression_list=0
-indexerId=org.eclipse.cdt.core.fastIndexer
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert
-org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert
-org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert
-org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert
diff --git a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs
deleted file mode 100644
index 05a38d4..0000000
--- a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Feb 04 13:33:58 EST 2010
-formatter_settings_version=1
-eclipse.preferences.version=1
-formatter_profile=_Equinox
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index ca325a6..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-
-<dict>
-	<key>CFBundleExecutable</key>
-		<string>eclipse</string>
-	<key>CFBundleGetInfoString</key>
-		<string>Eclipse 3.6 for Mac OS X, Copyright IBM Corp. and others 2002, 2010. All rights reserved.</string>
-	<key>CFBundleIconFile</key>
-		<string>Eclipse.icns</string>
-	<key>CFBundleIdentifier</key>
-		<string>org.eclipse.eclipse</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-		<string>6.0</string>
-	<key>CFBundleName</key>
-		<string>Eclipse</string>
-	<key>CFBundlePackageType</key>
-		<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-		<string>3.6</string>
-	<key>CFBundleSignature</key>
-		<string>????</string>
-	<key>CFBundleVersion</key>
-		<string>3.6</string>
-	<key>CFBundleDevelopmentRegion</key>
-		<string>English</string>
-	<key>CFBundleLocalizations</key>
-		<array>
-			<string>ar</string>
-			<string>cs</string>
-			<string>da</string>
-			<string>el</string>
-			<string>en</string>
-			<string>es</string>
-			<string>de</string>
-			<string>fi</string>
-			<string>fr</string>
-			<string>hu</string>
-			<string>it</string>
-			<string>iw</string>
-			<string>ja</string>
-			<string>ko</string>
-			<string>nl</string>
-			<string>no</string>
-			<string>pl</string>
-			<string>pt_BR</string>
-			<string>pt</string>
-			<string>ru</string>
-			<string>sv</string>
-			<string>tr</string>
-			<string>zh_HK</string>
-			<string>zh_TW</string>
-			<string>zh</string>
-		</array>
-		
-	<key>Eclipse</key>
-		<array>
-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-			-->
-			<string>-keyring</string><string>~/.eclipse_keyring</string>
-			<string>-showlocation</string>
-			<!-- WARNING:
-				If you try to add a single VM argument (-vmargs) here,
-				*all* vmargs specified in eclipse.ini will be ignored.
-				We recommend to add all arguments in eclipse.ini
-			 -->
-		</array>
-</dict>
-
-</plist>
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index eedcd4c..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index 3f47b4b..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-
-<dict>
-	<key>CFBundleExecutable</key>
-		<string>eclipse</string>
-	<key>CFBundleGetInfoString</key>
-		<string>Eclipse 3.6 for Mac OS X, Copyright IBM Corp. and others 2002, 2010. All rights reserved.</string>
-	<key>CFBundleIconFile</key>
-		<string>Eclipse.icns</string>
-	<key>CFBundleIdentifier</key>
-		<string>org.eclipse.eclipse</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-		<string>6.0</string>
-	<key>CFBundleName</key>
-		<string>Eclipse</string>
-	<key>CFBundlePackageType</key>
-		<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-		<string>3.6</string>
-	<key>CFBundleSignature</key>
-		<string>????</string>
-	<key>CFBundleVersion</key>
-		<string>3.6</string>
-	<key>CFBundleDevelopmentRegion</key>
-		<string>English</string>
-	<key>CFBundleLocalizations</key>
-		<array>
-			<string>ar</string>
-			<string>cs</string>
-			<string>da</string>
-			<string>el</string>
-			<string>en</string>
-			<string>es</string>
-			<string>de</string>
-			<string>fi</string>
-			<string>fr</string>
-			<string>hu</string>
-			<string>it</string>
-			<string>iw</string>
-			<string>ja</string>
-			<string>ko</string>
-			<string>nl</string>
-			<string>no</string>
-			<string>pl</string>
-			<string>pt_BR</string>
-			<string>pt</string>
-			<string>ru</string>
-			<string>sv</string>
-			<string>tr</string>
-			<string>zh_HK</string>
-			<string>zh_TW</string>
-			<string>zh</string>
-		</array>
-
-	<key>Eclipse</key>
-		<array>
-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-			-->
-			<string>-keyring</string><string>~/.eclipse_keyring</string>
-			<string>-showlocation</string>
-			<!-- WARNING:
-				If you try to add a single VM argument (-vmargs) here,
-				*all* vmargs specified in eclipse.ini will be ignored.
-				We recommend to add all arguments in eclipse.ini
-			 -->
-		</array>
-</dict>
-
-</plist>
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index eedcd4c..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns b/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index ca325a6..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-
-<dict>
-	<key>CFBundleExecutable</key>
-		<string>eclipse</string>
-	<key>CFBundleGetInfoString</key>
-		<string>Eclipse 3.6 for Mac OS X, Copyright IBM Corp. and others 2002, 2010. All rights reserved.</string>
-	<key>CFBundleIconFile</key>
-		<string>Eclipse.icns</string>
-	<key>CFBundleIdentifier</key>
-		<string>org.eclipse.eclipse</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-		<string>6.0</string>
-	<key>CFBundleName</key>
-		<string>Eclipse</string>
-	<key>CFBundlePackageType</key>
-		<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-		<string>3.6</string>
-	<key>CFBundleSignature</key>
-		<string>????</string>
-	<key>CFBundleVersion</key>
-		<string>3.6</string>
-	<key>CFBundleDevelopmentRegion</key>
-		<string>English</string>
-	<key>CFBundleLocalizations</key>
-		<array>
-			<string>ar</string>
-			<string>cs</string>
-			<string>da</string>
-			<string>el</string>
-			<string>en</string>
-			<string>es</string>
-			<string>de</string>
-			<string>fi</string>
-			<string>fr</string>
-			<string>hu</string>
-			<string>it</string>
-			<string>iw</string>
-			<string>ja</string>
-			<string>ko</string>
-			<string>nl</string>
-			<string>no</string>
-			<string>pl</string>
-			<string>pt_BR</string>
-			<string>pt</string>
-			<string>ru</string>
-			<string>sv</string>
-			<string>tr</string>
-			<string>zh_HK</string>
-			<string>zh_TW</string>
-			<string>zh</string>
-		</array>
-		
-	<key>Eclipse</key>
-		<array>
-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-			-->
-			<string>-keyring</string><string>~/.eclipse_keyring</string>
-			<string>-showlocation</string>
-			<!-- WARNING:
-				If you try to add a single VM argument (-vmargs) here,
-				*all* vmargs specified in eclipse.ini will be ignored.
-				We recommend to add all arguments in eclipse.ini
-			 -->
-		</array>
-</dict>
-
-</plist>
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index ca325a6..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-
-<dict>
-	<key>CFBundleExecutable</key>
-		<string>eclipse</string>
-	<key>CFBundleGetInfoString</key>
-		<string>Eclipse 3.6 for Mac OS X, Copyright IBM Corp. and others 2002, 2010. All rights reserved.</string>
-	<key>CFBundleIconFile</key>
-		<string>Eclipse.icns</string>
-	<key>CFBundleIdentifier</key>
-		<string>org.eclipse.eclipse</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-		<string>6.0</string>
-	<key>CFBundleName</key>
-		<string>Eclipse</string>
-	<key>CFBundlePackageType</key>
-		<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-		<string>3.6</string>
-	<key>CFBundleSignature</key>
-		<string>????</string>
-	<key>CFBundleVersion</key>
-		<string>3.6</string>
-	<key>CFBundleDevelopmentRegion</key>
-		<string>English</string>
-	<key>CFBundleLocalizations</key>
-		<array>
-			<string>ar</string>
-			<string>cs</string>
-			<string>da</string>
-			<string>el</string>
-			<string>en</string>
-			<string>es</string>
-			<string>de</string>
-			<string>fi</string>
-			<string>fr</string>
-			<string>hu</string>
-			<string>it</string>
-			<string>iw</string>
-			<string>ja</string>
-			<string>ko</string>
-			<string>nl</string>
-			<string>no</string>
-			<string>pl</string>
-			<string>pt_BR</string>
-			<string>pt</string>
-			<string>ru</string>
-			<string>sv</string>
-			<string>tr</string>
-			<string>zh_HK</string>
-			<string>zh_TW</string>
-			<string>zh</string>
-		</array>
-		
-	<key>Eclipse</key>
-		<array>
-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-			-->
-			<string>-keyring</string><string>~/.eclipse_keyring</string>
-			<string>-showlocation</string>
-			<!-- WARNING:
-				If you try to add a single VM argument (-vmargs) here,
-				*all* vmargs specified in eclipse.ini will be ignored.
-				We recommend to add all arguments in eclipse.ini
-			 -->
-		</array>
-</dict>
-
-</plist>
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index ca325a6..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-
-<dict>
-	<key>CFBundleExecutable</key>
-		<string>eclipse</string>
-	<key>CFBundleGetInfoString</key>
-		<string>Eclipse 3.6 for Mac OS X, Copyright IBM Corp. and others 2002, 2010. All rights reserved.</string>
-	<key>CFBundleIconFile</key>
-		<string>Eclipse.icns</string>
-	<key>CFBundleIdentifier</key>
-		<string>org.eclipse.eclipse</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-		<string>6.0</string>
-	<key>CFBundleName</key>
-		<string>Eclipse</string>
-	<key>CFBundlePackageType</key>
-		<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-		<string>3.6</string>
-	<key>CFBundleSignature</key>
-		<string>????</string>
-	<key>CFBundleVersion</key>
-		<string>3.6</string>
-	<key>CFBundleDevelopmentRegion</key>
-		<string>English</string>
-	<key>CFBundleLocalizations</key>
-		<array>
-			<string>ar</string>
-			<string>cs</string>
-			<string>da</string>
-			<string>el</string>
-			<string>en</string>
-			<string>es</string>
-			<string>de</string>
-			<string>fi</string>
-			<string>fr</string>
-			<string>hu</string>
-			<string>it</string>
-			<string>iw</string>
-			<string>ja</string>
-			<string>ko</string>
-			<string>nl</string>
-			<string>no</string>
-			<string>pl</string>
-			<string>pt_BR</string>
-			<string>pt</string>
-			<string>ru</string>
-			<string>sv</string>
-			<string>tr</string>
-			<string>zh_HK</string>
-			<string>zh_TW</string>
-			<string>zh</string>
-		</array>
-		
-	<key>Eclipse</key>
-		<array>
-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-			-->
-			<string>-keyring</string><string>~/.eclipse_keyring</string>
-			<string>-showlocation</string>
-			<!-- WARNING:
-				If you try to add a single VM argument (-vmargs) here,
-				*all* vmargs specified in eclipse.ini will be ignored.
-				We recommend to add all arguments in eclipse.ini
-			 -->
-		</array>
-</dict>
-
-</plist>
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns b/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/ppc/libcairo-swt.so b/bundles/org.eclipse.equinox.executable/bin/gtk/linux/ppc/libcairo-swt.so
deleted file mode 100644
index 5c615f6..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/ppc/libcairo-swt.so
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm b/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm
deleted file mode 100644
index 65404c7..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #695AE8",
-"o  c #494991",
-"O  c #CE92BF",
-"+  c #E7CAE0",
-"@  c #C88CBB",
-"#  c #C28ABA",
-"$  c #EAD7E8",
-"%  c #CFA9CC",
-"&  c #D9BCD8",
-"*  c #B687B9",
-"=  c #C399C7",
-"-  c #A77DB5",
-";  c #BDA3CD",
-":  c #D8CAE3",
-">  c #A88DC4",
-",  c #9275B2",
-"<  c #876CAA",
-"1  c #9A83BA",
-"2  c #7B63A3",
-"3  c #665495",
-"4  c #735FAD",
-"5  c #625192",
-"6  c #7F72A7",
-"7  c #6D5E9E",
-"8  c #6454A9",
-"9  c #7769B1",
-"0  c #493E82",
-"q  c #7D73B6",
-"w  c #5B4EAD",
-"e  c #5549BA",
-"r  c #5649BA",
-"t  c #564ABA",
-"y  c #5649B9",
-"u  c #5549B8",
-"i  c #4F44AC",
-"p  c #5348B4",
-"a  c #5348B3",
-"s  c #5449B5",
-"d  c #5247B0",
-"f  c #5247AF",
-"g  c #5449B3",
-"h  c #DEDCEE",
-"j  c #3E3698",
-"k  c #433B9F",
-"l  c #332C77",
-"z  c #423A9C",
-"x  c #4A40A8",
-"c  c #554ABA",
-"v  c #554AB9",
-"b  c #5449B7",
-"n  c #5248B1",
-"m  c #5147AE",
-"M  c #4E45A9",
-"N  c #4941A0",
-"B  c #5248AF",
-"V  c #5148AE",
-"C  c #5047AC",
-"Z  c #4F46AA",
-"A  c #5148AD",
-"S  c #5047AB",
-"D  c #5048AC",
-"F  c #5047A9",
-"G  c #4E46A7",
-"H  c #4E45A4",
-"J  c #4D45A4",
-"K  c #4F47A8",
-"L  c #4E46A5",
-"P  c #4D45A3",
-"I  c #3B357D",
-"U  c #4E46A3",
-"Y  c #554D9F",
-"T  c #4A4389",
-"R  c #514B90",
-"E  c #6760A5",
-"W  c #1D186A",
-"Q  c #27227D",
-"!  c #28237D",
-"~  c #2B2681",
-"^  c #332C89",
-"/  c #3B368E",
-"(  c #454097",
-")  c #4D46A4",
-"_  c #4C45A1",
-"`  c #4D46A2",
-"'  c #4B45A0",
-"]  c #4D46A1",
-"[  c #4C459F",
-"{  c #4B459E",
-"}  c #4A449C",
-"|  c #494498",
-" . c #484396",
-".. c #4A4599",
-"X. c #4F4AA0",
-"o. c #6863AA",
-"O. c #211D76",
-"+. c #242075",
-"@. c #2D2A7F",
-"#. c #2D2A7B",
-"$. c #3D398F",
-"%. c #484496",
-"&. c #474393",
-"*. c #464391",
-"=. c #45428E",
-"-. c #4D4A9C",
-";. c #5754A3",
-":. c #5A5897",
-">. c #5F5D99",
-",. c #8582C1",
-"<. c #9592C9",
-"1. c #B8B6DC",
-"2. c #070553",
-"3. c #080755",
-"4. c #0A0957",
-"5. c #0C0B58",
-"6. c #0F0D5C",
-"7. c #100F5C",
-"8. c #131164",
-"9. c #141360",
-"0. c #14135F",
-"q. c #171567",
-"w. c #161562",
-"e. c #161561",
-"r. c #181764",
-"t. c #1A1966",
-"y. c #1C1A64",
-"u. c #1D1C68",
-"i. c #1F1E6A",
-"p. c #22216C",
-"a. c #24236F",
-"s. c #272571",
-"d. c #272672",
-"f. c #272671",
-"g. c #292874",
-"h. c #2A2974",
-"j. c #2C2B77",
-"k. c #2F2E7C",
-"l. c #2E2D79",
-"z. c #34337E",
-"x. c #393786",
-"c. c #373681",
-"v. c #3A3984",
-"b. c #3A3983",
-"n. c #3D3B86",
-"m. c #42418C",
-"M. c #42418B",
-"N. c #44428B",
-"B. c #434189",
-"V. c #45448E",
-"C. c #45448D",
-"Z. c #424187",
-"A. c #434288",
-"S. c #444287",
-"D. c #424185",
-"F. c #414083",
-"G. c #484790",
-"H. c #434286",
-"J. c #4A4993",
-"K. c #46458A",
-"L. c #4D4C95",
-"P. c #5452A0",
-"I. c #504F98",
-"U. c #5857A0",
-"Y. c #525093",
-"T. c #5B59A2",
-"R. c #58579F",
-"E. c #6261A9",
-"W. c #6463AC",
-"Q. c #6B6AB2",
-"!. c #6B6AB1",
-"~. c #7574B8",
-"^. c #7F7DBD",
-"/. c #9C9BCF",
-"(. c #0B0B58",
-"). c #0D0D5A",
-"_. c #11115E",
-"`. c #131360",
-"'. c #21216D",
-"]. c #24246F",
-"[. c #2B2C77",
-"{. c #2B2B77",
-"}. c #2C2C77",
-"|. c #2E2E79",
-" X c #31317C",
-".X c #31317B",
-"XX c #34347E",
-"oX c #3C3C86",
-"OX c #3F3F89",
-"+X c #41428B",
-"@X c #42428B",
-"#X c #474790",
-"$X c #414184",
-"%X c #404081",
-"&X c #4A4A94",
-"*X c #4A4A93",
-"=X c #4D4D96",
-"-X c #4F4F98",
-";X c #505098",
-":X c #52529B",
-">X c #55559E",
-",X c #55559D",
-"<X c #5758A0",
-"1X c #5858A0",
-"2X c #57589F",
-"3X c #57579F",
-"4X c #5A5AA2",
-"5X c #5D5DA5",
-"6X c #5F5FA7",
-"7X c #6162AA",
-"8X c #6161A9",
-"9X c #6162A9",
-"0X c #6262AA",
-"qX c #6464AC",
-"wX c #6262A9",
-"eX c #6464AB",
-"rX c #6666AE",
-"tX c #6666AD",
-"yX c #6868B0",
-"uX c #6969AF",
-"iX c #6D6DB4",
-"pX c #6F6FB5",
-"aX c #7373BA",
-"sX c #7171B7",
-"dX c #7676BC",
-"fX c #7979BF",
-"gX c #7777B9",
-"hX c #8080C1",
-"jX c #8C8CC5",
-"kX c #9090C9",
-"lX c #9898CB",
-"zX c #A0A0CF",
-"xX c #A5A5D3",
-"cX c #ABABD6",
-"vX c #C4C4E3",
-"bX c #D1D1E9",
-"nX c #E5E5F3",
-"mX c #9FA0D1",
-"MX c #B6C5E5",
-"NX c #8EA6D6",
-"BX c #90A7D7",
-"VX c #91A9D7",
-"CX c #95ABD8",
-"ZX c #99AFDA",
-"AX c #9DB2DC",
-"SX c #A1B5DD",
-"DX c #A5B8DE",
-"FX c #A9BBE0",
-"GX c #ACBDE1",
-"HX c #B0C1E3",
-"JX c #B4C4E4",
-"KX c #B8C7E5",
-"LX c #BBC9E6",
-"PX c #AEC0E2",
-"IX c #B2C3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/libcairo-swt.so b/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/libcairo-swt.so
deleted file mode 100644
index b66f958..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86/libcairo-swt.so
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/icon.xpm b/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/icon.xpm
deleted file mode 100644
index 65404c7..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/icon.xpm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #695AE8",
-"o  c #494991",
-"O  c #CE92BF",
-"+  c #E7CAE0",
-"@  c #C88CBB",
-"#  c #C28ABA",
-"$  c #EAD7E8",
-"%  c #CFA9CC",
-"&  c #D9BCD8",
-"*  c #B687B9",
-"=  c #C399C7",
-"-  c #A77DB5",
-";  c #BDA3CD",
-":  c #D8CAE3",
-">  c #A88DC4",
-",  c #9275B2",
-"<  c #876CAA",
-"1  c #9A83BA",
-"2  c #7B63A3",
-"3  c #665495",
-"4  c #735FAD",
-"5  c #625192",
-"6  c #7F72A7",
-"7  c #6D5E9E",
-"8  c #6454A9",
-"9  c #7769B1",
-"0  c #493E82",
-"q  c #7D73B6",
-"w  c #5B4EAD",
-"e  c #5549BA",
-"r  c #5649BA",
-"t  c #564ABA",
-"y  c #5649B9",
-"u  c #5549B8",
-"i  c #4F44AC",
-"p  c #5348B4",
-"a  c #5348B3",
-"s  c #5449B5",
-"d  c #5247B0",
-"f  c #5247AF",
-"g  c #5449B3",
-"h  c #DEDCEE",
-"j  c #3E3698",
-"k  c #433B9F",
-"l  c #332C77",
-"z  c #423A9C",
-"x  c #4A40A8",
-"c  c #554ABA",
-"v  c #554AB9",
-"b  c #5449B7",
-"n  c #5248B1",
-"m  c #5147AE",
-"M  c #4E45A9",
-"N  c #4941A0",
-"B  c #5248AF",
-"V  c #5148AE",
-"C  c #5047AC",
-"Z  c #4F46AA",
-"A  c #5148AD",
-"S  c #5047AB",
-"D  c #5048AC",
-"F  c #5047A9",
-"G  c #4E46A7",
-"H  c #4E45A4",
-"J  c #4D45A4",
-"K  c #4F47A8",
-"L  c #4E46A5",
-"P  c #4D45A3",
-"I  c #3B357D",
-"U  c #4E46A3",
-"Y  c #554D9F",
-"T  c #4A4389",
-"R  c #514B90",
-"E  c #6760A5",
-"W  c #1D186A",
-"Q  c #27227D",
-"!  c #28237D",
-"~  c #2B2681",
-"^  c #332C89",
-"/  c #3B368E",
-"(  c #454097",
-")  c #4D46A4",
-"_  c #4C45A1",
-"`  c #4D46A2",
-"'  c #4B45A0",
-"]  c #4D46A1",
-"[  c #4C459F",
-"{  c #4B459E",
-"}  c #4A449C",
-"|  c #494498",
-" . c #484396",
-".. c #4A4599",
-"X. c #4F4AA0",
-"o. c #6863AA",
-"O. c #211D76",
-"+. c #242075",
-"@. c #2D2A7F",
-"#. c #2D2A7B",
-"$. c #3D398F",
-"%. c #484496",
-"&. c #474393",
-"*. c #464391",
-"=. c #45428E",
-"-. c #4D4A9C",
-";. c #5754A3",
-":. c #5A5897",
-">. c #5F5D99",
-",. c #8582C1",
-"<. c #9592C9",
-"1. c #B8B6DC",
-"2. c #070553",
-"3. c #080755",
-"4. c #0A0957",
-"5. c #0C0B58",
-"6. c #0F0D5C",
-"7. c #100F5C",
-"8. c #131164",
-"9. c #141360",
-"0. c #14135F",
-"q. c #171567",
-"w. c #161562",
-"e. c #161561",
-"r. c #181764",
-"t. c #1A1966",
-"y. c #1C1A64",
-"u. c #1D1C68",
-"i. c #1F1E6A",
-"p. c #22216C",
-"a. c #24236F",
-"s. c #272571",
-"d. c #272672",
-"f. c #272671",
-"g. c #292874",
-"h. c #2A2974",
-"j. c #2C2B77",
-"k. c #2F2E7C",
-"l. c #2E2D79",
-"z. c #34337E",
-"x. c #393786",
-"c. c #373681",
-"v. c #3A3984",
-"b. c #3A3983",
-"n. c #3D3B86",
-"m. c #42418C",
-"M. c #42418B",
-"N. c #44428B",
-"B. c #434189",
-"V. c #45448E",
-"C. c #45448D",
-"Z. c #424187",
-"A. c #434288",
-"S. c #444287",
-"D. c #424185",
-"F. c #414083",
-"G. c #484790",
-"H. c #434286",
-"J. c #4A4993",
-"K. c #46458A",
-"L. c #4D4C95",
-"P. c #5452A0",
-"I. c #504F98",
-"U. c #5857A0",
-"Y. c #525093",
-"T. c #5B59A2",
-"R. c #58579F",
-"E. c #6261A9",
-"W. c #6463AC",
-"Q. c #6B6AB2",
-"!. c #6B6AB1",
-"~. c #7574B8",
-"^. c #7F7DBD",
-"/. c #9C9BCF",
-"(. c #0B0B58",
-"). c #0D0D5A",
-"_. c #11115E",
-"`. c #131360",
-"'. c #21216D",
-"]. c #24246F",
-"[. c #2B2C77",
-"{. c #2B2B77",
-"}. c #2C2C77",
-"|. c #2E2E79",
-" X c #31317C",
-".X c #31317B",
-"XX c #34347E",
-"oX c #3C3C86",
-"OX c #3F3F89",
-"+X c #41428B",
-"@X c #42428B",
-"#X c #474790",
-"$X c #414184",
-"%X c #404081",
-"&X c #4A4A94",
-"*X c #4A4A93",
-"=X c #4D4D96",
-"-X c #4F4F98",
-";X c #505098",
-":X c #52529B",
-">X c #55559E",
-",X c #55559D",
-"<X c #5758A0",
-"1X c #5858A0",
-"2X c #57589F",
-"3X c #57579F",
-"4X c #5A5AA2",
-"5X c #5D5DA5",
-"6X c #5F5FA7",
-"7X c #6162AA",
-"8X c #6161A9",
-"9X c #6162A9",
-"0X c #6262AA",
-"qX c #6464AC",
-"wX c #6262A9",
-"eX c #6464AB",
-"rX c #6666AE",
-"tX c #6666AD",
-"yX c #6868B0",
-"uX c #6969AF",
-"iX c #6D6DB4",
-"pX c #6F6FB5",
-"aX c #7373BA",
-"sX c #7171B7",
-"dX c #7676BC",
-"fX c #7979BF",
-"gX c #7777B9",
-"hX c #8080C1",
-"jX c #8C8CC5",
-"kX c #9090C9",
-"lX c #9898CB",
-"zX c #A0A0CF",
-"xX c #A5A5D3",
-"cX c #ABABD6",
-"vX c #C4C4E3",
-"bX c #D1D1E9",
-"nX c #E5E5F3",
-"mX c #9FA0D1",
-"MX c #B6C5E5",
-"NX c #8EA6D6",
-"BX c #90A7D7",
-"VX c #91A9D7",
-"CX c #95ABD8",
-"ZX c #99AFDA",
-"AX c #9DB2DC",
-"SX c #A1B5DD",
-"DX c #A5B8DE",
-"FX c #A9BBE0",
-"GX c #ACBDE1",
-"HX c #B0C1E3",
-"JX c #B4C4E4",
-"KX c #B8C7E5",
-"LX c #BBC9E6",
-"PX c #AEC0E2",
-"IX c #B2C3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/libcairo-swt.so b/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/libcairo-swt.so
deleted file mode 100644
index 5734427..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/linux/x86_64/libcairo-swt.so
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.l.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.l.pm
deleted file mode 100644
index 995d7c9..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.l.pm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #CECE9292BFBF",
-"+  c #E7E7CACAE0E0",
-"@  c #C8C88C8CBBBB",
-"#  c #C2C28A8ABABA",
-"$  c #EAEAD7D7E8E8",
-"%  c #CFCFA9A9CCCC",
-"&  c #D9D9BCBCD8D8",
-"*  c #B6B68787B9B9",
-"=  c #C3C39999C7C7",
-"-  c #A7A77D7DB5B5",
-";  c #BDBDA3A3CDCD",
-":  c #D8D8CACAE3E3",
-">  c #A8A88D8DC4C4",
-",  c #92927575B2B2",
-"<  c #87876C6CAAAA",
-"1  c #9A9A8383BABA",
-"2  c #7B7B6363A3A3",
-"3  c #666654549595",
-"4  c #73735F5FADAD",
-"5  c #626251519292",
-"6  c #7F7F7272A7A7",
-"7  c #6D6D5E5E9E9E",
-"8  c #64645454A9A9",
-"9  c #77776969B1B1",
-"0  c #49493E3E8282",
-"q  c #7D7D7373B6B6",
-"w  c #5B5B4E4EADAD",
-"e  c #55554949BABA",
-"r  c #56564949BABA",
-"t  c #56564A4ABABA",
-"y  c #56564949B9B9",
-"u  c #55554949B8B8",
-"i  c #4F4F4444ACAC",
-"p  c #53534848B4B4",
-"a  c #53534848B3B3",
-"s  c #54544949B5B5",
-"d  c #52524747B0B0",
-"f  c #52524747AFAF",
-"g  c #54544949B3B3",
-"h  c #DEDEDCDCEEEE",
-"j  c #3E3E36369898",
-"k  c #43433B3B9F9F",
-"l  c #33332C2C7777",
-"z  c #42423A3A9C9C",
-"x  c #4A4A4040A8A8",
-"c  c #55554A4ABABA",
-"v  c #55554A4AB9B9",
-"b  c #54544949B7B7",
-"n  c #52524848B1B1",
-"m  c #51514747AEAE",
-"M  c #4E4E4545A9A9",
-"N  c #49494141A0A0",
-"B  c #52524848AFAF",
-"V  c #51514848AEAE",
-"C  c #50504747ACAC",
-"Z  c #4F4F4646AAAA",
-"A  c #51514848ADAD",
-"S  c #50504747ABAB",
-"D  c #50504848ACAC",
-"F  c #50504747A9A9",
-"G  c #4E4E4646A7A7",
-"H  c #4E4E4545A4A4",
-"J  c #4D4D4545A4A4",
-"K  c #4F4F4747A8A8",
-"L  c #4E4E4646A5A5",
-"P  c #4D4D4545A3A3",
-"I  c #3B3B35357D7D",
-"U  c #4E4E4646A3A3",
-"Y  c #55554D4D9F9F",
-"T  c #4A4A43438989",
-"R  c #51514B4B9090",
-"E  c #67676060A5A5",
-"W  c #1D1D18186A6A",
-"Q  c #272722227D7D",
-"!  c #282823237D7D",
-"~  c #2B2B26268181",
-"^  c #33332C2C8989",
-"/  c #3B3B36368E8E",
-"(  c #454540409797",
-")  c #4D4D4646A4A4",
-"_  c #4C4C4545A1A1",
-"`  c #4D4D4646A2A2",
-"'  c #4B4B4545A0A0",
-"]  c #4D4D4646A1A1",
-"[  c #4C4C45459F9F",
-"{  c #4B4B45459E9E",
-"}  c #4A4A44449C9C",
-"|  c #494944449898",
-" . c #484843439696",
-".. c #4A4A45459999",
-"X. c #4F4F4A4AA0A0",
-"o. c #68686363AAAA",
-"O. c #21211D1D7676",
-"+. c #242420207575",
-"@. c #2D2D2A2A7F7F",
-"#. c #2D2D2A2A7B7B",
-"$. c #3D3D39398F8F",
-"%. c #484844449696",
-"&. c #474743439393",
-"*. c #464643439191",
-"=. c #454542428E8E",
-"-. c #4D4D4A4A9C9C",
-";. c #57575454A3A3",
-":. c #5A5A58589797",
-">. c #5F5F5D5D9999",
-",. c #85858282C1C1",
-"<. c #95959292C9C9",
-"1. c #B8B8B6B6DCDC",
-"2. c #070705055353",
-"3. c #080807075555",
-"4. c #0A0A09095757",
-"5. c #0C0C0B0B5858",
-"6. c #0F0F0D0D5C5C",
-"7. c #10100F0F5C5C",
-"8. c #131311116464",
-"9. c #141413136060",
-"0. c #141413135F5F",
-"q. c #171715156767",
-"w. c #161615156262",
-"e. c #161615156161",
-"r. c #181817176464",
-"t. c #1A1A19196666",
-"y. c #1C1C1A1A6464",
-"u. c #1D1D1C1C6868",
-"i. c #1F1F1E1E6A6A",
-"p. c #222221216C6C",
-"a. c #242423236F6F",
-"s. c #272725257171",
-"d. c #272726267272",
-"f. c #272726267171",
-"g. c #292928287474",
-"h. c #2A2A29297474",
-"j. c #2C2C2B2B7777",
-"k. c #2F2F2E2E7C7C",
-"l. c #2E2E2D2D7979",
-"z. c #343433337E7E",
-"x. c #393937378686",
-"c. c #373736368181",
-"v. c #3A3A39398484",
-"b. c #3A3A39398383",
-"n. c #3D3D3B3B8686",
-"m. c #424241418C8C",
-"M. c #424241418B8B",
-"N. c #444442428B8B",
-"B. c #434341418989",
-"V. c #454544448E8E",
-"C. c #454544448D8D",
-"Z. c #424241418787",
-"A. c #434342428888",
-"S. c #444442428787",
-"D. c #424241418585",
-"F. c #414140408383",
-"G. c #484847479090",
-"H. c #434342428686",
-"J. c #4A4A49499393",
-"K. c #464645458A8A",
-"L. c #4D4D4C4C9595",
-"P. c #54545252A0A0",
-"I. c #50504F4F9898",
-"U. c #58585757A0A0",
-"Y. c #525250509393",
-"T. c #5B5B5959A2A2",
-"R. c #585857579F9F",
-"E. c #62626161A9A9",
-"W. c #64646363ACAC",
-"Q. c #6B6B6A6AB2B2",
-"!. c #6B6B6A6AB1B1",
-"~. c #75757474B8B8",
-"^. c #7F7F7D7DBDBD",
-"/. c #9C9C9B9BCFCF",
-"(. c #0B0B0B0B5858",
-"). c #0D0D0D0D5A5A",
-"_. c #111111115E5E",
-"`. c #131313136060",
-"'. c #212121216D6D",
-"]. c #242424246F6F",
-"[. c #2B2B2C2C7777",
-"{. c #2B2B2B2B7777",
-"}. c #2C2C2C2C7777",
-"|. c #2E2E2E2E7979",
-" X c #313131317C7C",
-".X c #313131317B7B",
-"XX c #343434347E7E",
-"oX c #3C3C3C3C8686",
-"OX c #3F3F3F3F8989",
-"+X c #414142428B8B",
-"@X c #424242428B8B",
-"#X c #474747479090",
-"$X c #414141418484",
-"%X c #404040408181",
-"&X c #4A4A4A4A9494",
-"*X c #4A4A4A4A9393",
-"=X c #4D4D4D4D9696",
-"-X c #4F4F4F4F9898",
-";X c #505050509898",
-":X c #525252529B9B",
-">X c #555555559E9E",
-",X c #555555559D9D",
-"<X c #57575858A0A0",
-"1X c #58585858A0A0",
-"2X c #575758589F9F",
-"3X c #575757579F9F",
-"4X c #5A5A5A5AA2A2",
-"5X c #5D5D5D5DA5A5",
-"6X c #5F5F5F5FA7A7",
-"7X c #61616262AAAA",
-"8X c #61616161A9A9",
-"9X c #61616262A9A9",
-"0X c #62626262AAAA",
-"qX c #64646464ACAC",
-"wX c #62626262A9A9",
-"eX c #64646464ABAB",
-"rX c #66666666AEAE",
-"tX c #66666666ADAD",
-"yX c #68686868B0B0",
-"uX c #69696969AFAF",
-"iX c #6D6D6D6DB4B4",
-"pX c #6F6F6F6FB5B5",
-"aX c #73737373BABA",
-"sX c #71717171B7B7",
-"dX c #76767676BCBC",
-"fX c #79797979BFBF",
-"gX c #77777777B9B9",
-"hX c #80808080C1C1",
-"jX c #8C8C8C8CC5C5",
-"kX c #90909090C9C9",
-"lX c #98989898CBCB",
-"zX c #A0A0A0A0CFCF",
-"xX c #A5A5A5A5D3D3",
-"cX c #ABABABABD6D6",
-"vX c #C4C4C4C4E3E3",
-"bX c #D1D1D1D1E9E9",
-"nX c #E5E5E5E5F3F3",
-"mX c #9F9FA0A0D1D1",
-"MX c #B6B6C5C5E5E5",
-"NX c #8E8EA6A6D6D6",
-"BX c #9090A7A7D7D7",
-"VX c #9191A9A9D7D7",
-"CX c #9595ABABD8D8",
-"ZX c #9999AFAFDADA",
-"AX c #9D9DB2B2DCDC",
-"SX c #A1A1B5B5DDDD",
-"DX c #A5A5B8B8DEDE",
-"FX c #A9A9BBBBE0E0",
-"GX c #ACACBDBDE1E1",
-"HX c #B0B0C1C1E3E3",
-"JX c #B4B4C4C4E4E4",
-"KX c #B8B8C7C7E5E5",
-"LX c #BBBBC9C9E6E6",
-"PX c #AEAEC0C0E2E2",
-"IX c #B2B2C3C3E3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.m.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.m.pm
deleted file mode 100644
index e64aa0c..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.m.pm
+++ /dev/null
@@ -1,295 +0,0 @@
-/* XPM */
-static char *ProductIcon32[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #E8E8CBCBE0E0",
-"+  c #DDDDB3B3D2D2",
-"@  c #F0F0DDDDEBEB",
-"#  c #CDCD9191BEBE",
-"$  c #C8C88B8BBBBB",
-"%  c #CACA9898C2C2",
-"&  c #C3C38A8ABBBB",
-"*  c #BABA8787B9B9",
-"=  c #DCDCC4C4DEDE",
-"-  c #C5C5A3A3CACA",
-";  c #ADAD8181B8B8",
-":  c #A3A37A7AB5B5",
-">  c #E2E2D6D6E9E9",
-",  c #B3B39A9AC4C4",
-"<  c #EBEBE3E3F0F0",
-"1  c #C9C9B6B6D6D6",
-"2  c #96967676B8B8",
-"3  c #8C8C7171ABAB",
-"4  c #A4A49292BEBE",
-"5  c #7D7D6565A6A6",
-"6  c #83836D6DABAB",
-"7  c #9A9A8787C2C2",
-"8  c #7B7B6464B7B7",
-"9  c #5E5E50509191",
-"0  c #646457579A9A",
-"q  c #85857B7BBEBE",
-"w  c #7C7C7373B6B6",
-"e  c #62625353D5D5",
-"r  c #61615353D4D4",
-"t  c #60605252D1D1",
-"y  c #5F5F5252D0D0",
-"u  c #5F5F5151CFCF",
-"i  c #60605353D2D2",
-"p  c #5F5F5252CFCF",
-"a  c #5E5E5151CDCD",
-"s  c #5C5C4F4FC7C7",
-"d  c #5F5F5252CDCD",
-"f  c #5E5E5151CBCB",
-"g  c #5B5B4F4FC4C4",
-"h  c #5A5A4E4EC1C1",
-"j  c #71716969B0B0",
-"k  c #48483E3EADAD",
-"l  c #5D5D5151CDCD",
-"z  c #5C5C5050C9C9",
-"x  c #5D5D5151CBCB",
-"c  c #5C5C5050C7C7",
-"v  c #5B5B4F4FC6C6",
-"b  c #5B5B5050C6C6",
-"n  c #59594E4EC1C1",
-"m  c #58584D4DBFBF",
-"M  c #59594F4FC2C2",
-"N  c #5A5A4F4FC2C2",
-"B  c #58584D4DBCBC",
-"V  c #57574D4DBCBC",
-"C  c #59594E4EBEBE",
-"Z  c #58584E4EBDBD",
-"A  c #58584D4DBBBB",
-"S  c #57574D4DBABA",
-"D  c #56564D4DB9B9",
-"F  c #56564C4CB6B6",
-"G  c #55554C4CB6B6",
-"H  c #54544B4BB4B4",
-"J  c #54544B4BB1B1",
-"K  c #53534B4BB1B1",
-"L  c #52524A4AAEAE",
-"P  c #51514949ACAC",
-"I  c #51514949ABAB",
-"U  c #474741418787",
-"Y  c #32322C2C8F8F",
-"T  c #2B2B25257777",
-"R  c #36362F2F9696",
-"E  c #2B2B26266E6E",
-"W  c #4D4D4545ACAC",
-"Q  c #55554D4DB8B8",
-"!  c #54544C4CB4B4",
-"~  c #54544C4CB3B3",
-"^  c #51514A4AACAC",
-"/  c #51514A4AABAB",
-"(  c #50504949A9A9",
-")  c #4F4F4949A6A6",
-"_  c #4C4C4747A1A1",
-"`  c #4E4E4848A3A3",
-"'  c #4D4D4848A1A1",
-"]  c #4B4B46469C9C",
-"[  c #4C4C47479E9E",
-"{  c #51514C4CA6A6",
-"}  c #A9A9A6A6D5D5",
-"|  c #1E1E1A1A6666",
-" . c #292925258181",
-".. c #3D3D39399292",
-"X. c #4A4A46469B9B",
-"o. c #53534E4EABAB",
-"O. c #494945459797",
-"+. c #4A4A46469999",
-"@. c #474744449494",
-"#. c #484845459494",
-"$. c #474744449292",
-"%. c #464643439090",
-"&. c #464642428D8D",
-"*. c #54545050A9A9",
-"=. c #474744448F8F",
-"-. c #4C4C49499999",
-";. c #57575454A6A6",
-":. c #5B5B5757AAAA",
-">. c #545451519B9B",
-",. c #5A5A57579C9C",
-"<. c #65656262A7A7",
-"1. c #68686666A2A2",
-"2. c #CACAC9C9E5E5",
-"3. c #050504045151",
-"4. c #080807075454",
-"5. c #0A0A09095858",
-"6. c #0C0C0A0A5858",
-"7. c #10100E0E6262",
-"8. c #0E0E0D0D5A5A",
-"9. c #121211115D5D",
-"0. c #131312125D5D",
-"q. c #161615156161",
-"w. c #171716166161",
-"e. c #1A1A19196565",
-"r. c #20201E1E7070",
-"t. c #1E1E1D1D6969",
-"y. c #2A2A29297676",
-"u. c #2F2F2D2D7676",
-"i. c #3A3A39398787",
-"p. c #3A3A39398383",
-"a. c #3F3F3E3E8888",
-"s. c #414140408989",
-"d. c #454543438D8D",
-"f. c #444442428B8B",
-"g. c #444443438C8C",
-"h. c #434342428A8A",
-"j. c #434341418888",
-"k. c #434342428989",
-"l. c #424241418787",
-"z. c #434342428787",
-"x. c #424241418585",
-"c. c #41413F3F8181",
-"v. c #414140408282",
-"b. c #484846468D8D",
-"n. c #494948489090",
-"m. c #4B4B4A4A9191",
-"M. c #4B4B49498E8E",
-"N. c #525251519A9A",
-"B. c #525251519999",
-"V. c #565654549A9A",
-"C. c #545453539494",
-"Z. c #60605F5FA7A7",
-"A. c #64646363ABAB",
-"S. c #5A5A59599797",
-"D. c #68686767ADAD",
-"F. c #6C6C6B6BB2B2",
-"G. c #5E5E5D5D9A9A",
-"H. c #76767575BABA",
-"J. c #78787777BBBB",
-"K. c #76767474B5B5",
-"L. c #7E7E7D7DBABA",
-"P. c #A5A5A4A4D2D2",
-"I. c #040404045252",
-"U. c #070707075454",
-"Y. c #070708085353",
-"T. c #080808085454",
-"R. c #0A0A0B0B5757",
-"E. c #0E0E0E0E5A5A",
-"W. c #111112125E5E",
-"Q. c #111111115E5E",
-"!. c #111111115D5D",
-"~. c #111112125D5D",
-"^. c #161616166868",
-"/. c #151516166161",
-"(. c #151515156161",
-"). c #19191A1A6565",
-"_. c #191919196565",
-"`. c #1A1A1A1A6464",
-"'. c #1D1D1E1E6969",
-"]. c #1E1E1E1E6969",
-"[. c #222222226D6D",
-"{. c #272727277171",
-"}. c #2B2B2C2C7676",
-"|. c #2B2B2B2B7676",
-" X c #2B2B2B2B7575",
-".X c #303030307A7A",
-"XX c #303030307979",
-"oX c #353535357F7F",
-"OX c #393939398383",
-"+X c #3A3A3A3A8383",
-"@X c #3F3F3F3F8787",
-"#X c #434343438C8C",
-"$X c #434344448C8C",
-"%X c #424242428686",
-"&X c #414141418484",
-"*X c #484848489191",
-"=X c #484849499090",
-"-X c #4D4D4D4D9696",
-";X c #515151519D9D",
-":X c #4D4D4D4D9595",
-">X c #515152529A9A",
-",X c #515152529999",
-"<X c #525252529A9A",
-"1X c #525252529999",
-"2X c #565657579E9E",
-"3X c #575757579D9D",
-"4X c #5B5B5B5BA2A2",
-"5X c #5F5F6060A6A6",
-"6X c #5F5F5F5FA6A6",
-"7X c #63636464AAAA",
-"8X c #64646464AAAA",
-"9X c #67676767AEAE",
-"0X c #67676868AEAE",
-"qX c #68686868AEAE",
-"wX c #6F6F6F6FB5B5",
-"eX c #6C6C6C6CB1B1",
-"rX c #73737373B8B8",
-"tX c #82828282BEBE",
-"yX c #86868686C2C2",
-"uX c #89898989C4C4",
-"iX c #98989898CBCB",
-"pX c #A0A0A0A0CFCF",
-"aX c #A9A9A9A9D5D5",
-"sX c #B0B0B0B0D8D8",
-"dX c #B8B8B8B8DDDD",
-"fX c #BDBDBDBDE0E0",
-"gX c #D9D9D9D9EDED",
-"hX c #90909191C6C6",
-"jX c #71718989BCBC",
-"kX c #73738B8BBFBF",
-"lX c #72728989BCBC",
-"zX c #79799090C3C3",
-"xX c #7E7E9595C7C7",
-"cX c #81819898CACA",
-"vX c #84849B9BCCCC",
-"bX c #8C8CA3A3D4D4",
-"nX c #71718A8ABCBC",
-"mX c #73738B8BBDBD",
-"MX c #75758D8DBFBF",
-"NX c #74748C8CBEBE",
-"BX c #76768E8EC0C0",
-"VX c #7C7C9494C6C6",
-"CX c #7B7B9393C4C4",
-"ZX c #7F7F9797C9C9",
-"AX c #82829A9ACBCB",
-"SX c #85859E9ECECE",
-"DX c #8888A0A0D1D1",
-"FX c #87879F9FD0D0",
-"GX c #8B8BA4A4D4D4",
-"HX c #8B8BA3A3D4D4",
-"JX c #8989A1A1D2D2",
-"KX c #8D8DA5A5D6D6",
-"LX c #8B8BA3A3D3D3",
-"PX c #8E8EA6A6D6D6",
-"IX c #8D8DA5A5D5D5",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X v.v.v.v.&Xl.z.k.&.d.%.$.@.O.+.] [ _ ` ) ( ^ L K ! G D V m m o ",
-"X c.c.c.v.&Xx.z.f.f.d.%.$.#.O.+.X.[ _ ` ) ( / L K H F D V C n o ",
-"X v.c.v.v.x.x.z.k.f.n.V.,.>.-.+.] [ _ ` ) ( ^ L K H G D V C h o ",
-"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ",
-"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ",
-"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ",
-"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ",
-"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ",
-"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ",
-"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ",
-"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ",
-"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ",
-"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ",
-"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ",
-"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ",
-"X ] ] $ $ H.wXF.0X7X6X4X2X<X:Xo #Xa.+XoX.X|.{.[.].)./.~.Q.c z o ",
-"X [ [ & & w F.qX7XZ.4X2X,X:Xo #Xa.+XoX.X}.{.[.'.e./.9.E.^.c z o ",
-"X ' _ * & PXKXbXHXLXJXDXSXSXvXAXcXZXxXVXCXzXzXBXMXNXkXjXjXz x o ",
-"X ` ` : & 2 8XZ.4X2XB.:X*Xg.@Xp.oX.X|.{.[.].).q.!.E.R.U.Y z f o ",
-"X ) ) 5 & ; <.4X2X>X:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ",
-"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ",
-"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ",
-"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ",
-"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ",
-"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ",
-"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ",
-"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ",
-"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ",
-"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ",
-"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.s.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.s.pm
deleted file mode 100644
index e2b9379..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.s.pm
+++ /dev/null
@@ -1,287 +0,0 @@
-/* XPM */
-static char *ProductIcon24[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #F1F1DFDFECEC",
-"+  c #D7D7ACACCDCD",
-"@  c #DFDFBBBBD6D6",
-"#  c #E2E2C4C4DBDB",
-"$  c #CECE9C9CC4C4",
-"%  c #C4C48B8BBABA",
-"&  c #C2C28A8ABABA",
-"*  c #C4C48E8EBCBC",
-"=  c #BFBF8A8AB9B9",
-"-  c #EBEBD9D9E9E9",
-";  c #BFBF8888B9B9",
-":  c #D8D8B9B9D6D6",
-">  c #B9B98686B9B9",
-",  c #B8B88989B9B9",
-"<  c #BBBB9393BFBF",
-"1  c #A9A97B7BB2B2",
-"2  c #E4E4D4D4E7E7",
-"3  c #C6C6AFAFCECE",
-"4  c #A6A68080B6B6",
-"5  c #A2A27E7EB4B4",
-"6  c #9E9E7E7EB1B1",
-"7  c #ABAB9090BBBB",
-"8  c #B7B7A0A0C5C5",
-"9  c #9D9D7C7CB2B2",
-"0  c #AAAA8B8BBEBE",
-"q  c #AAAA9090BCBC",
-"w  c #8C8C6B6BABAB",
-"e  c #90907070B1B1",
-"r  c #C4C4B3B3D7D7",
-"t  c #CDCDBFBFDDDD",
-"y  c #EAEAE4E4F1F1",
-"u  c #88886A6AADAD",
-"i  c #9E9E8585C1C1",
-"p  c #84846A6AAFAF",
-"a  c #81816B6BAAAA",
-"s  c #D7D7CFCFE6E6",
-"d  c #81816969B1B1",
-"f  c #78786363A5A5",
-"g  c #6E6E5D5D9C9C",
-"h  c #717160609D9D",
-"j  c #83837474AAAA",
-"k  c #6A6A5757A3A3",
-"l  c #6E6E5E5EA0A0",
-"z  c #5E5E50509292",
-"x  c #88887B7BBCBC",
-"c  c #68685858ABAB",
-"v  c #5A5A4D4DA2A2",
-"b  c #7D7D7373B4B4",
-"n  c #5A5A4E4EA6A6",
-"m  c #5F5F56569595",
-"M  c #56564A4ABBBB",
-"N  c #56564949B9B9",
-"B  c #55554949B8B8",
-"V  c #53534848B3B3",
-"C  c #54544949B4B4",
-"Z  c #52524747B0B0",
-"A  c #52524747AFAF",
-"S  c #5B5B53539393",
-"D  c #3E3E36369797",
-"F  c #49494040A6A6",
-"G  c #48484040A5A5",
-"H  c #55554A4ABABA",
-"J  c #54544949B7B7",
-"K  c #53534949B4B4",
-"L  c #51514747AFAF",
-"P  c #52524848B1B1",
-"I  c #51514848B0B0",
-"U  c #51514848AEAE",
-"Y  c #51514747ADAD",
-"T  c #51514848ADAD",
-"R  c #4F4F4747ABAB",
-"E  c #50504747ABAB",
-"W  c #50504646A9A9",
-"Q  c #4F4F4646A8A8",
-"!  c #4E4E4646A7A7",
-"~  c #4E4E4545A4A4",
-"^  c #4D4D4545A4A4",
-"/  c #4E4E4646A5A5",
-"(  c #4D4D4545A1A1",
-")  c #3D3D36367E7E",
-"_  c #4B4B44449C9C",
-"`  c #2A2A25257F7F",
-"'  c #3E3E37379898",
-"]  c #474740409C9C",
-"[  c #4D4D4646A4A4",
-"{  c #4C4C4545A2A2",
-"}  c #4D4D4646A2A2",
-"|  c #4D4D4646A1A1",
-" . c #4B4B45459F9F",
-".. c #4C4C45459F9F",
-"X. c #4C4C46469F9F",
-"o. c #4B4B45459D9D",
-"O. c #494943439898",
-"+. c #494944449A9A",
-"@. c #4A4A45459A9A",
-"#. c #494944449898",
-"$. c #484843439696",
-"%. c #494944449797",
-"&. c #484843439595",
-"*. c #51514C4CA1A1",
-"=. c #6B6B6767AEAE",
-"-. c #95959191C9C9",
-";. c #23231F1F7676",
-":. c #21211E1E7070",
-">. c #292925257F7F",
-",. c #252521217070",
-"<. c #242421216D6D",
-"1. c #2B2B27278080",
-"2. c #393935358C8C",
-"3. c #444440409494",
-"4. c #3B3B38388282",
-"5. c #474743439494",
-"6. c #484844449595",
-"7. c #474743439393",
-"8. c #474744449393",
-"9. c #464643439191",
-"0. c #454542428F8F",
-"q. c #4A4A47479898",
-"w. c #464643438F8F",
-"e. c #454542428D8D",
-"r. c #444441418B8B",
-"t. c #484844449191",
-"y. c #444441418989",
-"u. c #494946469090",
-"i. c #4C4C48489393",
-"p. c #51514E4E9E9E",
-"a. c #73737070B6B6",
-"s. c #77777474BBBB",
-"d. c #A0A09E9ED1D1",
-"f. c #D6D6D5D5EBEB",
-"g. c #0E0E0D0D5A5A",
-"h. c #11110F0F5E5E",
-"j. c #121211115E5E",
-"k. c #131312125F5F",
-"l. c #171716166363",
-"z. c #1D1D1B1B6868",
-"x. c #1D1D1C1C6868",
-"c. c #222221216E6E",
-"v. c #222221216D6D",
-"b. c #282827277474",
-"n. c #282827277373",
-"m. c #292928287373",
-"M. c #2F2F2E2E7979",
-"N. c #353534347F7F",
-"B. c #363635358181",
-"V. c #3C3C3B3B8585",
-"C. c #424241418C8C",
-"Z. c #424241418B8B",
-"A. c #444442428B8B",
-"S. c #434341418989",
-"D. c #434342428989",
-"F. c #424241418787",
-"G. c #414140408484",
-"H. c #474745458D8D",
-"J. c #434342428787",
-"K. c #424241418585",
-"L. c #414140408282",
-"P. c #494948489191",
-"I. c #4F4F4E4E9797",
-"U. c #59595757A6A6",
-"Y. c #5F5F5D5DA4A4",
-"T. c #6C6C6B6BB3B3",
-"R. c #7C7C7B7BB9B9",
-"E. c #A8A8A7A7D3D3",
-"W. c #0D0D0D0D5A5A",
-"Q. c #1F1F1F1F6C6C",
-"!. c #222222226E6E",
-"~. c #3B3B3B3B8585",
-"^. c #414141418C8C",
-"/. c #414141418B8B",
-"(. c #424242428B8B",
-"). c #484848489292",
-"_. c #404040408181",
-"`. c #4E4E4E4E9898",
-"'. c #555555559E9E",
-"]. c #555555559D9D",
-"[. c #5B5B5B5BA3A3",
-"{. c #5C5C5C5CA3A3",
-"}. c #61616161A9A9",
-"|. c #66666666AEAE",
-" X c #66666666ADAD",
-".X c #6B6B6B6BB2B2",
-"XX c #70707070B7B7",
-"oX c #6A6A6A6AADAD",
-"OX c #74747474BBBB",
-"+X c #89898989C2C2",
-"@X c #90909090C8C8",
-"#X c #8F8F8F8FC6C6",
-"$X c #92929292C6C6",
-"%X c #9F9F9F9FCFCF",
-"&X c #A5A5A5A5D2D2",
-"*X c #B5B5B5B5DBDB",
-"=X c #B8B8B8B8DEDE",
-"-X c #B7B7B7B7DCDC",
-";X c #BBBBBBBBDEDE",
-":X c #BDBDBDBDDFDF",
-">X c #C9C9C9C9E5E5",
-",X c #D1D1D1D1EAEA",
-"<X c #7C7C7D7DBABA",
-"1X c #89898A8AC7C7",
-"2X c #8F8F9090C7C7",
-"3X c #A3A3A4A4D3D3",
-"4X c #A2A2B5B5DEDE",
-"5X c #ADADBDBDE1E1",
-"6X c #B9B9C7C7E5E5",
-"7X c #BABAC8C8E6E6",
-"8X c #8E8EA6A6D6D6",
-"9X c #9090A7A7D7D7",
-"0X c #9191A9A9D7D7",
-"qX c #9292A9A9D8D8",
-"wX c #9494ABABD8D8",
-"eX c #9898AEAED9D9",
-"rX c #9B9BB0B0DADA",
-"tX c #9E9EB3B3DCDC",
-"yX c #A1A1B5B5DDDD",
-"uX c #A5A5B8B8DEDE",
-"iX c #A8A8BBBBE0E0",
-"pX c #ACACBEBEE1E1",
-"aX c #AFAFC0C0E3E3",
-"sX c #B3B3C3C3E4E4",
-"dX c #B2B2C2C2E3E3",
-"fX c #B5B5C5C5E5E5",
-"gX c #B8B8C7C7E6E6",
-"hX c #B6B6C5C5E4E4",
-"jX c #9797AEAED9D9",
-"kX c #A1A1B6B6DDDD",
-"lX c #A8A8BBBBDFDF",
-"zX c gray100",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X YX",
-"X _._.L.G.K.F.D.A.e.0.9.&.$.%.+._ ..{ ^ ! W E o ",
-"X L.L.L.G.F.F.D.r.e.0.9.7.&.O.@.o. .{ ~ ! Q E o ",
-"X L.G.G.K.F.S.y.r.e.w.9.5.$.+.@.o...( ~ ! W E o ",
-"X G.K.K.F.J.D.h 6 0 i x s.a.=.U.*...} ~ ! W E o ",
-"X K.F.F.F.S 7 : r d.1XOXXX.X|.}.[.p.| / ! W E o ",
-"X F.F.F.m 3 - s =X3X@XXXT. X}.[.].I.q.{ Q E T o ",
-"X S.D.H.8 O y ,X;X&X2X.X|.}.[.].I.P.C.3.Q E Y o ",
-"X A.r.j # 2 f.>X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ",
-"X e.u.q @ t :X-XE.$X<X}.[.].`.P.Z.V.N.M.2.Y L o ",
-"X 0.i.< + 8X8XqXwXeXrXtX4XuXlXpXaXsXfXgX7XY A o ",
-"X 9.t.* $ -.#X+XR.oX{.'.`.P.(.~.N.M.m.c.Q.T Z o ",
-"X 8.7.; % 8X9X0XwXeXrXtXyXuXiXpXaXdXfXgX7XL Z o ",
-"X 6.&.1 & b  X}.[.'.I.P./.~.N.M.n.!.x.l.:.I P o ",
-"X #.#.w = 8X9XqXwXjXrXtXkXuXiX5XaXsXhX6X7XP V o ",
-"X +.+.k > 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ",
-"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ",
-"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ",
-"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ",
-"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ",
-"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ",
-"X Q W Q W R W E E T T T L Z P V V K J J J B N o ",
-"X R E E E E E Y Y U L Z P P P C V J J B B H M o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.t.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.t.pm
deleted file mode 100644
index 3f6b21f..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/sparc/Eclipse.t.pm
+++ /dev/null
@@ -1,279 +0,0 @@
-/* XPM */
-static char *ProductIcon16[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 257 2",
-"   c black",
-".  c gray100",
-"X  c #E2E2C0C0D9D9",
-"o  c #EDEDD9D9E8E8",
-"O  c #D5D5ABABCDCD",
-"+  c #E2E2C3C3DCDC",
-"@  c #C5C58E8EBCBC",
-"#  c #D4D4ABABCDCD",
-"$  c #CACA9F9FC6C6",
-"%  c #D6D6B4B4D3D3",
-"&  c #CACAA0A0C8C8",
-"*  c #C6C69D9DC6C6",
-"=  c #C5C59F9FC8C8",
-"-  c #CCCCACACCECE",
-";  c #CCCCB0B0D3D3",
-":  c #A6A68383B3B3",
-">  c #BABA9A9AC6C6",
-",  c #B7B79A9AC2C2",
-"<  c #E3E3D5D5E9E9",
-"1  c #B0B08E8EC0C0",
-"2  c #9F9F8080B8B8",
-"3  c #AFAF9898C1C1",
-"4  c #DBDBCFCFE5E5",
-"5  c #96967878B2B2",
-"6  c #9A9A7E7EBABA",
-"7  c #8E8E7878AFAF",
-"8  c #91917F7FBDBD",
-"9  c #D3D3CCCCE4E4",
-"0  c #535348488B8B",
-"q  c #69695A5AE8E8",
-"w  c #55554949B9B9",
-"e  c #55554949B8B8",
-"r  c #54544848B6B6",
-"t  c #53534848B4B4",
-"y  c #54544848B4B4",
-"u  c #53534848B3B3",
-"i  c #53534848B2B2",
-"p  c #52524747AFAF",
-"a  c #53534848B1B1",
-"s  c #54544949B8B8",
-"d  c #54544949B6B6",
-"f  c #52524848B3B3",
-"g  c #52524848B2B2",
-"h  c #53534949B3B3",
-"j  c #52524848B1B1",
-"k  c #52524848B0B0",
-"l  c #51514747AEAE",
-"z  c #52524848AFAF",
-"x  c #51514848AEAE",
-"c  c #51514747ADAD",
-"v  c #51514747ACAC",
-"b  c #4F4F4646AAAA",
-"n  c #51514848ADAD",
-"m  c #50504747ABAB",
-"M  c #50504747AAAA",
-"N  c #4F4F4646A8A8",
-"B  c #50504747A9A9",
-"V  c #4E4E4646A7A7",
-"C  c #4E4E4646A6A6",
-"Z  c #4F4F4646A6A6",
-"A  c #4F4F4747A7A7",
-"S  c #4D4D4545A3A3",
-"D  c #4D4D4545A2A2",
-"F  c #4C4C45459E9E",
-"G  c #74746E6EB3B3",
-"H  c #2E2E29298383",
-"J  c #383832329090",
-"K  c #464640409999",
-"L  c #4D4D4646A2A2",
-"P  c #4E4E4747A3A3",
-"I  c #4B4B45459F9F",
-"U  c #4B4B45459E9E",
-"Y  c #4C4C46469F9F",
-"T  c #4A4A44449B9B",
-"R  c #4A4A44449A9A",
-"E  c #494943439797",
-"W  c #494944449797",
-"Q  c #484843439494",
-"!  c #78787474B8B8",
-"~  c #272724247878",
-"^  c #2D2D2A2A7575",
-"/  c #484844449797",
-"(  c #474743439393",
-")  c #454542429090",
-"_  c #4B4B48489A9A",
-"`  c #464643438F8F",
-"'  c #464643438E8E",
-"]  c #454542428C8C",
-"[  c #51514D4DA0A0",
-"{  c #5C5C5959A5A5",
-"}  c #535350509090",
-"|  c #C8C8C7C7E3E3",
-" . c #121211115D5D",
-".. c #1A1A19196565",
-"X. c #242422226D6D",
-"o. c #3F3F3E3E8888",
-"O. c #444442428D8D",
-"+. c #444442428989",
-"@. c #424241418787",
-"#. c #454543438A8A",
-"$. c #434342428888",
-"%. c #424241418686",
-"&. c #414140408484",
-"*. c #414140408383",
-"=. c #424240408383",
-"-. c #414140408282",
-";. c #474746468D8D",
-":. c #464644448989",
-">. c #525251519999",
-",. c #64646363AAAA",
-"<. c #61615F5FA2A2",
-"1. c #6E6E6C6CB2B2",
-"2. c #A5A5A4A4D3D3",
-"3. c #B0B0AFAFD6D6",
-"4. c #111112125D5D",
-"5. c #19191A1A6565",
-"6. c #1E1E1E1E6C6C",
-"7. c #222222226D6D",
-"8. c #2B2B2B2B7676",
-"9. c #2B2B2B2B7575",
-"0. c #2B2B2C2C7575",
-"q. c #343435357F7F",
-"w. c #343435357E7E",
-"e. c #353535357F7F",
-"r. c #3E3E3E3E8888",
-"t. c #3E3E3E3E8787",
-"y. c #414141418484",
-"u. c #404040408282",
-"i. c #484849499191",
-"p. c #494949499191",
-"a. c #484848489090",
-"s. c #484849499090",
-"d. c #404040408080",
-"f. c #525252529A9A",
-"g. c #525252529999",
-"h. c #5B5B5B5BA3A3",
-"j. c #5B5B5B5BA2A2",
-"k. c #64646464ABAB",
-"l. c #63636464AAAA",
-"z. c #6B6B6C6CB2B2",
-"x. c #72727373B9B9",
-"c. c #71717171A4A4",
-"v. c #78787878ABAB",
-"b. c #7F7F7F7FB1B1",
-"n. c #8C8C8C8CBEBE",
-"m. c #A5A5A5A5D2D2",
-"M. c #C9C9C9C9E5E5",
-"N. c #85858686B7B7",
-"B. c #91919292C4C4",
-"V. c #71718989BCBC",
-"C. c #73738B8BBEBE",
-"Z. c #75758D8DC0C0",
-"A. c #78789090C3C3",
-"S. c #7A7A9292C5C5",
-"D. c #71718A8ABDBD",
-"F. c #76768E8EC0C0",
-"G. c #78789090C2C2",
-"H. c #7B7B9393C5C5",
-"J. c #7D7D9595C7C7",
-"K. c #80809999CACA",
-"L. c #7E7E9696C7C7",
-"P. c #83839B9BCDCD",
-"I. c #83839B9BCCCC",
-"U. c #86869E9ECFCF",
-"Y. c #8888A1A1D1D1",
-"T. c #8A8AA2A2D3D3",
-"R. c #8989A1A1D1D1",
-"E. c #8B8BA3A3D3D3",
-"W. c gray100",
-"Q. c black",
-"!. c black",
-"~. c black",
-"^. c black",
-"/. c black",
-"(. c black",
-"). c black",
-"_. c black",
-"`. c black",
-"'. c black",
-"]. c black",
-"[. c black",
-"{. c black",
-"}. c black",
-"|. c black",
-" X c black",
-".X c black",
-"XX c black",
-"oX c black",
-"OX c black",
-"+X c black",
-"@X c black",
-"#X c black",
-"$X c black",
-"%X c black",
-"&X c black",
-"*X c black",
-"=X c black",
-"-X c black",
-";X c black",
-":X c black",
-">X c black",
-",X c black",
-"<X c black",
-"1X c black",
-"2X c black",
-"3X c black",
-"4X c black",
-"5X c black",
-"6X c black",
-"7X c black",
-"8X c black",
-"9X c black",
-"0X c black",
-"qX c black",
-"wX c black",
-"eX c black",
-"rX c black",
-"tX c black",
-"yX c black",
-"uX c black",
-"iX c black",
-"pX c black",
-"aX c black",
-"sX c black",
-"dX c black",
-"fX c black",
-"gX c black",
-"hX c black",
-"jX c black",
-"kX c black",
-"lX c black",
-"zX c black",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXq q q q q q q q q q q q q q YX",
-"q d.-.y.%.+.O.` ( E R U D C B p.",
-"q u.*.&.$.#.] ) Q W T F L V M p.",
-"q =.y.} , % ; 8 ! 1.{ [ S Z b p.",
-"q @.:.- o 4 2.x.z.,.j.>._ A m p.",
-"q +.: X < M.m.z.l.j.g.s.r.K v p.",
-"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.",
-"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.",
-"q ( # @ G k.h.g.i.t.e.9.7.6.z p.",
-"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.",
-"q T 2 & 5 f.a.o.q.8.7...4.J u p.",
-"q I Y 1 = 7 ;.w.0.7.5. .H f y p.",
-"q L D P 6 > 3 0 ^ X.~ J i t d p.",
-"q C C V A N M m n p k g y r e p.",
-"q M b M m m c x p j h y d s w p.",
-"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.l.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.l.pm
deleted file mode 100644
index 995d7c9..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.l.pm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #CECE9292BFBF",
-"+  c #E7E7CACAE0E0",
-"@  c #C8C88C8CBBBB",
-"#  c #C2C28A8ABABA",
-"$  c #EAEAD7D7E8E8",
-"%  c #CFCFA9A9CCCC",
-"&  c #D9D9BCBCD8D8",
-"*  c #B6B68787B9B9",
-"=  c #C3C39999C7C7",
-"-  c #A7A77D7DB5B5",
-";  c #BDBDA3A3CDCD",
-":  c #D8D8CACAE3E3",
-">  c #A8A88D8DC4C4",
-",  c #92927575B2B2",
-"<  c #87876C6CAAAA",
-"1  c #9A9A8383BABA",
-"2  c #7B7B6363A3A3",
-"3  c #666654549595",
-"4  c #73735F5FADAD",
-"5  c #626251519292",
-"6  c #7F7F7272A7A7",
-"7  c #6D6D5E5E9E9E",
-"8  c #64645454A9A9",
-"9  c #77776969B1B1",
-"0  c #49493E3E8282",
-"q  c #7D7D7373B6B6",
-"w  c #5B5B4E4EADAD",
-"e  c #55554949BABA",
-"r  c #56564949BABA",
-"t  c #56564A4ABABA",
-"y  c #56564949B9B9",
-"u  c #55554949B8B8",
-"i  c #4F4F4444ACAC",
-"p  c #53534848B4B4",
-"a  c #53534848B3B3",
-"s  c #54544949B5B5",
-"d  c #52524747B0B0",
-"f  c #52524747AFAF",
-"g  c #54544949B3B3",
-"h  c #DEDEDCDCEEEE",
-"j  c #3E3E36369898",
-"k  c #43433B3B9F9F",
-"l  c #33332C2C7777",
-"z  c #42423A3A9C9C",
-"x  c #4A4A4040A8A8",
-"c  c #55554A4ABABA",
-"v  c #55554A4AB9B9",
-"b  c #54544949B7B7",
-"n  c #52524848B1B1",
-"m  c #51514747AEAE",
-"M  c #4E4E4545A9A9",
-"N  c #49494141A0A0",
-"B  c #52524848AFAF",
-"V  c #51514848AEAE",
-"C  c #50504747ACAC",
-"Z  c #4F4F4646AAAA",
-"A  c #51514848ADAD",
-"S  c #50504747ABAB",
-"D  c #50504848ACAC",
-"F  c #50504747A9A9",
-"G  c #4E4E4646A7A7",
-"H  c #4E4E4545A4A4",
-"J  c #4D4D4545A4A4",
-"K  c #4F4F4747A8A8",
-"L  c #4E4E4646A5A5",
-"P  c #4D4D4545A3A3",
-"I  c #3B3B35357D7D",
-"U  c #4E4E4646A3A3",
-"Y  c #55554D4D9F9F",
-"T  c #4A4A43438989",
-"R  c #51514B4B9090",
-"E  c #67676060A5A5",
-"W  c #1D1D18186A6A",
-"Q  c #272722227D7D",
-"!  c #282823237D7D",
-"~  c #2B2B26268181",
-"^  c #33332C2C8989",
-"/  c #3B3B36368E8E",
-"(  c #454540409797",
-")  c #4D4D4646A4A4",
-"_  c #4C4C4545A1A1",
-"`  c #4D4D4646A2A2",
-"'  c #4B4B4545A0A0",
-"]  c #4D4D4646A1A1",
-"[  c #4C4C45459F9F",
-"{  c #4B4B45459E9E",
-"}  c #4A4A44449C9C",
-"|  c #494944449898",
-" . c #484843439696",
-".. c #4A4A45459999",
-"X. c #4F4F4A4AA0A0",
-"o. c #68686363AAAA",
-"O. c #21211D1D7676",
-"+. c #242420207575",
-"@. c #2D2D2A2A7F7F",
-"#. c #2D2D2A2A7B7B",
-"$. c #3D3D39398F8F",
-"%. c #484844449696",
-"&. c #474743439393",
-"*. c #464643439191",
-"=. c #454542428E8E",
-"-. c #4D4D4A4A9C9C",
-";. c #57575454A3A3",
-":. c #5A5A58589797",
-">. c #5F5F5D5D9999",
-",. c #85858282C1C1",
-"<. c #95959292C9C9",
-"1. c #B8B8B6B6DCDC",
-"2. c #070705055353",
-"3. c #080807075555",
-"4. c #0A0A09095757",
-"5. c #0C0C0B0B5858",
-"6. c #0F0F0D0D5C5C",
-"7. c #10100F0F5C5C",
-"8. c #131311116464",
-"9. c #141413136060",
-"0. c #141413135F5F",
-"q. c #171715156767",
-"w. c #161615156262",
-"e. c #161615156161",
-"r. c #181817176464",
-"t. c #1A1A19196666",
-"y. c #1C1C1A1A6464",
-"u. c #1D1D1C1C6868",
-"i. c #1F1F1E1E6A6A",
-"p. c #222221216C6C",
-"a. c #242423236F6F",
-"s. c #272725257171",
-"d. c #272726267272",
-"f. c #272726267171",
-"g. c #292928287474",
-"h. c #2A2A29297474",
-"j. c #2C2C2B2B7777",
-"k. c #2F2F2E2E7C7C",
-"l. c #2E2E2D2D7979",
-"z. c #343433337E7E",
-"x. c #393937378686",
-"c. c #373736368181",
-"v. c #3A3A39398484",
-"b. c #3A3A39398383",
-"n. c #3D3D3B3B8686",
-"m. c #424241418C8C",
-"M. c #424241418B8B",
-"N. c #444442428B8B",
-"B. c #434341418989",
-"V. c #454544448E8E",
-"C. c #454544448D8D",
-"Z. c #424241418787",
-"A. c #434342428888",
-"S. c #444442428787",
-"D. c #424241418585",
-"F. c #414140408383",
-"G. c #484847479090",
-"H. c #434342428686",
-"J. c #4A4A49499393",
-"K. c #464645458A8A",
-"L. c #4D4D4C4C9595",
-"P. c #54545252A0A0",
-"I. c #50504F4F9898",
-"U. c #58585757A0A0",
-"Y. c #525250509393",
-"T. c #5B5B5959A2A2",
-"R. c #585857579F9F",
-"E. c #62626161A9A9",
-"W. c #64646363ACAC",
-"Q. c #6B6B6A6AB2B2",
-"!. c #6B6B6A6AB1B1",
-"~. c #75757474B8B8",
-"^. c #7F7F7D7DBDBD",
-"/. c #9C9C9B9BCFCF",
-"(. c #0B0B0B0B5858",
-"). c #0D0D0D0D5A5A",
-"_. c #111111115E5E",
-"`. c #131313136060",
-"'. c #212121216D6D",
-"]. c #242424246F6F",
-"[. c #2B2B2C2C7777",
-"{. c #2B2B2B2B7777",
-"}. c #2C2C2C2C7777",
-"|. c #2E2E2E2E7979",
-" X c #313131317C7C",
-".X c #313131317B7B",
-"XX c #343434347E7E",
-"oX c #3C3C3C3C8686",
-"OX c #3F3F3F3F8989",
-"+X c #414142428B8B",
-"@X c #424242428B8B",
-"#X c #474747479090",
-"$X c #414141418484",
-"%X c #404040408181",
-"&X c #4A4A4A4A9494",
-"*X c #4A4A4A4A9393",
-"=X c #4D4D4D4D9696",
-"-X c #4F4F4F4F9898",
-";X c #505050509898",
-":X c #525252529B9B",
-">X c #555555559E9E",
-",X c #555555559D9D",
-"<X c #57575858A0A0",
-"1X c #58585858A0A0",
-"2X c #575758589F9F",
-"3X c #575757579F9F",
-"4X c #5A5A5A5AA2A2",
-"5X c #5D5D5D5DA5A5",
-"6X c #5F5F5F5FA7A7",
-"7X c #61616262AAAA",
-"8X c #61616161A9A9",
-"9X c #61616262A9A9",
-"0X c #62626262AAAA",
-"qX c #64646464ACAC",
-"wX c #62626262A9A9",
-"eX c #64646464ABAB",
-"rX c #66666666AEAE",
-"tX c #66666666ADAD",
-"yX c #68686868B0B0",
-"uX c #69696969AFAF",
-"iX c #6D6D6D6DB4B4",
-"pX c #6F6F6F6FB5B5",
-"aX c #73737373BABA",
-"sX c #71717171B7B7",
-"dX c #76767676BCBC",
-"fX c #79797979BFBF",
-"gX c #77777777B9B9",
-"hX c #80808080C1C1",
-"jX c #8C8C8C8CC5C5",
-"kX c #90909090C9C9",
-"lX c #98989898CBCB",
-"zX c #A0A0A0A0CFCF",
-"xX c #A5A5A5A5D3D3",
-"cX c #ABABABABD6D6",
-"vX c #C4C4C4C4E3E3",
-"bX c #D1D1D1D1E9E9",
-"nX c #E5E5E5E5F3F3",
-"mX c #9F9FA0A0D1D1",
-"MX c #B6B6C5C5E5E5",
-"NX c #8E8EA6A6D6D6",
-"BX c #9090A7A7D7D7",
-"VX c #9191A9A9D7D7",
-"CX c #9595ABABD8D8",
-"ZX c #9999AFAFDADA",
-"AX c #9D9DB2B2DCDC",
-"SX c #A1A1B5B5DDDD",
-"DX c #A5A5B8B8DEDE",
-"FX c #A9A9BBBBE0E0",
-"GX c #ACACBDBDE1E1",
-"HX c #B0B0C1C1E3E3",
-"JX c #B4B4C4C4E4E4",
-"KX c #B8B8C7C7E5E5",
-"LX c #BBBBC9C9E6E6",
-"PX c #AEAEC0C0E2E2",
-"IX c #B2B2C3C3E3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.m.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.m.pm
deleted file mode 100644
index e64aa0c..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.m.pm
+++ /dev/null
@@ -1,295 +0,0 @@
-/* XPM */
-static char *ProductIcon32[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #E8E8CBCBE0E0",
-"+  c #DDDDB3B3D2D2",
-"@  c #F0F0DDDDEBEB",
-"#  c #CDCD9191BEBE",
-"$  c #C8C88B8BBBBB",
-"%  c #CACA9898C2C2",
-"&  c #C3C38A8ABBBB",
-"*  c #BABA8787B9B9",
-"=  c #DCDCC4C4DEDE",
-"-  c #C5C5A3A3CACA",
-";  c #ADAD8181B8B8",
-":  c #A3A37A7AB5B5",
-">  c #E2E2D6D6E9E9",
-",  c #B3B39A9AC4C4",
-"<  c #EBEBE3E3F0F0",
-"1  c #C9C9B6B6D6D6",
-"2  c #96967676B8B8",
-"3  c #8C8C7171ABAB",
-"4  c #A4A49292BEBE",
-"5  c #7D7D6565A6A6",
-"6  c #83836D6DABAB",
-"7  c #9A9A8787C2C2",
-"8  c #7B7B6464B7B7",
-"9  c #5E5E50509191",
-"0  c #646457579A9A",
-"q  c #85857B7BBEBE",
-"w  c #7C7C7373B6B6",
-"e  c #62625353D5D5",
-"r  c #61615353D4D4",
-"t  c #60605252D1D1",
-"y  c #5F5F5252D0D0",
-"u  c #5F5F5151CFCF",
-"i  c #60605353D2D2",
-"p  c #5F5F5252CFCF",
-"a  c #5E5E5151CDCD",
-"s  c #5C5C4F4FC7C7",
-"d  c #5F5F5252CDCD",
-"f  c #5E5E5151CBCB",
-"g  c #5B5B4F4FC4C4",
-"h  c #5A5A4E4EC1C1",
-"j  c #71716969B0B0",
-"k  c #48483E3EADAD",
-"l  c #5D5D5151CDCD",
-"z  c #5C5C5050C9C9",
-"x  c #5D5D5151CBCB",
-"c  c #5C5C5050C7C7",
-"v  c #5B5B4F4FC6C6",
-"b  c #5B5B5050C6C6",
-"n  c #59594E4EC1C1",
-"m  c #58584D4DBFBF",
-"M  c #59594F4FC2C2",
-"N  c #5A5A4F4FC2C2",
-"B  c #58584D4DBCBC",
-"V  c #57574D4DBCBC",
-"C  c #59594E4EBEBE",
-"Z  c #58584E4EBDBD",
-"A  c #58584D4DBBBB",
-"S  c #57574D4DBABA",
-"D  c #56564D4DB9B9",
-"F  c #56564C4CB6B6",
-"G  c #55554C4CB6B6",
-"H  c #54544B4BB4B4",
-"J  c #54544B4BB1B1",
-"K  c #53534B4BB1B1",
-"L  c #52524A4AAEAE",
-"P  c #51514949ACAC",
-"I  c #51514949ABAB",
-"U  c #474741418787",
-"Y  c #32322C2C8F8F",
-"T  c #2B2B25257777",
-"R  c #36362F2F9696",
-"E  c #2B2B26266E6E",
-"W  c #4D4D4545ACAC",
-"Q  c #55554D4DB8B8",
-"!  c #54544C4CB4B4",
-"~  c #54544C4CB3B3",
-"^  c #51514A4AACAC",
-"/  c #51514A4AABAB",
-"(  c #50504949A9A9",
-")  c #4F4F4949A6A6",
-"_  c #4C4C4747A1A1",
-"`  c #4E4E4848A3A3",
-"'  c #4D4D4848A1A1",
-"]  c #4B4B46469C9C",
-"[  c #4C4C47479E9E",
-"{  c #51514C4CA6A6",
-"}  c #A9A9A6A6D5D5",
-"|  c #1E1E1A1A6666",
-" . c #292925258181",
-".. c #3D3D39399292",
-"X. c #4A4A46469B9B",
-"o. c #53534E4EABAB",
-"O. c #494945459797",
-"+. c #4A4A46469999",
-"@. c #474744449494",
-"#. c #484845459494",
-"$. c #474744449292",
-"%. c #464643439090",
-"&. c #464642428D8D",
-"*. c #54545050A9A9",
-"=. c #474744448F8F",
-"-. c #4C4C49499999",
-";. c #57575454A6A6",
-":. c #5B5B5757AAAA",
-">. c #545451519B9B",
-",. c #5A5A57579C9C",
-"<. c #65656262A7A7",
-"1. c #68686666A2A2",
-"2. c #CACAC9C9E5E5",
-"3. c #050504045151",
-"4. c #080807075454",
-"5. c #0A0A09095858",
-"6. c #0C0C0A0A5858",
-"7. c #10100E0E6262",
-"8. c #0E0E0D0D5A5A",
-"9. c #121211115D5D",
-"0. c #131312125D5D",
-"q. c #161615156161",
-"w. c #171716166161",
-"e. c #1A1A19196565",
-"r. c #20201E1E7070",
-"t. c #1E1E1D1D6969",
-"y. c #2A2A29297676",
-"u. c #2F2F2D2D7676",
-"i. c #3A3A39398787",
-"p. c #3A3A39398383",
-"a. c #3F3F3E3E8888",
-"s. c #414140408989",
-"d. c #454543438D8D",
-"f. c #444442428B8B",
-"g. c #444443438C8C",
-"h. c #434342428A8A",
-"j. c #434341418888",
-"k. c #434342428989",
-"l. c #424241418787",
-"z. c #434342428787",
-"x. c #424241418585",
-"c. c #41413F3F8181",
-"v. c #414140408282",
-"b. c #484846468D8D",
-"n. c #494948489090",
-"m. c #4B4B4A4A9191",
-"M. c #4B4B49498E8E",
-"N. c #525251519A9A",
-"B. c #525251519999",
-"V. c #565654549A9A",
-"C. c #545453539494",
-"Z. c #60605F5FA7A7",
-"A. c #64646363ABAB",
-"S. c #5A5A59599797",
-"D. c #68686767ADAD",
-"F. c #6C6C6B6BB2B2",
-"G. c #5E5E5D5D9A9A",
-"H. c #76767575BABA",
-"J. c #78787777BBBB",
-"K. c #76767474B5B5",
-"L. c #7E7E7D7DBABA",
-"P. c #A5A5A4A4D2D2",
-"I. c #040404045252",
-"U. c #070707075454",
-"Y. c #070708085353",
-"T. c #080808085454",
-"R. c #0A0A0B0B5757",
-"E. c #0E0E0E0E5A5A",
-"W. c #111112125E5E",
-"Q. c #111111115E5E",
-"!. c #111111115D5D",
-"~. c #111112125D5D",
-"^. c #161616166868",
-"/. c #151516166161",
-"(. c #151515156161",
-"). c #19191A1A6565",
-"_. c #191919196565",
-"`. c #1A1A1A1A6464",
-"'. c #1D1D1E1E6969",
-"]. c #1E1E1E1E6969",
-"[. c #222222226D6D",
-"{. c #272727277171",
-"}. c #2B2B2C2C7676",
-"|. c #2B2B2B2B7676",
-" X c #2B2B2B2B7575",
-".X c #303030307A7A",
-"XX c #303030307979",
-"oX c #353535357F7F",
-"OX c #393939398383",
-"+X c #3A3A3A3A8383",
-"@X c #3F3F3F3F8787",
-"#X c #434343438C8C",
-"$X c #434344448C8C",
-"%X c #424242428686",
-"&X c #414141418484",
-"*X c #484848489191",
-"=X c #484849499090",
-"-X c #4D4D4D4D9696",
-";X c #515151519D9D",
-":X c #4D4D4D4D9595",
-">X c #515152529A9A",
-",X c #515152529999",
-"<X c #525252529A9A",
-"1X c #525252529999",
-"2X c #565657579E9E",
-"3X c #575757579D9D",
-"4X c #5B5B5B5BA2A2",
-"5X c #5F5F6060A6A6",
-"6X c #5F5F5F5FA6A6",
-"7X c #63636464AAAA",
-"8X c #64646464AAAA",
-"9X c #67676767AEAE",
-"0X c #67676868AEAE",
-"qX c #68686868AEAE",
-"wX c #6F6F6F6FB5B5",
-"eX c #6C6C6C6CB1B1",
-"rX c #73737373B8B8",
-"tX c #82828282BEBE",
-"yX c #86868686C2C2",
-"uX c #89898989C4C4",
-"iX c #98989898CBCB",
-"pX c #A0A0A0A0CFCF",
-"aX c #A9A9A9A9D5D5",
-"sX c #B0B0B0B0D8D8",
-"dX c #B8B8B8B8DDDD",
-"fX c #BDBDBDBDE0E0",
-"gX c #D9D9D9D9EDED",
-"hX c #90909191C6C6",
-"jX c #71718989BCBC",
-"kX c #73738B8BBFBF",
-"lX c #72728989BCBC",
-"zX c #79799090C3C3",
-"xX c #7E7E9595C7C7",
-"cX c #81819898CACA",
-"vX c #84849B9BCCCC",
-"bX c #8C8CA3A3D4D4",
-"nX c #71718A8ABCBC",
-"mX c #73738B8BBDBD",
-"MX c #75758D8DBFBF",
-"NX c #74748C8CBEBE",
-"BX c #76768E8EC0C0",
-"VX c #7C7C9494C6C6",
-"CX c #7B7B9393C4C4",
-"ZX c #7F7F9797C9C9",
-"AX c #82829A9ACBCB",
-"SX c #85859E9ECECE",
-"DX c #8888A0A0D1D1",
-"FX c #87879F9FD0D0",
-"GX c #8B8BA4A4D4D4",
-"HX c #8B8BA3A3D4D4",
-"JX c #8989A1A1D2D2",
-"KX c #8D8DA5A5D6D6",
-"LX c #8B8BA3A3D3D3",
-"PX c #8E8EA6A6D6D6",
-"IX c #8D8DA5A5D5D5",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X v.v.v.v.&Xl.z.k.&.d.%.$.@.O.+.] [ _ ` ) ( ^ L K ! G D V m m o ",
-"X c.c.c.v.&Xx.z.f.f.d.%.$.#.O.+.X.[ _ ` ) ( / L K H F D V C n o ",
-"X v.c.v.v.x.x.z.k.f.n.V.,.>.-.+.] [ _ ` ) ( ^ L K H G D V C h o ",
-"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ",
-"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ",
-"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ",
-"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ",
-"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ",
-"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ",
-"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ",
-"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ",
-"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ",
-"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ",
-"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ",
-"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ",
-"X ] ] $ $ H.wXF.0X7X6X4X2X<X:Xo #Xa.+XoX.X|.{.[.].)./.~.Q.c z o ",
-"X [ [ & & w F.qX7XZ.4X2X,X:Xo #Xa.+XoX.X}.{.[.'.e./.9.E.^.c z o ",
-"X ' _ * & PXKXbXHXLXJXDXSXSXvXAXcXZXxXVXCXzXzXBXMXNXkXjXjXz x o ",
-"X ` ` : & 2 8XZ.4X2XB.:X*Xg.@Xp.oX.X|.{.[.].).q.!.E.R.U.Y z f o ",
-"X ) ) 5 & ; <.4X2X>X:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ",
-"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ",
-"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ",
-"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ",
-"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ",
-"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ",
-"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ",
-"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ",
-"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ",
-"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ",
-"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.s.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.s.pm
deleted file mode 100644
index e2b9379..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.s.pm
+++ /dev/null
@@ -1,287 +0,0 @@
-/* XPM */
-static char *ProductIcon24[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #F1F1DFDFECEC",
-"+  c #D7D7ACACCDCD",
-"@  c #DFDFBBBBD6D6",
-"#  c #E2E2C4C4DBDB",
-"$  c #CECE9C9CC4C4",
-"%  c #C4C48B8BBABA",
-"&  c #C2C28A8ABABA",
-"*  c #C4C48E8EBCBC",
-"=  c #BFBF8A8AB9B9",
-"-  c #EBEBD9D9E9E9",
-";  c #BFBF8888B9B9",
-":  c #D8D8B9B9D6D6",
-">  c #B9B98686B9B9",
-",  c #B8B88989B9B9",
-"<  c #BBBB9393BFBF",
-"1  c #A9A97B7BB2B2",
-"2  c #E4E4D4D4E7E7",
-"3  c #C6C6AFAFCECE",
-"4  c #A6A68080B6B6",
-"5  c #A2A27E7EB4B4",
-"6  c #9E9E7E7EB1B1",
-"7  c #ABAB9090BBBB",
-"8  c #B7B7A0A0C5C5",
-"9  c #9D9D7C7CB2B2",
-"0  c #AAAA8B8BBEBE",
-"q  c #AAAA9090BCBC",
-"w  c #8C8C6B6BABAB",
-"e  c #90907070B1B1",
-"r  c #C4C4B3B3D7D7",
-"t  c #CDCDBFBFDDDD",
-"y  c #EAEAE4E4F1F1",
-"u  c #88886A6AADAD",
-"i  c #9E9E8585C1C1",
-"p  c #84846A6AAFAF",
-"a  c #81816B6BAAAA",
-"s  c #D7D7CFCFE6E6",
-"d  c #81816969B1B1",
-"f  c #78786363A5A5",
-"g  c #6E6E5D5D9C9C",
-"h  c #717160609D9D",
-"j  c #83837474AAAA",
-"k  c #6A6A5757A3A3",
-"l  c #6E6E5E5EA0A0",
-"z  c #5E5E50509292",
-"x  c #88887B7BBCBC",
-"c  c #68685858ABAB",
-"v  c #5A5A4D4DA2A2",
-"b  c #7D7D7373B4B4",
-"n  c #5A5A4E4EA6A6",
-"m  c #5F5F56569595",
-"M  c #56564A4ABBBB",
-"N  c #56564949B9B9",
-"B  c #55554949B8B8",
-"V  c #53534848B3B3",
-"C  c #54544949B4B4",
-"Z  c #52524747B0B0",
-"A  c #52524747AFAF",
-"S  c #5B5B53539393",
-"D  c #3E3E36369797",
-"F  c #49494040A6A6",
-"G  c #48484040A5A5",
-"H  c #55554A4ABABA",
-"J  c #54544949B7B7",
-"K  c #53534949B4B4",
-"L  c #51514747AFAF",
-"P  c #52524848B1B1",
-"I  c #51514848B0B0",
-"U  c #51514848AEAE",
-"Y  c #51514747ADAD",
-"T  c #51514848ADAD",
-"R  c #4F4F4747ABAB",
-"E  c #50504747ABAB",
-"W  c #50504646A9A9",
-"Q  c #4F4F4646A8A8",
-"!  c #4E4E4646A7A7",
-"~  c #4E4E4545A4A4",
-"^  c #4D4D4545A4A4",
-"/  c #4E4E4646A5A5",
-"(  c #4D4D4545A1A1",
-")  c #3D3D36367E7E",
-"_  c #4B4B44449C9C",
-"`  c #2A2A25257F7F",
-"'  c #3E3E37379898",
-"]  c #474740409C9C",
-"[  c #4D4D4646A4A4",
-"{  c #4C4C4545A2A2",
-"}  c #4D4D4646A2A2",
-"|  c #4D4D4646A1A1",
-" . c #4B4B45459F9F",
-".. c #4C4C45459F9F",
-"X. c #4C4C46469F9F",
-"o. c #4B4B45459D9D",
-"O. c #494943439898",
-"+. c #494944449A9A",
-"@. c #4A4A45459A9A",
-"#. c #494944449898",
-"$. c #484843439696",
-"%. c #494944449797",
-"&. c #484843439595",
-"*. c #51514C4CA1A1",
-"=. c #6B6B6767AEAE",
-"-. c #95959191C9C9",
-";. c #23231F1F7676",
-":. c #21211E1E7070",
-">. c #292925257F7F",
-",. c #252521217070",
-"<. c #242421216D6D",
-"1. c #2B2B27278080",
-"2. c #393935358C8C",
-"3. c #444440409494",
-"4. c #3B3B38388282",
-"5. c #474743439494",
-"6. c #484844449595",
-"7. c #474743439393",
-"8. c #474744449393",
-"9. c #464643439191",
-"0. c #454542428F8F",
-"q. c #4A4A47479898",
-"w. c #464643438F8F",
-"e. c #454542428D8D",
-"r. c #444441418B8B",
-"t. c #484844449191",
-"y. c #444441418989",
-"u. c #494946469090",
-"i. c #4C4C48489393",
-"p. c #51514E4E9E9E",
-"a. c #73737070B6B6",
-"s. c #77777474BBBB",
-"d. c #A0A09E9ED1D1",
-"f. c #D6D6D5D5EBEB",
-"g. c #0E0E0D0D5A5A",
-"h. c #11110F0F5E5E",
-"j. c #121211115E5E",
-"k. c #131312125F5F",
-"l. c #171716166363",
-"z. c #1D1D1B1B6868",
-"x. c #1D1D1C1C6868",
-"c. c #222221216E6E",
-"v. c #222221216D6D",
-"b. c #282827277474",
-"n. c #282827277373",
-"m. c #292928287373",
-"M. c #2F2F2E2E7979",
-"N. c #353534347F7F",
-"B. c #363635358181",
-"V. c #3C3C3B3B8585",
-"C. c #424241418C8C",
-"Z. c #424241418B8B",
-"A. c #444442428B8B",
-"S. c #434341418989",
-"D. c #434342428989",
-"F. c #424241418787",
-"G. c #414140408484",
-"H. c #474745458D8D",
-"J. c #434342428787",
-"K. c #424241418585",
-"L. c #414140408282",
-"P. c #494948489191",
-"I. c #4F4F4E4E9797",
-"U. c #59595757A6A6",
-"Y. c #5F5F5D5DA4A4",
-"T. c #6C6C6B6BB3B3",
-"R. c #7C7C7B7BB9B9",
-"E. c #A8A8A7A7D3D3",
-"W. c #0D0D0D0D5A5A",
-"Q. c #1F1F1F1F6C6C",
-"!. c #222222226E6E",
-"~. c #3B3B3B3B8585",
-"^. c #414141418C8C",
-"/. c #414141418B8B",
-"(. c #424242428B8B",
-"). c #484848489292",
-"_. c #404040408181",
-"`. c #4E4E4E4E9898",
-"'. c #555555559E9E",
-"]. c #555555559D9D",
-"[. c #5B5B5B5BA3A3",
-"{. c #5C5C5C5CA3A3",
-"}. c #61616161A9A9",
-"|. c #66666666AEAE",
-" X c #66666666ADAD",
-".X c #6B6B6B6BB2B2",
-"XX c #70707070B7B7",
-"oX c #6A6A6A6AADAD",
-"OX c #74747474BBBB",
-"+X c #89898989C2C2",
-"@X c #90909090C8C8",
-"#X c #8F8F8F8FC6C6",
-"$X c #92929292C6C6",
-"%X c #9F9F9F9FCFCF",
-"&X c #A5A5A5A5D2D2",
-"*X c #B5B5B5B5DBDB",
-"=X c #B8B8B8B8DEDE",
-"-X c #B7B7B7B7DCDC",
-";X c #BBBBBBBBDEDE",
-":X c #BDBDBDBDDFDF",
-">X c #C9C9C9C9E5E5",
-",X c #D1D1D1D1EAEA",
-"<X c #7C7C7D7DBABA",
-"1X c #89898A8AC7C7",
-"2X c #8F8F9090C7C7",
-"3X c #A3A3A4A4D3D3",
-"4X c #A2A2B5B5DEDE",
-"5X c #ADADBDBDE1E1",
-"6X c #B9B9C7C7E5E5",
-"7X c #BABAC8C8E6E6",
-"8X c #8E8EA6A6D6D6",
-"9X c #9090A7A7D7D7",
-"0X c #9191A9A9D7D7",
-"qX c #9292A9A9D8D8",
-"wX c #9494ABABD8D8",
-"eX c #9898AEAED9D9",
-"rX c #9B9BB0B0DADA",
-"tX c #9E9EB3B3DCDC",
-"yX c #A1A1B5B5DDDD",
-"uX c #A5A5B8B8DEDE",
-"iX c #A8A8BBBBE0E0",
-"pX c #ACACBEBEE1E1",
-"aX c #AFAFC0C0E3E3",
-"sX c #B3B3C3C3E4E4",
-"dX c #B2B2C2C2E3E3",
-"fX c #B5B5C5C5E5E5",
-"gX c #B8B8C7C7E6E6",
-"hX c #B6B6C5C5E4E4",
-"jX c #9797AEAED9D9",
-"kX c #A1A1B6B6DDDD",
-"lX c #A8A8BBBBDFDF",
-"zX c gray100",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X YX",
-"X _._.L.G.K.F.D.A.e.0.9.&.$.%.+._ ..{ ^ ! W E o ",
-"X L.L.L.G.F.F.D.r.e.0.9.7.&.O.@.o. .{ ~ ! Q E o ",
-"X L.G.G.K.F.S.y.r.e.w.9.5.$.+.@.o...( ~ ! W E o ",
-"X G.K.K.F.J.D.h 6 0 i x s.a.=.U.*...} ~ ! W E o ",
-"X K.F.F.F.S 7 : r d.1XOXXX.X|.}.[.p.| / ! W E o ",
-"X F.F.F.m 3 - s =X3X@XXXT. X}.[.].I.q.{ Q E T o ",
-"X S.D.H.8 O y ,X;X&X2X.X|.}.[.].I.P.C.3.Q E Y o ",
-"X A.r.j # 2 f.>X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ",
-"X e.u.q @ t :X-XE.$X<X}.[.].`.P.Z.V.N.M.2.Y L o ",
-"X 0.i.< + 8X8XqXwXeXrXtX4XuXlXpXaXsXfXgX7XY A o ",
-"X 9.t.* $ -.#X+XR.oX{.'.`.P.(.~.N.M.m.c.Q.T Z o ",
-"X 8.7.; % 8X9X0XwXeXrXtXyXuXiXpXaXdXfXgX7XL Z o ",
-"X 6.&.1 & b  X}.[.'.I.P./.~.N.M.n.!.x.l.:.I P o ",
-"X #.#.w = 8X9XqXwXjXrXtXkXuXiX5XaXsXhX6X7XP V o ",
-"X +.+.k > 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ",
-"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ",
-"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ",
-"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ",
-"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ",
-"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ",
-"X Q W Q W R W E E T T T L Z P V V K J J J B N o ",
-"X R E E E E E Y Y U L Z P P P C V J J B B H M o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.t.pm b/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.t.pm
deleted file mode 100644
index 3f6b21f..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/gtk/solaris/x86/Eclipse.t.pm
+++ /dev/null
@@ -1,279 +0,0 @@
-/* XPM */
-static char *ProductIcon16[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 257 2",
-"   c black",
-".  c gray100",
-"X  c #E2E2C0C0D9D9",
-"o  c #EDEDD9D9E8E8",
-"O  c #D5D5ABABCDCD",
-"+  c #E2E2C3C3DCDC",
-"@  c #C5C58E8EBCBC",
-"#  c #D4D4ABABCDCD",
-"$  c #CACA9F9FC6C6",
-"%  c #D6D6B4B4D3D3",
-"&  c #CACAA0A0C8C8",
-"*  c #C6C69D9DC6C6",
-"=  c #C5C59F9FC8C8",
-"-  c #CCCCACACCECE",
-";  c #CCCCB0B0D3D3",
-":  c #A6A68383B3B3",
-">  c #BABA9A9AC6C6",
-",  c #B7B79A9AC2C2",
-"<  c #E3E3D5D5E9E9",
-"1  c #B0B08E8EC0C0",
-"2  c #9F9F8080B8B8",
-"3  c #AFAF9898C1C1",
-"4  c #DBDBCFCFE5E5",
-"5  c #96967878B2B2",
-"6  c #9A9A7E7EBABA",
-"7  c #8E8E7878AFAF",
-"8  c #91917F7FBDBD",
-"9  c #D3D3CCCCE4E4",
-"0  c #535348488B8B",
-"q  c #69695A5AE8E8",
-"w  c #55554949B9B9",
-"e  c #55554949B8B8",
-"r  c #54544848B6B6",
-"t  c #53534848B4B4",
-"y  c #54544848B4B4",
-"u  c #53534848B3B3",
-"i  c #53534848B2B2",
-"p  c #52524747AFAF",
-"a  c #53534848B1B1",
-"s  c #54544949B8B8",
-"d  c #54544949B6B6",
-"f  c #52524848B3B3",
-"g  c #52524848B2B2",
-"h  c #53534949B3B3",
-"j  c #52524848B1B1",
-"k  c #52524848B0B0",
-"l  c #51514747AEAE",
-"z  c #52524848AFAF",
-"x  c #51514848AEAE",
-"c  c #51514747ADAD",
-"v  c #51514747ACAC",
-"b  c #4F4F4646AAAA",
-"n  c #51514848ADAD",
-"m  c #50504747ABAB",
-"M  c #50504747AAAA",
-"N  c #4F4F4646A8A8",
-"B  c #50504747A9A9",
-"V  c #4E4E4646A7A7",
-"C  c #4E4E4646A6A6",
-"Z  c #4F4F4646A6A6",
-"A  c #4F4F4747A7A7",
-"S  c #4D4D4545A3A3",
-"D  c #4D4D4545A2A2",
-"F  c #4C4C45459E9E",
-"G  c #74746E6EB3B3",
-"H  c #2E2E29298383",
-"J  c #383832329090",
-"K  c #464640409999",
-"L  c #4D4D4646A2A2",
-"P  c #4E4E4747A3A3",
-"I  c #4B4B45459F9F",
-"U  c #4B4B45459E9E",
-"Y  c #4C4C46469F9F",
-"T  c #4A4A44449B9B",
-"R  c #4A4A44449A9A",
-"E  c #494943439797",
-"W  c #494944449797",
-"Q  c #484843439494",
-"!  c #78787474B8B8",
-"~  c #272724247878",
-"^  c #2D2D2A2A7575",
-"/  c #484844449797",
-"(  c #474743439393",
-")  c #454542429090",
-"_  c #4B4B48489A9A",
-"`  c #464643438F8F",
-"'  c #464643438E8E",
-"]  c #454542428C8C",
-"[  c #51514D4DA0A0",
-"{  c #5C5C5959A5A5",
-"}  c #535350509090",
-"|  c #C8C8C7C7E3E3",
-" . c #121211115D5D",
-".. c #1A1A19196565",
-"X. c #242422226D6D",
-"o. c #3F3F3E3E8888",
-"O. c #444442428D8D",
-"+. c #444442428989",
-"@. c #424241418787",
-"#. c #454543438A8A",
-"$. c #434342428888",
-"%. c #424241418686",
-"&. c #414140408484",
-"*. c #414140408383",
-"=. c #424240408383",
-"-. c #414140408282",
-";. c #474746468D8D",
-":. c #464644448989",
-">. c #525251519999",
-",. c #64646363AAAA",
-"<. c #61615F5FA2A2",
-"1. c #6E6E6C6CB2B2",
-"2. c #A5A5A4A4D3D3",
-"3. c #B0B0AFAFD6D6",
-"4. c #111112125D5D",
-"5. c #19191A1A6565",
-"6. c #1E1E1E1E6C6C",
-"7. c #222222226D6D",
-"8. c #2B2B2B2B7676",
-"9. c #2B2B2B2B7575",
-"0. c #2B2B2C2C7575",
-"q. c #343435357F7F",
-"w. c #343435357E7E",
-"e. c #353535357F7F",
-"r. c #3E3E3E3E8888",
-"t. c #3E3E3E3E8787",
-"y. c #414141418484",
-"u. c #404040408282",
-"i. c #484849499191",
-"p. c #494949499191",
-"a. c #484848489090",
-"s. c #484849499090",
-"d. c #404040408080",
-"f. c #525252529A9A",
-"g. c #525252529999",
-"h. c #5B5B5B5BA3A3",
-"j. c #5B5B5B5BA2A2",
-"k. c #64646464ABAB",
-"l. c #63636464AAAA",
-"z. c #6B6B6C6CB2B2",
-"x. c #72727373B9B9",
-"c. c #71717171A4A4",
-"v. c #78787878ABAB",
-"b. c #7F7F7F7FB1B1",
-"n. c #8C8C8C8CBEBE",
-"m. c #A5A5A5A5D2D2",
-"M. c #C9C9C9C9E5E5",
-"N. c #85858686B7B7",
-"B. c #91919292C4C4",
-"V. c #71718989BCBC",
-"C. c #73738B8BBEBE",
-"Z. c #75758D8DC0C0",
-"A. c #78789090C3C3",
-"S. c #7A7A9292C5C5",
-"D. c #71718A8ABDBD",
-"F. c #76768E8EC0C0",
-"G. c #78789090C2C2",
-"H. c #7B7B9393C5C5",
-"J. c #7D7D9595C7C7",
-"K. c #80809999CACA",
-"L. c #7E7E9696C7C7",
-"P. c #83839B9BCDCD",
-"I. c #83839B9BCCCC",
-"U. c #86869E9ECFCF",
-"Y. c #8888A1A1D1D1",
-"T. c #8A8AA2A2D3D3",
-"R. c #8989A1A1D1D1",
-"E. c #8B8BA3A3D3D3",
-"W. c gray100",
-"Q. c black",
-"!. c black",
-"~. c black",
-"^. c black",
-"/. c black",
-"(. c black",
-"). c black",
-"_. c black",
-"`. c black",
-"'. c black",
-"]. c black",
-"[. c black",
-"{. c black",
-"}. c black",
-"|. c black",
-" X c black",
-".X c black",
-"XX c black",
-"oX c black",
-"OX c black",
-"+X c black",
-"@X c black",
-"#X c black",
-"$X c black",
-"%X c black",
-"&X c black",
-"*X c black",
-"=X c black",
-"-X c black",
-";X c black",
-":X c black",
-">X c black",
-",X c black",
-"<X c black",
-"1X c black",
-"2X c black",
-"3X c black",
-"4X c black",
-"5X c black",
-"6X c black",
-"7X c black",
-"8X c black",
-"9X c black",
-"0X c black",
-"qX c black",
-"wX c black",
-"eX c black",
-"rX c black",
-"tX c black",
-"yX c black",
-"uX c black",
-"iX c black",
-"pX c black",
-"aX c black",
-"sX c black",
-"dX c black",
-"fX c black",
-"gX c black",
-"hX c black",
-"jX c black",
-"kX c black",
-"lX c black",
-"zX c black",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXq q q q q q q q q q q q q q YX",
-"q d.-.y.%.+.O.` ( E R U D C B p.",
-"q u.*.&.$.#.] ) Q W T F L V M p.",
-"q =.y.} , % ; 8 ! 1.{ [ S Z b p.",
-"q @.:.- o 4 2.x.z.,.j.>._ A m p.",
-"q +.: X < M.m.z.l.j.g.s.r.K v p.",
-"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.",
-"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.",
-"q ( # @ G k.h.g.i.t.e.9.7.6.z p.",
-"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.",
-"q T 2 & 5 f.a.o.q.8.7...4.J u p.",
-"q I Y 1 = 7 ;.w.0.7.5. .H f y p.",
-"q L D P 6 > 3 0 ^ X.~ J i t d p.",
-"q C C V A N M m n p k g y r e p.",
-"q M b M m m c x p j h y d s w p.",
-"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/icon.xpm b/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/icon.xpm
deleted file mode 100644
index 65404c7..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/icon.xpm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #695AE8",
-"o  c #494991",
-"O  c #CE92BF",
-"+  c #E7CAE0",
-"@  c #C88CBB",
-"#  c #C28ABA",
-"$  c #EAD7E8",
-"%  c #CFA9CC",
-"&  c #D9BCD8",
-"*  c #B687B9",
-"=  c #C399C7",
-"-  c #A77DB5",
-";  c #BDA3CD",
-":  c #D8CAE3",
-">  c #A88DC4",
-",  c #9275B2",
-"<  c #876CAA",
-"1  c #9A83BA",
-"2  c #7B63A3",
-"3  c #665495",
-"4  c #735FAD",
-"5  c #625192",
-"6  c #7F72A7",
-"7  c #6D5E9E",
-"8  c #6454A9",
-"9  c #7769B1",
-"0  c #493E82",
-"q  c #7D73B6",
-"w  c #5B4EAD",
-"e  c #5549BA",
-"r  c #5649BA",
-"t  c #564ABA",
-"y  c #5649B9",
-"u  c #5549B8",
-"i  c #4F44AC",
-"p  c #5348B4",
-"a  c #5348B3",
-"s  c #5449B5",
-"d  c #5247B0",
-"f  c #5247AF",
-"g  c #5449B3",
-"h  c #DEDCEE",
-"j  c #3E3698",
-"k  c #433B9F",
-"l  c #332C77",
-"z  c #423A9C",
-"x  c #4A40A8",
-"c  c #554ABA",
-"v  c #554AB9",
-"b  c #5449B7",
-"n  c #5248B1",
-"m  c #5147AE",
-"M  c #4E45A9",
-"N  c #4941A0",
-"B  c #5248AF",
-"V  c #5148AE",
-"C  c #5047AC",
-"Z  c #4F46AA",
-"A  c #5148AD",
-"S  c #5047AB",
-"D  c #5048AC",
-"F  c #5047A9",
-"G  c #4E46A7",
-"H  c #4E45A4",
-"J  c #4D45A4",
-"K  c #4F47A8",
-"L  c #4E46A5",
-"P  c #4D45A3",
-"I  c #3B357D",
-"U  c #4E46A3",
-"Y  c #554D9F",
-"T  c #4A4389",
-"R  c #514B90",
-"E  c #6760A5",
-"W  c #1D186A",
-"Q  c #27227D",
-"!  c #28237D",
-"~  c #2B2681",
-"^  c #332C89",
-"/  c #3B368E",
-"(  c #454097",
-")  c #4D46A4",
-"_  c #4C45A1",
-"`  c #4D46A2",
-"'  c #4B45A0",
-"]  c #4D46A1",
-"[  c #4C459F",
-"{  c #4B459E",
-"}  c #4A449C",
-"|  c #494498",
-" . c #484396",
-".. c #4A4599",
-"X. c #4F4AA0",
-"o. c #6863AA",
-"O. c #211D76",
-"+. c #242075",
-"@. c #2D2A7F",
-"#. c #2D2A7B",
-"$. c #3D398F",
-"%. c #484496",
-"&. c #474393",
-"*. c #464391",
-"=. c #45428E",
-"-. c #4D4A9C",
-";. c #5754A3",
-":. c #5A5897",
-">. c #5F5D99",
-",. c #8582C1",
-"<. c #9592C9",
-"1. c #B8B6DC",
-"2. c #070553",
-"3. c #080755",
-"4. c #0A0957",
-"5. c #0C0B58",
-"6. c #0F0D5C",
-"7. c #100F5C",
-"8. c #131164",
-"9. c #141360",
-"0. c #14135F",
-"q. c #171567",
-"w. c #161562",
-"e. c #161561",
-"r. c #181764",
-"t. c #1A1966",
-"y. c #1C1A64",
-"u. c #1D1C68",
-"i. c #1F1E6A",
-"p. c #22216C",
-"a. c #24236F",
-"s. c #272571",
-"d. c #272672",
-"f. c #272671",
-"g. c #292874",
-"h. c #2A2974",
-"j. c #2C2B77",
-"k. c #2F2E7C",
-"l. c #2E2D79",
-"z. c #34337E",
-"x. c #393786",
-"c. c #373681",
-"v. c #3A3984",
-"b. c #3A3983",
-"n. c #3D3B86",
-"m. c #42418C",
-"M. c #42418B",
-"N. c #44428B",
-"B. c #434189",
-"V. c #45448E",
-"C. c #45448D",
-"Z. c #424187",
-"A. c #434288",
-"S. c #444287",
-"D. c #424185",
-"F. c #414083",
-"G. c #484790",
-"H. c #434286",
-"J. c #4A4993",
-"K. c #46458A",
-"L. c #4D4C95",
-"P. c #5452A0",
-"I. c #504F98",
-"U. c #5857A0",
-"Y. c #525093",
-"T. c #5B59A2",
-"R. c #58579F",
-"E. c #6261A9",
-"W. c #6463AC",
-"Q. c #6B6AB2",
-"!. c #6B6AB1",
-"~. c #7574B8",
-"^. c #7F7DBD",
-"/. c #9C9BCF",
-"(. c #0B0B58",
-"). c #0D0D5A",
-"_. c #11115E",
-"`. c #131360",
-"'. c #21216D",
-"]. c #24246F",
-"[. c #2B2C77",
-"{. c #2B2B77",
-"}. c #2C2C77",
-"|. c #2E2E79",
-" X c #31317C",
-".X c #31317B",
-"XX c #34347E",
-"oX c #3C3C86",
-"OX c #3F3F89",
-"+X c #41428B",
-"@X c #42428B",
-"#X c #474790",
-"$X c #414184",
-"%X c #404081",
-"&X c #4A4A94",
-"*X c #4A4A93",
-"=X c #4D4D96",
-"-X c #4F4F98",
-";X c #505098",
-":X c #52529B",
-">X c #55559E",
-",X c #55559D",
-"<X c #5758A0",
-"1X c #5858A0",
-"2X c #57589F",
-"3X c #57579F",
-"4X c #5A5AA2",
-"5X c #5D5DA5",
-"6X c #5F5FA7",
-"7X c #6162AA",
-"8X c #6161A9",
-"9X c #6162A9",
-"0X c #6262AA",
-"qX c #6464AC",
-"wX c #6262A9",
-"eX c #6464AB",
-"rX c #6666AE",
-"tX c #6666AD",
-"yX c #6868B0",
-"uX c #6969AF",
-"iX c #6D6DB4",
-"pX c #6F6FB5",
-"aX c #7373BA",
-"sX c #7171B7",
-"dX c #7676BC",
-"fX c #7979BF",
-"gX c #7777B9",
-"hX c #8080C1",
-"jX c #8C8CC5",
-"kX c #9090C9",
-"lX c #9898CB",
-"zX c #A0A0CF",
-"xX c #A5A5D3",
-"cX c #ABABD6",
-"vX c #C4C4E3",
-"bX c #D1D1E9",
-"nX c #E5E5F3",
-"mX c #9FA0D1",
-"MX c #B6C5E5",
-"NX c #8EA6D6",
-"BX c #90A7D7",
-"VX c #91A9D7",
-"CX c #95ABD8",
-"ZX c #99AFDA",
-"AX c #9DB2DC",
-"SX c #A1B5DD",
-"DX c #A5B8DE",
-"FX c #A9BBE0",
-"GX c #ACBDE1",
-"HX c #B0C1E3",
-"JX c #B4C4E4",
-"KX c #B8C7E5",
-"LX c #BBC9E6",
-"PX c #AEC0E2",
-"IX c #B2C3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/libXm.so.2 b/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/libXm.so.2
deleted file mode 100644
index dc827a9..0000000
--- a/bundles/org.eclipse.equinox.executable/bin/motif/linux/x86/libXm.so.2
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/build.properties b/bundles/org.eclipse.equinox.executable/build.properties
deleted file mode 100644
index d156bd9..0000000
--- a/bundles/org.eclipse.equinox.executable/build.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#custom = true
-p2.group.id = org.eclipse.equinox.executable
-customBuildCallbacks=customBuildCallbacks.xml
-bin.includes = bin/,\
-               feature.xml,\
-               target.build.properties,\
-               feature.properties,\
-               gtk_root/,\
-               motif_root/,\
-               target.build.xml,\
-               license.html,\
-               epl-v10.html,\
-               eclipse_update_120.jpg,\
-               contributed/
-
-#Bug 139066 Launcher feature should not contain icons and splash screen
-bin.excludes=bin/**/Eclipse.icns,bin/**/icon.xpm,bin/**/*.pm,bin/**/splash.bmp
-# If we need to regenerate the build.xml, this line must be included at the end of the gather.bin.parts target.
-#	<move file="${feature.base}/features/org.eclipse.platform.launchers_3.1.0/target.build.properties" tofile="${feature.base}/features/org.eclipse.platform.launchers_3.1.0/build.properties"/>
diff --git a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.l.pm b/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.l.pm
deleted file mode 100644
index 995d7c9..0000000
--- a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.l.pm
+++ /dev/null
@@ -1,311 +0,0 @@
-/* XPM */
-static char *ProductIcon48[] = {
-/* columns rows colors chars-per-pixel */
-"48 48 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #CECE9292BFBF",
-"+  c #E7E7CACAE0E0",
-"@  c #C8C88C8CBBBB",
-"#  c #C2C28A8ABABA",
-"$  c #EAEAD7D7E8E8",
-"%  c #CFCFA9A9CCCC",
-"&  c #D9D9BCBCD8D8",
-"*  c #B6B68787B9B9",
-"=  c #C3C39999C7C7",
-"-  c #A7A77D7DB5B5",
-";  c #BDBDA3A3CDCD",
-":  c #D8D8CACAE3E3",
-">  c #A8A88D8DC4C4",
-",  c #92927575B2B2",
-"<  c #87876C6CAAAA",
-"1  c #9A9A8383BABA",
-"2  c #7B7B6363A3A3",
-"3  c #666654549595",
-"4  c #73735F5FADAD",
-"5  c #626251519292",
-"6  c #7F7F7272A7A7",
-"7  c #6D6D5E5E9E9E",
-"8  c #64645454A9A9",
-"9  c #77776969B1B1",
-"0  c #49493E3E8282",
-"q  c #7D7D7373B6B6",
-"w  c #5B5B4E4EADAD",
-"e  c #55554949BABA",
-"r  c #56564949BABA",
-"t  c #56564A4ABABA",
-"y  c #56564949B9B9",
-"u  c #55554949B8B8",
-"i  c #4F4F4444ACAC",
-"p  c #53534848B4B4",
-"a  c #53534848B3B3",
-"s  c #54544949B5B5",
-"d  c #52524747B0B0",
-"f  c #52524747AFAF",
-"g  c #54544949B3B3",
-"h  c #DEDEDCDCEEEE",
-"j  c #3E3E36369898",
-"k  c #43433B3B9F9F",
-"l  c #33332C2C7777",
-"z  c #42423A3A9C9C",
-"x  c #4A4A4040A8A8",
-"c  c #55554A4ABABA",
-"v  c #55554A4AB9B9",
-"b  c #54544949B7B7",
-"n  c #52524848B1B1",
-"m  c #51514747AEAE",
-"M  c #4E4E4545A9A9",
-"N  c #49494141A0A0",
-"B  c #52524848AFAF",
-"V  c #51514848AEAE",
-"C  c #50504747ACAC",
-"Z  c #4F4F4646AAAA",
-"A  c #51514848ADAD",
-"S  c #50504747ABAB",
-"D  c #50504848ACAC",
-"F  c #50504747A9A9",
-"G  c #4E4E4646A7A7",
-"H  c #4E4E4545A4A4",
-"J  c #4D4D4545A4A4",
-"K  c #4F4F4747A8A8",
-"L  c #4E4E4646A5A5",
-"P  c #4D4D4545A3A3",
-"I  c #3B3B35357D7D",
-"U  c #4E4E4646A3A3",
-"Y  c #55554D4D9F9F",
-"T  c #4A4A43438989",
-"R  c #51514B4B9090",
-"E  c #67676060A5A5",
-"W  c #1D1D18186A6A",
-"Q  c #272722227D7D",
-"!  c #282823237D7D",
-"~  c #2B2B26268181",
-"^  c #33332C2C8989",
-"/  c #3B3B36368E8E",
-"(  c #454540409797",
-")  c #4D4D4646A4A4",
-"_  c #4C4C4545A1A1",
-"`  c #4D4D4646A2A2",
-"'  c #4B4B4545A0A0",
-"]  c #4D4D4646A1A1",
-"[  c #4C4C45459F9F",
-"{  c #4B4B45459E9E",
-"}  c #4A4A44449C9C",
-"|  c #494944449898",
-" . c #484843439696",
-".. c #4A4A45459999",
-"X. c #4F4F4A4AA0A0",
-"o. c #68686363AAAA",
-"O. c #21211D1D7676",
-"+. c #242420207575",
-"@. c #2D2D2A2A7F7F",
-"#. c #2D2D2A2A7B7B",
-"$. c #3D3D39398F8F",
-"%. c #484844449696",
-"&. c #474743439393",
-"*. c #464643439191",
-"=. c #454542428E8E",
-"-. c #4D4D4A4A9C9C",
-";. c #57575454A3A3",
-":. c #5A5A58589797",
-">. c #5F5F5D5D9999",
-",. c #85858282C1C1",
-"<. c #95959292C9C9",
-"1. c #B8B8B6B6DCDC",
-"2. c #070705055353",
-"3. c #080807075555",
-"4. c #0A0A09095757",
-"5. c #0C0C0B0B5858",
-"6. c #0F0F0D0D5C5C",
-"7. c #10100F0F5C5C",
-"8. c #131311116464",
-"9. c #141413136060",
-"0. c #141413135F5F",
-"q. c #171715156767",
-"w. c #161615156262",
-"e. c #161615156161",
-"r. c #181817176464",
-"t. c #1A1A19196666",
-"y. c #1C1C1A1A6464",
-"u. c #1D1D1C1C6868",
-"i. c #1F1F1E1E6A6A",
-"p. c #222221216C6C",
-"a. c #242423236F6F",
-"s. c #272725257171",
-"d. c #272726267272",
-"f. c #272726267171",
-"g. c #292928287474",
-"h. c #2A2A29297474",
-"j. c #2C2C2B2B7777",
-"k. c #2F2F2E2E7C7C",
-"l. c #2E2E2D2D7979",
-"z. c #343433337E7E",
-"x. c #393937378686",
-"c. c #373736368181",
-"v. c #3A3A39398484",
-"b. c #3A3A39398383",
-"n. c #3D3D3B3B8686",
-"m. c #424241418C8C",
-"M. c #424241418B8B",
-"N. c #444442428B8B",
-"B. c #434341418989",
-"V. c #454544448E8E",
-"C. c #454544448D8D",
-"Z. c #424241418787",
-"A. c #434342428888",
-"S. c #444442428787",
-"D. c #424241418585",
-"F. c #414140408383",
-"G. c #484847479090",
-"H. c #434342428686",
-"J. c #4A4A49499393",
-"K. c #464645458A8A",
-"L. c #4D4D4C4C9595",
-"P. c #54545252A0A0",
-"I. c #50504F4F9898",
-"U. c #58585757A0A0",
-"Y. c #525250509393",
-"T. c #5B5B5959A2A2",
-"R. c #585857579F9F",
-"E. c #62626161A9A9",
-"W. c #64646363ACAC",
-"Q. c #6B6B6A6AB2B2",
-"!. c #6B6B6A6AB1B1",
-"~. c #75757474B8B8",
-"^. c #7F7F7D7DBDBD",
-"/. c #9C9C9B9BCFCF",
-"(. c #0B0B0B0B5858",
-"). c #0D0D0D0D5A5A",
-"_. c #111111115E5E",
-"`. c #131313136060",
-"'. c #212121216D6D",
-"]. c #242424246F6F",
-"[. c #2B2B2C2C7777",
-"{. c #2B2B2B2B7777",
-"}. c #2C2C2C2C7777",
-"|. c #2E2E2E2E7979",
-" X c #313131317C7C",
-".X c #313131317B7B",
-"XX c #343434347E7E",
-"oX c #3C3C3C3C8686",
-"OX c #3F3F3F3F8989",
-"+X c #414142428B8B",
-"@X c #424242428B8B",
-"#X c #474747479090",
-"$X c #414141418484",
-"%X c #404040408181",
-"&X c #4A4A4A4A9494",
-"*X c #4A4A4A4A9393",
-"=X c #4D4D4D4D9696",
-"-X c #4F4F4F4F9898",
-";X c #505050509898",
-":X c #525252529B9B",
-">X c #555555559E9E",
-",X c #555555559D9D",
-"<X c #57575858A0A0",
-"1X c #58585858A0A0",
-"2X c #575758589F9F",
-"3X c #575757579F9F",
-"4X c #5A5A5A5AA2A2",
-"5X c #5D5D5D5DA5A5",
-"6X c #5F5F5F5FA7A7",
-"7X c #61616262AAAA",
-"8X c #61616161A9A9",
-"9X c #61616262A9A9",
-"0X c #62626262AAAA",
-"qX c #64646464ACAC",
-"wX c #62626262A9A9",
-"eX c #64646464ABAB",
-"rX c #66666666AEAE",
-"tX c #66666666ADAD",
-"yX c #68686868B0B0",
-"uX c #69696969AFAF",
-"iX c #6D6D6D6DB4B4",
-"pX c #6F6F6F6FB5B5",
-"aX c #73737373BABA",
-"sX c #71717171B7B7",
-"dX c #76767676BCBC",
-"fX c #79797979BFBF",
-"gX c #77777777B9B9",
-"hX c #80808080C1C1",
-"jX c #8C8C8C8CC5C5",
-"kX c #90909090C9C9",
-"lX c #98989898CBCB",
-"zX c #A0A0A0A0CFCF",
-"xX c #A5A5A5A5D3D3",
-"cX c #ABABABABD6D6",
-"vX c #C4C4C4C4E3E3",
-"bX c #D1D1D1D1E9E9",
-"nX c #E5E5E5E5F3F3",
-"mX c #9F9FA0A0D1D1",
-"MX c #B6B6C5C5E5E5",
-"NX c #8E8EA6A6D6D6",
-"BX c #9090A7A7D7D7",
-"VX c #9191A9A9D7D7",
-"CX c #9595ABABD8D8",
-"ZX c #9999AFAFDADA",
-"AX c #9D9DB2B2DCDC",
-"SX c #A1A1B5B5DDDD",
-"DX c #A5A5B8B8DEDE",
-"FX c #A9A9BBBBE0E0",
-"GX c #ACACBDBDE1E1",
-"HX c #B0B0C1C1E3E3",
-"JX c #B4B4C4C4E4E4",
-"KX c #B8B8C7C7E5E5",
-"LX c #BBBBC9C9E6E6",
-"PX c #AEAEC0C0E2E2",
-"IX c #B2B2C3C3E3E3",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X %X%X%XF.F.F.F.$XD.Z.Z.Z.B.B.B.N.N.=.=.=.*.*.*.&.&. . .| ....} } { { _ _ P P H G G G K S S C o ",
-"X %X%X%X%XF.F.$XD.D.Z.Z.B.A.B.N.N.N.=.=.=.*.*.&.&.%.%.%.| | ..} { { [ _ _ ` U J L G K F Z S C o ",
-"X %X%X%X%XF.F.F.D.D.H.Z.Z.A.B.N.N.N.C.=.=.*.*.&.&. . .%.| | ..} } { [ [ _ P P H G G K F S S C o ",
-"X %XF.%XF.F.$XF.$XZ.Z.Z.B.A.K.Y.7 , - - 1 1 ^.^.~.aX~.q 9 6XY { } { ' _ ] P P H L G K F Z S C o ",
-"X %XF.F.F.F.F.D.D.Z.Z.Z.K.:.1 ; % ; <.hXfXfXdXaXaXsXpXiX!.yXrXo.;.X.[ _ _ ` H H G K K F S S C o ",
-"X F.F.F.F.F.D.D.D.Z.H.Y.1 & & 1.cXmX/.kXfXdXaXaXsXpXiXQ.yXtXeXE.6X5XP.X._ ` J L G G K F Z S C o ",
-"X D.$XF.$XD.D.Z.Z.S.>.% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ",
-"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ",
-"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ",
-"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ",
-"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ",
-"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ",
-"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ",
-"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ",
-"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ",
-"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ",
-"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ",
-"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ",
-"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ",
-"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4X<X,X:XI.=X*XG.V.M.OXn.v.c.XX.X|.j.g.d.a.p.i.u.@.f d o ",
-"X *.=.# @ ^.dXaXaXsXpXiXQ.yXrXeXwX6X5XT.U.,X:X-XL.&XG.C.m.OXoXv.c.z..X|.j.g.f.a.p.i.u.t.+.d d o ",
-"X *.*.@ @ NXNXNXBXVXVXCXCXCXCXZXZXZXZXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXJXJXJXMXKXKXKXLXLXLXd n o ",
-"X &.*.@ @ dXaXsXpXiXQ.yXtXeXE.6X5X4XU.>X:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ",
-"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ",
-"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ",
-"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ",
-"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ",
-"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ",
-"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ",
-"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ",
-"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ",
-"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ",
-"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ",
-"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ",
-"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ",
-"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ",
-"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ",
-"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ",
-"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ",
-"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ",
-"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ",
-"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ",
-"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ",
-"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ",
-"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ",
-"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.m.pm b/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.m.pm
deleted file mode 100644
index e64aa0c..0000000
--- a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.m.pm
+++ /dev/null
@@ -1,295 +0,0 @@
-/* XPM */
-static char *ProductIcon32[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #E8E8CBCBE0E0",
-"+  c #DDDDB3B3D2D2",
-"@  c #F0F0DDDDEBEB",
-"#  c #CDCD9191BEBE",
-"$  c #C8C88B8BBBBB",
-"%  c #CACA9898C2C2",
-"&  c #C3C38A8ABBBB",
-"*  c #BABA8787B9B9",
-"=  c #DCDCC4C4DEDE",
-"-  c #C5C5A3A3CACA",
-";  c #ADAD8181B8B8",
-":  c #A3A37A7AB5B5",
-">  c #E2E2D6D6E9E9",
-",  c #B3B39A9AC4C4",
-"<  c #EBEBE3E3F0F0",
-"1  c #C9C9B6B6D6D6",
-"2  c #96967676B8B8",
-"3  c #8C8C7171ABAB",
-"4  c #A4A49292BEBE",
-"5  c #7D7D6565A6A6",
-"6  c #83836D6DABAB",
-"7  c #9A9A8787C2C2",
-"8  c #7B7B6464B7B7",
-"9  c #5E5E50509191",
-"0  c #646457579A9A",
-"q  c #85857B7BBEBE",
-"w  c #7C7C7373B6B6",
-"e  c #62625353D5D5",
-"r  c #61615353D4D4",
-"t  c #60605252D1D1",
-"y  c #5F5F5252D0D0",
-"u  c #5F5F5151CFCF",
-"i  c #60605353D2D2",
-"p  c #5F5F5252CFCF",
-"a  c #5E5E5151CDCD",
-"s  c #5C5C4F4FC7C7",
-"d  c #5F5F5252CDCD",
-"f  c #5E5E5151CBCB",
-"g  c #5B5B4F4FC4C4",
-"h  c #5A5A4E4EC1C1",
-"j  c #71716969B0B0",
-"k  c #48483E3EADAD",
-"l  c #5D5D5151CDCD",
-"z  c #5C5C5050C9C9",
-"x  c #5D5D5151CBCB",
-"c  c #5C5C5050C7C7",
-"v  c #5B5B4F4FC6C6",
-"b  c #5B5B5050C6C6",
-"n  c #59594E4EC1C1",
-"m  c #58584D4DBFBF",
-"M  c #59594F4FC2C2",
-"N  c #5A5A4F4FC2C2",
-"B  c #58584D4DBCBC",
-"V  c #57574D4DBCBC",
-"C  c #59594E4EBEBE",
-"Z  c #58584E4EBDBD",
-"A  c #58584D4DBBBB",
-"S  c #57574D4DBABA",
-"D  c #56564D4DB9B9",
-"F  c #56564C4CB6B6",
-"G  c #55554C4CB6B6",
-"H  c #54544B4BB4B4",
-"J  c #54544B4BB1B1",
-"K  c #53534B4BB1B1",
-"L  c #52524A4AAEAE",
-"P  c #51514949ACAC",
-"I  c #51514949ABAB",
-"U  c #474741418787",
-"Y  c #32322C2C8F8F",
-"T  c #2B2B25257777",
-"R  c #36362F2F9696",
-"E  c #2B2B26266E6E",
-"W  c #4D4D4545ACAC",
-"Q  c #55554D4DB8B8",
-"!  c #54544C4CB4B4",
-"~  c #54544C4CB3B3",
-"^  c #51514A4AACAC",
-"/  c #51514A4AABAB",
-"(  c #50504949A9A9",
-")  c #4F4F4949A6A6",
-"_  c #4C4C4747A1A1",
-"`  c #4E4E4848A3A3",
-"'  c #4D4D4848A1A1",
-"]  c #4B4B46469C9C",
-"[  c #4C4C47479E9E",
-"{  c #51514C4CA6A6",
-"}  c #A9A9A6A6D5D5",
-"|  c #1E1E1A1A6666",
-" . c #292925258181",
-".. c #3D3D39399292",
-"X. c #4A4A46469B9B",
-"o. c #53534E4EABAB",
-"O. c #494945459797",
-"+. c #4A4A46469999",
-"@. c #474744449494",
-"#. c #484845459494",
-"$. c #474744449292",
-"%. c #464643439090",
-"&. c #464642428D8D",
-"*. c #54545050A9A9",
-"=. c #474744448F8F",
-"-. c #4C4C49499999",
-";. c #57575454A6A6",
-":. c #5B5B5757AAAA",
-">. c #545451519B9B",
-",. c #5A5A57579C9C",
-"<. c #65656262A7A7",
-"1. c #68686666A2A2",
-"2. c #CACAC9C9E5E5",
-"3. c #050504045151",
-"4. c #080807075454",
-"5. c #0A0A09095858",
-"6. c #0C0C0A0A5858",
-"7. c #10100E0E6262",
-"8. c #0E0E0D0D5A5A",
-"9. c #121211115D5D",
-"0. c #131312125D5D",
-"q. c #161615156161",
-"w. c #171716166161",
-"e. c #1A1A19196565",
-"r. c #20201E1E7070",
-"t. c #1E1E1D1D6969",
-"y. c #2A2A29297676",
-"u. c #2F2F2D2D7676",
-"i. c #3A3A39398787",
-"p. c #3A3A39398383",
-"a. c #3F3F3E3E8888",
-"s. c #414140408989",
-"d. c #454543438D8D",
-"f. c #444442428B8B",
-"g. c #444443438C8C",
-"h. c #434342428A8A",
-"j. c #434341418888",
-"k. c #434342428989",
-"l. c #424241418787",
-"z. c #434342428787",
-"x. c #424241418585",
-"c. c #41413F3F8181",
-"v. c #414140408282",
-"b. c #484846468D8D",
-"n. c #494948489090",
-"m. c #4B4B4A4A9191",
-"M. c #4B4B49498E8E",
-"N. c #525251519A9A",
-"B. c #525251519999",
-"V. c #565654549A9A",
-"C. c #545453539494",
-"Z. c #60605F5FA7A7",
-"A. c #64646363ABAB",
-"S. c #5A5A59599797",
-"D. c #68686767ADAD",
-"F. c #6C6C6B6BB2B2",
-"G. c #5E5E5D5D9A9A",
-"H. c #76767575BABA",
-"J. c #78787777BBBB",
-"K. c #76767474B5B5",
-"L. c #7E7E7D7DBABA",
-"P. c #A5A5A4A4D2D2",
-"I. c #040404045252",
-"U. c #070707075454",
-"Y. c #070708085353",
-"T. c #080808085454",
-"R. c #0A0A0B0B5757",
-"E. c #0E0E0E0E5A5A",
-"W. c #111112125E5E",
-"Q. c #111111115E5E",
-"!. c #111111115D5D",
-"~. c #111112125D5D",
-"^. c #161616166868",
-"/. c #151516166161",
-"(. c #151515156161",
-"). c #19191A1A6565",
-"_. c #191919196565",
-"`. c #1A1A1A1A6464",
-"'. c #1D1D1E1E6969",
-"]. c #1E1E1E1E6969",
-"[. c #222222226D6D",
-"{. c #272727277171",
-"}. c #2B2B2C2C7676",
-"|. c #2B2B2B2B7676",
-" X c #2B2B2B2B7575",
-".X c #303030307A7A",
-"XX c #303030307979",
-"oX c #353535357F7F",
-"OX c #393939398383",
-"+X c #3A3A3A3A8383",
-"@X c #3F3F3F3F8787",
-"#X c #434343438C8C",
-"$X c #434344448C8C",
-"%X c #424242428686",
-"&X c #414141418484",
-"*X c #484848489191",
-"=X c #484849499090",
-"-X c #4D4D4D4D9696",
-";X c #515151519D9D",
-":X c #4D4D4D4D9595",
-">X c #515152529A9A",
-",X c #515152529999",
-"<X c #525252529A9A",
-"1X c #525252529999",
-"2X c #565657579E9E",
-"3X c #575757579D9D",
-"4X c #5B5B5B5BA2A2",
-"5X c #5F5F6060A6A6",
-"6X c #5F5F5F5FA6A6",
-"7X c #63636464AAAA",
-"8X c #64646464AAAA",
-"9X c #67676767AEAE",
-"0X c #67676868AEAE",
-"qX c #68686868AEAE",
-"wX c #6F6F6F6FB5B5",
-"eX c #6C6C6C6CB1B1",
-"rX c #73737373B8B8",
-"tX c #82828282BEBE",
-"yX c #86868686C2C2",
-"uX c #89898989C4C4",
-"iX c #98989898CBCB",
-"pX c #A0A0A0A0CFCF",
-"aX c #A9A9A9A9D5D5",
-"sX c #B0B0B0B0D8D8",
-"dX c #B8B8B8B8DDDD",
-"fX c #BDBDBDBDE0E0",
-"gX c #D9D9D9D9EDED",
-"hX c #90909191C6C6",
-"jX c #71718989BCBC",
-"kX c #73738B8BBFBF",
-"lX c #72728989BCBC",
-"zX c #79799090C3C3",
-"xX c #7E7E9595C7C7",
-"cX c #81819898CACA",
-"vX c #84849B9BCCCC",
-"bX c #8C8CA3A3D4D4",
-"nX c #71718A8ABCBC",
-"mX c #73738B8BBDBD",
-"MX c #75758D8DBFBF",
-"NX c #74748C8CBEBE",
-"BX c #76768E8EC0C0",
-"VX c #7C7C9494C6C6",
-"CX c #7B7B9393C4C4",
-"ZX c #7F7F9797C9C9",
-"AX c #82829A9ACBCB",
-"SX c #85859E9ECECE",
-"DX c #8888A0A0D1D1",
-"FX c #87879F9FD0D0",
-"GX c #8B8BA4A4D4D4",
-"HX c #8B8BA3A3D4D4",
-"JX c #8989A1A1D2D2",
-"KX c #8D8DA5A5D6D6",
-"LX c #8B8BA3A3D3D3",
-"PX c #8E8EA6A6D6D6",
-"IX c #8D8DA5A5D5D5",
-"UX c gray100",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YX",
-"X v.v.v.v.&Xl.z.k.&.d.%.$.@.O.+.] [ _ ` ) ( ^ L K ! G D V m m o ",
-"X c.c.c.v.&Xx.z.f.f.d.%.$.#.O.+.X.[ _ ` ) ( / L K H F D V C n o ",
-"X v.c.v.v.x.x.z.k.f.n.V.,.>.-.+.] [ _ ` ) ( ^ L K H G D V C h o ",
-"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ",
-"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ",
-"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ",
-"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ",
-"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ",
-"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ",
-"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ",
-"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ",
-"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ",
-"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ",
-"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ",
-"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ",
-"X ] ] $ $ H.wXF.0X7X6X4X2X<X:Xo #Xa.+XoX.X|.{.[.].)./.~.Q.c z o ",
-"X [ [ & & w F.qX7XZ.4X2X,X:Xo #Xa.+XoX.X}.{.[.'.e./.9.E.^.c z o ",
-"X ' _ * & PXKXbXHXLXJXDXSXSXvXAXcXZXxXVXCXzXzXBXMXNXkXjXjXz x o ",
-"X ` ` : & 2 8XZ.4X2XB.:X*Xg.@Xp.oX.X|.{.[.].).q.!.E.R.U.Y z f o ",
-"X ) ) 5 & ; <.4X2X>X:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ",
-"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ",
-"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ",
-"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ",
-"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ",
-"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ",
-"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ",
-"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ",
-"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ",
-"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ",
-"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.s.pm b/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.s.pm
deleted file mode 100644
index e2b9379..0000000
--- a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.s.pm
+++ /dev/null
@@ -1,287 +0,0 @@
-/* XPM */
-static char *ProductIcon24[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 257 2",
-"   c black",
-".  c gray100",
-"X  c #69695A5AE8E8",
-"o  c #494949499191",
-"O  c #F1F1DFDFECEC",
-"+  c #D7D7ACACCDCD",
-"@  c #DFDFBBBBD6D6",
-"#  c #E2E2C4C4DBDB",
-"$  c #CECE9C9CC4C4",
-"%  c #C4C48B8BBABA",
-"&  c #C2C28A8ABABA",
-"*  c #C4C48E8EBCBC",
-"=  c #BFBF8A8AB9B9",
-"-  c #EBEBD9D9E9E9",
-";  c #BFBF8888B9B9",
-":  c #D8D8B9B9D6D6",
-">  c #B9B98686B9B9",
-",  c #B8B88989B9B9",
-"<  c #BBBB9393BFBF",
-"1  c #A9A97B7BB2B2",
-"2  c #E4E4D4D4E7E7",
-"3  c #C6C6AFAFCECE",
-"4  c #A6A68080B6B6",
-"5  c #A2A27E7EB4B4",
-"6  c #9E9E7E7EB1B1",
-"7  c #ABAB9090BBBB",
-"8  c #B7B7A0A0C5C5",
-"9  c #9D9D7C7CB2B2",
-"0  c #AAAA8B8BBEBE",
-"q  c #AAAA9090BCBC",
-"w  c #8C8C6B6BABAB",
-"e  c #90907070B1B1",
-"r  c #C4C4B3B3D7D7",
-"t  c #CDCDBFBFDDDD",
-"y  c #EAEAE4E4F1F1",
-"u  c #88886A6AADAD",
-"i  c #9E9E8585C1C1",
-"p  c #84846A6AAFAF",
-"a  c #81816B6BAAAA",
-"s  c #D7D7CFCFE6E6",
-"d  c #81816969B1B1",
-"f  c #78786363A5A5",
-"g  c #6E6E5D5D9C9C",
-"h  c #717160609D9D",
-"j  c #83837474AAAA",
-"k  c #6A6A5757A3A3",
-"l  c #6E6E5E5EA0A0",
-"z  c #5E5E50509292",
-"x  c #88887B7BBCBC",
-"c  c #68685858ABAB",
-"v  c #5A5A4D4DA2A2",
-"b  c #7D7D7373B4B4",
-"n  c #5A5A4E4EA6A6",
-"m  c #5F5F56569595",
-"M  c #56564A4ABBBB",
-"N  c #56564949B9B9",
-"B  c #55554949B8B8",
-"V  c #53534848B3B3",
-"C  c #54544949B4B4",
-"Z  c #52524747B0B0",
-"A  c #52524747AFAF",
-"S  c #5B5B53539393",
-"D  c #3E3E36369797",
-"F  c #49494040A6A6",
-"G  c #48484040A5A5",
-"H  c #55554A4ABABA",
-"J  c #54544949B7B7",
-"K  c #53534949B4B4",
-"L  c #51514747AFAF",
-"P  c #52524848B1B1",
-"I  c #51514848B0B0",
-"U  c #51514848AEAE",
-"Y  c #51514747ADAD",
-"T  c #51514848ADAD",
-"R  c #4F4F4747ABAB",
-"E  c #50504747ABAB",
-"W  c #50504646A9A9",
-"Q  c #4F4F4646A8A8",
-"!  c #4E4E4646A7A7",
-"~  c #4E4E4545A4A4",
-"^  c #4D4D4545A4A4",
-"/  c #4E4E4646A5A5",
-"(  c #4D4D4545A1A1",
-")  c #3D3D36367E7E",
-"_  c #4B4B44449C9C",
-"`  c #2A2A25257F7F",
-"'  c #3E3E37379898",
-"]  c #474740409C9C",
-"[  c #4D4D4646A4A4",
-"{  c #4C4C4545A2A2",
-"}  c #4D4D4646A2A2",
-"|  c #4D4D4646A1A1",
-" . c #4B4B45459F9F",
-".. c #4C4C45459F9F",
-"X. c #4C4C46469F9F",
-"o. c #4B4B45459D9D",
-"O. c #494943439898",
-"+. c #494944449A9A",
-"@. c #4A4A45459A9A",
-"#. c #494944449898",
-"$. c #484843439696",
-"%. c #494944449797",
-"&. c #484843439595",
-"*. c #51514C4CA1A1",
-"=. c #6B6B6767AEAE",
-"-. c #95959191C9C9",
-";. c #23231F1F7676",
-":. c #21211E1E7070",
-">. c #292925257F7F",
-",. c #252521217070",
-"<. c #242421216D6D",
-"1. c #2B2B27278080",
-"2. c #393935358C8C",
-"3. c #444440409494",
-"4. c #3B3B38388282",
-"5. c #474743439494",
-"6. c #484844449595",
-"7. c #474743439393",
-"8. c #474744449393",
-"9. c #464643439191",
-"0. c #454542428F8F",
-"q. c #4A4A47479898",
-"w. c #464643438F8F",
-"e. c #454542428D8D",
-"r. c #444441418B8B",
-"t. c #484844449191",
-"y. c #444441418989",
-"u. c #494946469090",
-"i. c #4C4C48489393",
-"p. c #51514E4E9E9E",
-"a. c #73737070B6B6",
-"s. c #77777474BBBB",
-"d. c #A0A09E9ED1D1",
-"f. c #D6D6D5D5EBEB",
-"g. c #0E0E0D0D5A5A",
-"h. c #11110F0F5E5E",
-"j. c #121211115E5E",
-"k. c #131312125F5F",
-"l. c #171716166363",
-"z. c #1D1D1B1B6868",
-"x. c #1D1D1C1C6868",
-"c. c #222221216E6E",
-"v. c #222221216D6D",
-"b. c #282827277474",
-"n. c #282827277373",
-"m. c #292928287373",
-"M. c #2F2F2E2E7979",
-"N. c #353534347F7F",
-"B. c #363635358181",
-"V. c #3C3C3B3B8585",
-"C. c #424241418C8C",
-"Z. c #424241418B8B",
-"A. c #444442428B8B",
-"S. c #434341418989",
-"D. c #434342428989",
-"F. c #424241418787",
-"G. c #414140408484",
-"H. c #474745458D8D",
-"J. c #434342428787",
-"K. c #424241418585",
-"L. c #414140408282",
-"P. c #494948489191",
-"I. c #4F4F4E4E9797",
-"U. c #59595757A6A6",
-"Y. c #5F5F5D5DA4A4",
-"T. c #6C6C6B6BB3B3",
-"R. c #7C7C7B7BB9B9",
-"E. c #A8A8A7A7D3D3",
-"W. c #0D0D0D0D5A5A",
-"Q. c #1F1F1F1F6C6C",
-"!. c #222222226E6E",
-"~. c #3B3B3B3B8585",
-"^. c #414141418C8C",
-"/. c #414141418B8B",
-"(. c #424242428B8B",
-"). c #484848489292",
-"_. c #404040408181",
-"`. c #4E4E4E4E9898",
-"'. c #555555559E9E",
-"]. c #555555559D9D",
-"[. c #5B5B5B5BA3A3",
-"{. c #5C5C5C5CA3A3",
-"}. c #61616161A9A9",
-"|. c #66666666AEAE",
-" X c #66666666ADAD",
-".X c #6B6B6B6BB2B2",
-"XX c #70707070B7B7",
-"oX c #6A6A6A6AADAD",
-"OX c #74747474BBBB",
-"+X c #89898989C2C2",
-"@X c #90909090C8C8",
-"#X c #8F8F8F8FC6C6",
-"$X c #92929292C6C6",
-"%X c #9F9F9F9FCFCF",
-"&X c #A5A5A5A5D2D2",
-"*X c #B5B5B5B5DBDB",
-"=X c #B8B8B8B8DEDE",
-"-X c #B7B7B7B7DCDC",
-";X c #BBBBBBBBDEDE",
-":X c #BDBDBDBDDFDF",
-">X c #C9C9C9C9E5E5",
-",X c #D1D1D1D1EAEA",
-"<X c #7C7C7D7DBABA",
-"1X c #89898A8AC7C7",
-"2X c #8F8F9090C7C7",
-"3X c #A3A3A4A4D3D3",
-"4X c #A2A2B5B5DEDE",
-"5X c #ADADBDBDE1E1",
-"6X c #B9B9C7C7E5E5",
-"7X c #BABAC8C8E6E6",
-"8X c #8E8EA6A6D6D6",
-"9X c #9090A7A7D7D7",
-"0X c #9191A9A9D7D7",
-"qX c #9292A9A9D8D8",
-"wX c #9494ABABD8D8",
-"eX c #9898AEAED9D9",
-"rX c #9B9BB0B0DADA",
-"tX c #9E9EB3B3DCDC",
-"yX c #A1A1B5B5DDDD",
-"uX c #A5A5B8B8DEDE",
-"iX c #A8A8BBBBE0E0",
-"pX c #ACACBEBEE1E1",
-"aX c #AFAFC0C0E3E3",
-"sX c #B3B3C3C3E4E4",
-"dX c #B2B2C2C2E3E3",
-"fX c #B5B5C5C5E5E5",
-"gX c #B8B8C7C7E6E6",
-"hX c #B6B6C5C5E4E4",
-"jX c #9797AEAED9D9",
-"kX c #A1A1B6B6DDDD",
-"lX c #A8A8BBBBDFDF",
-"zX c gray100",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXX X X X X X X X X X X X X X X X X X X X X X YX",
-"X _._.L.G.K.F.D.A.e.0.9.&.$.%.+._ ..{ ^ ! W E o ",
-"X L.L.L.G.F.F.D.r.e.0.9.7.&.O.@.o. .{ ~ ! Q E o ",
-"X L.G.G.K.F.S.y.r.e.w.9.5.$.+.@.o...( ~ ! W E o ",
-"X G.K.K.F.J.D.h 6 0 i x s.a.=.U.*...} ~ ! W E o ",
-"X K.F.F.F.S 7 : r d.1XOXXX.X|.}.[.p.| / ! W E o ",
-"X F.F.F.m 3 - s =X3X@XXXT. X}.[.].I.q.{ Q E T o ",
-"X S.D.H.8 O y ,X;X&X2X.X|.}.[.].I.P.C.3.Q E Y o ",
-"X A.r.j # 2 f.>X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ",
-"X e.u.q @ t :X-XE.$X<X}.[.].`.P.Z.V.N.M.2.Y L o ",
-"X 0.i.< + 8X8XqXwXeXrXtX4XuXlXpXaXsXfXgX7XY A o ",
-"X 9.t.* $ -.#X+XR.oX{.'.`.P.(.~.N.M.m.c.Q.T Z o ",
-"X 8.7.; % 8X9X0XwXeXrXtXyXuXiXpXaXdXfXgX7XL Z o ",
-"X 6.&.1 & b  X}.[.'.I.P./.~.N.M.n.!.x.l.:.I P o ",
-"X #.#.w = 8X9XqXwXjXrXtXkXuXiX5XaXsXhX6X7XP V o ",
-"X +.+.k > 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ",
-"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ",
-"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ",
-"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ",
-"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ",
-"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ",
-"X Q W Q W R W E E T T T L Z P V V K J J J B N o ",
-"X R E E E E E Y Y U L Z P P P C V J J B B H M o ",
-"YXo o o o o o o o o o o o o o o o o o o o o o YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.t.pm b/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.t.pm
deleted file mode 100644
index 3f6b21f..0000000
--- a/bundles/org.eclipse.equinox.executable/contributed/motif/solaris/sparc/Eclipse.t.pm
+++ /dev/null
@@ -1,279 +0,0 @@
-/* XPM */
-static char *ProductIcon16[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 257 2",
-"   c black",
-".  c gray100",
-"X  c #E2E2C0C0D9D9",
-"o  c #EDEDD9D9E8E8",
-"O  c #D5D5ABABCDCD",
-"+  c #E2E2C3C3DCDC",
-"@  c #C5C58E8EBCBC",
-"#  c #D4D4ABABCDCD",
-"$  c #CACA9F9FC6C6",
-"%  c #D6D6B4B4D3D3",
-"&  c #CACAA0A0C8C8",
-"*  c #C6C69D9DC6C6",
-"=  c #C5C59F9FC8C8",
-"-  c #CCCCACACCECE",
-";  c #CCCCB0B0D3D3",
-":  c #A6A68383B3B3",
-">  c #BABA9A9AC6C6",
-",  c #B7B79A9AC2C2",
-"<  c #E3E3D5D5E9E9",
-"1  c #B0B08E8EC0C0",
-"2  c #9F9F8080B8B8",
-"3  c #AFAF9898C1C1",
-"4  c #DBDBCFCFE5E5",
-"5  c #96967878B2B2",
-"6  c #9A9A7E7EBABA",
-"7  c #8E8E7878AFAF",
-"8  c #91917F7FBDBD",
-"9  c #D3D3CCCCE4E4",
-"0  c #535348488B8B",
-"q  c #69695A5AE8E8",
-"w  c #55554949B9B9",
-"e  c #55554949B8B8",
-"r  c #54544848B6B6",
-"t  c #53534848B4B4",
-"y  c #54544848B4B4",
-"u  c #53534848B3B3",
-"i  c #53534848B2B2",
-"p  c #52524747AFAF",
-"a  c #53534848B1B1",
-"s  c #54544949B8B8",
-"d  c #54544949B6B6",
-"f  c #52524848B3B3",
-"g  c #52524848B2B2",
-"h  c #53534949B3B3",
-"j  c #52524848B1B1",
-"k  c #52524848B0B0",
-"l  c #51514747AEAE",
-"z  c #52524848AFAF",
-"x  c #51514848AEAE",
-"c  c #51514747ADAD",
-"v  c #51514747ACAC",
-"b  c #4F4F4646AAAA",
-"n  c #51514848ADAD",
-"m  c #50504747ABAB",
-"M  c #50504747AAAA",
-"N  c #4F4F4646A8A8",
-"B  c #50504747A9A9",
-"V  c #4E4E4646A7A7",
-"C  c #4E4E4646A6A6",
-"Z  c #4F4F4646A6A6",
-"A  c #4F4F4747A7A7",
-"S  c #4D4D4545A3A3",
-"D  c #4D4D4545A2A2",
-"F  c #4C4C45459E9E",
-"G  c #74746E6EB3B3",
-"H  c #2E2E29298383",
-"J  c #383832329090",
-"K  c #464640409999",
-"L  c #4D4D4646A2A2",
-"P  c #4E4E4747A3A3",
-"I  c #4B4B45459F9F",
-"U  c #4B4B45459E9E",
-"Y  c #4C4C46469F9F",
-"T  c #4A4A44449B9B",
-"R  c #4A4A44449A9A",
-"E  c #494943439797",
-"W  c #494944449797",
-"Q  c #484843439494",
-"!  c #78787474B8B8",
-"~  c #272724247878",
-"^  c #2D2D2A2A7575",
-"/  c #484844449797",
-"(  c #474743439393",
-")  c #454542429090",
-"_  c #4B4B48489A9A",
-"`  c #464643438F8F",
-"'  c #464643438E8E",
-"]  c #454542428C8C",
-"[  c #51514D4DA0A0",
-"{  c #5C5C5959A5A5",
-"}  c #535350509090",
-"|  c #C8C8C7C7E3E3",
-" . c #121211115D5D",
-".. c #1A1A19196565",
-"X. c #242422226D6D",
-"o. c #3F3F3E3E8888",
-"O. c #444442428D8D",
-"+. c #444442428989",
-"@. c #424241418787",
-"#. c #454543438A8A",
-"$. c #434342428888",
-"%. c #424241418686",
-"&. c #414140408484",
-"*. c #414140408383",
-"=. c #424240408383",
-"-. c #414140408282",
-";. c #474746468D8D",
-":. c #464644448989",
-">. c #525251519999",
-",. c #64646363AAAA",
-"<. c #61615F5FA2A2",
-"1. c #6E6E6C6CB2B2",
-"2. c #A5A5A4A4D3D3",
-"3. c #B0B0AFAFD6D6",
-"4. c #111112125D5D",
-"5. c #19191A1A6565",
-"6. c #1E1E1E1E6C6C",
-"7. c #222222226D6D",
-"8. c #2B2B2B2B7676",
-"9. c #2B2B2B2B7575",
-"0. c #2B2B2C2C7575",
-"q. c #343435357F7F",
-"w. c #343435357E7E",
-"e. c #353535357F7F",
-"r. c #3E3E3E3E8888",
-"t. c #3E3E3E3E8787",
-"y. c #414141418484",
-"u. c #404040408282",
-"i. c #484849499191",
-"p. c #494949499191",
-"a. c #484848489090",
-"s. c #484849499090",
-"d. c #404040408080",
-"f. c #525252529A9A",
-"g. c #525252529999",
-"h. c #5B5B5B5BA3A3",
-"j. c #5B5B5B5BA2A2",
-"k. c #64646464ABAB",
-"l. c #63636464AAAA",
-"z. c #6B6B6C6CB2B2",
-"x. c #72727373B9B9",
-"c. c #71717171A4A4",
-"v. c #78787878ABAB",
-"b. c #7F7F7F7FB1B1",
-"n. c #8C8C8C8CBEBE",
-"m. c #A5A5A5A5D2D2",
-"M. c #C9C9C9C9E5E5",
-"N. c #85858686B7B7",
-"B. c #91919292C4C4",
-"V. c #71718989BCBC",
-"C. c #73738B8BBEBE",
-"Z. c #75758D8DC0C0",
-"A. c #78789090C3C3",
-"S. c #7A7A9292C5C5",
-"D. c #71718A8ABDBD",
-"F. c #76768E8EC0C0",
-"G. c #78789090C2C2",
-"H. c #7B7B9393C5C5",
-"J. c #7D7D9595C7C7",
-"K. c #80809999CACA",
-"L. c #7E7E9696C7C7",
-"P. c #83839B9BCDCD",
-"I. c #83839B9BCCCC",
-"U. c #86869E9ECFCF",
-"Y. c #8888A1A1D1D1",
-"T. c #8A8AA2A2D3D3",
-"R. c #8989A1A1D1D1",
-"E. c #8B8BA3A3D3D3",
-"W. c gray100",
-"Q. c black",
-"!. c black",
-"~. c black",
-"^. c black",
-"/. c black",
-"(. c black",
-"). c black",
-"_. c black",
-"`. c black",
-"'. c black",
-"]. c black",
-"[. c black",
-"{. c black",
-"}. c black",
-"|. c black",
-" X c black",
-".X c black",
-"XX c black",
-"oX c black",
-"OX c black",
-"+X c black",
-"@X c black",
-"#X c black",
-"$X c black",
-"%X c black",
-"&X c black",
-"*X c black",
-"=X c black",
-"-X c black",
-";X c black",
-":X c black",
-">X c black",
-",X c black",
-"<X c black",
-"1X c black",
-"2X c black",
-"3X c black",
-"4X c black",
-"5X c black",
-"6X c black",
-"7X c black",
-"8X c black",
-"9X c black",
-"0X c black",
-"qX c black",
-"wX c black",
-"eX c black",
-"rX c black",
-"tX c black",
-"yX c black",
-"uX c black",
-"iX c black",
-"pX c black",
-"aX c black",
-"sX c black",
-"dX c black",
-"fX c black",
-"gX c black",
-"hX c black",
-"jX c black",
-"kX c black",
-"lX c black",
-"zX c black",
-"xX c black",
-"cX c black",
-"vX c black",
-"bX c black",
-"nX c black",
-"mX c black",
-"MX c black",
-"NX c black",
-"BX c black",
-"VX c black",
-"CX c black",
-"ZX c black",
-"AX c black",
-"SX c black",
-"DX c black",
-"FX c black",
-"GX c black",
-"HX c black",
-"JX c black",
-"KX c black",
-"LX c black",
-"PX c black",
-"IX c black",
-"UX c black",
-"YX c None",
-/* pixels */
-"YXq q q q q q q q q q q q q q YX",
-"q d.-.y.%.+.O.` ( E R U D C B p.",
-"q u.*.&.$.#.] ) Q W T F L V M p.",
-"q =.y.} , % ; 8 ! 1.{ [ S Z b p.",
-"q @.:.- o 4 2.x.z.,.j.>._ A m p.",
-"q +.: X < M.m.z.l.j.g.s.r.K v p.",
-"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.",
-"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.",
-"q ( # @ G k.h.g.i.t.e.9.7.6.z p.",
-"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.",
-"q T 2 & 5 f.a.o.q.8.7...4.J u p.",
-"q I Y 1 = 7 ;.w.0.7.5. .H f y p.",
-"q L D P 6 > 3 0 ^ X.~ J i t d p.",
-"q C C V A N M m n p k g y r e p.",
-"q M b M m m c x p j h y d s w p.",
-"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX"
-};
diff --git a/bundles/org.eclipse.equinox.executable/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.executable/customBuildCallbacks.xml
deleted file mode 100644
index eaed1dd..0000000
--- a/bundles/org.eclipse.equinox.executable/customBuildCallbacks.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<move file="${feature.directory}/target.build.properties" tofile="${feature.directory}/build.properties"/>
-		<move file="${feature.directory}/target.build.xml" tofile="${feature.directory}/build.xml"/>
-		
-		<!-- remove empty directories.  I couldn't get includeEmptyDirs to work -->
-		<!-- on the move or delete, so copy, delete and move back               -->
-		<copy includeEmptyDirs="false" todir="${feature.directory}/tempBin" >
-			<fileset dir="${feature.directory}/bin" />
-		</copy>
-		<delete dir="${feature.directory}/bin" />
-		<move  todir="${feature.directory}/bin" >
-			<fileset dir="${feature.directory}/tempBin" />
-		</move>
-		
-		<!-- rename eclipse launchers to "launcher" -->
-		<move todir="${feature.directory}/bin" verbose="true">
-			<fileset dir="${feature.directory}/bin" />
-			<regexpmapper from="^(.*[/\\])eclipse(.exe)?$" to="\1launcher\2"/>
-		</move>
-		<move todir="${feature.directory}/contributed" verbose="true">
-			<fileset dir="${feature.directory}/contributed" />
-			<regexpmapper from="^(.*[/\\])eclipse(.exe)?$" to="\1launcher\2"/>
-		</move>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.executable/eclipse_update_120.jpg b/bundles/org.eclipse.equinox.executable/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/bundles/org.eclipse.equinox.executable/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/epl-v10.html b/bundles/org.eclipse.equinox.executable/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/bundles/org.eclipse.equinox.executable/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/feature.properties b/bundles/org.eclipse.equinox.executable/feature.properties
deleted file mode 100644
index bc7b44d..0000000
--- a/bundles/org.eclipse.equinox.executable/feature.properties
+++ /dev/null
@@ -1,155 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform Launchers
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "description" property - description of the feature
-description=Platform specific launchers.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to by "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.executable/feature.xml b/bundles/org.eclipse.equinox.executable/feature.xml
deleted file mode 100644
index 7b86178..0000000
--- a/bundles/org.eclipse.equinox.executable/feature.xml
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.executable"
-      label="%featureName"
-      version="3.4.100.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.equinox.launcher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.solaris.x86"
-         os="solaris"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-            
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.solaris.sparc"
-         os="solaris"
-         ws="motif"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.cocoa.macosx"
-         os="macosx"
-         ws="cocoa"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-           
-   <plugin
-         id="org.eclipse.equinox.launcher.cocoa.macosx"
-         os="macosx"
-         ws="cocoa"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"
-         os="macosx"
-         ws="cocoa"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc64"
-         os="linux"
-         ws="gtk"
-         arch="ppc64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.hpux.ia64_32"
-         os="hpux"
-         ws="motif"
-         arch="ia64_32"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.win32.win32.x86_64"
-         os="win32"
-         ws="win32"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.win32.win32.ia64"
-         os="win32"
-         ws="win32"
-         arch="ia64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.executable/gtk_root/about.html b/bundles/org.eclipse.equinox.executable/gtk_root/about.html
deleted file mode 100644
index ebffd99..0000000
--- a/bundles/org.eclipse.equinox.executable/gtk_root/about.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-</head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 22, 2006</p>	
-<h3>License</h3>
-
-<p>This directory contains third-party libraries that are required by the Eclipse launcher.  Refer below for further information.</p>
-
-<h4>Cairo for Linux</h4>
-
-<p>Refer to the file <a href="about_files/about_cairo.html">about_cairo.html</a> for licensing details about &quot;Cairo for Linux&quot;.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/about_cairo.html b/bundles/org.eclipse.equinox.executable/gtk_root/about_files/about_cairo.html
deleted file mode 100644
index 0132307..0000000
--- a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/about_cairo.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>March 27, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation has included the following package for your convenience:</p> 
-
-<h4>Cairo 1.0.2 for Linux</h4>
-
-<p>Cairo for Linux (&quot;Cairo&quot;) is developed by The Cairo Project (<a href="http://www.cairographics.org" target="_blank">http://www.cairographics.org</a>):</p>
-
-<p>Cairo is delivered in the following file (&quot;Cairo Library&quot;):</p>
-<ul>
-    <li>libcairo-swt.so</li>
-</ul>
-
-<p>which was compiled from Cairo source code available at <a href="http://www.cairographics.org/snapshots" target="_blank">http://www.cairographics.org/snapshots</a>.</p>
-
-<p>Your use of the Cairo code in binary form is subject to
-the terms and conditions of Mozilla Public License Version 1.1 (&quot;MPL&quot;).  A copy of the MPL is provided (<a href="mpl-v11.txt" target="blank">mpl-v11.txt</a>)
-and is also available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html" target="_blank">http://www.mozilla.org/MPL/MPL-1.1.html.</a>
-
-<h4>pixman 0.1.6</h4>
-
-<p>pixman (&quot;pixman&quot;) is packaged within the Cairo Library and was compiled from source code available at
-<a href="http://www.cairographics.org/snapshots" target="_blank">http://www.cairographics.org/snapshots</a>.
-pixman includes the following packages:</p>
-
-<ul>
-	<li>libpixregion</li>
-	<li>libic</li>
-	<li>slim</li>
-</ul>
-
-Your use of pixman is subject to the terms and conditions of the licenses in <a href="pixman-licenses.txt" target="blank">pixman-licenses.txt</a>.</p>
-
-<p>If you did not receive the Cairo Library directly from the Eclipse Foundation, the package is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply its use.  Check the Redistributor's license that was provided with the content.  If no such license exists, contact the Redistributor.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/mpl-v11.txt b/bundles/org.eclipse.equinox.executable/gtk_root/about_files/mpl-v11.txt
deleted file mode 100644
index 7714141..0000000
--- a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/mpl-v11.txt
+++ /dev/null
@@ -1,470 +0,0 @@
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
diff --git a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/pixman-licenses.txt b/bundles/org.eclipse.equinox.executable/gtk_root/about_files/pixman-licenses.txt
deleted file mode 100644
index 5d8dca6..0000000
--- a/bundles/org.eclipse.equinox.executable/gtk_root/about_files/pixman-licenses.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-libpixregion
-
-Copyright 1987, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-----------------------------------------------------------------------
-libic
-
-Copyright © 2001 Keith Packard
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the name of Keith Packard not be used in
-advertising or publicity pertaining to distribution of the software without
-specific, written prior permission.  Keith Packard makes no
-representations about the suitability of this software for any purpose.  It
-is provided "as is" without express or implied warranty.
-
-KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------------------------------------
-slim
-
-slim is Copyright © 2003 Richard Henderson
-
-Permission to use, copy, modify, distribute, and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Richard Henderson not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  Richard Henderson
-makes no representations about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-
-RICHARD HENDERSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL RICHARD HENDERSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/.cvsignore b/bundles/org.eclipse.equinox.executable/library/carbon/.cvsignore
deleted file mode 100644
index f0fdae4..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.o
-eclipse
-*.so
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/build.sh b/bundles/org.eclipse.equinox.executable/library/carbon/build.sh
deleted file mode 100644
index 413176d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/build.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-#
-# Usage: sh build.sh [<optional switches>] [clean]
-#
-#   where the optional switches are:
-#       -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-#       -os     <DEFAULT_OS>      - default Eclipse "-os" value
-#       -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value
-#       -ws     <DEFAULT_WS>      - default Eclipse "-ws" value
-#
-#
-#    This script can also be invoked with the "clean" argument.
-
-cd `dirname $0`
-
-# Define default values for environment variables used in the makefiles.
-programOutput="eclipse"
-defaultOS="macosx"
-defaultOSArch="x86"
-defaultWS="carbon"
-makefile="make_carbon.mak"
-if [ "$OS" = "" ];  then
-    OS=`uname -s`
-fi
-
-# Parse the command line arguments and override the default values.
-extraArgs=""
-while [ "$1" != "" ]; do
-    if [ "$1" = "-os" ] && [ "$2" != "" ]; then
-        defaultOS="$2"
-        shift
-    elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then
-        defaultOSArch="$2"
-        shift
-    elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then
-        defaultWS="$2"
-        shift
-    elif [ "$1" = "-output" ] && [ "$2" != "" ]; then
-        programOutput="$2"
-        shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-# Set up environment variables needed by the makefiles.
-PROGRAM_OUTPUT="$programOutput"
-DEFAULT_OS="$defaultOS"
-DEFAULT_OS_ARCH="$defaultOSArch"
-DEFAULT_WS="$defaultWS"
-PPC_OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/ppc/Eclipse.app/Contents/MacOS"
-X86_OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/x86/Eclipse.app/Contents/MacOS"
-X86_64_OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/x86_64/Eclipse.app/Contents/MacOS"
-
-if [ "$DEFAULT_WS" == "cocoa" ]; then
-	makefile="make_cocoa.mak"
-	export MACOSX_DEPLOYMENT_TARGET=10.4
-else
-	export MACOSX_DEPLOYMENT_TARGET=10.3	
-fi
-
-if [ "$DEFAULT_OS_ARCH" == "x86_64" ]; then
-	echo "build x86_64"
-	ARCHS="-arch x86_64"
-	PROGRAM_OUTPUT_DIR=$X86_64_OUTPUT_DIR
-	DEFAULT_OS_ARCH="x86_64"
-else
-	echo "build x86 and ppc"
-	ARCHS="-arch i386 -arch ppc"
-	PROGRAM_OUTPUT_DIR=$X86_OUTPUT_DIR
-fi
- 
-export PPC_OUTPUT_DIR X86_OUTPUT_DIR X86_64_OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS ARCHS PROGRAM_OUTPUT_DIR
-
-# If the OS is supported (a makefile exists)
-if [ "$makefile" != "" ]; then
-	if [ "$extraArgs" != "" ]; then
-		make -f $makefile $extraArgs
-	else
-		echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS"
-		make -f $makefile clean
-		make -f $makefile all
-		make -f $makefile install
-	fi
-else
-	echo "Unknown OS ($OS) -- build aborted"
-fi
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/build.xml b/bundles/org.eclipse.equinox.executable/library/carbon/build.xml
deleted file mode 100644
index b4308a9..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/build.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c
deleted file mode 100644
index 4773996..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c
+++ /dev/null
@@ -1,816 +0,0 @@
-/*
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - initial API and implementation
- * 	  Andre Weinand (OTI Labs)
- *    David Green - OpenJDK bsd port integration
- */
- 
-/* MacOS X Carbon specific logic for displaying the splash screen. */
-
-#include "eclipseOS.h"
-#include "eclipseCommon.h"
-#include "eclipseJNI.h"
-#include "eclipseUtil.h"
-
-#include <unistd.h>
-#include <sys/stat.h>
-#include <CoreServices/CoreServices.h>
-#ifdef COCOA
-#include <Cocoa/Cocoa.h>
-#else
-#include <Carbon/Carbon.h>
-#include "NgCommon.h"
-#include "NgImageData.h"
-#include "NgWinBMPFileFormat.h"
-#endif
-#include <mach-o/dyld.h>
-#include <pthread.h>
-
-#define startupJarName "startup.jar"
-#define LAUNCHER "-launcher"
-#define SPLASH_LAUNCHER "/Resources/Splash.app/Contents/"
-
-#define DEBUG 0
-
-static _TCHAR* noForkingMsg = _T_ECLIPSE("Internal Error, forking the jvm is not supported on MacOS.\n");
-
-char *findCommand(char *command);
-
-/* Global Variables */
-char*  defaultVM     = "java";
-char*  vmLibrary	 = "JavaVM";
-char*  shippedVMDir  = "jre/bin/";
-
-static void adjustLibraryPath(char * vmLibrary);
-static char * findLib(char * command);
-
-#ifdef i386
-#define JAVA_ARCH "i386"
-#elif defined(__ppc__) || defined(__powerpc64__)
-#define JAVA_ARCH "ppc"
-#elif defined(__amd64__) || defined(__x86_64__)
-#define JAVA_ARCH "amd64"
-#else
-#define JAVA_ARCH DEFAULT_OS_ARCH
-#endif
-
-#define LIB_PATH_VAR _T_ECLIPSE("LD_LIBRARY_PATH")
-#define DYLD_FALLBACK_VAR _T_ECLIPSE("DYLD_FALLBACK_LIBRARY_PATH")
-
-#define MAX_LOCATION_LENGTH 40 /* none of the jvmLocations strings should be longer than this */
-#define MAX_JVMLIB_LENGTH   15 /* none of the jvmLibs strings should be longer than this */
-static const char* jvmLocations[] = { "../lib/" JAVA_ARCH "/client",
-									  "../lib/" JAVA_ARCH "/server", "../jre/lib/" JAVA_ARCH "/client",
-									  "../jre/lib/" JAVA_ARCH "/server", NULL };
-static const char* jvmLibs[] = { "libjvm.dylib", "libjvm.jnilib", "libjvm.so", NULL };
-
-/* Define the window system arguments for the various Java VMs. */
-static char*  argVM_JAVA[] = { "-XstartOnFirstThread", NULL };
-
-/* thread stuff */
-typedef struct {
-	_TCHAR * libPath;
-	_TCHAR ** vmArgs;
-	_TCHAR ** progArgs;
-	_TCHAR * jarFile;
-	JavaResults* result;
-} StartVMArgs;
-
-#ifdef COCOA
-static NSWindow* window = nil;
-@interface KeyWindow : NSWindow { }
-- (BOOL)canBecomeKeyWindow;
-@end
-
-@implementation KeyWindow
-- (BOOL)canBecomeKeyWindow {
-	return YES;
-}
-
-- (void)close {
-	[super close];
-	window = nil;
-}
-
-@end
-
-@interface AppleEventDelegate : NSObject
-- (void)handleOpenDocuments:(NSAppleEventDescriptor *)event withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-@end
-@implementation AppleEventDelegate
-	NSTimer *timer;
-	NSMutableArray *files;
-	
-- (void)handleOpenDocuments:(NSAppleEventDescriptor *)event withReplyEvent: (NSAppleEventDescriptor *)replyEvent {
-	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-    int count = [event numberOfItems];
-    int index = 1;
-    
- 	if (!files) {
-		files = [NSMutableArray arrayWithCapacity:count];
-		[files retain];
-	}
-		
-	for (index = 1; index<=count; index++) {
-		NSAppleEventDescriptor *desc = [event descriptorAtIndex:index];
-		if (desc) {
-			desc = [desc coerceToDescriptorType:typeFSRef];
-			CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, [[desc data] bytes]);
-			if (url) {
-				NSString *pathName = (NSString *)CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle);
-				[files addObject:pathName];
-				[pathName release];
-				CFRelease(url);
-			}
-		}
-	}
-	
-	if (!timer) {
-		timer = [NSTimer scheduledTimerWithTimeInterval: 1.0
-												 target: self
-											   selector: @selector(handleTimer:)
-											   userInfo: nil
-												repeats: YES];
-	}
-	[pool release];
-}
-- (void) handleTimer: (NSTimer *) timer {
-	NSObject *delegate = [[NSApplication sharedApplication] delegate];
-	if (delegate != NULL && [delegate respondsToSelector: @selector(application:openFiles:)]) {
-		[delegate performSelector:@selector(application:openFiles:)	withObject:[NSApplication sharedApplication] withObject:files];
-		[files release];
-		[timer invalidate];
-	}
-}
-@end
-#endif
-
-static CFRunLoopRef loopRef = NULL;
-static void * startThread(void * init); 
-static void runEventLoop(CFRunLoopRef ref);
-static void dummyCallback(void * info) {}
-#ifndef COCOA
-static CFMutableArrayRef files;
-static EventHandlerRef appHandler;
-static int SWT_CLASS = 'SWT-';
-static int SWT_OPEN_FILE_KIND = 1;
-static int SWT_OPEN_FILE_PARAM = 'odoc';
-#endif
-
-int main() {
-	return -1;
-}
-
-void installAppleEventHandler();
-
-int reuseWorkbench(_TCHAR** filePath, int timeout) {
-	installAppleEventHandler();
-	return 0;
-}
-
-#ifdef COCOA
-
-/* Show the Splash Window
- *
- * Create the splash window, load the bitmap and display the splash window.
- */
-int showSplash( const _TCHAR* featureImage )
-{
-	if (window != NULL)
-		return 0; /*already showing */
-	if (featureImage == NULL)
-		return ENOENT;
-	
-	int result = ENOENT;
-	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-	[NSApplication sharedApplication];
-	NSImage* image = [[NSImage alloc] initByReferencingFile: [NSString stringWithUTF8String: featureImage]];
-	if (image != NULL) {
-		NSImageRep* imageRep = [image bestRepresentationForDevice: [[NSScreen mainScreen] deviceDescription]];
-		NSRect rect = {{0, 0}, {[imageRep pixelsWide], [imageRep pixelsHigh]}};
-		[image setSize: NSMakeSize([imageRep pixelsWide], [imageRep pixelsHigh])];
-		[image autorelease];
-		window = [[KeyWindow alloc] initWithContentRect: rect styleMask: NSBorderlessWindowMask backing: NSBackingStoreBuffered defer: 0];
-		if (window != nil) {
-			[window center];
-			[window setBackgroundColor: [NSColor colorWithPatternImage: image]];
-			[window makeKeyAndOrderFront: nil];
-			dispatchMessages();
-			result = 0;		
-		}
-	}
-	[pool release];
-	return result;
-}
-
-void takeDownSplash() {
-	if (window != 0) {
-		NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-		[window close];
-		window = nil;
-		[pool release];
-	}
-}	
-
-void dispatchMessages() {
-	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-	NSEvent* event;
-	NSApplication* application = [NSApplication sharedApplication];
-	while ((event = [application nextEventMatchingMask: 0 untilDate: nil inMode: NSDefaultRunLoopMode dequeue: TRUE]) != nil) {
-		[application sendEvent: event];
-	}
-	[pool release];	
-}
-
-#else
-static WindowRef window;
-static ControlRef pane = NULL;
-static CGImageRef image = NULL;
-static CGImageRef loadBMPImage(const char *image);
-
-typedef CGImageSourceRef (*CGImageSourceCreateWithURL_FUNC) (CFURLRef, CFDictionaryRef);
-typedef CGImageRef (*CGImageSourceCreateImageAtIndex_FUNC)(CGImageSourceRef, size_t, CFDictionaryRef);
-static CGImageSourceCreateWithURL_FUNC createWithURL = NULL;
-static CGImageSourceCreateImageAtIndex_FUNC createAtIndex = NULL;
-
-static pascal OSErr openDocumentsProc(const AppleEvent *theAppleEvent, AppleEvent *reply, long handlerRefcon);
-
-static OSStatus drawProc (EventHandlerCallRef eventHandlerCallRef, EventRef eventRef, void * data) {
-	int result = CallNextEventHandler(eventHandlerCallRef, eventRef);
-	if (image) {
-		ControlRef control;
-		CGContextRef context;
-		
-		GetEventParameter(eventRef, kEventParamDirectObject, typeControlRef, NULL, 4, NULL, &control);
-		GetEventParameter(eventRef, kEventParamCGContextRef, typeCGContextRef, NULL, 4, NULL, &context);
-		
-		HIRect rect;
-		HIViewGetBounds(control, &rect);
-		HIViewDrawCGImage(context, &rect, image);
-	} 
-	return result;
-}
-
-static OSStatus disposeProc (EventHandlerCallRef eventHandlerCallRef, EventRef eventRef, void * data) {
-	window = NULL;
-	return eventNotHandledErr;
-}
-
-void loadImageFns()
-{
-	static int initialized = 0;
-	static CFBundleRef bundle = NULL;
-	
-	if (!initialized) {
-		if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.Carbon"));
-		if (bundle) createAtIndex = (CGImageSourceCreateImageAtIndex_FUNC)CFBundleGetFunctionPointerForName(bundle, CFSTR("CGImageSourceCreateImageAtIndex"));
-		if (bundle) createWithURL = (CGImageSourceCreateWithURL_FUNC)CFBundleGetFunctionPointerForName(bundle, CFSTR("CGImageSourceCreateWithURL"));
-		initialized = 1;
-	}
-}
-
-static OSStatus appleEventProc(EventHandlerCallRef inCaller, EventRef theEvent, void* inRefcon) {
-	EventRecord eventRecord;
-	Boolean release = false;
-	EventQueueRef queue;
-	
-	queue = GetCurrentEventQueue();
-	if (IsEventInQueue (queue, theEvent)) {
-		RetainEvent (theEvent);
-		release = true;
-		RemoveEventFromQueue (queue, theEvent);
-	}
-	ConvertEventRefToEventRecord (theEvent, &eventRecord);
-	AEProcessAppleEvent (&eventRecord);
-	if (release) ReleaseEvent (theEvent);
-	return noErr;
-}
-
-static void timerProc(EventLoopTimerRef timer, void *userData) {
-	EventTargetRef target = GetApplicationEventTarget();
-	CFIndex count = CFArrayGetCount  (files);
-	int i;
-	for (i=0; i<count; i++) {
-		CFStringRef file = (CFStringRef) CFArrayGetValueAtIndex(files, i);
-		EventRef event = NULL;
-		CreateEvent (NULL, SWT_CLASS, SWT_OPEN_FILE_KIND, 0, kEventAttributeNone, &event);
-		SetEventParameter (event, SWT_OPEN_FILE_PARAM, typeCFStringRef, sizeof(file), &file);
-		OSStatus status = SendEventToEventTarget(event, target);
-		ReleaseEvent(event);
-		if (status == eventNotHandledErr) return;
-	}
-	CFRelease(files);
-	RemoveEventLoopTimer(timer);
-	RemoveEventHandler(appHandler);
-	AERemoveEventHandler(kCoreEventClass, kAEOpenDocuments, NewAEEventHandlerUPP(openDocumentsProc), false);
-}
- 
-static pascal OSErr openDocumentsProc(const AppleEvent *theAppleEvent, AppleEvent *reply, long handlerRefcon) {
-    AEDescList  docList;
-    FSRef       theFSRef;
-    long        index;
-    long        count = 0;
-    
-    AEGetParamDesc(theAppleEvent, keyDirectObject, typeAEList, &docList);
-	AECountItems(&docList, &count);
-	for(index = 1; index <= count; index++) {
-        AEGetNthPtr(&docList, index, typeFSRef, NULL, NULL, &theFSRef, sizeof(FSRef), NULL);
-		CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &theFSRef);
-		CFStringRef pathName = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle);
-		if (!files) {
-			files = CFArrayCreateMutable(kCFAllocatorDefault, count, &kCFTypeArrayCallBacks);		
-            InstallEventLoopTimer(GetMainEventLoop(), 1, 1, NewEventLoopTimerUPP(timerProc), NULL, NULL); 
-		}
-		CFArrayAppendValue(files, pathName);
-		CFRelease(pathName);
-		CFRelease(url);
-    }
-    AEDisposeDesc(&docList);
-    return noErr;
-}
-
-/* Show the Splash Window
- *
- * Create the splash window, load the bitmap and display the splash window.
- */
-int showSplash( const _TCHAR* featureImage )
-{
-	Rect wRect;
-	int w, h, deviceWidth, deviceHeight;
-	int attributes;
-	EventTypeSpec draw = {kEventClassControl, kEventControlDraw};
-	EventTypeSpec dispose = {kEventClassWindow, kEventWindowDispose};
-	ControlRef root;
-	
-	if(window != NULL)
-		return 0; /*already showing */
-	if (featureImage == NULL)
-		return ENOENT;
-	
-	loadImageFns();
-	if (createWithURL && createAtIndex) {
-		CFStringRef imageString = CFStringCreateWithCString(kCFAllocatorDefault, featureImage, kCFStringEncodingUTF8);
-		if(imageString != NULL) {
-			CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, imageString, kCFURLPOSIXPathStyle, false);
-			if(url != NULL) {
-				CGImageSourceRef imageSource = createWithURL(url, NULL);
-				if(imageSource != NULL) {
-					image = createAtIndex(imageSource, 0, NULL);
-				}
-				CFRelease(url);
-			}
-		}
-		CFRelease(imageString);		
-	} else {
-		image = loadBMPImage(featureImage);
-	}
-	
-	/*If the splash image data could not be loaded, return an error.*/ 
-	if (image == NULL)
-		return ENOENT;
-		
-	w = CGImageGetWidth(image);
-	h = CGImageGetHeight(image);
-
-	GetAvailableWindowPositioningBounds(GetMainDevice(), &wRect);
-
-	deviceWidth= wRect.right - wRect.left;
-	deviceHeight= wRect.bottom - wRect.top;
-
-	wRect.left+= (deviceWidth-w)/2;
-	wRect.top+= (deviceHeight-h)/3;
-	wRect.right= wRect.left + w;
-	wRect.bottom= wRect.top + h;
-	
-	attributes = kWindowStandardHandlerAttribute | kWindowCompositingAttribute;
-	attributes &= GetAvailableWindowAttributes(kSheetWindowClass);
-	CreateNewWindow(kSheetWindowClass, attributes, &wRect, &window);
-	if (window != NULL) {
-		GetRootControl(window, &root);
-		wRect.left = wRect.top = 0;	
-		wRect.right = w;
-		wRect.bottom = h;
-		CreateUserPaneControl(window, &wRect, kControlSupportsEmbedding | kControlSupportsFocus | kControlGetsFocusOnClick, &pane);
-		HIViewAddSubview(root, pane);	
-
-		InstallEventHandler(GetControlEventTarget(pane), (EventHandlerUPP)drawProc, 1, &draw, NULL, NULL);
-		InstallEventHandler(GetWindowEventTarget(window), (EventHandlerUPP)disposeProc, 1, &dispose, NULL, NULL);
-		ShowWindow(window);
-		dispatchMessages();
-	}
-
-	return 0;
-}
-
-void takeDownSplash() {
-	if( window != 0) {
-		DisposeWindow(window);
-		window = NULL;
-	}
-	if(image){
-		CGImageRelease(image);
-		image = NULL;
-	}	
-}	
-
-void dispatchMessages() {
-	EventRef event;
-	EventTargetRef target;
-	
-	target = GetEventDispatcherTarget();
-	while( ReceiveNextEvent(0, NULL, kEventDurationNoWait, true, &event) == noErr ) {
-		SendEventToEventTarget(event, target);
-		ReleaseEvent(event);
-	}
-}
-#endif	
-
-void installAppleEventHandler() {
-#ifdef COCOA
-	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-	AppleEventDelegate *appleEventDelegate = [[AppleEventDelegate alloc] init];
-	[NSApplication sharedApplication];
-	NSAppleEventManager *manager = [NSAppleEventManager sharedAppleEventManager];
-	[manager setEventHandler:appleEventDelegate 
-				 andSelector:@selector(handleOpenDocuments:withReplyEvent:) 
-			   forEventClass:kCoreEventClass 
-				  andEventID:kAEOpenDocuments];
-//	[appleEventDelegate release];
-	[pool release];
-#else	
-	EventTypeSpec kEvents[] = { {kEventClassAppleEvent, kEventAppleEvent} };
-	InstallApplicationEventHandler(NewEventHandlerUPP(appleEventProc), GetEventTypeCount(kEvents), kEvents, 0, &appHandler);
-	AEInstallEventHandler(kCoreEventClass, kAEOpenDocuments, NewAEEventHandlerUPP(openDocumentsProc), 0, false);
-#endif
-}
-
-jlong getSplashHandle() {
-	return (jlong)window;
-}
-
-/* Get the window system specific VM arguments */
-char** getArgVM( char* vm ) 
-{
-	char** result;
-
-	/* Use the default arguments for a standard Java VM */
-	result = argVM_JAVA;
-
-	return result;
-}
-
-char * findVMLibrary( char* command ) {
-	char *start, *end;
-	char *version;
-	int length;
-	
-	/*check first to see if command already points to the library */
-	if (strcmp(command, JAVA_FRAMEWORK) == 0) {
-		return JAVA_FRAMEWORK;
-	}
-		
-	/* select a version to use based on the command */	
-	start = strstr(command, "/Versions/");
-	if (start != NULL){
-		start += 10;
-		end = strchr( start, dirSeparator);
-		if (end != NULL && end > start) {
-			length = end - start;
-			version = malloc(length + 1);
-			strncpy(version, start, length);
-			version[length] = 0;
-			
-			/*only set a version if it starts with a number */
-			if(strtol(version, NULL, 10) != 0 || version[0] == '0') {
-				setenv("JAVA_JVM_VERSION", version, 1);
-			}
-			
-			free(version);
-		} 
-	} else if (strstr(command, "/JavaVM.framework/") == NULL) {
-		char * lib = findLib(command);
-		if (lib != NULL) {
-			adjustLibraryPath(lib);
-			return lib;
-		}
-	}
-	return JAVA_FRAMEWORK;
-}
-
-static char * findLib(char * command) {
-	int i, q;
-	int pathLength;
-	struct stat stats;
-	char * path; /* path to resulting jvm shared library */
-	char * location; /* points to begining of jvmLocations section of path */
-
-	if (command != NULL) {
-		/*check first to see if command already points to the library */
-		if (isVMLibrary(command)) {
-			if (stat(command, &stats) == 0 && (stats.st_mode & S_IFREG) != 0) { /* found it */
-				return strdup(command);
-			}
-			return NULL;
-		}
-
-		location = strrchr(command, dirSeparator) + 1;
-		pathLength = location - command;
-		path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + MAX_JVMLIB_LENGTH	+ 1) * sizeof(char));
-		strncpy(path, command, pathLength);
-		location = &path[pathLength];
-
-		/*
-		 * We are trying base/jvmLocations[*]/vmLibrary
-		 * where base is the directory containing the given java command, normally jre/bin
-		 */
-		for (q = 0; jvmLibs[q] != NULL; ++q) {
-			const char *jvmLib = jvmLibs[q];
-			i = -1;
-			while (jvmLocations[++i] != NULL) {
-				sprintf(location, "%s%c%s", jvmLocations[i], dirSeparator, jvmLib);
-				/*fprintf(stderr,"checking path: %s\n",path);*/
-				if (stat(path, &stats) == 0 && (stats.st_mode & S_IFREG) != 0) 
-				{ /* found it */
-					return path;
-				}
-			}
-		}
-	}
-	return NULL;
-}
-
-/* adjust the LD_LIBRARY_PATH for the vmLibrary */
-static void adjustLibraryPath(char * vmLibrary) {
-	char * c;
-	char * ldPath, *dylibPath;
-	char * newPath;
-	int i;
-	int numPaths = 0;
-	int length = 0;
-	int needAdjust = 0, needDylibAdjust = 0;
-
-	char ** paths = getVMLibrarySearchPath(vmLibrary);
-
-	ldPath = (char*) getenv(LIB_PATH_VAR);
-	if (!ldPath) {
-		ldPath = _T_ECLIPSE("");
-		needAdjust = 1;
-	} else {
-		needAdjust = !containsPaths(ldPath, paths);
-	}
-
-	dylibPath = (char*) getenv(DYLD_FALLBACK_VAR);
-	if (!dylibPath) {
-		dylibPath = _T_ECLIPSE("");
-		needDylibAdjust = 1;
-	} else {
-		needDylibAdjust = !containsPaths(dylibPath, paths);
-	}
-
-	if (!needAdjust && !needDylibAdjust) {
-		for (i = 0; paths[i] != NULL; i++)
-			free(paths[i]);
-		free(paths);
-		return;
-	}
-
-	c = concatStrings(paths);
-	
-	/* set the value for LD_LIBRARY_PATH */
-	length = strlen(ldPath);
-	newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR));
-	_stprintf(newPath, _T_ECLIPSE("%s%s"), c, ldPath);
-	setenv(LIB_PATH_VAR, newPath, 1);
-	free(newPath);
-	
-	/* set the value for DYLD_FALLBACK_LIBRARY_PATH */
-	length = strlen(dylibPath);
-	newPath =  malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR));
-	_stprintf(newPath, _T_ECLIPSE("%s%s"), c, dylibPath);
-	setenv(DYLD_FALLBACK_VAR, newPath, 1);
-	free(newPath);
-	free(c);
-	
-	for (i = 0; i < numPaths; i++)
-		free(paths[i]);
-	free(paths);
-
-	/* now we must restart for this to take affect*/
-	restartLauncher(initialArgv[0], initialArgv);
-}
-
-void restartLauncher(char* program, char* args[]) {
-	pid_t pid= fork();
-	if (pid == 0) {
-		/* Child process ... start the JVM */
-		execv(program != NULL ? program : args[0], args);
-
-		/* The JVM would not start ... return error code to parent process. */
-		_exit(errno);
-	} else {
-		exit(0);
-	}
-}
-
-JavaResults* launchJavaVM( _TCHAR* args[] )
-{
-	/*for now always do JNI on Mac, should not come in here */
-	JavaResults * results = malloc(sizeof(JavaResults));
-	results->launchResult = -1;
-	results->runResult = 0;
-	results->errorMessage = _tcsdup(noForkingMsg);
-	return results;
-}
-
-JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile )
-{
-	if (secondThread == 0) {
-		/* Set an environment variable that tells the AWT (if started) we started the JVM on the main thread. */
-		char firstThreadEnvVariable[80];
-		sprintf(firstThreadEnvVariable, "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid());
-		setenv(firstThreadEnvVariable, "1", 1);
-		return startJavaJNI(libPath, vmArgs, progArgs, jarFile);
-	}
-
-	/* else, --launcher.secondThread was specified, create a new thread and run the 
-	 * vm on it.  This main thread will run the CFRunLoop 
-	 */
-	pthread_t thread;
-	struct rlimit limit = {0, 0};
-	int stackSize = 0;
-	if (getrlimit(RLIMIT_STACK, &limit) == 0) {
-		if (limit.rlim_cur != 0) {
-			stackSize = limit.rlim_cur;
-		}
-	}
-	
-	/* initialize thread attributes */
-	pthread_attr_t attributes;
-	pthread_attr_init(&attributes);
-	pthread_attr_setscope(&attributes, PTHREAD_SCOPE_SYSTEM);
-	pthread_attr_setdetachstate(&attributes, PTHREAD_CREATE_DETACHED);
-	if (stackSize != 0)
-		pthread_attr_setstacksize(&attributes, stackSize);
-	
-	/* arguments to start the vm */
-	StartVMArgs args;
-	args.libPath = libPath;
-	args.vmArgs = vmArgs;
-	args.progArgs = progArgs;
-	args.jarFile = jarFile;
-	args.result = 0;
-	
-	loopRef = CFRunLoopGetCurrent();
-	
-	/* create the thread */
-	pthread_create( &thread, &attributes, &startThread, &args);
-	pthread_attr_destroy(&attributes);
-		
-	runEventLoop(loopRef);
-	
-	return args.result;
-}
-
-void * startThread(void * init) {
-	StartVMArgs *args = (StartVMArgs *) init;
-	args->result = startJavaJNI(args->libPath, args->vmArgs, args->progArgs, args->jarFile);
-	return NULL;
-}
-
-void runEventLoop(CFRunLoopRef ref) {
-	CFRunLoopSourceContext sourceContext = { .version = 0, .info = NULL, .retain = NULL, .release = NULL,
-											 .copyDescription = NULL, .equal = NULL, .hash = NULL, 
-											 .schedule = NULL, .cancel = NULL, .perform = &dummyCallback };
-	
-	CFRunLoopSourceRef sourceRef = CFRunLoopSourceCreate(NULL, 0, &sourceContext);
-	CFRunLoopAddSource(ref, sourceRef,  kCFRunLoopCommonModes);
-	
-	CFRunLoopRun();
-	CFRelease(sourceRef);
-}
-
-#ifndef COCOA
-void disposeData(void *info, void *data, size_t size) 
-{
-	DisposePtr(data);
-}
-
-/**
- * loadBMPImage
- * Create a QuickDraw PixMap representing the given BMP file.
- *
- * bmpPathname: absolute path and name to the bmp file
- *
- * returned value: the PixMapHandle newly created if successful. 0 otherwise.
- */
-static CGImageRef loadBMPImage (const char *bmpPathname) { 
-	ng_stream_t in;
-	ng_bitmap_image_t image;
-	ng_err_t err= ERR_OK;
-	CGImageRef ref;
-	UBYTE1* data = NULL;
-
-	NgInit();
-
-	if (NgStreamInit(&in, (char*) bmpPathname) != ERR_OK) {
-		NgError(ERR_NG, "Error can't open BMP file");
-		return 0;
-	}
-
-	NgBitmapImageInit(&image);
-	err= NgBmpDecoderReadImage (&in, &image);
-	NgStreamClose(&in);
-
-	if (err != ERR_OK) {
-		NgBitmapImageFree(&image);
-		return 0;
-	}
-
-	UBYTE4 srcDepth= NgBitmapImageBitCount(&image);
-	if (srcDepth != 24) {	/* We only support image depth of 24 bits */
-		NgBitmapImageFree(&image);
-		NgError (ERR_NG, "Error unsupported depth - only support 24 bit");
-		return 0;
-	}
-	
-	int width= (int)NgBitmapImageWidth(&image);
-	int height= (int)NgBitmapImageHeight(&image);
-	int rowBytes= width * 4;
-	int alphainfo = kCGImageAlphaNoneSkipFirst | (NgIsMSB() ? 0 : kCGBitmapByteOrder32Little);
-	data = (UBYTE1*)NewPtr(rowBytes * height);
-	CGDataProviderRef provider = CGDataProviderCreateWithData(0, data, rowBytes * height, (CGDataProviderReleaseDataCallback)disposeData);
-	
-	ref = CGImageCreate(width, height, 8, 32, width * 4, CGColorSpaceCreateDeviceRGB(), alphainfo, provider, NULL, 1, 0);
-	CGDataProviderRelease(provider);
-
-	/* 24 bit source to direct screen destination */
-	NgBitmapImageBlitDirectToDirect(NgBitmapImageImageData(&image), NgBitmapImageBytesPerRow(&image), width, height,
-		data, 32, rowBytes, NgIsMSB(), 0xff0000, 0x00ff00, 0x0000ff);
-
-	NgBitmapImageFree(&image);
-
-	return ref;
-}
-#endif
-
-#define DOCK_ICON_PREFIX "-Xdock:icon="
-#define DOCK_NAME_PREFIX "-Xdock:name="
-#define APP_ICON_PATTERN "APP_ICON_%d"
-#define APP_NAME_PATTERN "APP_NAME_%d"
-
-void processVMArgs(char **vmargs[] )
-{
-	int i = -1;
-	int pid = 0, pidLength = 1, temp = 0;
-	char * name = NULL, *icon = NULL;
-	char * c;
-	
-	if( *vmargs == NULL)
-		return;
-	
-	while( (*vmargs)[++i] != NULL ) {
-		/*-Xdock:icon -> APP_ICON_<pid>*/
-		if(_tcsncmp((*vmargs)[i], DOCK_ICON_PREFIX, _tcslen(DOCK_ICON_PREFIX)) == 0) {
-			icon = (*vmargs)[i] + _tcslen(DOCK_ICON_PREFIX);
-		} 
-		/*-Xdock:name -> APP_NAME_<pid>*/
-		else if(_tcsncmp((*vmargs)[i], DOCK_NAME_PREFIX, _tcslen(DOCK_NAME_PREFIX)) == 0) {
-			name = (*vmargs)[i] + _tcslen(DOCK_NAME_PREFIX);
-		}
-		if (name != NULL && icon != NULL) 
-			break;
-	}
-	
-	if (name == NULL && icon == NULL)
-		return;	/* don't need to do anything */
-	
-	temp = pid = getpid();
-	/* how many digits in pid? */
-	while (temp > 9) {
-		pidLength++;
-		temp /= 10;
-	}
-	
-	if (name != NULL) {
-		c = malloc( (_tcslen(APP_NAME_PATTERN) + pidLength + 1) * sizeof(char*));
-		_stprintf( c, APP_NAME_PATTERN, pid );
-		setenv(c, name, 1);
-	}
-	
-	if (icon != NULL) {
-		c = malloc( (_tcslen(icon) + _tcslen(APP_ICON_PATTERN) + pidLength + 1) * sizeof(char*));
-		_stprintf( c, APP_ICON_PATTERN, pid );
-		setenv(c, icon, 1);
-	}
-}
-
-int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) {
-	_TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM;
-	return (strncmp(vm, JAVA_FRAMEWORK, strlen(JAVA_FRAMEWORK)) == 0);
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonCommon.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonCommon.c
deleted file mode 100644
index 82e9719..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonCommon.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-
-#include <locale.h>
-#include <dlfcn.h>
-#include <unistd.h>
-#include <CoreServices/CoreServices.h>
-#ifdef COCOA
-#include <Cocoa/Cocoa.h>
-#else
-#include <Carbon/Carbon.h>
-#endif
-#include <mach-o/dyld.h>
-
-char   dirSeparator  = '/';
-char   pathSeparator = ':';
-
-static CFBundleRef javaVMBundle = NULL;
-
-int initialized = 0;
-
-static void init() {
-	if (!initialized) {
-		ProcessSerialNumber psn;
-		if (GetCurrentProcess(&psn) == noErr) {
-			TransformProcessType(&psn, kProcessTransformToForegroundApplication);
-			SetFrontProcess(&psn);
-		}
-#ifdef COCOA
-		[NSApplication sharedApplication];
-#else
-		ClearMenuBar();
-#endif
-		initialized= true;
-	}
-}
-
-
-/* Initialize Window System
- *
- * Initialize Carbon.
- */
-int initWindowSystem( int* pArgc, char* argv[], int showSplash )
-{
-	char *homeDir = getProgramDir();
-	/*debug("install dir: %s\n", homeDir);*/
-	if (homeDir != NULL)
-		chdir(homeDir);
-    
-	if (showSplash)
-		init();
-	
-	return 0;
-}
-
-/* Display a Message */
-void displayMessage(char *title, char *message)
-{
-	CFStringRef inError, inDescription= NULL;
-
-	/* try to break the message into a first sentence and the rest */
-	char *pos= strstr(message, ". ");
-	if (pos != NULL) {	
-		char *to, *from, *buffer= calloc(pos-message+2, sizeof(char));
-		/* copy and replace line separators with blanks */
-		for (to= buffer, from= message; from <= pos; from++, to++) {
-			char c= *from;
-			if (c == '\n') c= ' ';
-			*to= c;
-		}
-		inError= CFStringCreateWithCString(kCFAllocatorDefault, buffer, kCFStringEncodingUTF8);
-		free(buffer);
-		inDescription= CFStringCreateWithCString(kCFAllocatorDefault, pos+2, kCFStringEncodingUTF8);
-	} else {
-		inError= CFStringCreateWithCString(kCFAllocatorDefault, message, kCFStringEncodingUTF8);
-	}
-	
-	init();
-	
-#ifdef COCOA
-	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-	NSAlert* alert = [NSAlert alertWithMessageText: (NSString*)(inDescription != nil ? inError : nil) defaultButton: nil alternateButton: nil otherButton: nil informativeTextWithFormat: (NSString*)(inDescription != nil ? inDescription : inError)];
-	[[alert window] setTitle: [NSString stringWithUTF8String: title]];
-	[alert setAlertStyle: NSCriticalAlertStyle];
-	[alert runModal];
-	[pool release];
-#else
-	DialogRef outAlert;
-	OSStatus status= CreateStandardAlert(kAlertStopAlert, inError, inDescription, NULL, &outAlert);
-	if (status == noErr) {
-		DialogItemIndex outItemHit;
-		RunStandardAlert(outAlert, NULL, &outItemHit);
-	} else {
-		/*debug("%s: displayMessage: %s\n", title, message);*/
-	}
-#endif
-	CFRelease(inError);
-	if (inDescription != NULL)
-		CFRelease(inDescription);
-}
-
-/* Load the specified shared library
- */
-void * loadLibrary( char * library ){
-	if (strcmp(library, JAVA_FRAMEWORK) == 0) {
-		CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 *)JAVA_FRAMEWORK, strlen(JAVA_FRAMEWORK), true);
-		javaVMBundle = CFBundleCreate(kCFAllocatorDefault, url);
-		CFRelease(url);
-		return (void*) &javaVMBundle;
-	} else {
-		void * result= dlopen(library, RTLD_NOW);
-		if(result == 0) 
-			printf("%s\n",dlerror());
-		return result;
-	}
-}
-
-/* Unload the shared library
- */
-void unloadLibrary( void * handle ){
-	if (handle == &javaVMBundle)
-		CFRelease(javaVMBundle);
-	else
-		dlclose(handle);
-}
- 
-/* Find the given symbol in the shared library
- */
-void * findSymbol( void * handle, char * symbol ){
-	if(handle == &javaVMBundle) {
-		CFStringRef string = CFStringCreateWithCString(kCFAllocatorDefault, symbol, kCFStringEncodingASCII);
-		void * ptr = CFBundleGetFunctionPointerForName(javaVMBundle, string);
-		CFRelease(string);
-		return ptr;
-	} else
-		return dlsym(handle, symbol);
-}
-
-char * resolveSymlinks( char * path ) {
-	char * result = 0;
-	CFURLRef url, resolved;
-	CFStringRef string;
-	FSRef fsRef;
-	Boolean isFolder, wasAliased;
-	
-	if(path == NULL)
-		return path;
-		
-	string = CFStringCreateWithCString(kCFAllocatorDefault, path, kCFStringEncodingUTF8);
-	url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, string, kCFURLPOSIXPathStyle, false);
-	CFRelease(string);
-	if(url == NULL)
-		return path;
-	
-	if(CFURLGetFSRef(url, &fsRef)) {
-		if( FSResolveAliasFile(&fsRef, true, &isFolder, &wasAliased) == noErr) {
-			resolved = CFURLCreateFromFSRef(kCFAllocatorDefault, &fsRef);
-			if(resolved != NULL) {
-				string = CFURLCopyFileSystemPath(resolved, kCFURLPOSIXPathStyle);
-				CFIndex length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(string), kCFStringEncodingUTF8);
-				char *s = malloc(length);
-				if (CFStringGetCString(string, s, length, kCFStringEncodingUTF8)) {
-					result = s;
-				} else {
-					free(s);
-				}
-				CFRelease(string);
-				CFRelease(resolved);
-			}
-		}
-	}	
-	CFRelease(url); 
-	return result;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonMain.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonMain.c
deleted file mode 100644
index cef62d2..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbonMain.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - initial API and implementation
- *	  Andrew Niefer
- */
-
-#include "eclipseCommon.h"
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <pwd.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-
-#include <CoreServices/CoreServices.h>
-#include <Carbon/Carbon.h>
-#include <mach-o/dyld.h>
-
-
-#define APP_PACKAGE_PATTERN ".app/Contents/MacOS/"
-#define APP_PACKAGE "APP_PACKAGE"
-#define JAVAROOT "JAVAROOT"
-
-static void debug(const char *fmt, ...);
-static void dumpArgs(char *tag, int argc, char* argv[]);
-static char *append(char *buffer, const char *s);
-static char *appendc(char *buffer, char c);
-static char *expandShell(char *arg, const char *appPackage, const char *javaRoot);
-static char *my_strcasestr(const char *big, const char *little);
-
-static FILE *fgConsoleLog;
-static char *fgAppPackagePath;
-static int fgPid;
-
-extern int original_main(int argc, char* argv[]);
-int main( int argc, char* argv[] ) {
-
-	SInt32 systemVersion= 0;
-	if (Gestalt(gestaltSystemVersion, &systemVersion) == noErr) {
-		systemVersion &= 0xffff;
-#ifdef COCOA
-		if (systemVersion < 0x1050) {
-			displayMessage("Error", "This application requires Mac OS X 10.5 (Leopard) or greater.");
-			return 0;
-		}
-#else
-		if (systemVersion < 0x1020) {
-			displayMessage("Error", "This application requires Jaguar (Mac OS X >= 10.2)");
-			return 0;
-		}
-#endif
-	}
-
-	fgConsoleLog= fopen("/dev/console", "w");
-	fgPid= getpid();
-
-	dumpArgs("start", argc, argv);
-	if ( (argc > 1 && strncmp(argv[1], "-psn_", 5) == 0) || argc == 1) {
-		/* find path to application bundle (ignoring case) */
-		char *pos= my_strcasestr(argv[0], APP_PACKAGE_PATTERN);
-		if (pos != NULL) {
-			int l= pos-argv[0] + 4;	// reserve space for ".app"
-			fgAppPackagePath= malloc(l+1);
-			strncpy(fgAppPackagePath, argv[0], l);
-			fgAppPackagePath[l]= '\0';	// terminate result
-		}
-		
-		/* Get the main bundle for the app */
-		CFBundleRef mainBundle= CFBundleGetMainBundle();
-		if (mainBundle != NULL) {
-		
-			/* Get an instance of the info plist.*/
-			CFDictionaryRef bundleInfoDict= CFBundleGetInfoDictionary(mainBundle);
-						
-			/* If we succeeded, look for our property. */
-			if (bundleInfoDict != NULL) {
-				CFArrayRef ar= CFDictionaryGetValue(bundleInfoDict, CFSTR("Eclipse"));
-				if (ar) {
-					CFIndex size= CFArrayGetCount(ar);
-					if (size > 0) {
-						int i;
-						char **old_argv= argv;
-						argv= (char**) calloc(size+2, sizeof(char*));
-						argc= 0;
-						argv[argc++]= old_argv[0];
-						for (i= 0; i < size; i++) {
-							CFStringRef sr= (CFStringRef) CFArrayGetValueAtIndex (ar, i);
-							CFIndex argStringSize= CFStringGetMaximumSizeForEncoding(CFStringGetLength(sr), kCFStringEncodingUTF8);
-							char *s= malloc(argStringSize);
-							if (CFStringGetCString(sr, s, argStringSize, kCFStringEncodingUTF8)) {
-								argv[argc++]= expandShell(s, fgAppPackagePath, NULL);
-							} else {
-								fprintf(fgConsoleLog, "can't extract bytes\n");
-							}
-							//free(s);
-						}
-					}
-				} else {
-					fprintf(fgConsoleLog, "no Eclipse dict found\n");
-				}
-			} else {
-				fprintf(fgConsoleLog, "no bundle dict found\n");
-			}
-		} else {
-			fprintf(fgConsoleLog, "no bundle found\n");
-		}
-	}
-	int exitcode= original_main(argc, argv);
-	debug("<<<< exit(%d)\n", exitcode);
-	fclose(fgConsoleLog);
-	return exitcode;
-}
-
-static void debug(const char *fmt, ...) {
-#if DEBUG
-	va_list ap;
-	va_start(ap, fmt);
-	fprintf(fgConsoleLog, "%05d: ", fgPid);
-	vfprintf(fgConsoleLog, fmt, ap);
-	va_end(ap);
-#endif
-}
-
-static void dumpArgs(char *tag, int argc, char* argv[]) {
-#if DEBUG
-	int i;
-	if (argc < 0) {
-		argc= 0;
-		for (i= 0; argv[i] != NULL; i++)
-			 argc++;
-	}
-	debug(">>>> %s:", tag);
-	for (i= 0; i < argc && argv[i] != NULL; i++)
-		fprintf(fgConsoleLog, " <%s>", argv[i]);
-	fprintf(fgConsoleLog, "\n");
-#endif
-}
-
-/*
- * Expand $APP_PACKAGE, $JAVA_HOME, and does tilde expansion.
- 
-	A word beginning with an unquoted tilde character (~) is
-	subject to tilde expansion. All the characters up to a
-	slash (/) or the end of the word are treated as a username
-	and are replaced with the user's home directory. If the
-	username is missing (as in ~/foobar), the tilde is
-	replaced with the value of the HOME variable (the current
-	user's home directory).
- */
-static char *expandShell(char *arg, const char *appPackage, const char *javaRoot) {
-	
-	if (index(arg, '~') == NULL && index(arg, '$') == NULL)
-		return arg;
-	
-	char *buffer= strdup("");
-	char c, lastChar= ' ';
-	const char *cp= arg;
-	while ((c = *cp++) != 0) {
-		if (isspace(lastChar) && c == '~') {
-			char name[100], *dir= NULL;
-			int j= 0;
-			for (; (c = *cp) != 0; cp++) {
-				if (! isalnum(c))
-					break;
-				name[j++]= c;
-				lastChar= c;
-			}
-			name[j]= '\0';
-			if (j > 0) {
-				struct passwd *pw= getpwnam(name);
-				if (pw != NULL)
-					dir= pw->pw_dir;
-			} else {
-				dir= getenv("HOME");
-			}
-			if (dir != NULL)
-				buffer= append(buffer, dir);
-				
-		} else if (c == '$') {
-			int l= strlen(APP_PACKAGE);
-			if (appPackage != NULL && strncmp(cp, APP_PACKAGE, l) == 0) {
-				cp+= l;
-				buffer= append(buffer, appPackage);
-			} else {
-				int l= strlen(JAVAROOT);
-				if (javaRoot != NULL && strncmp(cp, JAVAROOT, l) == 0) {
-					cp+= l;
-					buffer= append(buffer, javaRoot);
-				} else {
-					buffer= appendc(buffer, c);
-				}
-			}
-		} else
-			buffer= appendc(buffer, c);
-		lastChar= c;
-	}
-	return buffer;
-}
-
-static char *my_strcasestr(const char *big, const char *little) {
-    char *cp, *s, *t;
-    for (cp= (char*) big; *cp; cp++) {
-        for (s= cp, t= (char*) little; *s && *t; s++, t++)
-            if (toupper(*s) != toupper(*t))
-                break;
-        if (*t == '\0')
-            return cp;
-    }
-    return NULL;
-}
-
-static char *append(char *buffer, const char *s) {
-	int bl= strlen(buffer);
-	int sl= strlen(s);
-	buffer= realloc(buffer, bl+sl+1);
-	strcpy(&buffer[bl], s);
-	return buffer;
-}
-
-static char *appendc(char *buffer, char c) {
-	int bl= strlen(buffer);
-	buffer= realloc(buffer, bl+2);
-	buffer[bl++]= c;
-	buffer[bl]= '\0';
-	return buffer;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseMain.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseMain.c
deleted file mode 100644
index 4d54251..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseMain.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - initial API and implementation
- * 	  Andre Weinand (OTI Labs)
- */
- 
-#define main original_main
-
-#include "../eclipseMain.c"
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/make_carbon.mak b/bundles/org.eclipse.equinox.executable/library/carbon/make_carbon.mak
deleted file mode 100755
index c12d29e..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/make_carbon.mak
+++ /dev/null
@@ -1,93 +0,0 @@
-#**********************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-#   
-# Contributors: 
-#     Kevin Cornell (Rational Software Corporation)
-#********************************************************************** 
-include ../make_version.mak
-# Makefile for creating the Carbon eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-
-#default value for PROGRAM_OUTPUT
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-endif
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o eclipseCarbonMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseCarbonCommon.o
-DLL_OBJS	= eclipse.o eclipseCarbon.o eclipseUtil.o eclipseJNI.o eclipseShm.o NgImageData.o NgWinBMPFileFormat.o NgCommon.o
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -framework Carbon
-ARCHS = -arch i386 -arch ppc
-CFLAGS = -O -s \
-	-mmacosx-version-min=10.3 \
-	-Wall \
-	$(ARCHS) \
-	-DMACOSX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I.. -I../motif -I/System/Library/Frameworks/JavaVM.framework/Headers
-
-all: $(EXEC) $(DLL)
-
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-
-eclipseCarbonMain.o : eclipseCarbonMain.c
-	$(CC) $(CFLAGS) -c eclipseCarbonMain.c -o $@
-
-eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h eclipseMain.c ../eclipseMain.c 
-	$(CC) $(CFLAGS) -c eclipseMain.c -o $@
-	
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@
-
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-
-eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-
-NgCommon.o: ../motif/NgCommon.c
-	$(CC) $(CFLAGS) -c ../motif/NgCommon.c -o $@
-
-NgWinBMPFileFormat.o: ../motif/NgWinBMPFileFormat.c
-	$(CC) $(CFLAGS) -c ../motif/NgWinBMPFileFormat.c -o $@
-
-NgImageData.o: ../motif/NgImageData.c
-	$(CC) $(CFLAGS) -c ../motif/NgImageData.c -o $@
-
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(ARCHS) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) -bundle -o $(DLL) $(ARCHS) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-
-install: all
-	cp $(EXEC) $(PPC_OUTPUT_DIR)
-	cp $(EXEC) $(X86_OUTPUT_DIR)
-	rm -f $(EXEC) $(OBJS)
-
-clean:
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/make_cocoa.mak b/bundles/org.eclipse.equinox.executable/library/carbon/make_cocoa.mak
deleted file mode 100755
index 868c34b..0000000
--- a/bundles/org.eclipse.equinox.executable/library/carbon/make_cocoa.mak
+++ /dev/null
@@ -1,97 +0,0 @@
-#**********************************************************************
-# Copyright (c) 2000, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-#   
-# Contributors: 
-#     Kevin Cornell (Rational Software Corporation)
-#********************************************************************** 
-include ../make_version.mak
-# Makefile for creating the Carbon eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-
-#default value for PROGRAM_OUTPUT
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-endif
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o eclipseCarbonMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseCarbonCommon.o
-DLL_OBJS	= eclipse.o eclipseCarbon.o eclipseUtil.o eclipseJNI.o eclipseShm.o 
-#NgImageData.o NgWinBMPFileFormat.o NgCommon.o
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -framework Cocoa
-
-ifeq ($(ARCHS),)
-ARCHS = -arch i386 -arch ppc
-endif
-
-CFLAGS = -O -s \
-	-Wall \
-	-DCOCOA -xobjective-c \
-	$(ARCHS) \
-	-DMACOSX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I.. -I../motif -I/System/Library/Frameworks/JavaVM.framework/Headers
-
-all: $(EXEC) $(DLL)
-
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-
-eclipseCarbonMain.o : eclipseCarbonMain.c
-	$(CC) $(CFLAGS) -c eclipseCarbonMain.c -o $@
-
-eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h eclipseMain.c ../eclipseMain.c 
-	$(CC) $(CFLAGS) -c eclipseMain.c -o $@
-	
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@
-
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-
-eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-
-NgCommon.o: ../motif/NgCommon.c
-	$(CC) $(CFLAGS) -c ../motif/NgCommon.c -o $@
-
-NgWinBMPFileFormat.o: ../motif/NgWinBMPFileFormat.c
-	$(CC) $(CFLAGS) -c ../motif/NgWinBMPFileFormat.c -o $@
-
-NgImageData.o: ../motif/NgImageData.c
-	$(CC) $(CFLAGS) -c ../motif/NgImageData.c -o $@
-
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(ARCHS) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) -bundle -o $(DLL) $(ARCHS) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-
-install: all
-	cp -v $(EXEC) $(PROGRAM_OUTPUT_DIR)
-	rm -f $(EXEC) $(OBJS)
-
-clean:
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipse.c b/bundles/org.eclipse.equinox.executable/library/eclipse.c
deleted file mode 100644
index bec693c..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipse.c
+++ /dev/null
@@ -1,1702 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *	   Markus Schorn (Wind River Systems), bug 193340
- *******************************************************************************/
-
-/* Eclipse Program Launcher
- *
- * This file forms the base of the eclipse_*.dll/so.  This dll is loaded by eclipse.exe
- * to start a Java VM, or alternatively it is loaded from Java to show the splash
- * screen or write to the shared memory.  See eclipseJNI.c for descriptions of the methods
- * exposed to the Java program using JNI.
- * 
- * To display a splash screen before starting the java vm, the launcher should be started 
- * with the location of the splash bitmap to use:
- * -showsplash <path/to/splash.bmp>
- * Otherwise, when the Java program starts, it should determine the location of
- * the splash bitmap to be used and use the JNI method show_splash. 
- * 
- * When the Java program initialization is complete, the splash window
- * is brought down by calling the JNI method takedown_splash.
- *
- * The Java program can also call the get_splash_handle method to get the handle to the splash 
- * window.  This can be passed to SWT to create SWT widgets in the splash screen.
- * 
- * The Java application will receive two other arguments:
- *    -exitdata <shared memory id>
- *
- * The java program can call set_exit_data with this shared-memory-id
- * to provide specific exit data to the launcher. 
- *
- * The exit data size must not exceed MAX_SHARED_LENGTH which is
- * 16Kb. The interpretation of the exit data is dependent on the 
- * exit value of the java application.
- *
- * The main launcher recognizes the following exit codes from the
- * Java application:
- *
- *    0    - Exit normally.
- *    RESTART_LAST_EC = 23
- *       - restart the java VM again with the same arguments as the previous one.
- *    RESTART_NEW_EC  = 24
- *       - restart the java VM again with the arguments taken from the exit data.
- *       The exit data format is a list of arguments separated by '\n'. The Java
- *       application should build this list using the arguments passed to it on
- *       startup. See below.
- *
- * Additionally, if the Java application exits with an exit code other than the
- * ones above, the main launcher will display an error message with the contents
- * of the exit data. If the exit data is empty, a generic error message is
- * displayed. The generic error message shows the exit code and the arguments
- * passed to the Java application.
- *
- * The options that can be specified by the user to the launcher are:
- *  -vm <javaVM>               the Java VM to be used
- *  -os <opSys>                the operating system being run on
- *  -arch <osArch>             the hardware architecture of the OS: x86, sparc, hp9000
- *  -ws <gui>                  the window system to be used: win32, motif, gtk, ...
- *  -nosplash                  do not display the splash screen. The java application will
- *                             not receive the -showsplash command.
- *  -showsplash <bitmap>	   show the given bitmap in the splash screen.
- *  -name <name>               application name displayed in error message dialogs and
- *                             splash screen window. Default value is computed from the
- *                             name of the executable - with the first letter capitalized
- *                             if possible. e.g. eclipse.exe defaults to the name Eclipse.
- *  -startup <startup.jar>     the startup jar to execute. The argument is first assumed to be
- *                             relative to the path of the launcher. If such a file does not
- *                             exist, the argument is then treated as an absolute path.
- *                             The default is find the plugins/org.eclipse.equinox.launcher jar
- * 							   with the highest version number.
- *                             The jar must contain an org.eclipse.equinox.launcher.Main class.
- * 							   (unless JNI invocation is not being used, then the jar only needs to be
- * 							   an executable jar)
- * -library					   the location of the eclipse launcher shared library (this library) to use
- * 							   By default, the launcher exe (see eclipseMain.c) finds
- *  <userArgs>                 arguments that are passed along to the Java application
- *                             (i.e, -data <path>, -debug, -console, -consoleLog, etc) 
- *  -vmargs <userVMargs> ...   a list of arguments for the VM itself
- *
- * The -vmargs option and all user specified VM arguments must appear
- * at the end of the command line, after all arguments that are
- * being passed to Java application. 
- *
- * The argument order for the new Java VM process is as follows:
- *
- * <javaVM> <all VM args>
- *     -os <user or default OS value>
- *     -ws <user or default WS value>
- *     -arch <user or default ARCH value>
- *     -launcher <absolute launcher name>
- *     -name <application name>
- * 	   -library <eclipse library location>
- * 	   -startup <startup.jar location>
- *     [-showsplash]
- *     [-exitdata <shared memory id>]
- *     <userArgs>
- *     -vm <javaVM>
- *     -vmargs <all VM args>
- *
- * where:
- *   <all VM args> =
- *     [<defaultVMargs | <userVMargs>]
- *     -jar
- *     <startup jar full path>
- *	
- * The startup jar must be an executable jar.
- * 
- *
- * See "Main.java" for a simple implementation of the Java
- * application.
- *
- * Configuration file
- *   The launcher gets arguments from the command line and/or from a configuration file.
- * The configuration file must have the same name and location as the launcher executable
- * and the extension .ini. For example, the eclipse.ini configuration file must be
- * in the same folder as the eclipse.exe or eclipse executable.
- *   The format of the ini file matches that of the command line arguments - one
- * argument per line.
- *   In general, the settings of the config file are expected to be overriden by the
- * command line.
- *   - launcher arguments (-os, -arch...) set in the config file are overriden by the command line
- *   - the -vmargs from the command line replaces in its entirety the -vmargs from the config file.
- *   - user arguments from the config file are prepended to the user arguments defined in the
- *     config file. This is consistent with the java behaviour in the following case:
- *     java -Dtest="one" -Dtest="two" ...  : test is set to the value "two"
- */
-
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include "eclipseShm.h"
-#include "eclipseJNI.h"
-#include "eclipseConfig.h"
-#include "eclipseCommon.h"
-
-#ifdef _WIN32
-#include <windows.h>
-#include <direct.h>
-#include <io.h>
-#include <fcntl.h>
-#else
-#include <unistd.h>
-#include <strings.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <locale.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <ctype.h>
-
-#define MAX_PATH_LENGTH   2000
-#define MAX_SHARED_LENGTH   (16 * 1024)
-
-/* Global Data */
-static _TCHAR*  program     = NULL;       /* full pathname of the program */
-static _TCHAR*  programDir  = NULL;       /* directory where program resides */
-static _TCHAR*  javaVM      = NULL;       /* full pathname of the Java VM to run */
-static _TCHAR*  jniLib		= NULL;		  /* full path of a java vm library for JNI invocation */
-static _TCHAR*  jarFile     = NULL;		  /* full pathname of the startup jar file to run */
-static _TCHAR*  sharedID    = NULL;       /* ID for the shared memory */
-static _TCHAR*  officialName  = NULL;
-
-_TCHAR*  exitData    = NULL;		  /* exit data set from Java */
-int		 initialArgc;
-_TCHAR** initialArgv = NULL;
-
- 	
-/* Define the special exit codes returned from Eclipse. */
-#define RESTART_LAST_EC    23
-#define RESTART_NEW_EC     24
-
-/* constants for launch mode */
-#define LAUNCH_JNI 1
-#define LAUNCH_EXE 2
-
-#define DEFAULT_EE _T_ECLIPSE("default.ee")
-
-/* Define error messages. (non-NLS) */
-static _TCHAR* exitMsg = _T_ECLIPSE("JVM terminated. Exit code=%d\n%s");
-static _TCHAR* javaFailureMsg = _T_ECLIPSE("Internal Error, unable to determine the results of running the JVM.");
-static _TCHAR* returnCodeMsg = _T_ECLIPSE("Java was started but returned exit code=%d\n%s");
-static _TCHAR* goVMMsg = _T_ECLIPSE("Start VM: %s\n");
-static _TCHAR* pathMsg = _T_ECLIPSE("%s in your current PATH");
-static _TCHAR* shareMsg = _T_ECLIPSE("No exit data available.");
-static _TCHAR* noVMMsg =
-_T_ECLIPSE("A Java Runtime Environment (JRE) or Java Development Kit (JDK)\n\
-must be available in order to run %s. No Java virtual machine\n\
-was found after searching the following locations:\n\
-%s");
-static _TCHAR* startupMsg =
-_T_ECLIPSE("The %s executable launcher was unable to locate its \n\
-companion launcher jar.");
-
-static _TCHAR* homeMsg =
-_T_ECLIPSE("The %s executable launcher was unable to locate its \n\
-home directory.");
-
-#define OLD_STARTUP 		_T_ECLIPSE("startup.jar")
-#define CLASSPATH_PREFIX        _T_ECLIPSE("-Djava.class.path=")
-
-/* Define constants for the options recognized by the launcher. */
-#define CONSOLE      _T_ECLIPSE("-console")
-#define CONSOLELOG   _T_ECLIPSE("-consoleLog")
-#define DEBUG        _T_ECLIPSE("-debug")
-#define OS           _T_ECLIPSE("-os")
-#define OSARCH       _T_ECLIPSE("-arch")
-#define NOSPLASH     _T_ECLIPSE("-nosplash")
-#define LAUNCHER     _T_ECLIPSE("-launcher")
-#define SHOWSPLASH   _T_ECLIPSE("-showsplash")
-#define EXITDATA     _T_ECLIPSE("-exitdata")
-#define STARTUP      _T_ECLIPSE("-startup")
-#define VM           _T_ECLIPSE("-vm")
-#define WS           _T_ECLIPSE("-ws")
-#define NAME         _T_ECLIPSE("-name")
-#define VMARGS       _T_ECLIPSE("-vmargs")					/* special option processing required */
-#define CP			 _T_ECLIPSE("-cp")
-#define CLASSPATH    _T_ECLIPSE("-classpath")
-#define JAR 		 _T_ECLIPSE("-jar")
-
-#define OPENFILE	  _T_ECLIPSE("--launcher.openFile")
-#define DEFAULTACTION _T_ECLIPSE("--launcher.defaultAction")
-#define TIMEOUT		  _T_ECLIPSE("--launcher.timeout")
-#define LIBRARY		  _T_ECLIPSE("--launcher.library")
-#define SUPRESSERRORS _T_ECLIPSE("--launcher.suppressErrors")
-#define INI			  _T_ECLIPSE("--launcher.ini")
-#define SECOND_THREAD _T_ECLIPSE("--launcher.secondThread")
-#define PERM_GEN	  _T_ECLIPSE("--launcher.XXMaxPermSize")
-
-#define XXPERMGEN	  _T_ECLIPSE("-XX:MaxPermSize=")
-#define ACTION_OPENFILE _T_ECLIPSE("openFile")
-
-/* constants for ee options file */
-#define EE_EXECUTABLE 			_T_ECLIPSE("-Dee.executable=")
-#define EE_CONSOLE 	_T_ECLIPSE("-Dee.executable.console=")
-#define EE_VM_LIBRARY			_T_ECLIPSE("-Dee.vm.library=")
-#define EE_LIBRARY_PATH			_T_ECLIPSE("-Dee.library.path=")
-#define EE_HOME					_T_ECLIPSE("-Dee.home=")
-#define EE_FILENAME				_T_ECLIPSE("-Dee.filename=")
-#define EE_HOME_VAR				_T_ECLIPSE("${ee.home}")
-
-/* Define the variables to receive the option values. */
-static int     needConsole   = 0;				/* True: user wants a console	*/
-static int     debug         = 0;				/* True: output debugging info	*/
-static int     noSplash      = 0;				/* True: do not show splash win	*/
-static int	   suppressErrors = 0;				/* True: do not display errors dialogs */
-       int     secondThread  = 0;				/* True: start the VM on a second thread */
-       
-static _TCHAR*  showSplashArg = NULL;			/* showsplash data (main launcher window) */
-static _TCHAR*  splashBitmap  = NULL;			/* the actual splash bitmap */
-static _TCHAR * startupArg    = NULL;			/* path of the startup.jar the user wants to run relative to the program path */
-static _TCHAR*  vmName        = NULL;     		/* Java VM that the user wants to run */
-static _TCHAR*  name          = NULL;			/* program name */	
-static _TCHAR*  permGen  	  = NULL;			/* perm gen size for sun */
-static _TCHAR**  filePath	  = NULL;			/* list of files to open */
-static _TCHAR*  timeoutString = NULL;			/* timeout value for opening a file */
-static _TCHAR*  defaultAction = NULL;			/* default action for non '-' command line arguments */ 
-
-/* variables for ee options */
-static _TCHAR* eeExecutable = NULL;
-static _TCHAR* eeConsole = NULL;
-static _TCHAR* eeLibrary = NULL;
-
-_TCHAR* eeLibPath = NULL;			/* this one is global so others can see it */
-_TCHAR*  eclipseLibrary = NULL;	/* the shared library */
-
-/* Define a table for processing command line options. */
-typedef struct
-{
-	_TCHAR*  name;		/* the option recognized by the launcher */
-	void*  value;		/* the variable where the option value is saved */
-						/* value is a _TCHAR** or int* depending on if VALUE_IS_FLAG is set */
-	int    flag;		/* flags */
-	int    remove;		/* the number of argments to remove from the list, -1 can be used with VALUE_IS_LIST */
-} Option;
-
-/* flags for the Option struct */
-#define VALUE_IS_FLAG 	1   /* value is an int*, if not set, value is a _TCHAR** or _TCHAR*** (VALUE_IS_LIST) */
-#define OPTIONAL_VALUE  2  	/* value is optional, if next arg does not start with '-', */
-							/* don't assign it and only remove (remove - 1) arguments  */
-#define ADJUST_PATH		4  	/* value is a path, do processing on relative paths to try and make them absolute */
-#define VALUE_IS_LIST	8  	/* value is a pointer to a tokenized _TCHAR* string for EE files, or a _TCHAR** list for the command line */
-
-static Option options[] = {
-    { CONSOLE,		&needConsole,	VALUE_IS_FLAG,	0 },
-    { CONSOLELOG,	&needConsole,	VALUE_IS_FLAG,	0 },
-    { DEBUG,		&debug,			VALUE_IS_FLAG,	0 },
-    { NOSPLASH,     &noSplash,      VALUE_IS_FLAG,	1 },
-    { SUPRESSERRORS, &suppressErrors, VALUE_IS_FLAG, 1},
-    { SECOND_THREAD, &secondThread, VALUE_IS_FLAG,  1 },
-    { LIBRARY,		NULL,			0,			2 }, /* library was parsed by exe, just remove it */
-    { INI,			NULL, 			0,			2 }, /* same with ini */
-    { OS,			&osArg,			0,			2 },
-    { OSARCH,		&osArchArg,		0,			2 },
-    { SHOWSPLASH,   &showSplashArg,	OPTIONAL_VALUE,	2 },
-    { STARTUP,		&startupArg,	0,			2 },
-    { VM,           &vmName,		0,			2 },
-    { NAME,         &name,			0,			2 },
-    { PERM_GEN,		&permGen,		0,			2 },
-    { OPENFILE,		&filePath,		ADJUST_PATH | VALUE_IS_LIST, -1 },
-    { TIMEOUT,		&timeoutString, 0,          2 },
-    { DEFAULTACTION,&defaultAction, 0,			2 },
-    { WS,			&wsArg,			0,			2 } };
-static int optionsSize = (sizeof(options) / sizeof(options[0]));
-
-static Option eeOptions[] = {
-	{ EE_EXECUTABLE,	&eeExecutable, 	ADJUST_PATH, 0 },
-	{ EE_CONSOLE,	 	&eeConsole,		ADJUST_PATH, 0 },
-	{ EE_VM_LIBRARY, 	&eeLibrary,		ADJUST_PATH, 0 },
-	{ EE_LIBRARY_PATH,	&eeLibPath, 	ADJUST_PATH | VALUE_IS_LIST, 0 }
-};
-static int eeOptionsSize = (sizeof(eeOptions) / sizeof(eeOptions[0]));
-
-/* Define the required VM arguments (all platforms). */
-static _TCHAR*  cp = NULL;
-static _TCHAR*  cpValue = NULL;					
-static _TCHAR** reqVMarg[] = { &cp, &cpValue, NULL };	/* required VM args */
-static _TCHAR** userVMarg  = NULL;	     				/* user specific args for the Java VM  */
-static _TCHAR** eeVMarg = NULL;							/* vm args specified in ee file */
-static int nEEargs = 0;
-
-/* Local methods */
-static void     parseArgs( int* argc, _TCHAR* argv[] );
-static void 	processDefaultAction(int argc, _TCHAR* argv[]);
-static void     getVMCommand( int launchMode, int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR **progArgv[] );
-static int 		determineVM(_TCHAR** msg);
-static int 		vmEEProps(_TCHAR* eeFile, _TCHAR** msg);
-static int 		processEEProps(_TCHAR* eeFile);
-static _TCHAR** buildLaunchCommand( _TCHAR* program, _TCHAR** vmArgs, _TCHAR** progArgs );
-static _TCHAR** parseArgList( _TCHAR *data );
-static _TCHAR*  formatVmCommandMsg( _TCHAR* args[], _TCHAR* vmArgs[], _TCHAR* progArgs[] );
-static _TCHAR*  getDefaultOfficialName();
-static _TCHAR*  findStartupJar();
-static _TCHAR*  findSplash(_TCHAR* splashArg);
-static _TCHAR** getRelaunchCommand( _TCHAR **vmCommand );
-static const _TCHAR* getVMArch();
-
-#ifdef _WIN32
-static void     createConsole();
-static int 		isConsoleLauncher();
-#endif
-static int      consoleLauncher = 0;
-
-/* Record the arguments that were used to start the original executable */
-JNIEXPORT void setInitialArgs(int argc, _TCHAR** argv, _TCHAR* lib) {
-	initialArgc = argc;
-	initialArgv = argv;
-	eclipseLibrary = lib;
-}
-
-/* this method must match the RunMethod typedef in eclipseMain.c */
-/* vmArgs must be NULL terminated                                */
-JNIEXPORT int run(int argc, _TCHAR* argv[], _TCHAR* vmArgs[])
-{
-    _TCHAR**  vmCommand = NULL;
-    _TCHAR**  vmCommandArgs = NULL;
-    _TCHAR**  progCommandArgs = NULL;
-    _TCHAR**  relaunchCommand = NULL;
-    _TCHAR*   errorMsg = NULL, *msg = NULL;
-    JavaResults* javaResults = NULL;
-    int 	  launchMode;
-    int 	  running = 1;
-	 
-	/* arg[0] should be the full pathname of this program. */
-    program = _tcsdup( argv[0] );
-	
-    /* Parse command line arguments (looking for the VM to use). */
-    /* Override configuration file arguments */
-    parseArgs( &argc, argv );
-
-	/* Initialize official program name */
-   	officialName = name != NULL ? _tcsdup( name ) : getDefaultOfficialName();
-    
-   	if (defaultAction != NULL) {
-   		processDefaultAction(initialArgc, initialArgv);
-   	}
-   	
-   	/* try to open the specified file in an already running eclipse */
-   	/* on Mac we are only registering an event handler here, always do this */
-#ifndef MACOSX
-	if (filePath != NULL && filePath[0] != NULL)
-#endif
-	{
-		int timeout = 60;
-		if (timeoutString != NULL)
-			_stscanf(timeoutString, _T_ECLIPSE("%d"), &timeout);
-		if (reuseWorkbench(filePath, timeout) > 0)
-			return 0;
-	}
-
-#ifdef MACOSX
-   	/* Most platforms, we will initialize the window system later before trying to do any
-   	 * graphics.  On Mac, we need it initialized to get the dock icon properly, so always do 
-   	 * it now.
-   	 */
-    initWindowSystem( &argc, argv, !noSplash );
-#elif _WIN32
-    /* this must be before doing any console stuff, platforms other than win32 leave this set to 0 */
-    consoleLauncher = isConsoleLauncher();
-#endif
-    
-    /* Find the directory where the Eclipse program is installed. */
-    programDir = getProgramDir();
-    if (programDir == NULL)
-    {
-        errorMsg = malloc( (_tcslen(homeMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) );
-        _stprintf( errorMsg, homeMsg, officialName );
-        if (!suppressErrors)
-        	displayMessage( officialName, errorMsg );
-        else
-        	_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg); 
-        free( errorMsg );
-    	exit( 1 );
-    }
-
-    /* platform specific processing of user's vmargs */
-    processVMArgs(&vmArgs);
-    launchMode = determineVM(&msg);
-    if (launchMode == -1) {
-    	/* problem */
-    	errorMsg = malloc((_tcslen(noVMMsg) + _tcslen(officialName) + _tcslen(msg) + 1) * sizeof(_TCHAR));
-    	_stprintf( errorMsg, noVMMsg, officialName, msg );
-    	if (!suppressErrors)
-    		displayMessage( officialName, errorMsg );
-    	else
-    		_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg);
-    	free( errorMsg );
-    	free( msg );
-    	exit(1);
-	}	
-	
-	/* Find the startup.jar */
-	jarFile = findStartupJar();
-	if(jarFile == NULL) {
-		errorMsg = malloc( (_tcslen(startupMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) );
-        _stprintf( errorMsg, startupMsg, officialName );
-        if (!suppressErrors)
-    		displayMessage( officialName, errorMsg );
-    	else
-    		_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg);
-        free( errorMsg );
-    	exit( 1 );
-	}
-
-#ifdef _WIN32
-	if( launchMode == LAUNCH_JNI && (debug || needConsole) ) {
-		createConsole();
-	}
-#endif
-
-    /* If the showsplash option was given and we are using JNI */
-    if (!noSplash && showSplashArg && launchMode == LAUNCH_JNI)
-    {
-    	splashBitmap = findSplash(showSplashArg);
-    	if (splashBitmap != NULL) {
-	    	showSplash(splashBitmap);
-    	}
-    }
-    
-    /* not using JNI launching, need some shared data */
-    if (launchMode == LAUNCH_EXE && createSharedData( &sharedID, MAX_SHARED_LENGTH )) {
-        if (debug) {
-        	if (!suppressErrors) 
-        		displayMessage( officialName, shareMsg );
-        	else
-           		_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, shareMsg);
-        }
-    }
-    
-	/* the startup jarFile goes on the classpath */
-    if (launchMode == LAUNCH_JNI) {
-    	/* JNI launching, classpath is set using -Djava.class.path */
-		cp = malloc((_tcslen(CLASSPATH_PREFIX) + _tcslen(jarFile) + 1) * sizeof(_TCHAR));
-		cp = _tcscpy(cp, CLASSPATH_PREFIX);
-		_tcscat(cp, jarFile);
-    } else {
-    	/* exec java, jar is specified with -jar */
-    	cp = JAR;
-    	cpValue = malloc((_tcslen(jarFile) + 1) * sizeof(_TCHAR));
-    	_tcscpy(cpValue, jarFile);
-    }
-	
-    /* Get the command to start the Java VM. */
-    userVMarg = vmArgs;
-    getVMCommand( launchMode, argc, argv, &vmCommandArgs, &progCommandArgs );
-	
-    if (launchMode == LAUNCH_EXE) {
-    	vmCommand = buildLaunchCommand(javaVM, vmCommandArgs, progCommandArgs);
-    }
-    
-    /* While the Java VM should be restarted */
-    while(running)
-    {
-		msg = formatVmCommandMsg( vmCommand, vmCommandArgs, progCommandArgs );
-		if (debug) _tprintf( goVMMsg, msg );
-
-		if(launchMode == LAUNCH_JNI) {
-			javaResults = startJavaVM(jniLib, vmCommandArgs, progCommandArgs, jarFile);
-		} else {
-			javaResults = launchJavaVM(vmCommand);
-		}
-		
-		if (javaResults == NULL) {
-			/* shouldn't happen, but just in case */
-			javaResults = malloc(sizeof(JavaResults));
-			javaResults->launchResult = -11;
-			javaResults->runResult = 0;
-			javaResults->errorMessage = _tcsdup(javaFailureMsg);
-		}
-		
-	    switch( javaResults->launchResult + javaResults->runResult ) {
-	        case 0: /* normal exit */
-	        	running = 0;
-	            break;
-	        case RESTART_LAST_EC:
-	        	if (launchMode == LAUNCH_JNI) {
-		        	/* copy for relaunch, +1 to ensure NULL terminated */
-		        	relaunchCommand = malloc((initialArgc + 1) * sizeof(_TCHAR*));
-		        	memcpy(relaunchCommand, initialArgv, (initialArgc + 1) * sizeof(_TCHAR*));
-		        	relaunchCommand[initialArgc] = 0;
-		        	relaunchCommand[0] = program;
-		        	running = 0;
-	        	}
-	        	break;
-	        	
-	        case RESTART_NEW_EC:
-	        	if(launchMode == LAUNCH_EXE) {
-	        		if (exitData != NULL) free(exitData);
-	        		if (getSharedData( sharedID, &exitData ) != 0)
-	        			exitData = NULL;
-	        	}
-	            if (exitData != 0) {
-	            	if (vmCommand != NULL) free( vmCommand );
-	                vmCommand = parseArgList( exitData );
-	                if (launchMode == LAUNCH_JNI) {
-	                	relaunchCommand = getRelaunchCommand(vmCommand);
-	                	running = 0;
-	                }
-	            } else {
-	            	running = 0;
-	                if (debug) {
-	                	if (!suppressErrors) 
-        	        		displayMessage( officialName, shareMsg );
-        	        	else
-        	           		_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, shareMsg);
-	                }
-	            }
-	            break;
-			default: {
-				_TCHAR *title = _tcsdup(officialName);
-	            running = 0;
-	            errorMsg = NULL;
-	            if (launchMode == LAUNCH_EXE) {
-	            	if (exitData != NULL) free(exitData);
-	        		if (getSharedData( sharedID, &exitData ) != 0)
-	        			exitData = NULL;
-	        	}
-	            if (exitData != 0) {
-	            	errorMsg = exitData;
-	            	exitData = NULL;
-	                if (_tcslen( errorMsg ) > 0) {
-	                    _TCHAR *str;
-	                	if (_tcsncmp(errorMsg, _T_ECLIPSE("<title>"), _tcslen(_T_ECLIPSE("<title>"))) == 0) {
-							str = _tcsstr(errorMsg, _T_ECLIPSE("</title>"));
-							if (str != NULL) {
-								free( title );
-								str[0] = _T_ECLIPSE('\0');
-								title = _tcsdup( errorMsg + _tcslen(_T_ECLIPSE("<title>")) );
-								str = _tcsdup( str + _tcslen(_T_ECLIPSE("</title>")) );
-								free( errorMsg );
-								errorMsg = str;
-							}
-	                	}
-	                }
-	            } else {
-	            	 if (debug) {
-	                	if (!suppressErrors) 
-        	        		displayMessage( title, shareMsg );
-        	        	else
-        	           		_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), title, shareMsg);
-	                }
-	            }
-	            if (errorMsg == NULL) {
-	            	if (javaResults->runResult) {
-	            		/* java was started ok, but returned non-zero exit code */
-	            		errorMsg = malloc( (_tcslen(returnCodeMsg) + _tcslen(msg) + 10) *sizeof(_TCHAR));
-	            		_stprintf(errorMsg, returnCodeMsg,javaResults->runResult, msg);
-	            	} else if (javaResults->errorMessage != NULL){
-	            		/* else we had a problem launching java, use custom error message */
-	            		errorMsg = javaResults->errorMessage;
-	            	} else {
-	            		/* no custom message, use generic message */
-						errorMsg = malloc( (_tcslen(exitMsg) + _tcslen(msg) + 10) * sizeof(_TCHAR) );
-						_stprintf( errorMsg, exitMsg, javaResults->launchResult, msg );
-	            	}
-	            }
-	            
-	            if (_tcslen(errorMsg) > 0) {
-		            if (!suppressErrors)
-		            	displayMessage( title, errorMsg );
-		            else 
-		            	_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), title, errorMsg);
-	            }
-	            free( errorMsg );
-	            free( title );
-	            break;
-	        }
-	    }
-	    free( msg );
-    }
-
-    if(relaunchCommand != NULL)
-    	restartLauncher(NULL, relaunchCommand);
-    	
-    if (launchMode == LAUNCH_JNI)
-    	cleanupVM(javaResults->launchResult ? javaResults->launchResult : javaResults->runResult);
-    
-    if (sharedID != NULL) {
-    	destroySharedData( sharedID );
-    	free( sharedID );
-    }
-    
-    /* Cleanup time. */
-    free( vmCommandArgs );
-    free( progCommandArgs );
-    free( jarFile );
-    free( programDir );
-    free( program );
-    free( officialName );
-    if ( vmCommand != NULL )	 free( vmCommand );
-    if ( launchMode == LAUNCH_JNI ) free( cp );
-    if ( cpValue != NULL)		 free( cpValue );
-    if ( exitData != NULL )		 free( exitData );
-    if ( splashBitmap != NULL )  free( splashBitmap );
-
-    if (javaResults == NULL)
-    	return -1;
-    
-    /* reuse the running variable for convenience */
-    running = javaResults->launchResult != 0 ? javaResults->launchResult : javaResults->runResult;
-    free(javaResults);
-    return running;
-}
-
-static _TCHAR** buildLaunchCommand( _TCHAR* program, _TCHAR** vmArgs, _TCHAR** progArgs ) {
-	int nVM = -1, nProg = -1;
-	_TCHAR** result;
-	
-	while(vmArgs[++nVM] != NULL) {}
-	while(progArgs[++nProg] != NULL) {}
-	
-	result = malloc((nVM + nProg + 2) * sizeof(_TCHAR*));
-	memset(result, 0, (nVM + nProg + 2) * sizeof(_TCHAR*));
-	result[0] = program;
-	memcpy(result + 1, vmArgs, nVM * sizeof(_TCHAR*));
-	memcpy(result + 1 + nVM, progArgs, nProg * sizeof(_TCHAR*));
-	return result;
-}
-
-static void processDefaultAction(int argc, _TCHAR* argv[]) {
-	/* scan the arg list, no default if any start with '-' */
-	int i = 0;
-	for (i = 0; i < argc; i++) {
-		if (argv[i][0] == _T_ECLIPSE('-'))
-			return;
-	}
-	/* argv[0] is the program (eclipse),  we process the default actions by inserting
-	 * the appropriate -argument at argv[1]
-	 */
-	if (argc <= 1)
-		return;
-
-	if (_tcsicmp(defaultAction, ACTION_OPENFILE) == 0) {
-		int newArgc = argc + 1;
-		_TCHAR ** newArgv = malloc((newArgc + 1) * sizeof(_TCHAR*));
-		newArgv[0] = argv[0];
-		newArgv[1] = OPENFILE;
-		memcpy(&newArgv[2], &argv[1], argc * sizeof(_TCHAR*));
-		parseArgs(&newArgc, newArgv);
-		free(newArgv);
-	}
-}
-
-/*
- * Parse arguments of the command.
- */
-static void parseArgs(int* pArgc, _TCHAR* argv[]) {
-	Option* option;
-	int remArgs;
-	int index;
-	int i;
-	_TCHAR * c;
-
-	/* For each user defined argument (excluding the program) */
-	for (index = 1; index < *pArgc; index++) {
-		remArgs = 0;
-
-		/* Find the corresponding argument is a option supported by the launcher */
-		option = NULL;
-		for (i = 0; option == NULL && i < optionsSize; i++) {
-			if (_tcsicmp(argv[index], options[i].name) == 0) {
-				option = &options[i];
-				break;
-			}
-		}
-
-		/* If the option is recognized by the launcher */
-		if (option != NULL) {
-			int optional = 0;
-			c = option->name;
-			/* If the option requires a value and there is one, extract the value. */
-			if (option->value != NULL) {
-				if (option->flag & VALUE_IS_FLAG)
-					*((int *) option->value) = 1;
-				else {
-					int count = 1;
-					if (option->flag & VALUE_IS_LIST) {
-						/* count how many args, this is the -argument itself + following the non'-' args */
-						while(count + index < *pArgc && argv[count + index][0] != _T_ECLIPSE('-'))
-							count++;
-						
-						/* allocate memory for a _TCHAR* list and initialize it with NULLs*/
-						*((void**) option->value) = malloc(count * sizeof(_TCHAR *));
-						memset(*((void **) option->value), 0, count * sizeof(_TCHAR *));
-						
-						if (option->remove != 0)
-							option->remove = count;
-					}
-
-					for (i = 0; i < count; i++) {
-						if ((index + i + 1) < *pArgc) {
-							_TCHAR * next = argv[index + i + 1];
-							if (option->flag & ADJUST_PATH)
-								next = checkPath(next, getProgramDir(), 0);
-							if (next[0] != _T_ECLIPSE('-')) {
-								if (option->flag & VALUE_IS_LIST)
-									(*((_TCHAR***) option->value))[i] = next;
-								else
-									*((_TCHAR**) option->value) = next;
-							} else if (option->flag & OPTIONAL_VALUE){
-								/* value was optional, and the next arg starts with '-' */
-								optional = 1;
-							}
-						}
-					}
-				}
-			}
-
-			/* If the option requires a flag to be set, set it. */
-			remArgs = option->remove - optional;
-		}
-
-		/* Remove any matched arguments from the list. */
-		if (remArgs > 0) {
-			for (i = (index + remArgs); i <= *pArgc; i++) {
-				argv[i - remArgs] = argv[i];
-			}
-			index--;
-			*pArgc -= remArgs;
-		}
-	}
-}
-
-/*
- * Parse the data into a list of arguments separated by \n.
- */
-static _TCHAR** parseArgList( _TCHAR* data ) {
-    int totalArgs = 0, dst = 0;
-    size_t length;
-    _TCHAR *ch1, *ch2, **execArg;
-    length = _tcslen( data );
-    ch1 = ch2 = data;
-    while ((ch2 = _tcschr( ch1, _T_ECLIPSE('\n') )) != NULL) {
-    	totalArgs++;
-    	ch1 = ch2 + 1;
-    }
-    if (ch1 != data + length) totalArgs++;
-    execArg = malloc( (totalArgs + 1) * sizeof( _TCHAR* ) );
-    ch1 = ch2 = data;
-    while ((ch2 = _tcschr( ch1, _T_ECLIPSE('\n') )) != NULL) {
-    	execArg[ dst++ ] = ch1;
-    	ch2[ 0 ] = _T_ECLIPSE('\0');
-    	ch1 = ch2 + 1;
-    }
-    if (ch1 != data + length) execArg[ dst++ ] = ch1;
-    execArg[ dst++ ] = NULL;
-    return execArg;
-}
-
-static void adjustVMArgs( _TCHAR *javaVM, _TCHAR *jniLib, _TCHAR **vmArgv[] ) {
-	/* Sun VMs need some extra perm gen space */
-	if (permGen != NULL && isSunVM(javaVM, jniLib)) {
-		int specified = 0, i = -1;
-		
-		/* first check to see if it is already specified */
-		while ( (*vmArgv)[++i] != NULL) {
-			/* we are also counting the number of args here */
-			if (!specified && _tcsncmp((*vmArgv)[i], XXPERMGEN, _tcslen(XXPERMGEN)) == 0) {
-				specified = 1;
-			}
-		}
-		
-		if (!specified) {
-			_TCHAR ** oldArgs = *vmArgv;
-			_TCHAR *newArg = malloc((_tcslen(XXPERMGEN) + _tcslen(permGen) + 1) * sizeof(_TCHAR));
-			_stprintf(newArg, _T_ECLIPSE("%s%s"), XXPERMGEN, permGen);
-			
-			*vmArgv = malloc((i + 2) * sizeof(_TCHAR *));
-			memcpy(*vmArgv, oldArgs, i * sizeof(_TCHAR *));
-			(*vmArgv)[i] = newArg;
-			(*vmArgv)[i + 1] = 0;
-		}
-	}
-}
-/*
- * Get the command and arguments to start the Java VM.
- *
- * Memory allocated by this function is assumed to be
- * deallocated when the program terminates.
- *
- * Some of the arguments returned by this function were
- * passed directly from the main( argv ) array so they
- * should not be deallocated.
- * 
- * Arguments are split into 2: vm arguments and program arguments
- */
-static void getVMCommand( int launchMode, int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR **progArgv[] )
-{
-	_TCHAR** vmArg;
-    int     nReqVMarg = 0;
-    int     nVMarg = 0;
-    int     totalVMArgs;
-    int		totalProgArgs;
-    int     src;
-    int     dst;
-
-	/* If the user specified "-vmargs", add them instead of the default VM args. */
-	vmArg = (userVMarg != NULL) ? userVMarg : getArgVM( (launchMode == LAUNCH_JNI) ? jniLib : javaVM ); 
- 	
-	adjustVMArgs(javaVM, jniLib, &vmArg);
-	
- 	/* Calculate the number of VM arguments. */
- 	while (vmArg[ nVMarg ] != NULL)
- 		nVMarg++;
-
- 	/* Calculate the number of required VM arguments. */
- 	while (reqVMarg[ nReqVMarg ] != NULL)
- 		nReqVMarg++;
-
-	/* VM argument list */
-	totalVMArgs = nVMarg + nReqVMarg + nEEargs + 1;
-	*vmArgv = malloc( totalVMArgs * sizeof(_TCHAR*) );
-	
-	dst = 0;
-	for (src = 0; src < nVMarg; src++){
-		/*if the user specified a classpath, skip it */
-		if(_tcscmp(vmArg[src], cp) == 0){
-			src++;
-			continue;
-		}
-    	(*vmArgv)[ dst++ ] = vmArg[ src ];
-	}
-
-	if (eeVMarg != NULL)
-		for (src = 0; src < nEEargs; src++)
-			(*vmArgv)[ dst++ ] = eeVMarg[ src ];
-	
-	/* For each required VM arg */
-	for (src = 0; src < nReqVMarg; src++)
-		if( *(reqVMarg[src]) != NULL)
-			(*vmArgv)[ dst++ ] = *(reqVMarg[ src ]);
-	
-	
-	(*vmArgv)[dst] = NULL;
-	
-	/* Program arguments */
-    /*  OS <os> + WS <ws> + ARCH <arch> + LAUNCHER <launcher> + NAME <officialName> +
-     *  + LIBRARY <library> + SHOWSPLASH <cmd> + EXITDATA <cmd> + STARTUP <jar> + argv[] + VM + <vm> + 
-     * VMARGS + vmArg + requiredVMargs
-     *  + NULL)
-     */
-    totalProgArgs  = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + argc + 2 + 1 + nVMarg + nEEargs + nReqVMarg + 1;
-	*progArgv = malloc( totalProgArgs * sizeof( _TCHAR* ) );
-    dst = 0;
-    
-    /* Append the required options. */
-    (*progArgv)[ dst++ ] = OS;
-    (*progArgv)[ dst++ ] = osArg;
-    (*progArgv)[ dst++ ] = WS;
-    (*progArgv)[ dst++ ] = wsArg;
-    if (_tcslen(osArchArg) > 0) {
-        (*progArgv)[ dst++ ] = OSARCH;
-        (*progArgv)[ dst++ ] = osArchArg;
-    }
-
-	/* Append the show splash window command, if defined. */
-    if (!noSplash)
-    {
-        (*progArgv)[ dst++ ] = SHOWSPLASH;
-        if(splashBitmap != NULL)
-        	(*progArgv)[ dst++ ] = splashBitmap;
-    }
-    
-	/* Append the launcher command */
-	(*progArgv)[ dst++ ] = LAUNCHER;
-	(*progArgv)[ dst++ ] = program;
-
-	/* Append the name command */
-	(*progArgv)[ dst++ ] = NAME;
-	(*progArgv)[ dst++ ] = 	officialName;
-	
-	/* And the shared library */
-	if (eclipseLibrary != NULL) {
-		(*progArgv)[ dst++ ] = LIBRARY;
-		(*progArgv)[ dst++ ] = eclipseLibrary;
-	}
-	
-	/* the startup jar */
-	(*progArgv)[ dst++ ] = STARTUP;
-	(*progArgv)[ dst++ ] = jarFile;
-    
-	/* Append the exit data command. */
-	if (sharedID) {
-		(*progArgv)[ dst++ ] = EXITDATA;
-		(*progArgv)[ dst++ ] = sharedID;
-	}
-
-	/* Append the remaining user defined arguments. */
-    for (src = 1; src < argc; src++)
-    {
-        (*progArgv)[ dst++ ] = argv[ src ];
-    }
-
-    /* Append VM and VMARGS to be able to relaunch using exit data. */
-	(*progArgv)[ dst++ ] = VM;
-	if(jniLib != NULL)
-		(*progArgv)[ dst++ ] = jniLib;
-	else
-		(*progArgv)[ dst++ ] = javaVM;
-    (*progArgv)[ dst++ ] = VMARGS;
-    
-	for (src = 0; src < nVMarg; src++)
-    	(*progArgv)[ dst++ ] = vmArg[ src ];
-	
-	if (eeVMarg != NULL)
-		for (src = 0; src < nEEargs; src++)
-			(*progArgv)[ dst++ ] = eeVMarg[ src ];
-	
-    /* For each required VM arg */
-    for (src = 0; src < nReqVMarg; src++)
-    	if (*(reqVMarg[src]) != NULL)
-    		(*progArgv)[ dst++ ] = *(reqVMarg[ src ]);
-
-    (*progArgv)[ dst++ ] = NULL;
-
- }
-
- /* Format the JVM start command for error messages
-  *
-  * This method formats a string with the JVM start command (and all arguments)
-  * that can be used in displaying error messages. The string returned from this
-  * method is probably not NLS compliant and must be deallocated by the caller.
-  * 
-  * The arguments in the message are either args (if not null) or the combination 
-  * of vmArgs + progArgs
-  */
-static _TCHAR*  formatVmCommandMsg( _TCHAR* args[], _TCHAR* vmArgs[], _TCHAR* progArgs[] )
-{
-	int   index;
-    size_t length = 0;
-    _TCHAR** list;
-    _TCHAR* ch;
-    _TCHAR* message;
-
-	/* Determine the length of the message buffer. */
-	if(args != NULL) list = args;
-	else             list = vmArgs;
-	while(list != NULL) {
-		for (index = 0; list[index] != NULL; index++)
-		{
-			length += _tcslen(list[index]) + 1;
-		}
-		if(list == vmArgs) list = progArgs;
-		else 			   list = NULL;
-	}
-	message = malloc( (length + 5) * sizeof(_TCHAR) );
-	
-	/* Format the message such that options (args starting with '-') begin
-	   on a new line. Otherwise, the Motif MessageBox does not automatically wrap
-	   the messages and the message window can extend beyond both sides of the display. */
-	ch = message;
-	if(args != NULL) list = args;
-	else             list = vmArgs;
-	while(list != NULL) {
-		for (index = 0; list[index] != NULL; index++)
-		{
-			if (ch != message && list[index][0] == _T_ECLIPSE('-') && *(ch-1) == _T_ECLIPSE(' '))
-				*(ch-1) = _T_ECLIPSE('\n');
-			_tcscpy( ch, list[index] );
-			ch += _tcslen( list[index] );
-			*ch++ = _T_ECLIPSE(' ');
-		}
-		if(list == vmArgs) list = progArgs;
-		else 			   list = NULL;
-	}
-	*ch = _T_ECLIPSE('\0');
-
-	return message;
-}
-
-_TCHAR* getOfficialName() {
-	return officialName;
-}
-
-void setOfficialName(_TCHAR* name) {
-	officialName = name;
-}
-
-_TCHAR* getProgramPath() {
-	return program;
-}
-
-void setProgramPath(_TCHAR* path) {
-	program = path;
-}
-
-/*
- * Determine the default official application name
- *
- * This function provides the default application name that appears in a variety of
- * places such as: title of message dialog, title of splash screen window
- * that shows up in Windows task bar.
- * It is computed from the name of the launcher executable and
- * by capitalizing the first letter. e.g. "c:/ide/eclipse.exe" provides
- * a default name of "Eclipse".
- */
-static _TCHAR* getDefaultOfficialName()
-{
-	_TCHAR *ch = NULL;
-	
-	/* Skip the directory part */
-	ch = lastDirSeparator( program );
-	if (ch == NULL) ch = program;
-	else ch++;
-	
-	ch = _tcsdup( ch );
-#ifdef _WIN32
-	{
-		/* Search for the extension .exe and cut it */
-		_TCHAR *extension = _tcsrchr(ch, _T_ECLIPSE('.'));
-		if (extension != NULL) 
-		{
-			*extension = _T_ECLIPSE('\0');
-		}
-	}
-#endif
-	/* Upper case the first character */
-#ifndef LINUX
-	{
-		*ch = _totupper(*ch);
-	}
-#else
-	{
-		if (*ch >= 'a' && *ch <= 'z')
-		{
-			*ch -= 32;
-		}
-	}
-#endif
-	return ch;
-}
-
-/* Determine the Program Directory
- *
- * This function takes the directory where program executable resides and
- * determines the installation directory.
- */
-_TCHAR* getProgramDir( )
-{
-	_TCHAR*  ch;
-	_TCHAR*  programDir;
-	if (program == NULL)
-		return NULL;
-    programDir = malloc( (_tcslen( program ) + 1) * sizeof(_TCHAR) );
-    _tcscpy( programDir, program );
-    ch = lastDirSeparator( programDir );
-	if (ch != NULL)
-    {
-    	*(ch+1) = _T_ECLIPSE('\0');
-   		return programDir;
-    }
-
-    free( programDir );
-    return NULL;
-}
-
-static _TCHAR* findSplash(_TCHAR* splashArg) {
-	struct _stat stats;
-	_TCHAR *ch;
-	_TCHAR *path, *prefix;
-	size_t length;
-	
-	if (splashArg == NULL)
-		return NULL;
-	
-	splashArg = _tcsdup(splashArg);
-	length = _tcslen(splashArg);
-	/* _tstat doesn't seem to like dirSeparators on the end */
-	while (IS_DIR_SEPARATOR(splashArg[length - 1])) {
-		splashArg[--length] = 0;
-	}
-	
-	/* does splashArg exist */
-	if (_tstat(splashArg, &stats) == 0) {
-		/* pointing to a file */
-		if (stats.st_mode & S_IFREG) { 
-			/* file, use it*/
-			return splashArg;
-		} else if (stats.st_mode & S_IFDIR) { 
-			/*directory, look for splash.bmp*/
-			ch = malloc( (length + 12) * sizeof(_TCHAR));
-			_stprintf( ch, _T_ECLIPSE("%s%c%s"), splashArg, dirSeparator, _T_ECLIPSE("splash.bmp") );
-			if (_tstat(ch, &stats) == 0 && stats.st_mode & S_IFREG) {
-				free(splashArg);
-				return ch;
-			}
-			free(ch);
-		}
-		free(splashArg);
-		return NULL;
-	}
-	
-	/* doesn't exist, separate into path & prefix and look for a /path/prefix_<version> */
-	ch = lastDirSeparator( splashArg );
-	if (ch != NULL) {
-		if (IS_ABSOLUTE(splashArg))
-		{	/*absolute path*/
-			path = _tcsdup(splashArg);
-			path[ch - splashArg] = 0;
-		} else {
-			/* relative path, prepend with programDir */
-			path = malloc( (_tcslen(programDir) + ch - splashArg + 2) * sizeof(_TCHAR));
-			*ch = 0;
-			_stprintf(path, _T_ECLIPSE("%s%c%s"), programDir, dirSeparator, splashArg);
-			*ch = dirSeparator;
-		}
-		prefix = _tcsdup(ch + 1);
-	} else {
-		/* No separator, treat splashArg as the prefix and look in the plugins dir */
-		path = malloc( (_tcslen(programDir) + 9) * sizeof(_TCHAR));
-		_stprintf(path, _T_ECLIPSE("%s%c%s"), programDir, dirSeparator, _T_ECLIPSE("plugins"));
-		prefix = _tcsdup(splashArg);
-	}
-	
-	ch = findFile(path, prefix);
-	free(path);
-	free(prefix);
-	free(splashArg);
-	if (ch != NULL) {
-		path = malloc((_tcslen(ch) + 12) * sizeof(_TCHAR));
-		_stprintf( path, _T_ECLIPSE("%s%c%s"), ch, dirSeparator, _T_ECLIPSE("splash.bmp") );
-		return path;
-	}
-	return NULL;
-}
-
-static _TCHAR* findStartupJar(){
-	_TCHAR * file, *ch;
-	_TCHAR * pluginsPath;
-	struct _stat stats;
-	size_t pathLength, progLength;
-	
-	if( startupArg != NULL ) {
-		/* startup jar was specified on the command line */
-		ch = _tcsdup(startupArg);
-		/* check path will check relative paths against programDir and workingDir */
-		file = checkPath(ch, programDir, 0);
-		if(file != ch)
-			free(ch);
-		/* check existence */
-		if (_tstat( file, &stats ) != 0) {
-			free(file);
-			file = NULL;
-		}
-		return file;
-	}
-
-	progLength = pathLength = _tcslen(programDir);
-#ifdef MACOSX
-	pathLength += 9;
-#endif
-	pluginsPath = malloc( (pathLength + 1 + 7 + 1) * sizeof(_TCHAR));
-	_tcscpy(pluginsPath, programDir);
-	if(!IS_DIR_SEPARATOR(pluginsPath[progLength - 1])) {
-		pluginsPath[progLength] = dirSeparator;
-		pluginsPath[progLength + 1] = 0;
-	}
-#ifdef MACOSX
-	_tcscat(pluginsPath, _T_ECLIPSE("../../../"));
-#endif
-	_tcscat(pluginsPath, _T_ECLIPSE("plugins"));
-	
-	/* equinox startup jar? */	
-	file = findFile(pluginsPath, DEFAULT_EQUINOX_STARTUP);
-	if(file != NULL)
-		return file;
-	
-	/* old startup.jar? */
-	ch = OLD_STARTUP;
-	file = checkPath(ch, programDir, 0);
-	if (_tstat( file, &stats ) == 0)
-		return (file == ch) ? _tcsdup(ch) : file;
-		
-	return NULL;
-}
-
-/* 
- * Return the portion of the vmCommand that should be used for relaunching
- * 
- * The memory allocated for the command array must be freed
- */
-static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand  )
-{
-	int i = -1, req = 0, begin = -1;
-	int idx = 0;
-	_TCHAR ** relaunch;
-	
-	if (vmCommand == NULL) return NULL;
-	while(vmCommand[++i] != NULL){
-		if ( begin == -1 && _tcsicmp( vmCommand[i], *reqVMarg[req] ) == 0) {
-			if(reqVMarg[++req] == NULL || *reqVMarg[req] == NULL){
-				begin = i + 1;
-			}
-		}
-	}
-	
-	relaunch = malloc((1 + i + 1) * sizeof(_TCHAR *));
-	relaunch[idx++] = program;
-	if(begin == -1) {
-		begin = 1;
-	}
-	for (i = begin; vmCommand[i] != NULL; i++){
-		if (_tcsicmp(vmCommand[i], SHOWSPLASH) == 0) {
-			/* remove if the next argument is not the bitmap to show */
-			if(vmCommand[i + 1] != NULL && vmCommand[i + 1][0] == _T_ECLIPSE('-')) {
-				continue;
-			}
-		} else if(_tcsncmp(vmCommand[i], CLASSPATH_PREFIX, _tcslen(CLASSPATH_PREFIX)) == 0) {
-			/* skip -Djava.class.path=... */
-			continue;
-		}
-		relaunch[idx++] = vmCommand[i];
-	}
-	if(_tcsicmp(relaunch[idx - 1], VMARGS) == 0) 
-		relaunch[idx - 1] = NULL;
-	relaunch[idx] = NULL;
-	return relaunch;
-}
-
-#ifdef _WIN32
-static void createConsole() {
-#ifndef WIN64
-#define intptr_t long
-#endif
-	intptr_t stdHandle;
-	int conHandle;
-	FILE *fp;
-	
-	AllocConsole();
-	
-	/* redirect stdout */
-	stdHandle = (intptr_t) GetStdHandle(STD_OUTPUT_HANDLE);
-	conHandle = _open_osfhandle(stdHandle, _O_TEXT);
-	if (conHandle != -1) {
-		fp = _fdopen(conHandle, "w");
-		*stdout = *fp;
-	}
-	
-	/* redirect stdin */
-	stdHandle = (intptr_t) GetStdHandle(STD_INPUT_HANDLE);
-	conHandle = _open_osfhandle(stdHandle, _O_TEXT);
-	if (conHandle != -1) {
-		fp = _fdopen(conHandle, "r");
-		*stdin = *fp;
-	}
-	
-	/* stderr */
-	stdHandle = (intptr_t) GetStdHandle(STD_ERROR_HANDLE);
-	conHandle = _open_osfhandle(stdHandle, _O_TEXT);
-	if (conHandle != -1) {
-		fp = _fdopen(conHandle, "r");
-		*stderr = *fp;
-	}
-}
-
-/* Determine if the launcher was the eclipsec.exe or not based on whether we have an attached console.
- * This will only be correct if called before createConsole.
- */
-static int isConsoleLauncher() {
-	HWND (WINAPI *GetConsoleWindow)();
-	void * handle = loadLibrary(_T_ECLIPSE("Kernel32.dll"));
-	if (handle != NULL) {
-		if ( (GetConsoleWindow = findSymbol(handle, _T_ECLIPSE("GetConsoleWindow"))) != NULL) {
-			return GetConsoleWindow() != NULL;
-		}
-	}
-	return 0;
-}
-#endif
-
-/* Set the vm to use based on the given .ee file.
- */
-static int vmEEProps(_TCHAR * eeFile, _TCHAR ** msg) {
-	if (processEEProps(eeFile) != 0) {
-		*msg = _tcsdup(eeFile);
-		return -1;
-	}
-	if (eeLibrary != NULL) {
-		jniLib = findVMLibrary(eeLibrary);
-		if (jniLib != NULL)
-			return LAUNCH_JNI;
-	}
-		
-	if (eeConsole != NULL && (debug || needConsole || consoleLauncher) ) {
-		javaVM = findSymlinkCommand(eeConsole, 0);
-		if (javaVM != NULL)
-			return LAUNCH_EXE;
-	}
-	
-	if (eeExecutable != NULL) {
-		javaVM = findSymlinkCommand(eeExecutable, 0);
-		if (javaVM != NULL)
-			return LAUNCH_EXE;
-	}
-	
-	*msg = _tcsdup(eeFile);
-	return -1;
-}
-
-/*
- * determine the vm to use.
- * return LAUNCH_JNI for launching with JNI invocation API. jniLib contains the name of the library
- * returh LAUNCH_EXE for execing java, javaVM contains the path to the exe
- * return -1 if problem finding vm, the passed in msg points to the places we looked.  Caller should free
- * this memory.
- */
-static int determineVM(_TCHAR** msg) {
-	_TCHAR* ch  = NULL;
-	_TCHAR* result = NULL;
-	_TCHAR* vmSearchPath = NULL;
-	_TCHAR* defaultJava = defaultVM; /* default exe to look for */
-	int type = 0;
-	
-#ifdef _WIN32
-	if (debug || needConsole || consoleLauncher)
-		defaultJava = consoleVM; /* windows will want java.exe for the console, not javaw.exe */
-#endif
-	
-	/* vmName is passed in on command line with -vm */
-    if (vmName != NULL) {
-    	size_t length = _tcslen(vmName);
-    	/* remove the trailing separator */
-    	if (vmName[length - 1] == _T_ECLIPSE('/') || vmName[length - 1] == _T_ECLIPSE('\\')) {
-    		vmName[length - 1] = 0;
-    	}
-    	
-    	vmName = checkPath(vmName, programDir, 0);
-    	type = checkProvidedVMType(vmName);
-    	switch (type) {
-    	case VM_DIRECTORY:
-    		/* vmName is a directory, look for default.ee */
-    		ch = malloc((_tcslen(vmName) + 1 + _tcslen(DEFAULT_EE) + 1) * sizeof(_TCHAR));
-    		_stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, DEFAULT_EE );
-    		
-    		result = findCommand(ch);
-    		free(ch);
-    		if (result == NULL) {
-    			/* No default.ee file, look for default VM */
-    			ch = malloc((_tcslen(vmName) + 1 + _tcslen(defaultJava) + 1) * sizeof(_TCHAR));
-    			_stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, defaultJava );
-    			javaVM = findSymlinkCommand(ch, 0);
-    			free(ch);
-    			if (javaVM == NULL) {
-    				/* No vm executable, look for library */
-    				ch = malloc((_tcslen(vmName) + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR));
-    				_stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, vmLibrary );
-    				jniLib = findVMLibrary(ch);
-    				if (jniLib != ch)
-    					free(ch);
-    				if (jniLib != NULL) {
-    					return LAUNCH_JNI;
-    				}
-    				/* found nothing, return error */
-    				*msg = malloc( (3 * (_tcslen(vmName) + 2) + _tcslen(DEFAULT_EE) + _tcslen(defaultJava) + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR));
-    				_stprintf( *msg, _T_ECLIPSE("%s%c%s\n%s%c%s\n%s%c%s"), vmName, dirSeparator, DEFAULT_EE, 
-    																	   vmName, dirSeparator, defaultJava,
-    																	   vmName, dirSeparator, vmLibrary);
-    				return -1;
-    			}
-    			break;
-    		}
-    		
-    		/* else default.ee does exist */
-    		vmName = result;
-    		/* fall through to VM_EE_PROPS*/
-    	case VM_EE_PROPS:
-    		return vmEEProps(vmName, msg);
-    		
-    	case VM_LIBRARY:
-    		ch = findCommand(vmName);
-    		if(ch != NULL) {
-    			jniLib = findVMLibrary(ch);
-    			if (ch != jniLib)
-    				free(ch);
-    			return LAUNCH_JNI;
-    		}
-    		/* file didn't exist, error */
-    		if (firstDirSeparator( vmName ) == NULL) {
-    			/* if vmName doesn't contain a dirSeparator, we looked on the path */
-    			*msg = malloc((_tcslen(pathMsg) + _tcslen(vmName)) * sizeof(_TCHAR));
-    			_stprintf( *msg, pathMsg,vmName );
-    		} else {
-    			*msg = _tcsdup(vmName);
-    		}
-    		return -1;
-    		
-    	default:
-    		/*otherwise, assume executable */
-    		javaVM = findSymlinkCommand(vmName, 0);
-    		if(javaVM != NULL) {
-#ifdef MACOSX
-    			/* right now, we are always doing JNI on Mac */
-    			break; 
-#else
-    			return LAUNCH_EXE;
-#endif
-    		}
-    		/* file didn't exist, error */
-    		if (firstDirSeparator( vmName ) == NULL) {
-    			/* if vmName doesn't contain a dirSeparator, we looked on the path */
-    			*msg = malloc((_tcslen(pathMsg) + _tcslen(vmName)) * sizeof(_TCHAR));
-    			_stprintf( *msg, pathMsg, vmName );
-    		} else {
-    			*msg = _tcsdup(vmName);
-    		}
-   			return -1;
-    	}
-    }
-    
-    if (vmName == NULL) {
-    	/* no vm specified, Try to find the VM shipped with eclipse. */
-    	
-    	/* look first for default.ee */
-    	ch = malloc( (_tcslen( programDir ) + _tcslen( shippedVMDir ) + _tcslen( DEFAULT_EE ) + 1) * sizeof(_TCHAR) );
-		_stprintf( ch, _T_ECLIPSE("%s%s%s"), programDir, shippedVMDir, DEFAULT_EE );
-		result = findCommand(ch);
-		free(ch);
-    	if (result != NULL) {
-    		type = vmEEProps(result, msg);
-    		free(result);
-    		return type;
-    	}
-    	
-    	/* then look for java(w).exe */
-        ch = malloc( (_tcslen( programDir ) + _tcslen( shippedVMDir ) + _tcslen( defaultJava ) + 10) * sizeof(_TCHAR) );
-        _stprintf( ch, _T_ECLIPSE("%s%s%s"), programDir, shippedVMDir, defaultJava );
-        vmSearchPath = _tcsdup(ch);
- 
-        javaVM = findSymlinkCommand( ch, 0 );
-        free(ch);
-    }
-    
-    if (javaVM == NULL) {
-    	/* vm not found yet, look for one on the search path, but don't resolve symlinks */
-    	javaVM = findSymlinkCommand(defaultJava, 0);
-    	if (javaVM == NULL) {
-    		/* can't find vm, error */
-    		ch = malloc( (_tcslen(pathMsg) + _tcslen(defaultJava) + 1) * sizeof(_TCHAR));
-    		_stprintf(ch, pathMsg, defaultJava);
-    		
-    		if(vmSearchPath != NULL) {
-    			*msg = malloc((_tcslen(ch) + 1 + _tcslen(vmSearchPath) + 1) * sizeof(_TCHAR));
-    			_stprintf(*msg, _T_ECLIPSE("%s\n%s"), vmSearchPath, ch);
-    			free(ch);
-    		} else {
-    			*msg = ch;
-    		}
-    		return -1;
-    	}
-    }
-
-    if (vmSearchPath != NULL)
-    	free(vmSearchPath);
-    
-#ifndef DEFAULT_JAVA_EXEC
-	/* resolve symlinks for finding the library */
-	ch = resolveSymlinks(javaVM);
-    jniLib = findVMLibrary(ch);
-    if (ch != jniLib && ch != javaVM)
-		free(ch);
-    if (jniLib != NULL) 
-    	return LAUNCH_JNI;
-#endif
-    
-    return LAUNCH_EXE;
-}
-
-static int processEEProps(_TCHAR* eeFile) 
-{
-	_TCHAR ** argv;
-	_TCHAR * c1, * c2;
-	_TCHAR * eeDir;
-	int argc;
-	int index, i;
-	int matches = 0;
-	Option *option;
-	
-	if(readConfigFile(eeFile, &argc, &argv) != 0)
-		return -1;
-
-	nEEargs = argc;
-	eeVMarg = argv;
-	
-	eeDir = _tcsdup(eeFile);
-	c1 = lastDirSeparator( eeDir );
-	while (c1 != NULL)
-    {
-    	*c1 = _T_ECLIPSE('\0');
-    	c1--; /* IS_DIR_SEPARATOR evalutes c twice, decrement out here */
-    	if (!IS_DIR_SEPARATOR(*c1))
-    		c1 = NULL;
-    }
-	
-    for (index = 0; index < argc; index++){
-    	/* replace ${ee.home} with eeDir, loop in case there is more than one per argument */
-    	while( (c1 = _tcsstr(argv[index], EE_HOME_VAR)) != NULL)
-    	{
-    		/* the space needed for c1 is included in _tcslen(argv[index]) */
-    		c2 = malloc( (_tcslen(argv[index]) + _tcslen(eeDir) + 1) * sizeof(_TCHAR));
-    		*c1 = _T_ECLIPSE('\0');
-    		_stprintf(c2, _T_ECLIPSE("%s%s%s"), argv[index], eeDir, c1 + 10); /* ${ee.home} is 10 characters */
-    		free(argv[index]);
-    		argv[index] = c2;
-    	}
-    	
-    	/* Find the corresponding argument is a option supported by the launcher */
-        option = NULL;
-        for (i = 0; option == NULL && i < eeOptionsSize; i++)
-        {
-        	if (_tcsncmp( argv[index], eeOptions[i].name, _tcslen(eeOptions[i].name) ) == 0) {
-        	    option = &eeOptions[i];
-        	    break;
-        	}
-       	}
-        if(option != NULL) {
-        	++matches;	
-        	if (option->flag & VALUE_IS_FLAG)
-        		*((int*)option->value) = 1;
-        	else {
-        		c1 = malloc( (_tcslen(argv[index]) - _tcslen(option->name) + 1) *sizeof(_TCHAR));
-            	_tcscpy(c1, argv[index] + _tcslen(option->name));
-        		if (option->flag & ADJUST_PATH && option->flag & VALUE_IS_LIST) {
-        			c2 = checkPathList(c1, eeDir, 1);
-       				free(c1);
-    				c1 = c2;
-        		} else if (option->flag & ADJUST_PATH) {
-        			c2 = checkPath(c1, eeDir, 1);
-        			if (c2 != c1) {
-        				free(c1);
-        				c1 = c2;
-        			}
-        		}
-    			*((_TCHAR**)option->value) = c1;
-        	}
-        	if(matches == eeOptionsSize)
-        		break;
-        }
-    }
-    /* set ee.home, ee.filename variables, and NULL */
-    argv = realloc(argv, (nEEargs + 3) * sizeof(_TCHAR*));
-    
-    c1 = malloc( (_tcslen(EE_HOME) + _tcslen(eeDir) + 1) * sizeof(_TCHAR));
-    _stprintf(c1, _T_ECLIPSE("%s%s"), EE_HOME, eeDir);
-    argv[nEEargs++] = c1;
-    
-    c1 = malloc( (_tcslen(EE_FILENAME) + _tcslen(eeFile) + 1) * sizeof(_TCHAR));
-    _stprintf(c1, _T_ECLIPSE("%s%s"), EE_FILENAME, eeFile);
-    argv[nEEargs++] = c1;
-    
-    argv[nEEargs] = NULL;
-    
-    free(eeDir);
-    return 0;
-}
-
-/* returns an array of paths that should be place on the search path for loading
- * the vm shared libraries.
- * Each entry is terminated with the platform path separator.
- * Entries are either from the ee.library.path or calculated from the path to the
- * vm shared library itself.
- */
-_TCHAR ** getVMLibrarySearchPath(_TCHAR * vmLibrary) {
-	_TCHAR ** paths = NULL;
-	_TCHAR * buffer = NULL;
-	_TCHAR * path, * entry, *c;
-	_TCHAR separator;
-	int numPaths = 3;
-	int i;
-	struct _stat stats;
-	
-	buffer = (eeLibPath != NULL) ? _tcsdup(eeLibPath) : _tcsdup(vmLibrary);	
-#ifdef WIN32
-	/* On windows we sometimes get '/' instead of '\', just always use '/'  */
-	i = -1;
-	while (buffer[++i] != 0) {
-		if (buffer[i] == _T_ECLIPSE('\\')) 
-			buffer[i] = _T_ECLIPSE('/');
-	}
-#endif
-	
-	separator = (eeLibPath != NULL) ? pathSeparator : _T_ECLIPSE('/');
-	
-	if (eeLibPath != NULL) {
-		/* count number of path elements */
-		numPaths = 1;
-		c = eeLibPath;
-		while( (c = _tcschr(c, pathSeparator)) != NULL) {
-			numPaths++;
-			c++;
-		}
-	} 
-		
-	paths = malloc((numPaths + 1) * sizeof(_TCHAR*));
-	paths[numPaths] = NULL;
-		
-	/* We are either splitting eeLibPath (eg path1:path2), or we are extracting
-	 * from libPath where we want the directory containing the library and the
-	 * parent directory of that, and also grandparent/lib/arch */
-	for (i = 0; i < numPaths; i++) {
-		c = _tcsrchr(buffer, separator);
-		if (c != 0) {
-			*c++ = 0;
-			if (eeLibPath != NULL) { 
-				path = c;		/* we want from c to the end */
-			} else { 
-				path = buffer; 	/* we want from the start to c */
-			}
-		} else {
-			if (eeLibPath != NULL) {
-				path = buffer;
-			} else {
-				paths[i] = NULL;
-				break;
-			}
-		}
-		if (path != NULL) {
-			entry = resolveSymlinks(path); /* this may be a new string */
-			if (eeLibPath == NULL && i == 2) {
-				/* trying grandparent/lib/arch */
-				const _TCHAR * arch = getVMArch();
-				paths[i] = malloc((_tcslen(entry) + 7 + _tcslen(arch)) * sizeof(_TCHAR));
-				_stprintf(paths[i], _T_ECLIPSE("%s/lib/%s"), entry, arch);
-				/* only add if the path actually exists */
-				if (_tstat(paths[i], &stats) == 0) {
-					_TCHAR separatorString[] = { pathSeparator, 0 };
-					_tcscat(paths[i], separatorString);
-				} else {
-					free(paths[i]);
-					paths[i] = NULL;
-				}
-			} else {
-				paths[i] = malloc((_tcslen(entry) + 2) * sizeof(_TCHAR));
-				_stprintf( paths[i], _T_ECLIPSE("%s%c"), entry, pathSeparator );
-			}
-			if (entry != path)
-				free(entry);
-			path = NULL;
-		}
-	}
-	
-	free(buffer);
-	return paths;
-}
-
-/* translate the osArchArg into the value that we expect the jre to use */
-const _TCHAR* getVMArch() {
-	if (_tcscmp(osArchArg, _T_ECLIPSE("x86_64")) == 0)
-		return _T_ECLIPSE("amd64");
-	else if (_tcscmp(osArchArg, _T_ECLIPSE("x86")) == 0)
-		return _T_ECLIPSE("i386");
-	else
-		return osArchArg;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
deleted file mode 100644
index 56c1a71..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
+++ /dev/null
@@ -1,570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- * Martin Oberhuber (Wind River) - [176805] Support Solaris9 by adding setenv()
- *******************************************************************************/
- 
-#include "eclipseCommon.h"
-#include "eclipseUnicode.h"
-
-#ifdef _WIN32
-#include <direct.h>
-#include <windows.h>
-#else
-#include <unistd.h>
-#include <string.h>
-#include <dirent.h>
-#include <limits.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-/* Global Variables */
-_TCHAR* osArg        = _T_ECLIPSE(DEFAULT_OS);
-#ifdef MACOSX
-	/* on the mac we have a universal binary, decide ppc vs x86 based on endianness */
-	#ifdef __BIG_ENDIAN__
-		_TCHAR* osArchArg    = _T_ECLIPSE("ppc");
-	#else
-		_TCHAR* osArchArg    = _T_ECLIPSE(DEFAULT_OS_ARCH);
-	#endif
-#else
-_TCHAR* osArchArg    = _T_ECLIPSE(DEFAULT_OS_ARCH);
-#endif
-_TCHAR* wsArg        = _T_ECLIPSE(DEFAULT_WS);	/* the SWT supported GUI to be used */
-
-/* Local Variables */
-static _TCHAR* filterPrefix = NULL;  /* prefix for the find files filter */
-static size_t  prefixLength = 0;
-
-static int isFolder(const _TCHAR* path, const _TCHAR* entry);
-
-typedef struct {
-	int segment[3];
-	_TCHAR * qualifier;
-} Version;
-
-static void freeVersion(Version *version)
-{
-	if(version->qualifier)
-		free(version->qualifier);
-	free(version);
-}
-
-static Version* parseVersion(const _TCHAR * str) {
-	_TCHAR *copy;
-	_TCHAR *c1, *c2 = NULL;
-	int i = 0;
-	
-	Version *version = malloc(sizeof(Version));
-	memset(version, 0, sizeof(Version));
-	
-	c1 = copy = _tcsdup(str);
-	while (c1 && *c1 != 0)
-	{
-		if (i < 3) {
-			version->segment[i] = (int)_tcstol(c1, &c2, 10);
-			/* if the next character is not '.', then we couldn't
-			 * parse as a int, the remainder is not valid (or we are at the end)*/
-			if (*c2 && *c2 != _T_ECLIPSE('.'))
-				break;
-			c2++; /* increment past the . */
-		} else {
-			c2 = _tcschr(c1, _T_ECLIPSE('.'));
-			if(c2 != NULL) {
-				*c2 = 0;
-				version->qualifier = _tcsdup(c1);
-				*c2 = _T_ECLIPSE('.'); /* put the dot back */
-			} else {
-				if(_tcsicmp(c1, _T_ECLIPSE("jar")) == 0)
-					version->qualifier = 0;
-				else
-					version->qualifier = _tcsdup(c1);
-			}
-			break;
-		}
-		c1 = c2;
-		i++;
-	}
-	free(copy);
-	return version;
-}
-
-static int compareVersions(const _TCHAR* str1, const _TCHAR* str2) {
-	int result = 0, i = 0;
-	Version *v1 = parseVersion(str1);
-	Version *v2 = parseVersion(str2);
-	
-	while (result == 0 && i < 3) {
-		result = v1->segment[i] - v2->segment[i];
-		i++;
-	}
-	if(result == 0) {
-		_TCHAR * q1 = v1->qualifier ? v1->qualifier : _T_ECLIPSE("");
-		_TCHAR * q2 = v2->qualifier ? v2->qualifier : _T_ECLIPSE("");
-		result =  _tcscmp(q1, q2);
-	}
-	
-	freeVersion(v1);
-	freeVersion(v2);
-	return result;
-}
-
-/**
- * Convert a wide string to a narrow one
- * Caller must free the null terminated string returned.
- */
-char *toNarrow(const _TCHAR* src)
-{
-#ifdef UNICODE
-	int byteCount = WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, NULL, 0, NULL, NULL);
-	char *dest = malloc(byteCount+1);
-	dest[byteCount] = 0;
-	WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, dest, byteCount, NULL, NULL);
-	return dest;
-#else
-	return (char*)_tcsdup(src);
-#endif
-}
-
-
-/**
- * Set an environment variable.
- * Solaris versions <= Solaris 9 did not know setenv in libc,
- * so emulate it here.
- */
-#if defined(SOLARIS) || defined(HPUX)
-int setenv (const char *name, const char *value, int replace)
-{
-	int namelen, valuelen, rc;
-	char *var;
-	if (replace == 0) {
-		const char *oldval = getenv(name);
-		if (oldval != NULL) {
-			return 0;
-	    }
-	}
-	namelen = strlen(name);
-	valuelen = strlen(value);
-	var = malloc( (namelen + valuelen + 2) * sizeof(char) );
-	if (var == NULL) {
-		return -1;
-	}
-	/* Use strncpy as protection, in case a thread modifies var
-	 * after we obtained its length */
-	strncpy(var, name, namelen);
-	var[namelen] = '=';
-	strncpy( &var[namelen + 1], value, valuelen);
-	var[namelen + valuelen + 1] = '\0';
-	rc = putenv(var);
-	if (rc != 0) rc = -1; /*putenv returns non-zero on error; setenv -1*/
-	return rc;
-}
-#endif
- 	
- /*
- * Find the absolute pathname to where a command resides.
- *
- * The string returned by the function must be freed.
- */
-#define EXTRA 20
-_TCHAR* findCommand( _TCHAR* command )
-{
-	return findSymlinkCommand( command, 1 );
-}
-
-_TCHAR* findSymlinkCommand( _TCHAR* command, int resolve )
-{
-    _TCHAR*  cmdPath;
-    size_t   length;
-    _TCHAR*  ch;
-    _TCHAR*  dir;
-    _TCHAR*  path;
-    struct _stat stats;
-
-    /* If the command was an abolute pathname, use it as is. */
-    if (IS_ABSOLUTE(command))
-    {
-        length = _tcslen( command );
-        cmdPath = malloc( (length + EXTRA) * sizeof(_TCHAR) ); /* add extra space for a possible ".exe" extension */
-        _tcscpy( cmdPath, command );
-    }
-
-    else
-    {
-        /* If the command string contains a path separator */
-        if (firstDirSeparator( command ) != NULL)
-        {
-            /* It must be relative to the current directory. */
-            length = MAX_PATH_LENGTH + EXTRA + _tcslen( command );
-            cmdPath = malloc( length * sizeof (_TCHAR));
-            _tgetcwd( cmdPath, length );
-            length = _tcslen(cmdPath);
-            if (!IS_DIR_SEPARATOR(cmdPath[ length - 1 ]))
-            {
-                cmdPath[ length ] = dirSeparator;
-                cmdPath[ length+1 ] = _T_ECLIPSE('\0');
-            }
-            _tcscat( cmdPath, command );
-        }
-
-        /* else the command must be in the PATH somewhere */
-        else
-        {
-            /* Get the directory PATH where executables reside. */
-            path = _tgetenv( _T_ECLIPSE("PATH") );
-#ifdef _WIN32
-            /* on windows, prepend the current directory */
-            if (path == NULL)
-            	path = _T_ECLIPSE("");
-            ch = malloc((_tcslen(path) + MAX_PATH_LENGTH + 2) * sizeof(_TCHAR));
-            _tgetcwd( ch, MAX_PATH_LENGTH );
-            length = _tcslen(ch);
-            ch[length] = pathSeparator;
-            _tcscpy(&ch[length + 1], path);
-            path = ch;
-#endif
-            if (!path)
-            {
-	            return NULL;
-            }
-            else
-            {
-	            length = _tcslen( path ) + _tcslen( command ) + MAX_PATH_LENGTH;
-	            cmdPath = malloc( length * sizeof(_TCHAR));
-	
-	            /* Foreach directory in the PATH */
-	            dir = path;
-	            while (dir != NULL && *dir != _T_ECLIPSE('\0'))
-	            {
-	                ch = _tcschr( dir, pathSeparator );
-	                if (ch == NULL)
-	                {
-	                    _tcscpy( cmdPath, dir );
-	                }
-	                else
-	                {
-	                    length = ch - dir;
-	                    _tcsncpy( cmdPath, dir, length );
-	                    cmdPath[ length ] = _T_ECLIPSE('\0');
-	                    ch++;
-	                }
-	                dir = ch; /* advance for the next iteration */
-
-#ifdef _WIN32
-                    /* Remove quotes */
-	                if (_tcschr( cmdPath, _T_ECLIPSE('"') ) != NULL)
-	                {
-	                    size_t i = 0, j = 0;
-	                    _TCHAR c;
-	                    length = _tcslen( cmdPath );
-	                    while (i < length) {
-	                        c = cmdPath[ i++ ];
-	                        if (c == _T_ECLIPSE('"')) continue;
-	                        cmdPath[ j++ ] = c;
-	                    }
-	                    cmdPath[ j ] = _T_ECLIPSE('\0');
-	                }
-#endif
-	                /* Determine if the executable resides in this directory. */
-	                if (cmdPath[0] == _T_ECLIPSE('.') &&
-	                   (_tcslen(cmdPath) == 1 || (_tcslen(cmdPath) == 2 && IS_DIR_SEPARATOR(cmdPath[1]))))
-	                {
-	                	_tgetcwd( cmdPath, MAX_PATH_LENGTH );
-	                }
-	                length = _tcslen(cmdPath);
-	                if (!IS_DIR_SEPARATOR(cmdPath[ length - 1 ]))
-	                {
-	                    cmdPath[ length ] = dirSeparator;
-	                    cmdPath[ length+1 ] = _T_ECLIPSE('\0');
-	                }
-	                _tcscat( cmdPath, command );
-	
-	                /* If the file is not a directory and can be executed */
-	                if (_tstat( cmdPath, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-	                {
-	                    /* Stop searching */
-	                    dir = NULL;
-	                }
-	            }
-	        }
-        }
-    }
-
-#ifdef _WIN32
-	/* If the command does not exist */
-    if (_tstat( cmdPath, &stats ) != 0 || (stats.st_mode & S_IFREG) == 0)
-    {
-    	/* If the command does not end with .exe, append it an try again. */
-    	length = _tcslen( cmdPath );
-    	if (length > 4 && _tcsicmp( &cmdPath[ length - 4 ], _T_ECLIPSE(".exe") ) != 0)
-    	    _tcscat( cmdPath, _T_ECLIPSE(".exe") );
-    }
-#endif
-
-    /* Verify the resulting command actually exists. */
-    if (_tstat( cmdPath, &stats ) != 0 || (stats.st_mode & S_IFREG) == 0)
-    {
-        free( cmdPath );
-        cmdPath = NULL;
-        return cmdPath;
-    }
-
-	if (resolve) {
-		ch = resolveSymlinks(cmdPath);
-		if (ch != cmdPath) {
-			free(cmdPath);
-			cmdPath = ch;
-		}
-	}
-	return cmdPath;
-}
-
-#if !defined(_WIN32) && !defined(MACOSX)
-char * resolveSymlinks( char * path ) {
-	char * ch, *buffer;
-	if(path == NULL)
-		return path;
-	/* resolve symlinks */
-	ch = path;
-	buffer = malloc(PATH_MAX);
-    path = realpath(path, buffer);
-    if (path != buffer)
-    	free(buffer);
-    if (path == NULL)
-    	return ch; /* failed to resolve the links, return original path */
-    return path;
-}
-#endif
-
-#ifdef _WIN32
-static int filter(_TCHAR* candidate, int isFolder) {
-#else
-#ifdef MACOSX
-static int filter(struct dirent *dir, int isFolder) {
-#else
-static int filter(const struct dirent *dir, int isFolder) {
-#endif
-	char * candidate = (char *)dir->d_name;
-#endif
-	_TCHAR *lastDot, *lastUnderscore;
-	int result;
-	
-	if(_tcslen(candidate) <= prefixLength)
-		return 0;
-	if (_tcsncmp(candidate, filterPrefix, prefixLength) != 0 ||	candidate[prefixLength] != _T_ECLIPSE('_'))
-		return 0;
-	
-	candidate = _tcsdup(candidate);
-	
-	/* remove trailing .jar and .zip extensions, leave other extensions because we need the '.'  */
-	lastDot = _tcsrchr(candidate, _T_ECLIPSE('.'));
-	if (!isFolder && lastDot != NULL && (_tcscmp(lastDot, _T_ECLIPSE(".jar")) == 0 || _tcscmp(lastDot, _T_ECLIPSE(".zip")) == 0)) {
-		*lastDot = 0;
-		lastDot = _tcsrchr(candidate, _T_ECLIPSE('.'));
-	}
-	
-	if (lastDot < &candidate[prefixLength]) {
-		free(candidate);
-		return 0;
-	}
-	
-	lastUnderscore = _tcsrchr(candidate, _T_ECLIPSE('_'));
-	
-	/* get past all the '_' that are part of the qualifier */
-	while(lastUnderscore > lastDot) {
-		*lastUnderscore = 0;
-		lastUnderscore = _tcsrchr(candidate, _T_ECLIPSE('_')); 
-	}
-	/* is this the underscore at the end of the prefix? */
-	result = (lastUnderscore == &candidate[prefixLength]);
-	free(candidate);
-	return result;
-}
-
- /* 
- * Looks for files of the form /path/prefix_version.<extension> and returns the full path to
- * the file with the largest version number
- */ 
-_TCHAR* findFile( _TCHAR* path, _TCHAR* prefix)
-{
-	struct _stat stats;
-	size_t pathLength;
-	_TCHAR* candidate = NULL;
-	_TCHAR* result = NULL;
-	
-#ifdef _WIN32
-	_TCHAR* fileName = NULL;
-	WIN32_FIND_DATA data;
-	HANDLE handle;
-#else	
-	DIR *dir = NULL;
-	struct dirent * entry = NULL;
-#endif
-	
-	path = _tcsdup(path);
-	pathLength = _tcslen(path);
-	
-	/* strip dirSeparators off the end */
-	while (IS_DIR_SEPARATOR(path[pathLength - 1])) {
-		path[--pathLength] = 0;
-	}
-	
-	/* does path exist? */
-	if( _tstat(path, &stats) != 0 ) {
-		free(path);
-		return NULL;
-	}
-	
-	filterPrefix = prefix;
-	prefixLength = _tcslen(prefix);
-#ifdef _WIN32
-	fileName = malloc( (_tcslen(path) + 1 + _tcslen(prefix) + 3) * sizeof(_TCHAR));
-	_stprintf(fileName, _T_ECLIPSE("%s%c%s_*"), path, dirSeparator, prefix);
-	
-	handle = FindFirstFile(fileName, &data);
-	if(handle != INVALID_HANDLE_VALUE) {
-		if (filter(data.cFileName, isFolder(path, data.cFileName)))
-			candidate = _tcsdup(data.cFileName);
-		while(FindNextFile(handle, &data) != 0) {
-			if (filter(data.cFileName, isFolder(path, data.cFileName))) {
-				if (candidate == NULL) {
-					candidate = _tcsdup(data.cFileName);
-				} else if( compareVersions(candidate + prefixLength + 1, data.cFileName + prefixLength + 1) < 0) {
-					/* compare, take the highest version */
-					free(candidate);
-					candidate = _tcsdup(data.cFileName);
-				}
-			}
-		}
-		FindClose(handle);
-	}
-#else
-	if ((dir = opendir(path)) == NULL) {
-		free(path);
-		return NULL;
-	}
-
-	while ((entry = readdir(dir)) != NULL) {
-		if (filter(entry, isFolder(path, entry->d_name))) {
-			if (candidate == NULL) {
-				candidate = _tcsdup(entry->d_name);
-			} else if (compareVersions(candidate + prefixLength + 1, entry->d_name + prefixLength + 1) < 0) {
-				free(candidate);
-				candidate = _tcsdup(entry->d_name);
-			}
-		}
-	}
-	closedir(dir);
-#endif
-
-	if(candidate != NULL) {
-		result = malloc((pathLength + 1 + _tcslen(candidate) + 1) * sizeof(_TCHAR));
-		_tcscpy(result, path);
-		result[pathLength] = dirSeparator;
-		result[pathLength + 1] = 0;
-		_tcscat(result, candidate);
-		free(candidate);
-	}
-	free(path);
-	return result;
-}
-
-int isFolder(const _TCHAR* path, const _TCHAR* entry) {
-	int result = 0;
-	struct _stat stats;
-	_TCHAR * fullPath = malloc((_tcslen(path) + _tcslen(entry) + 2) * sizeof(_TCHAR));
-	_stprintf(fullPath, _T_ECLIPSE("%s%c%s"), path, dirSeparator, entry);
-	
-	result = _tstat(fullPath, &stats);
-	free(fullPath);
-	return (result == 0 && (stats.st_mode & S_IFDIR) != 0);
-}
-
-/*
- * If path is relative, attempt to make it absolute by 
- * 1) check relative to working directory
- * 2) check relative to provided programDir
- * If reverseOrder, then check the programDir before the working dir
- */
-_TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder ) 
-{
-	int cwdLength = MAX_PATH_LENGTH;
-	int i;
-	_TCHAR * workingDir, * buffer, * result = NULL;
-	_TCHAR * paths[2];
-	struct _stat stats;
-	
-	/* If the command was an abolute pathname, use it as is. */
-    if (IS_ABSOLUTE(path)) {
-    	return path;
-    }
-    
-    /* get the current working directory */
-    workingDir = malloc(cwdLength * sizeof(_TCHAR));
-    while ( _tgetcwd( workingDir, cwdLength ) == NULL ){
-    	if (errno == ERANGE) {
-    		/* ERANGE : the buffer isn't big enough, allocate more memory */
-			cwdLength *= 2;
-			workingDir = realloc(workingDir, cwdLength * sizeof(_TCHAR));
-			continue;
-    	} else {
-    		/* some other error occurred, perhaps ENOENT (directory has been unlinked) */
-    		/* the contents of workingDir are undefined, set it to empty, we will end up testing against root */
-    		workingDir[0] = _T_ECLIPSE('\0');
-    		break;
-    	}
-    }
-    
-    paths[0] = reverseOrder ? programDir : workingDir;
-    paths[1] = reverseOrder ? workingDir : programDir;
-    
-    /* just make a buffer big enough to hold everything */
-    buffer = malloc((_tcslen(paths[0]) + _tcslen(paths[1]) + _tcslen(path) + 2) * sizeof(_TCHAR));
-    for ( i = 0; i < 2; i++ ) {
-    	if (_tcslen(paths[i]) == 0)
-    		continue;
-    	_stprintf(buffer, _T_ECLIPSE("%s%c%s"), paths[i], dirSeparator, path);
-    	if (_tstat(buffer, &stats) == 0) {
-    		result = _tcsdup(buffer);
-    		break;
-    	}
-    }
-    
-    free(buffer);
-    free(workingDir);
-    
-    /* if we found something, return it, otherwise, return the original */
-    return result != NULL ? result : path;
-}
-
-_TCHAR * lastDirSeparator(_TCHAR* str) {
-#ifndef _WIN32
-	return _tcsrchr(str, dirSeparator);
-#else
-	int i = -1;
-	_TCHAR * c = NULL;
-	while (str[++i] != 0) {
-		if (str[i] == _T_ECLIPSE('\\') || str[i] == _T_ECLIPSE('/'))
-			c = &str[i];
-	}
-	return c;
-#endif
-}
-
-_TCHAR * firstDirSeparator(_TCHAR* str) {
-#ifdef _WIN32
-	return _tcspbrk(str, _T_ECLIPSE("\\/"));
-#else
-	return _tcschr(str, dirSeparator);
-#endif
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.h b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.h
deleted file mode 100644
index 655f901..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#ifndef ECLIPSE_COMMON_H
-#define ECLIPSE_COMMON_H
-
-#include "eclipseUnicode.h"
-
-/* Variables and Methods that will be needed by both the executable and the library */
-
-#define MAX_PATH_LENGTH   2000
-
-#ifdef UNICODE
-#define run runW
-#define setInitialArgs setInitialArgsW
-#define RUN_METHOD		 _T_ECLIPSE("runW")
-#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgsW")
-#else
-#define RUN_METHOD 		 _T_ECLIPSE("run")
-#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgs")
-#endif
-
-#define DEFAULT_EQUINOX_STARTUP _T_ECLIPSE("org.eclipse.equinox.launcher")
-
-#ifdef _WIN32
-#define IS_ABSOLUTE(path) (path[0] == _T_ECLIPSE('/') || path[0] == _T_ECLIPSE('\\') || (path[0] != 0 && path[1] == _T_ECLIPSE(':')))
-#define IS_DIR_SEPARATOR(c) (c == _T_ECLIPSE('/') || c == _T_ECLIPSE('\\'))
-#else
-#define IS_ABSOLUTE(path) (path[0] == dirSeparator)
-#define IS_DIR_SEPARATOR(c) (c == dirSeparator)
-#endif
-
-extern _TCHAR*  osArg;
-extern _TCHAR*  osArchArg;
-extern _TCHAR*  wsArg;
-
-extern _TCHAR   dirSeparator;         /* '/' or '\\' */
-extern _TCHAR   pathSeparator;        /* separator used in PATH variable */
-extern _TCHAR* eclipseLibrary;		/* path the the eclipse_<ver>.so shared library */
-
-extern char *toNarrow(const _TCHAR* src);
-
- /*
- * Find the absolute pathname to where a command resides.
- *
- * The string returned by the function must be freed.
- * Symlinks are resolved
- */
-extern _TCHAR* findCommand( _TCHAR* command );
-
-/*
- * Same as findCommand but optionally resolve symlinks
- */
-extern _TCHAR* findSymlinkCommand( _TCHAR* command, int resolve );
-
-extern _TCHAR* findFile( _TCHAR* path, _TCHAR* prefix);
-
-extern _TCHAR* getProgramDir();
-
-extern _TCHAR* getOfficialName();
-
-extern void setOfficialName(_TCHAR * name);
-
-extern _TCHAR* getProgramPath();
-
-extern void setProgramPath(_TCHAR* name);
-
-extern _TCHAR* resolveSymlinks( _TCHAR* path );
-
-/** Display a Message
- *
- * This method is called to display an error message to the user before exiting.
- * The method should not return until the user has acknowledged
- * the message. This method may be called before the window
- * system has been initialized. The program should exit after calling this method.
- */
-extern void displayMessage( _TCHAR* title, _TCHAR* message );
-
-/* Load the specified shared library
- */
-extern void * loadLibrary( _TCHAR * library );
-
-/* Unload the shared library
- */
-extern void unloadLibrary( void * handle );
- 
-/* Find the given symbol in the shared library
- */
-extern void * findSymbol( void * handle, _TCHAR * symbol );
-
-/* check the given path and attempt to make it absolute if it is relative */
-extern _TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder );
-
-extern _TCHAR * lastDirSeparator(_TCHAR* str);
-
-extern _TCHAR * firstDirSeparator(_TCHAR* str);
-#endif
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c b/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c
deleted file mode 100644
index 3088c89..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *	   Martin Oberhuber (Wind River) - [316975] memory leak on failure reading .ini file
- *******************************************************************************/
-
-#include "eclipseOS.h"
-#include "eclipseConfig.h"
-
-#ifdef _WIN32
-
-#include <stdio.h>
-#include <sys/stat.h>
-
-#ifdef __MINGW32__
-#include <stdlib.h>
-#endif
-
-#else /* Unix like platforms */
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#endif
-
-int readIniFile(_TCHAR* program, int *argc, _TCHAR ***argv) 
-{
-	_TCHAR* config_file = NULL;
-	int result;
-	
-	if (program == NULL || argc == NULL || argv == NULL) return -1;
-
-	/* Get a copy with room for .ini at the end */
-	config_file = malloc( (_tcslen(program) + 5) * sizeof(_TCHAR));
-	_tcscpy(config_file, program);
-	
-#ifdef _WIN32
-	{
-		/* Search for the extension .exe and replace it with .ini */
-		_TCHAR *extension = _tcsrchr(config_file, _T_ECLIPSE('.'));
-		if (extension == NULL)
-		{
-			/* does not end with an extension, just append .ini */
-			extension = config_file + _tcslen(config_file);
-		}
-		_tcscpy(extension, _T_ECLIPSE(".ini"));
-#ifdef _WIN32_CONSOLE
-		{
-			/* We are the console version, if the ini file does not exist, try
-			 * removing the 'c' from the end of the program name */
-			struct _stat stats; 
-			if (_tstat( config_file, &stats ) != 0 && *(extension - 1) == _T('c')) {
-				_tcscpy(extension - 1, extension);
-			}
-		}
-#endif
-	}
-#else
-	/* Append the extension */
-	strcat(config_file, ".ini");
-#endif
-	
-	result = readConfigFile(config_file, argc, argv);
-	free(config_file);
-	return result;
-}
-
-int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv )
-{
-	_TCHAR * buffer;
-	_TCHAR * argument;
-	_TCHAR * arg;
-	FILE *file = NULL;
-	int maxArgs = 128;
-	int index;
-	size_t bufferSize = 1024;
-	size_t length;
-	
-	
-	/* Open the config file as a text file 
-	 * Note that carriage return-linefeed combination \r\n are automatically
-	 * translated into single linefeeds on input in the t (translated) mode
-	 * on windows, on other platforms we will strip the \r as whitespace.
-	 */	
-	file = _tfopen(config_file, _T_ECLIPSE("rt"));	
-	if (file == NULL) return -3;
-
-	/* allocate buffers */
-	buffer =  (_TCHAR*)malloc(bufferSize * sizeof(_TCHAR));
-	argument = (_TCHAR*)malloc(bufferSize * sizeof(_TCHAR));
-	*argv = (_TCHAR **)malloc((1 + maxArgs) * sizeof(_TCHAR*));
-	
-	index = 0;
-	
-	/* Parse every line */	
-	while (_fgetts(buffer, bufferSize, file) != NULL)
-	{
-		/* did we fill the buffer without reaching the end of a line? */
-		while (buffer[bufferSize - 2] != _T_ECLIPSE('\n') && _tcslen(buffer) == (bufferSize - 1)) {
-			bufferSize += 1024;
-			buffer = (_TCHAR*)realloc(buffer, bufferSize * sizeof(_TCHAR));
-			argument =  (_TCHAR*)realloc(argument, bufferSize * sizeof(_TCHAR));
-			buffer[bufferSize - 2] = 0;
-			
-			/* read the next chunk to overwrite the \0 left by the last read */
-			if(_fgetts(buffer + bufferSize - 1025, 1025, file) == NULL)
-				break;
-		}
-		
-		/* Extract the string prior to the first newline character.
-		 * We don't have to worry about \r\n combinations since the file
-		 * is opened in translated mode.
-		 */
-		if (_stscanf(buffer, _T_ECLIPSE("%[^\n]"), argument) == 1)
-		{
-			/* watch for comments */
-			if(argument[0] == _T_ECLIPSE('#'))
-				continue;
-
-			arg = _tcsdup(argument);
-			length = _tcslen(arg);
-			
-			/* basic whitespace trimming */
-			while (length > 0 && (arg[length - 1] == _T_ECLIPSE(' ')  || 
-					              arg[length - 1] == _T_ECLIPSE('\t') || 
-					              arg[length - 1] == _T_ECLIPSE('\r'))) 
-			{
-				arg[--length] = 0;
-			}
-			/* ignore empty lines */
-			if (length == 0) {
-				free(arg);
-				continue;
-			}
-			
-			(*argv)[index] = arg;
-			index++;
-			
-			/* Grow the array of TCHAR*. Ensure one more entry is
-			 * available for the final NULL entry
-			 */
-			if (index == maxArgs - 1)
-			{
-				maxArgs += 128;
-				*argv = (_TCHAR **)realloc(*argv, maxArgs * sizeof(_TCHAR*));
-			}
-		}
-	}
-	(*argv)[index] = NULL;
-	*argc = index;
-	
-	fclose(file);
-	free(buffer);
-	free(argument);
-	return 0;
-}
-
-void freeConfig(_TCHAR **argv) 
-{
-	int index = 0;
-	if (argv == NULL) return;
-	while (argv[index] != NULL)
-	{
-		free(argv[index]);
-		index++;
-	}
-	free(argv);
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.h b/bundles/org.eclipse.equinox.executable/library/eclipseConfig.h
deleted file mode 100644
index 5315beb..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef ECLIPSE_CONFIG_H
-#define ECLIPSE_CONFIG_H
-
-/* Configuration file reading utilities */
-
-/**
- * Reads a configuration file for the corresponding
- * program argument.
- * e.g if the program argument contains "c:/folder/eclipse.exe"
- * then the config file "c:/folder/eclipse.ini" will be parsed.
- * On a Unix like platform, for a program argument "/usr/eclipse/eclipse"
- * should correspond a configuration file "/usr/eclipse/eclipse.ini"
- *
- * This method will call readConfigFile to read the actual ini file
- *
- * Returns 0 if success.
- */
-extern int readIniFile(_TCHAR* program, int *argc, _TCHAR ***argv);
-
-/**
- * Reads the given configuration file 
- * The argument argv refers to a newly allocated array of strings.
- * The first entry is the program name to mimic the expectations
- * from a typical argv list.
- * The last entry of that array is NULL. 
- * Each non NULL entry in that array must be freed by the caller 
- * as well as the array itself, using freeConfig().
- * The argument argc contains the number of string allocated.
- *
- * Returns 0 if success.
- */
-extern int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv );
-/**
- * Free the memory allocated by readConfigFile().
- */
-extern void freeConfig(_TCHAR **args);
-
-#endif /* ECLIPSE_CONFIG_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c b/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c
deleted file mode 100644
index 845c646..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c
+++ /dev/null
@@ -1,568 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * 	   Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseJNI.h"
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-#include "eclipseShm.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-
-static _TCHAR* failedToLoadLibrary = _T_ECLIPSE("Failed to load the JNI shared library \"%s\".\n");
-static _TCHAR* createVMSymbolNotFound = _T_ECLIPSE("The JVM shared library \"%s\"\ndoes not contain the JNI_CreateJavaVM symbol.\n");
-static _TCHAR* failedCreateVM = _T_ECLIPSE("Failed to create the Java Virtual Machine.\n");
-static _TCHAR* internalExpectedVMArgs = _T_ECLIPSE("Internal Error, the JVM argument list is empty.\n");
-static _TCHAR* mainClassNotFound = _T_ECLIPSE("Failed to find a Main Class in \"%s\".\n");
-
-static JNINativeMethod natives[] = {{"_update_splash", "()V", (void *)&update_splash},
-									{"_get_splash_handle", "()J", (void *)&get_splash_handle},
-									{"_set_exit_data", "(Ljava/lang/String;Ljava/lang/String;)V", (void *)&set_exit_data},
-									{"_set_launcher_info", "(Ljava/lang/String;Ljava/lang/String;)V", (void *)&set_launcher_info},
-									{"_show_splash", "(Ljava/lang/String;)V", (void *)&show_splash},
-									{"_takedown_splash", "()V", (void *)&takedown_splash}};
-
-/* local methods */
-static jstring newJavaString(JNIEnv *env, _TCHAR * str);
-static void registerNatives(JNIEnv *env);
-static int shouldShutdown(JNIEnv *env);
-static void JNI_ReleaseStringChars(JNIEnv *env, jstring s, const _TCHAR* data);
-static const _TCHAR* JNI_GetStringChars(JNIEnv *env, jstring str);
-static char * getMainClass(JNIEnv *env, _TCHAR * jarFile);
-static void setLibraryLocation(JNIEnv *env, jobject obj);
-
-static JavaVM * jvm = 0;
-static JNIEnv *env = 0;
-
-/* cache String class and methods to avoid looking them up all the time */
-static jclass string_class = NULL;
-#if !defined(UNICODE) && !defined(MACOSX)
-static jmethodID string_getBytesMethod = NULL;
-static jmethodID string_ctor = NULL;
-#endif
-
-/* JNI Callback methods */
-JNIEXPORT void JNICALL set_exit_data(JNIEnv * env, jobject obj, jstring id, jstring s){
-	const _TCHAR* data = NULL;
-	const _TCHAR* sharedId = NULL;
-	size_t length;
-	 
-	if(s != NULL) {
-		length = (*env)->GetStringLength(env, s);
-		if(!(*env)->ExceptionOccurred(env)) {
-			data = JNI_GetStringChars(env, s);
-			if (data != NULL) {
-				if(id != NULL) {
-					sharedId = JNI_GetStringChars(env, id);
-					if(sharedId != NULL) {
-						setSharedData(sharedId, data);
-						JNI_ReleaseStringChars(env, id, sharedId);
-					}
-				} else {
-					exitData = malloc((length + 1) * sizeof(_TCHAR*));
-					_tcsncpy( exitData, data, length);
-					exitData[length] = _T_ECLIPSE('\0');
-				}
-				JNI_ReleaseStringChars(env, s, data);
-			}
-		}
-		if(data == NULL && sharedId == NULL) {
-			(*env)->ExceptionDescribe(env);
-			(*env)->ExceptionClear(env);
-		}
-	}
-}
-
-JNIEXPORT void JNICALL set_launcher_info(JNIEnv * env, jobject obj, jstring launcher, jstring name){
-	const _TCHAR* launcherPath = NULL;
-	const _TCHAR* launcherName = NULL;
-	
-	if (launcher != NULL) {
-		launcherPath = JNI_GetStringChars(env, launcher);
-		if (launcherPath != NULL) {
-			setProgramPath(_tcsdup(launcherPath));
-			JNI_ReleaseStringChars(env, launcher, launcherPath);
-		}
-	}
-	
-	if (name != NULL) {
-		launcherName = JNI_GetStringChars(env, name);
-		if (launcherName != NULL) {
-			setOfficialName(_tcsdup(launcherName));
-			JNI_ReleaseStringChars(env, name, launcherName);
-		}
-	}
-}
-
-
-JNIEXPORT void JNICALL update_splash(JNIEnv * env, jobject obj){
-	dispatchMessages();
-}
-
-JNIEXPORT jlong JNICALL get_splash_handle(JNIEnv * env, jobject obj){
-	return getSplashHandle();
-}
-
-JNIEXPORT void JNICALL show_splash(JNIEnv * env, jobject obj, jstring s){
-	const _TCHAR* data = NULL;
-	
-	setLibraryLocation(env, obj);
-	
-	if(s != NULL) {
-		data = JNI_GetStringChars(env, s);
-		if(data != NULL) {
-			showSplash(data);
-			JNI_ReleaseStringChars(env, s, data);
-		} else {
-			(*env)->ExceptionDescribe(env);
-			(*env)->ExceptionClear(env);
-		}
-	}
-}
-
-JNIEXPORT void JNICALL takedown_splash(JNIEnv * env, jobject obj){
-	takeDownSplash();
-}
-
-/*
- * On AIX we need the location of the eclipse shared library so that we
- * can find the libeclipse-motif.so library.  Reach into the JNIBridge
- * object to get the "library" field.
- */
-static void setLibraryLocation(JNIEnv * env, jobject obj) {
-	jclass bridge = (*env)->FindClass(env, "org/eclipse/equinox/launcher/JNIBridge");
-	if (bridge != NULL) {
-		jfieldID libraryField = (*env)->GetFieldID(env, bridge, "library", "Ljava/lang/String;");
-		if (libraryField != NULL) {
-			jstring stringObject = (jstring) (*env)->GetObjectField(env, obj, libraryField);
-			if (stringObject != NULL) {
-				const _TCHAR * str = JNI_GetStringChars(env, stringObject);
-				eclipseLibrary = _tcsdup(str);
-				JNI_ReleaseStringChars(env, stringObject, str);
-			}
-		}
-	}
-	if( (*env)->ExceptionOccurred(env) != 0 ){
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-}
-
-static void registerNatives(JNIEnv *env) {
-	jclass bridge = (*env)->FindClass(env, "org/eclipse/equinox/launcher/JNIBridge");
-	if(bridge != NULL) {
-		int numNatives = sizeof(natives) / sizeof(natives[0]);
-		(*env)->RegisterNatives(env, bridge, natives, numNatives);	
-	}
-	if( (*env)->ExceptionOccurred(env) != 0 ){
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-}
-
-
-/* Get a _TCHAR* from a jstring, string should be released later with JNI_ReleaseStringChars */
-static const _TCHAR * JNI_GetStringChars(JNIEnv *env, jstring str) {
-	const _TCHAR * result = NULL;
-#ifdef UNICODE
-	/* GetStringChars is not null terminated, make a copy */
-	const _TCHAR * stringChars = (*env)->GetStringChars(env, str, 0);
-	int length = (*env)->GetStringLength(env, str);
-	_TCHAR * copy = malloc( (length + 1) * sizeof(_TCHAR));
-	_tcsncpy(copy, stringChars, length);
-	copy[length] = _T_ECLIPSE('\0');
-	(*env)->ReleaseStringChars(env, str, stringChars);
-	result = copy;
-#elif MACOSX
-	/* Use UTF on the Mac */
-	result = (*env)->GetStringUTFChars(env, str, 0);
-#else
-	/* Other platforms, use java's default encoding */ 
-	_TCHAR* buffer = NULL;
-	if (string_class == NULL)
-		string_class = (*env)->FindClass(env, "java/lang/String");
-	if (string_class != NULL) {
-		if (string_getBytesMethod == NULL)
-			string_getBytesMethod = (*env)->GetMethodID(env, string_class, "getBytes", "()[B");
-		if (string_getBytesMethod != NULL) {
-			jbyteArray bytes = (*env)->CallObjectMethod(env, str, string_getBytesMethod);
-			if (!(*env)->ExceptionOccurred(env)) {
-				jsize length = (*env)->GetArrayLength(env, bytes);
-				buffer = malloc( (length + 1) * sizeof(_TCHAR*));
-				(*env)->GetByteArrayRegion(env, bytes, 0, length, (jbyte*)buffer);
-				buffer[length] = 0;
-			}
-			(*env)->DeleteLocalRef(env, bytes);
-		}
-	}
-	if(buffer == NULL) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	result = buffer;
-#endif
-	return result;
-}
-
-/* Release the string that was obtained using JNI_GetStringChars */
-static void JNI_ReleaseStringChars(JNIEnv *env, jstring s, const _TCHAR* data) {
-#ifdef UNICODE
-	free((_TCHAR*)data);
-#elif MACOSX
-	(*env)->ReleaseStringUTFChars(env, s, data);
-#else
-	free((_TCHAR*)data);
-#endif
-}
-
-static jstring newJavaString(JNIEnv *env, _TCHAR * str)
-{
-	jstring newString = NULL;
-#ifdef UNICODE
-	size_t length = _tcslen(str);
-	newString = (*env)->NewString(env, str, length);
-#elif MACOSX
-	newString = (*env)->NewStringUTF(env, str);
-#else
-	size_t length = _tcslen(str);
-	jbyteArray bytes = (*env)->NewByteArray(env, length);
-	if(bytes != NULL) {
-		(*env)->SetByteArrayRegion(env, bytes, 0, length, (jbyte *)str);
-		if (!(*env)->ExceptionOccurred(env)) {
-			if (string_class == NULL)
-				string_class = (*env)->FindClass(env, "java/lang/String");
-			if(string_class != NULL) {
-				if (string_ctor == NULL)
-					string_ctor = (*env)->GetMethodID(env, string_class, "<init>",  "([B)V");
-				if(string_ctor != NULL) {
-					newString = (*env)->NewObject(env, string_class, string_ctor, bytes);
-				}
-			}
-		}
-		(*env)->DeleteLocalRef(env, bytes);
-	}
-#endif
-	if(newString == NULL) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	return newString;
-}
-
-static jobjectArray createRunArgs( JNIEnv *env, _TCHAR * args[] ) {
-	int index = 0, length = -1;
-	jobjectArray stringArray = NULL;
-	jstring string;
-	
-	/*count the number of elements first*/
-	while(args[++length] != NULL);
-	
-	if (string_class == NULL)
-		string_class = (*env)->FindClass(env, "java/lang/String");
-	if(string_class != NULL) {
-		stringArray = (*env)->NewObjectArray(env, length, string_class, 0);
-		if(stringArray != NULL) {
-			for( index = 0; index < length; index++) {
-				string = newJavaString(env, args[index]);
-				if(string != NULL) {
-					(*env)->SetObjectArrayElement(env, stringArray, index, string); 
-					(*env)->DeleteLocalRef(env, string);
-				} else {
-					(*env)->DeleteLocalRef(env, stringArray);
-					(*env)->ExceptionDescribe(env);
-					(*env)->ExceptionClear(env);
-					return NULL;
-				}
-			}
-		}
-	} 
-	if(stringArray == NULL) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	return stringArray;
-}
-					 
-JavaResults * startJavaJNI( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile )
-{
-	int i;
-	int numVMArgs = -1;
-	void * jniLibrary;
-	JNI_createJavaVM createJavaVM;
-	JavaVMInitArgs init_args;
-	JavaVMOption * options;
-	char * mainClassName = NULL;
-	JavaResults * results = NULL;
-	
-	/* JNI reflection */
-	jclass mainClass = NULL;			/* The Main class to load */
-	jmethodID mainConstructor = NULL;	/* Main's default constructor Main() */
-	jobject mainObject = NULL;			/* An instantiation of the main class */
-	jmethodID runMethod = NULL;			/* Main.run(String[]) */
-	jobjectArray methodArgs = NULL;		/* Arguments to pass to run */
-	
-	results = malloc(sizeof(JavaResults));
-	memset(results, 0, sizeof(JavaResults));
-	
-	jniLibrary = loadLibrary(libPath);
-	if(jniLibrary == NULL) {
-		results->launchResult = -1;
-		results->errorMessage = malloc((_tcslen(failedToLoadLibrary) + _tcslen(libPath) + 1) * sizeof(_TCHAR));
-		_stprintf(results->errorMessage, failedToLoadLibrary, libPath);
-		return results; /*error*/
-	}
-
-	createJavaVM = (JNI_createJavaVM)findSymbol(jniLibrary, _T_ECLIPSE("JNI_CreateJavaVM"));
-	if(createJavaVM == NULL) {
-		results->launchResult = -2;
-		results->errorMessage = malloc((_tcslen(createVMSymbolNotFound) + _tcslen(libPath) + 1) * sizeof(_TCHAR));
-		_stprintf(results->errorMessage, createVMSymbolNotFound, libPath);
-		return results; /*error*/
-	}
-	
-	/* count the vm args */
-	while(vmArgs[++numVMArgs] != NULL) {}
-	
-	if(numVMArgs <= 0) {
-		/*error, we expect at least the required vm arg */
-		results->launchResult = -3;
-		results->errorMessage = _tcsdup(internalExpectedVMArgs);
-		return results;
-	}
-	
-	options = malloc(numVMArgs * sizeof(JavaVMOption));
-	for(i = 0; i < numVMArgs; i++){
-		options[i].optionString = toNarrow(vmArgs[i]);
-		options[i].extraInfo = 0;
-	}
-		
-#ifdef MACOSX
-	init_args.version = JNI_VERSION_1_4;
-#else		
-	init_args.version = JNI_VERSION_1_2;
-#endif
-	init_args.options = options;
-	init_args.nOptions = numVMArgs;
-	init_args.ignoreUnrecognized = JNI_TRUE;
-	
-	if( createJavaVM(&jvm, &env, &init_args) == 0 ) {
-		registerNatives(env);
-		
-		mainClassName = getMainClass(env, jarFile);
-		if (mainClassName != NULL) {
-			mainClass = (*env)->FindClass(env, mainClassName);
-			free(mainClassName);
-		}
-		
-		if (mainClass == NULL) {
-			if ((*env)->ExceptionOccurred(env)) {
-				(*env)->ExceptionDescribe(env);
-				(*env)->ExceptionClear(env);
-			}
-			mainClass = (*env)->FindClass(env, "org/eclipse/equinox/launcher/Main");
-		}	
-
-		if(mainClass != NULL) {
-			results->launchResult = -6; /* this will be reset to 0 below on success */
-			mainConstructor = (*env)->GetMethodID(env, mainClass, "<init>", "()V");
-			if(mainConstructor != NULL) {
-				mainObject = (*env)->NewObject(env, mainClass, mainConstructor);
-				if(mainObject != NULL) {
-					runMethod = (*env)->GetMethodID(env, mainClass, "run", "([Ljava/lang/String;)I");
-					if(runMethod != NULL) {
-						methodArgs = createRunArgs(env, progArgs);
-						if(methodArgs != NULL) {
-							results->launchResult = 0;
-							results->runResult = (*env)->CallIntMethod(env, mainObject, runMethod, methodArgs);
-							(*env)->DeleteLocalRef(env, methodArgs);
-						}
-					}
-					(*env)->DeleteLocalRef(env, mainObject);
-				}
-			}
-		} else {
-			results->launchResult = -5;
-			results->errorMessage = malloc((_tcslen(mainClassNotFound) + _tcslen(jarFile) + 1) * sizeof(_TCHAR));
-			_stprintf(results->errorMessage, mainClassNotFound, jarFile);
-		}
-		if((*env)->ExceptionOccurred(env)){
-			(*env)->ExceptionDescribe(env);
-			(*env)->ExceptionClear(env);
-		}
-		
-	} else {
-		results->launchResult = -4;
-		results->errorMessage = _tcsdup(failedCreateVM);
-	}
-
-	/* toNarrow allocated new strings, free them */
-	for(i = 0; i < numVMArgs; i++){
-		free( options[i].optionString );
-	}
-	free(options);
-	return results;
-}
-
-static char * getMainClass(JNIEnv *env, _TCHAR * jarFile) {
-	jclass jarFileClass = NULL, manifestClass = NULL, attributesClass = NULL;
-	jmethodID jarFileConstructor = NULL, getManifestMethod = NULL, getMainAttributesMethod = NULL, closeJarMethod = NULL, getValueMethod = NULL;
-	jobject jarFileObject, manifest, attributes;
-	jstring mainClassString = NULL;
-	jstring jarFileString, headerString;
-	const _TCHAR *mainClass;
-	
-	/* get the classes we need */
-	jarFileClass = (*env)->FindClass(env, "java/util/jar/JarFile");
-	if (jarFileClass != NULL) {
-		manifestClass = (*env)->FindClass(env, "java/util/jar/Manifest");
-		if (manifestClass != NULL) {
-			attributesClass = (*env)->FindClass(env, "java/util/jar/Attributes");
-		}
-	}
-	if ((*env)->ExceptionOccurred(env)) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	if (attributesClass == NULL)
-		return NULL;
-	
-	/* find the methods */
-	jarFileConstructor = (*env)->GetMethodID(env, jarFileClass, "<init>", "(Ljava/lang/String;Z)V");
-	if(jarFileConstructor != NULL) {
-		getManifestMethod = (*env)->GetMethodID(env, jarFileClass, "getManifest", "()Ljava/util/jar/Manifest;");
-		if(getManifestMethod != NULL) {
-			closeJarMethod = (*env)->GetMethodID(env, jarFileClass, "close", "()V");
-			if (closeJarMethod != NULL) {
-				getMainAttributesMethod = (*env)->GetMethodID(env, manifestClass, "getMainAttributes", "()Ljava/util/jar/Attributes;");
-				if (getMainAttributesMethod != NULL) {
-					getValueMethod = (*env)->GetMethodID(env, attributesClass, "getValue", "(Ljava/lang/String;)Ljava/lang/String;");
-				}
-			}
-		}
-	}
-	if ((*env)->ExceptionOccurred(env)) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	if (getValueMethod == NULL)
-		return NULL;
-	
-	/* jarFileString = new String(jarFile); */
-	jarFileString = newJavaString(env, jarFile);
-	 /* headerString = new String("Main-Class"); */
-	 headerString = newJavaString(env, _T_ECLIPSE("Main-Class"));
-	if (jarFileString != NULL && headerString != NULL) {
-		/* jarfileObject = new JarFile(jarFileString, false); */
-		jarFileObject = (*env)->NewObject(env, jarFileClass, jarFileConstructor, jarFileString, JNI_FALSE);
-		if (jarFileObject != NULL) { 
-			/* manifest = jarFileObject.getManifest(); */
-			 manifest = (*env)->CallObjectMethod(env, jarFileObject, getManifestMethod);
-			 if (manifest != NULL) {
-				 /*jarFileObject.close() */
-				 (*env)->CallVoidMethod(env, jarFileObject, closeJarMethod);
-				 if (!(*env)->ExceptionOccurred(env)) {
-					 /* attributes = manifest.getMainAttributes(); */
-					 attributes = (*env)->CallObjectMethod(env, manifest, getMainAttributesMethod);
-					 if (attributes != NULL) {
-						 /* mainClassString = attributes.getValue(headerString); */
-						 mainClassString = (*env)->CallObjectMethod(env, attributes, getValueMethod, headerString);
-					 }
-				 }
-			 }
-			 (*env)->DeleteLocalRef(env, jarFileObject);
-		}
-	}
-	
-	if (jarFileString != NULL)
-		(*env)->DeleteLocalRef(env, jarFileString);
-	if (headerString != NULL)
-		(*env)->DeleteLocalRef(env, headerString);
-	
-	if ((*env)->ExceptionOccurred(env)) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	
-	if (mainClassString == NULL)
-		return NULL;
-	
-	mainClass = JNI_GetStringChars(env, mainClassString);
-	if(mainClass != NULL) {
-		int i = -1;
-		char *result = toNarrow(mainClass);
-		JNI_ReleaseStringChars(env, mainClassString, mainClass);
-		
-		/* replace all the '.' with '/' */
-		while(result[++i] != '\0') {
-			if(result[i] == '.')
-				result[i] = '/';
-		}
-		return result;
-	}
-	return NULL;
-}
-
-void cleanupVM(int exitCode) {
-	JNIEnv * localEnv = env;
-	if (jvm == 0)
-		return;
-	
-	if (secondThread)
-		(*jvm)->AttachCurrentThread(jvm, (void**)&localEnv, NULL);
-	else
-		localEnv = env;
-	if (localEnv == 0)
-		return;
-	
-	/* we call System.exit() unless osgi.noShutdown is set */
-	if (shouldShutdown(env)) {
-		jclass systemClass = NULL;
-		jmethodID exitMethod = NULL;
-		systemClass = (*env)->FindClass(env, "java/lang/System");
-		if (systemClass != NULL) {
-			exitMethod = (*env)->GetStaticMethodID(env, systemClass, "exit", "(I)V");
-			if (exitMethod != NULL) {
-				(*env)->CallStaticVoidMethod(env, systemClass, exitMethod, exitCode);
-			}
-		}
-		if ((*env)->ExceptionOccurred(env)) {
-			(*env)->ExceptionDescribe(env);
-			(*env)->ExceptionClear(env);
-		}
-	}
-	(*jvm)->DestroyJavaVM(jvm);
-}
-
-static int shouldShutdown(JNIEnv * env) {
-	jclass booleanClass = NULL;
-	jmethodID method = NULL;
-	jstring arg = NULL;
-	jboolean result = 0;
-	
-	booleanClass = (*env)->FindClass(env, "java/lang/Boolean");
-	if (booleanClass != NULL) {
-		method = (*env)->GetStaticMethodID(env, booleanClass, "getBoolean", "(Ljava/lang/String;)Z");
-		if (method != NULL) {
-			arg = newJavaString(env, _T_ECLIPSE("osgi.noShutdown"));
-			result = (*env)->CallStaticBooleanMethod(env, booleanClass, method, arg);
-			(*env)->DeleteLocalRef(env, arg);
-		}
-	}
-	if ((*env)->ExceptionOccurred(env)) {
-		(*env)->ExceptionDescribe(env);
-		(*env)->ExceptionClear(env);
-	}
-	return (result == 0);
-}
-
-
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.h b/bundles/org.eclipse.equinox.executable/library/eclipseJNI.h
deleted file mode 100644
index 3ef4b89..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#ifndef ECLIPSE_JNI_H
-#define ECLIPSE_JNI_H
-
-#include "eclipseUnicode.h"
-#include <jni.h>
-
-typedef struct {
-	int launchResult;
-	int runResult;
-	_TCHAR * errorMessage;
-} JavaResults;
-
-typedef jint (JNICALL *JNI_createJavaVM)(JavaVM **pvm, JNIEnv **env, void *args);
-
-/* JNI Callback methods */
-/* Use name mangling since we may be linking these from java with System.LoadLibrary */
-#define set_exit_data 		Java_org_eclipse_equinox_launcher_JNIBridge__1set_1exit_1data
-#define set_launcher_info	Java_org_eclipse_equinox_launcher_JNIBridge__1set_1launcher_1info
-#define update_splash 		Java_org_eclipse_equinox_launcher_JNIBridge__1update_1splash
-#define show_splash			Java_org_eclipse_equinox_launcher_JNIBridge__1show_1splash
-#define get_splash_handle 	Java_org_eclipse_equinox_launcher_JNIBridge__1get_1splash_1handle
-#define takedown_splash 	Java_org_eclipse_equinox_launcher_JNIBridge__1takedown_1splash
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_set_exit_data
- * Signature: (Ljava/lang/String;Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL set_exit_data(JNIEnv *, jobject, jstring, jstring);
-
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_set_launcher_info
- * Signature: (Ljava/lang/String;Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL set_launcher_info(JNIEnv *, jobject, jstring, jstring);
-
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_update_splash
- * Signature: ()V
- */
-JNIEXPORT void JNICALL update_splash(JNIEnv *, jobject);
-
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_get_splash_handle
- * Signature: ()J
- */
-JNIEXPORT jlong JNICALL get_splash_handle(JNIEnv *, jobject);
-
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_show_splash
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL show_splash(JNIEnv *, jobject, jstring);
-
-/*
- * org_eclipse_equinox_launcher_JNIBridge#_takedown_splash
- * Signature: ()V
- */
-JNIEXPORT void JNICALL takedown_splash(JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Start the Java VM and Wait For It to Terminate
- *
- * This method is responsible for starting the Java VM and for
- * detecting its termination. The resulting JVM exit code should
- * be returned to the main launcher, which will display a message if
- * the termination was not normal.
- */
-extern JavaResults* startJavaJNI( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile );
-
-extern void cleanupVM( int );
-#endif
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c b/bundles/org.eclipse.equinox.executable/library/eclipseMain.c
deleted file mode 100644
index 3e9c13d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseUnicode.h"
-#include "eclipseCommon.h"
-#include "eclipseConfig.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <locale.h>
-#include <sys/stat.h>
-
-static _TCHAR* libraryMsg =
-_T_ECLIPSE("The %s executable launcher was unable to locate its \n\
-companion shared library.");
-
-static _TCHAR* entryMsg =
-_T_ECLIPSE("There was a problem loading the shared library and \n\
-finding the entry point.");
-
-#define NAME         _T_ECLIPSE("-name")
-#define VMARGS       _T_ECLIPSE("-vmargs")		/* special option processing required */
-/* New arguments have the form --launcher.<arg> to avoid collisions */
-#define LIBRARY		  _T_ECLIPSE("--launcher.library")
-#define SUPRESSERRORS _T_ECLIPSE("--launcher.suppressErrors")
-#define INI			  _T_ECLIPSE("--launcher.ini")
-
-/* this typedef must match the run method in eclipse.c */
-typedef int (*RunMethod)(int argc, _TCHAR* argv[], _TCHAR* vmArgs[]);
-typedef void (*SetInitialArgs)(int argc, _TCHAR*argv[], _TCHAR* library);
-
-static _TCHAR*  name          = NULL;			/* program name */
-static _TCHAR** userVMarg     = NULL;     		/* user specific args for the Java VM  */
-static _TCHAR*  programDir	  = NULL;			/* directory where program resides */
-static _TCHAR*  officialName  = NULL;
-static int      suppressErrors = 0;				/* supress error dialogs */
-
-static int 	 	createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR ***argv);
-static void  	parseArgs( int* argc, _TCHAR* argv[] );
-static _TCHAR* 	getDefaultOfficialName(_TCHAR* program);
-static _TCHAR*  findProgram(_TCHAR* argv[]);
-static _TCHAR*  findLibrary(_TCHAR* library, _TCHAR* program);
-static _TCHAR*  checkForIni(int argc, _TCHAR* argv[]);
- 
-static int initialArgc;
-static _TCHAR** initialArgv;
-
-_TCHAR* eclipseLibrary; /* path to the eclipse shared library */
-
-#ifdef UNICODE
-extern int main(int, char**);
-int mainW(int, wchar_t**);
-int wmain( int argc, wchar_t** argv ) {
-	return mainW(argc, argv);
-}
-
-int main(int argc, char* argv[]) {
-	/*
-	* Run the UNICODE version, convert the arguments from MBCS to UNICODE
-	*/
-	int i, result;
-	wchar_t **newArgv = malloc(argc * sizeof(wchar_t *));
-	for (i=0; i<argc; i++) {
-		char *oldArg = argv[i];
-		int numChars = MultiByteToWideChar(CP_ACP, 0, oldArg, -1, NULL, 0);
-		wchar_t *newArg  = malloc((numChars + 1) * sizeof(wchar_t));
-		newArg[numChars] = 0;
-		MultiByteToWideChar(CP_ACP, 0, oldArg, -1, newArg, numChars);
-		newArgv[i] = newArg;
-	}
-	result = mainW(argc, newArgv);
-	for (i=0; i<argc; i++) {
-		free(newArgv[i]);
-	}
-	free(newArgv);
-	return result;
-}
-
-#define main mainW
-#endif /* UNICODE */
-
-int main( int argc, _TCHAR* argv[] )
-{
-	_TCHAR*  errorMsg;
-	_TCHAR*  program;
-	_TCHAR*  iniFile;
-	_TCHAR*  ch;
-	_TCHAR** configArgv = NULL;
-	int 	 configArgc = 0;
-	int      exitCode = 0;
-	int      ret = 0;
-	void *	 handle = 0;
-	RunMethod 		runMethod;
-	SetInitialArgs  setArgs;
-	
-	setlocale(LC_ALL, "");
-	
-	initialArgc = argc;
-	initialArgv = malloc((argc + 1) * sizeof(_TCHAR*));
-	memcpy(initialArgv, argv, (argc + 1) * sizeof(_TCHAR*));
-	
-	/* 
-	 * Strip off any extroneous <CR> from the last argument. If a shell script
-	 * on Linux is created in DOS format (lines end with <CR><LF>), the C-shell
-	 * does not strip off the <CR> and hence the argument is bogus and may 
-	 * not be recognized by the launcher or eclipse itself.
-	 */
-	 ch = _tcschr( argv[ argc - 1 ], _T_ECLIPSE('\r') );
-	 if (ch != NULL)
-	 {
-	     *ch = _T_ECLIPSE('\0');
-	 }
-	 
-	 /* Determine the full pathname of this program. */
-	 program = findProgram(argv);
-    
-    /* Parse configuration file arguments */
-    iniFile = checkForIni(argc, argv);
-    if (iniFile != NULL)
-    	ret = readConfigFile(iniFile, &configArgc, &configArgv);
-    else
-    	ret = readIniFile(program, &configArgc, &configArgv);
-	if (ret == 0)
-	{
-		parseArgs (&configArgc, configArgv);
-	}
-	
-	/* Parse command line arguments           */
-    /* Overrides configuration file arguments */
-    parseArgs( &argc, argv );
-    
-    /* Special case - user arguments specified in the config file
-	 * are appended to the user arguments passed from the command line.
-	 */
-	if (configArgc > 0)
-	{	
-		createUserArgs(configArgc, configArgv, &argc, &argv);
-	}
-	
-	/* Initialize official program name */
-	officialName = name != NULL ? _tcsdup( name ) : getDefaultOfficialName(program);
-	
-	/* Find the directory where the Eclipse program is installed. */
-    programDir = getProgramDir(program);
-
-	/* Find the eclipse library */
-    eclipseLibrary = findLibrary(eclipseLibrary, program);
-		
-	if(eclipseLibrary != NULL)
-		handle = loadLibrary(eclipseLibrary);
-	if(handle == NULL) {
-		errorMsg = malloc( (_tcslen(libraryMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) );
-        _stprintf( errorMsg, libraryMsg, officialName );
-        if (!suppressErrors)
-        	displayMessage( officialName, errorMsg );
-        else
-        	_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg);
-        free( errorMsg );
-    	exit( 1 );
-	}
-
-	setArgs = (SetInitialArgs)findSymbol(handle, SET_INITIAL_ARGS);
-	if(setArgs != NULL)
-		setArgs(initialArgc, initialArgv, eclipseLibrary);
-	else {
-		if(!suppressErrors)
-			displayMessage(officialName, entryMsg);
-		else 
-			_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, entryMsg);
-		exit(1);
-	}
-	
-	runMethod = (RunMethod)findSymbol(handle, RUN_METHOD);
-	if(runMethod != NULL)
-		exitCode = runMethod(argc, argv, userVMarg);
-	else { 
-		if(!suppressErrors)
-			displayMessage(officialName, entryMsg);
-		else 
-			_ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, entryMsg);
-		exit(1);
-	}
-	unloadLibrary(handle);
-	
-	free( eclipseLibrary );
-    free( programDir );
-    free( program );
-    free( officialName );
-    
-	return exitCode;
-}
-
-_TCHAR* getProgramPath() {
-	return NULL;
-}
-
-static _TCHAR* findProgram(_TCHAR* argv[]) {
-	_TCHAR * program;
-#ifdef _WIN32
-	 /* windows, make sure we are looking for the .exe */
-	_TCHAR * ch;
-	int length = _tcslen(argv[0]);
-	ch = malloc( (length + 5) * sizeof(_TCHAR));
-	_tcscpy(ch, argv[0]);
-	 
-	if (length <= 4 || _tcsicmp( &ch[ length - 4 ], _T_ECLIPSE(".exe") ) != 0)
-		_tcscat(ch, _T_ECLIPSE(".exe"));
-	
-	program = findCommand(ch);
-	if (ch != program)
-		free(ch);
-#else
-	program = findCommand( argv[0] );
-#endif
-    if (program == NULL)
-    {
-#ifdef _WIN32
-    	program = malloc( MAX_PATH_LENGTH + 1 );
-    	GetModuleFileName( NULL, program, MAX_PATH_LENGTH );
-    	argv[0] = program;
-#else
-    	program = malloc( (strlen( argv[0] ) + 1) * sizeof(_TCHAR) );
-    	strcpy( program, argv[0] );
-#endif
-    } else if (_tcscmp(argv[0], program) != 0) {
-    	argv[0] = program;
-    }
-    return program;
-}
-
-/*
- * Parse arguments of the command.
- */
-static void parseArgs( int* pArgc, _TCHAR* argv[] )
-{
-    int     index;
-
-    /* Ensure the list of user argument is NULL terminated. */
-    argv[ *pArgc ] = NULL;
-
-	/* For each user defined argument */
-    for (index = 0; index < *pArgc; index++){
-        if(_tcsicmp(argv[index], VMARGS) == 0) {
-        	userVMarg = &argv[ index+1 ];
-            argv[ index ] = NULL;
-            *pArgc = index;
-        } else if(_tcsicmp(argv[index], NAME) == 0) {
-        	name = argv[++index];
-        } else if(_tcsicmp(argv[index], LIBRARY) == 0) {
-        	eclipseLibrary = argv[++index];
-        } else if(_tcsicmp(argv[index], SUPRESSERRORS) == 0) {
-        	suppressErrors = 1;
-        } 
-    }
-}
-
-/* We need to look for --launcher.ini before parsing the other args */
-static _TCHAR* checkForIni(int argc, _TCHAR* argv[]) 
-{
-	int index;
-	for(index = 0; index < (argc - 1); index++) {
-		if(_tcsicmp(argv[index], INI) == 0) {
-        	return argv[++index];
-        } 
-	}
-	return NULL;
-}
-
-/*
- * Create a new array containing user arguments from the config file first and
- * from the command line second.
- * Allocate an array large enough to host all the strings passed in from
- * the argument configArgv and argv. That array is passed back to the
- * argv argument. That array must be freed with the regular free().
- * Note that both arg lists are expected to contain the argument 0 from the C
- * main method. That argument contains the path/executable name. It is
- * only copied once in the resulting list.
- *
- * Returns 0 if success.
- */
-static int createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR ***argv)
-{
-	_TCHAR** newArray = (_TCHAR **)malloc((configArgc + *argc + 1) * sizeof(_TCHAR *));
-
-	newArray[0] = (*argv)[0];	/* use the original argv[0] */
-	memcpy(newArray + 1, configArgv, configArgc * sizeof(_TCHAR *));	
-	
-	/* Skip the argument zero (program path and name) */
-	memcpy(newArray + 1 + configArgc, *argv + 1, (*argc - 1) * sizeof(_TCHAR *));
-
-	/* Null terminate the new list of arguments and return it. */	 
-	*argv = newArray;
-	*argc += configArgc;
-	(*argv)[*argc] = NULL;
-	
-	return 0;
-}
-
-/* Determine the Program Directory
- *
- * This function takes the directory where program executable resides and
- * determines the installation directory.
- */
-_TCHAR* getProgramDir(_TCHAR* program)
-{
-	_TCHAR*  ch;
-	
-	if(programDir != NULL)
-		return programDir;
-
-    programDir = malloc( (_tcslen( program ) + 1) * sizeof(_TCHAR) );
-    _tcscpy( programDir, program );
-    ch = lastDirSeparator( programDir );
-	if (ch != NULL)
-    {
-    	*(ch+1) = _T_ECLIPSE('\0');
-   		return programDir;
-    }
-
-	/* Can't figure out from the program */
-	free(programDir);
-	programDir = NULL;
-	return NULL;
-}
-
-_TCHAR* getOfficialName() {
-	return officialName;
-}
-
-/*
- * Determine the default official application name
- *
- * This function provides the default application name that appears in a variety of
- * places such as: title of message dialog, title of splash screen window
- * that shows up in Windows task bar.
- * It is computed from the name of the launcher executable and
- * by capitalizing the first letter. e.g. "c:/ide/eclipse.exe" provides
- * a default name of "Eclipse".
- */
-static _TCHAR* getDefaultOfficialName(_TCHAR* program)
-{
-	_TCHAR *ch = NULL;
-	
-	/* Skip the directory part */
-	ch = lastDirSeparator( program );
-	if (ch == NULL) ch = program;
-	else ch++;
-	
-	ch = _tcsdup( ch );
-#ifdef _WIN32
-	{
-		/* Search for the extension .exe and cut it */
-		_TCHAR *extension = _tcsrchr(ch, _T_ECLIPSE('.'));
-		if (extension != NULL) 
-		{
-			*extension = _T_ECLIPSE('\0');
-		}
-	}
-#endif
-	/* Upper case the first character */
-#ifndef LINUX
-	{
-		*ch = _totupper(*ch);
-	}
-#else
-	{
-		if (*ch >= 'a' && *ch <= 'z')
-		{
-			*ch -= 32;
-		}
-	}
-#endif
-	return ch;
-}
-
-static _TCHAR* findLibrary(_TCHAR* library, _TCHAR* program) 
-{
-	_TCHAR* c;
-	_TCHAR* path;
-	_TCHAR* fragment;
-	_TCHAR* result;
-	_TCHAR* dot = _T_ECLIPSE(".");
-	size_t progLength, pathLength;
-	size_t fragmentLength;
-	struct _stat stats;
-	
-	if (library != NULL) {
-		path = checkPath(library, programDir, 0);
-		if (_tstat(path, &stats) == 0 && (stats.st_mode & S_IFDIR) != 0) 
-        {
-            /* directory, find the highest version eclipse_* library */
-            result = findFile(path, _T_ECLIPSE("eclipse"));
-        } else {
-        	/* file, return it */
-        	result = _tcsdup(path);
-        }
-
-		if (path != library)
-			free(path);
-		return result;
-	}
-	
-	/* build the equinox.launcher fragment name */
-	fragmentLength = _tcslen(DEFAULT_EQUINOX_STARTUP) + 1 + _tcslen(wsArg) + 1 + _tcslen(osArg) + 1 + _tcslen(osArchArg) + 1;
-	fragment = malloc(fragmentLength * sizeof(_TCHAR));
-	_tcscpy(fragment, DEFAULT_EQUINOX_STARTUP);
-	_tcscat(fragment, dot);
-	_tcscat(fragment, wsArg);
-	_tcscat(fragment, dot);
-	_tcscat(fragment, osArg);
-	//!(fragmentOS.equals(Constants.OS_MACOSX) && !Constants.ARCH_X86_64.equals(fragmentArch))
-#if !(defined(MACOSX) && !defined(__x86_64__)) 
-	/* The Mac fragment covers both archs and does not have that last segment */
-	_tcscat(fragment, dot);
-	_tcscat(fragment, osArchArg);
-#endif	
-	progLength = pathLength = _tcslen(programDir);
-#ifdef MACOSX
-	pathLength += 9;
-#endif
-	path = malloc( (pathLength + 1 + 7 + 1) * sizeof(_TCHAR));
-	_tcscpy(path, programDir);
-	if (!IS_DIR_SEPARATOR(path[progLength - 1])) {
-		path[progLength] = dirSeparator;
-		path[progLength + 1] = 0;
-	}
-#ifdef MACOSX
-	_tcscat(path, _T_ECLIPSE("../../../"));
-#endif
-	_tcscat(path, _T_ECLIPSE("plugins"));
-	
-	c = findFile(path, fragment);
-	free(fragment);
-	if (c == NULL)
-		return c;
-	fragment = c;
-	
-	result = findFile(fragment, _T_ECLIPSE("eclipse"));
-	
-	free(fragment);
-	free(path);
-	
-	return result; 
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.c b/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.c
deleted file mode 100644
index 04d30fa..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/* Eclipse Mozilla Utility Methods */
-
-#ifdef MOZILLA_FIX
-
-#include "eclipseMozilla.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dirent.h>
-#include <sys/stat.h>
-
-
-/* Filter function used by fixEnvForMozilla() for finding directories
- * with a desired prefix.
- */
-int filter(const struct dirent *dir)
-{
-	char* prefixes[] = {
-		"xulrunner-",
-		"mozilla-seamonkey-",
-		"seamonkey-",
-		"mozilla-",
-		"mozilla-firefox-",
-		"firefox-",
-		NULL
-	};
-	int XULRUNNER_INDEX = 0;
-#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__)
-	char* root = "/usr/lib64/";
-#else
-	char* root = "/usr/lib/";
-#endif
-
-#if defined (SOLARIS)
-	/*
-	 * The solaris compiler does not do static linking, so just check
-	 * for a common lib to ensure that the install seems valid.
-	 */
-	char* testlib = "/libxpcom.so";
-#else
-	/* Ensure that the install is dynamically-linked and is built with GTK2 */
-	char* testlib = "/components/libwidget_gtk2.so";
-#endif
-
-	struct stat buf;
-	int index = 0;
-	char* dirname = (char *)dir->d_name;
-
-	char* prefix = prefixes [index];
-	while (prefix != NULL)
-	{
-		int prefixLength = strlen(prefix);
-		if (strncmp(dirname, prefix, prefixLength) == 0)
-		{
-			if (index == XULRUNNER_INDEX) return 1;	/* include in scandir result */
-
-			/* Check if the first character following the prefix is a numeric digit.
-			 * This ensures that the suffix represents a version number like
-			 * "mozilla-1.7.3", and not a different product like "mozilla-thunderbird".
-			 */
-			int dirLength = strlen(dirname);
-			if ('0' <= dirname[prefixLength] && dirname[prefixLength] <= '9') {
-				/* If a xulrunner install is found then success is immediate since
-				 * xulrunner always provides an embeddable GRE.
-				 */				
-				if (index == XULRUNNER_INDEX) return 1;	/* include in scandir result */
-				
-				char* testpath = malloc (strlen(root) + dirLength + strlen(testlib) + 1);
-				strcpy(testpath, root);
-				strcat(testpath, dirname);
-				strcat(testpath, testlib);
-				int success = stat(testpath, &buf) == 0;
-				free(testpath);
-				if (success)
-				{
-					return 1;	/* include in scandir result */
-				}
-			}
-		}
-		prefix = prefixes [++index];
-	}
-	return 0;	/* exclude from scandir result */
-}
-
-#if defined (SOLARIS)
-/*
- * A replacement for 
- * 			scandir(const char *dir, struct dirent ***namelist, filter, alphasort);
- * because scandir & alphasort don't exist on Solaris 9.
- * Return the dirent->d_name that was sorted the highest according to strcoll, 
- *            or NULL on error or if no entries matched the filter.
- * The caller is responsible for freeing the returned string
- */
-char * scan(const char * path) {
-	DIR *dir = NULL;
-	struct dirent * entry = NULL;
-	char * candidate = NULL;
-	
-	if ((dir = opendir(path)) == NULL) {
-		return NULL;
-	}
-
-	while ((entry = readdir(dir)) != NULL) {
-		if (filter(entry)) {
-			if (candidate == NULL) {
-				candidate = strdup(entry->d_name);
-			} else if (strcoll(candidate, entry->d_name) < 0) {
-				free(candidate);
-				candidate = strdup(entry->d_name);
-			}
-		}
-	}
-	closedir(dir);
-	
-	return candidate;
-}
-#endif
-
-/* Set the environmnent required by the SWT Browser widget to bind to Mozilla. 
- * The SWT Browser widget relies on Mozilla on Linux. The LD_LIBRARY_PATH
- * and the Mozilla environment variable MOZILLA_FIVE_HOME must point
- * to the installation directory of Mozilla.
- * 
- * 1. Use the location set by MOZILLA_FIVE_HOME if it is defined
- * 2. Parse the file /etc/gre.conf if it is defined. This file is
- *    set by the RedtHat RPM manager.
- * 3. Try some common installation locations.
- */
-void fixEnvForMozilla() {
-	static int fixed = 0;
-	if (fixed) return; 
-	{
-		char *ldPath = (char*)getenv("LD_LIBRARY_PATH");
-		char *mozillaFiveHome = (char*)getenv("MOZILLA_FIVE_HOME");
-		char *grePath = NULL; /* Gecko Runtime Environment Location */
-		fixed = 1;
-		/* Always dup the string so we can free later */
-		if (ldPath != NULL) ldPath = strdup(ldPath);
-		else ldPath = strdup("");
-		
-		/* MOZILLA_FIVE_HOME (if defined) points to the Mozilla
-		 * install directory. Don't look any further if it is set.
-		 */
-		if (mozillaFiveHome != NULL) 
-		{
-			grePath = strdup(mozillaFiveHome);
-		}
-
-		/* The file gre.conf (if available) points to the
-		 * Mozilla install directory. Don't look any further if 
-		 * it is set.
-		 */
-		if (grePath == NULL)
-		{
-			struct stat buf;
-			FILE *file = NULL;
-#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__)
-			if (stat("/etc/gre64.conf", &buf) == 0)
-			{
-				file = fopen("/etc/gre64.conf", "r");
-			}
-			else if (stat("/etc/gre.d/gre64.conf", &buf) == 0)
-			{
-				file = fopen("/etc/gre.d/gre64.conf", "r");
-			} else
-#endif
-			if (stat("/etc/gre.conf", &buf) == 0)
-			{
-				file = fopen("/etc/gre.conf", "r");
-			}
-			else if (stat("/etc/gre.d/gre.conf", &buf) == 0)
-			{
-				file = fopen("/etc/gre.d/gre.conf", "r");
-			}
-			if (file != NULL)
-			{
-				char buffer[1024];
-				char path[1024];
-				while (fgets(buffer, 1024, file) != NULL)
-				{
-					if (sscanf(buffer, "GRE_PATH=%s", path) == 1)
-					{
-						grePath = strdup(path);
-						break;
-					}
-				}
-				fclose(file);
-			}
-		}
-
-		/* Try some common installation locations. */
-		if (grePath == NULL)
-		{
-			/* try xulrunner-*, mozilla-*, firefox-* directories in /usr/lib/ */
-#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__)
-			char* dir = "/usr/lib64/";
-#else
-			char* dir = "/usr/lib/";
-#endif
-#if defined (SOLARIS)
-			char * name = scan(dir);
-			if (name != NULL) {
-#else
-			struct dirent **namelist;
-			int i;
-			int count = scandir(dir, &namelist, filter, alphasort);
-			if (count > 0)
-			{
-				/* count-1 is used below in an attempt to get the matched directory
-				 * with the latest version number.
-				 */
-				char* name = namelist [count - 1]->d_name;
-#endif
-				grePath = malloc (strlen(dir) + strlen(name) + 1);
-				strcpy(grePath, dir);
-				strcat(grePath, name);
-#if defined (SOLARIS)
-				free(name);
-#else
-				for (i = 0; i < count; i++) {
-					free(namelist [i]);
-				}
-				free(namelist);
-#endif
-			}
-
-			if (grePath == NULL)
-			{
-				/* some other typical installation locations */
-				char* dirs[] = {
-#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__)
-					"/usr/lib64/xulrunner/",
-					"/usr/lib64/mozilla-firefox/",
-					"/usr/lib64/firefox/",
-					"/usr/lib64/mozilla-seamonkey/",
-					"/usr/lib64/seamonkey/",
-					"/usr/lib64/mozilla/",
-#endif
-#if defined (SOLARIS)
-					"/usr/sfw/lib/xulrunner/",
-					"/usr/sfw/lib/mozilla-firefox/",
-					"/usr/sfw/lib/firefox/",
-					"/usr/sfw/lib/mozilla/",
-					"/usr/sfw/lib/mozilla-seamonkey/",
-					"/usr/sfw/lib/seamonkey/",
-#endif
-					"/usr/lib/xulrunner/",
-					"/usr/lib/mozilla-firefox/",
-					"/usr/lib/firefox/",
-					"/usr/lib/mozilla-seamonkey/",
-					"/usr/lib/seamonkey/",
-					"/usr/lib/mozilla/",
-					"/usr/local/xulrunner/",
-					"/opt/xulrunner/",
-					"/usr/local/mozilla-firefox/",
-					"/usr/local/firefox/",
-					"/opt/mozilla-firefox/",
-					"/opt/firefox/",
-					"/usr/local/mozilla-seamonkey/",
-					"/usr/local/seamonkey/",
-					"/opt/mozilla-seamonkey/",
-					"/opt/seamonkey/",
-					"/usr/local/mozilla/",
-					"/opt/mozilla/",
-					NULL
-				};
-
-#if defined (SOLARIS)
-				/*
-				 * The solaris compiler does not do static linking, so just check
-				 * for a common lib to ensure that the install seems valid.
-				 */
-				char* testlib = "libxpcom.so";
-#else
-				/* Ensure that the install is dynamically-linked and is built with GTK2 */
-				char* testlib = "components/libwidget_gtk2.so";
-#endif
-
-				struct stat buf;
-				int index = 0;
-
-				char* dir = dirs [index++];
-				while (dir != NULL)
-				{
-					char* testpath = malloc (strlen(dir) + strlen(testlib) + 1);
-					strcpy(testpath, dir);
-					strcat(testpath, testlib);
-					int success = stat(testpath, &buf) == 0;
-					free(testpath);
-					if (success)
-					{
-						grePath = strdup(dir);
-						break;
-					}
-					dir = dirs [index++];
-				}
-			}
-		}
-
-		if (grePath != NULL)
-		{
-			ldPath = (char*)realloc(ldPath, strlen(ldPath) + strlen(grePath) + 2);
-			if (strlen(ldPath) > 0) strcat(ldPath, ":");
-			strcat(ldPath, grePath);
-			setenv("LD_LIBRARY_PATH", ldPath, 1);
-			
-			if (mozillaFiveHome == NULL) setenv("MOZILLA_FIVE_HOME", grePath, 1);
-			free(grePath);
-		}
-		free(ldPath);
-	}
-}
-#endif /* MOZILLA_FIX */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.h b/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.h
deleted file mode 100644
index 42b4f00..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseMozilla.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef ECLIPSE_MOZILLA_H
-#define ECLIPSE_MOZILLA_H
-
-/* Eclipse Mozilla Utility Methods */
-
-#ifdef MOZILLA_FIX
-extern void fixEnvForMozilla();
-#endif /* MOZILLA_FIX */
-
-#endif /* ECLIPSE_MOZILLA_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseNix.c b/bundles/org.eclipse.equinox.executable/library/eclipseNix.c
deleted file mode 100644
index 37a08ef..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseNix.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/* This file contains code common between GTK & Motif */
-#include "eclipseOS.h"
-#include "eclipseCommon.h"
-#include "eclipseMozilla.h"
-#include "eclipseUtil.h"
-#include "eclipseJNI.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-#ifdef i386
-#define JAVA_ARCH "i386"
-#elif defined(__ppc__) || defined(__powerpc64__)
-#define JAVA_ARCH "ppc" 
-#elif defined(SOLARIS)
-#define JAVA_ARCH "sparc"
-#elif defined(__amd64__) || defined(__x86_64__) 
-#define JAVA_ARCH "amd64"
-#else
-#define JAVA_ARCH DEFAULT_OS_ARCH
-#endif
-
-#ifdef AIX
-#define LIB_PATH_VAR _T_ECLIPSE("LIBPATH")
-#else
-#define LIB_PATH_VAR _T_ECLIPSE("LD_LIBRARY_PATH")
-#endif
-
-#define MAX_LOCATION_LENGTH 40 /* none of the jvmLocations strings should be longer than this */ 
-static const char* jvmLocations [] = { "j9vm", "../jre/bin/j9vm",
-									   "classic", "../jre/bin/classic",
-									   "../lib/" JAVA_ARCH "/client",  
-									   "../lib/" JAVA_ARCH "/server",
-									   "../lib/" JAVA_ARCH "/jrockit",
-									   "../jre/lib/" JAVA_ARCH "/client",
-									   "../jre/lib/" JAVA_ARCH "/server",
-									   "../jre/lib/" JAVA_ARCH "/jrockit",
-									   "../lib/jvm/jre/lib/" JAVA_ARCH "/client",
-								 	   NULL };
-
-static void adjustLibraryPath( char * vmLibrary );
-static char * findLib(char * command);
-#ifdef NETSCAPE_FIX
-extern void   fixEnvForNetscape();
-#endif /* NETSCAPE_FIX */
-
-char * findVMLibrary( char* command ) {
-	char * lib = findLib(command);
-	if( lib != NULL ) {
-		adjustLibraryPath(lib);
-	}
-	return lib;
-}
-
-static char * findLib(char * command) {
-	int i;
-	int pathLength;	
-	struct stat stats;
-	char * path;				/* path to resulting jvm shared library */
-	char * location;			/* points to begining of jvmLocations section of path */
-	
-	if (command != NULL) {
-		/*check first to see if command already points to the library */
-		if (isVMLibrary(command)) {
-			if (stat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/* found it */
-				return strdup(command);
-			}
-			return NULL;
-		}
-		
-		location = strrchr( command, dirSeparator ) + 1;
-		pathLength = location - command;
-		path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + strlen(vmLibrary) + 1) * sizeof(char));
-		strncpy(path, command, pathLength);
-		location = &path[pathLength];
-		 
-		/* 
-		 * We are trying base/jvmLocations[*]/vmLibrary
-		 * where base is the directory containing the given java command, normally jre/bin
-		 */
-		i = -1;
-		while(jvmLocations[++i] != NULL) {
-			sprintf(location, "%s%c%s", jvmLocations[i], dirSeparator, vmLibrary);
-			if (stat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/* found it */
-				return path;
-			}
-		}
-	}
-	return NULL;
-}
-
-/* adjust the LD_LIBRARY_PATH for the vmLibrary */
-static void adjustLibraryPath( char * vmLibrary ) {
-	char * c;
-	char * ldPath;
-	char * newPath;
-	int i;
-	int numPaths = 0;
-	int length = 0;
-	int needAdjust = 0;
-	
-	char ** paths = NULL;
-#ifdef MOZILLA_FIX
-	fixEnvForMozilla();
-#endif /* MOZILLA_FIX */
-#ifdef NETSCAPE_FIX
-	fixEnvForNetscape();
-#endif /* NETSCAPE_FIX */
-	
-	paths = getVMLibrarySearchPath(vmLibrary);
- 
-	ldPath = (char*)getenv(LIB_PATH_VAR);
-	if (!ldPath) {
-		ldPath = _T_ECLIPSE("");
-		needAdjust = 1;
-	} else {
-		needAdjust = !containsPaths(ldPath, paths);
-	}
-	if (!needAdjust) {
-		for (i = 0; paths[i] != NULL; i++)
-			free(paths[i]);
-		free(paths);
-		return;
-	}
-	
-	/* set the value for LD_LIBRARY_PATH */
-	length = strlen(ldPath);
-	c = concatStrings(paths);
-	newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR));
-	_stprintf(newPath, _T_ECLIPSE("%s%s"), c, ldPath);
-	
-	setenv( LIB_PATH_VAR, newPath, 1);
-	free(newPath);
-	free(c);
-	
-	for (i = 0; i < numPaths; i++)
-		free(paths[i]);
-	free(paths);
-
-	/* now we must restart for this to take affect */
-	restartLauncher(initialArgv[0], initialArgv);
-}
-
-void restartLauncher( char* program, char* args[] ) 
-{
-	/* just restart in-place */
-	execvp( program != NULL ? program : args[0], args);
-}
-
-void processVMArgs(_TCHAR **vmargs[] ) {
-	/* nothing yet */
-}
-
-JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile )
-{
-	return startJavaJNI(libPath, vmArgs, progArgs, jarFile);
-}
-
-int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) {
-	int descriptors[2];
-	int result = 0;
-	int pid = -1;
-	
-	if (javaVM == NULL)
-		return 0;
-	
-	/* create pipe, [0] is read end, [1] is write end */
-	if (pipe(descriptors) != 0)
-		return 0; /* error */
-	
-	pid = fork();
-	if (pid == 0 ) {
-		/* child, connect stdout & stderr to write end of the pipe*/
-		dup2(descriptors[1], STDERR_FILENO);
-		dup2(descriptors[1], STDOUT_FILENO);
-		
-		/* close descriptors */
-		close(descriptors[0]);
-		close(descriptors[1]);
-		
-		{
-			/* exec java -version */
-			_TCHAR *args [] = { javaVM, _T_ECLIPSE("-version"), NULL };
-			execv(args[0], args);
-			/* if we make it here, there was a problem with exec, just exit */
-			exit(0);
-		}
-	} else if (pid > 0){
-		/* parent */
-		FILE * stream = NULL;
-		int status = 0;
-		close(descriptors[1]);
-		stream = fdopen( descriptors[0], "r");
-		if (stream != NULL) {
-			_TCHAR buffer[256];
-			while ( fgets(buffer, 256, stream) != NULL) {
-				if (_tcsstr(buffer, _T_ECLIPSE("Java HotSpot(TM)")) || _tcsstr(buffer, _T_ECLIPSE("OpenJDK"))) {
-					result = 1;
-					break;
-				}
-				if (_tcsstr(buffer, _T_ECLIPSE("IBM")) != NULL) {
-					result = 0;
-					break;
-				}
-			}
-			fclose(stream);
-			close(descriptors[0]);
-		}
-		waitpid(pid, &status, 0);
-	} else {
-		/* failed to fork */
-		close(descriptors[0]);
-		close(descriptors[1]);
-	}
-	return result;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h b/bundles/org.eclipse.equinox.executable/library/eclipseOS.h
deleted file mode 100644
index 859bad4..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
-
-#ifndef ECLIPSE_OS_H
-#define ECLIPSE_OS_H
-
-#include "eclipseJNI.h"
-#include "eclipseUnicode.h"
-
-#ifdef MACOSX
-#define JAVA_FRAMEWORK "/System/Library/Frameworks/JavaVM.framework"
-#endif
-
-/* Operating System Dependent Information */
-
-/*** See eclipse.c for information on the launcher runtime architecture ***/
-
-/* Global Variables */
-extern _TCHAR*  defaultVM;   			/* name of VM to use normally      */
-#ifdef _WIN32
-extern _TCHAR*  consoleVM;				/* windows needs a different vm executable for the console */
-#endif
-extern _TCHAR*  shippedVMDir;			/* VM bin directory with separator */
-extern _TCHAR*  exitData;		  		/* exit data set from Java */
-extern _TCHAR*  vmLibrary;				/* name of the VM shared library */
-extern int		initialArgc;			/* argc originally used to start launcher */
-extern _TCHAR**	initialArgv;			/* argv originally used to start launcher */
-extern _TCHAR*  eeLibPath;				/* library path specified in a .ee file */
-extern int		secondThread;			/* whether or not to start the vm on a second thread */
-
-/* OS Specific Functions */
-
-/** Display a Message
- *
- * This method is called to display a message to the user.
- * The method should not return until the user has acknowledged
- * the message. This method will only be called after the window
- * system has been initialized.
- */
-extern void displayMessage( _TCHAR* title, _TCHAR* message );
-
-
-/** Initialize the Window System
- *
- * This method is called after the command line arguments have been
- * parsed. Its purpose is to initialize the corresponding window system.
- *
- * The showSplash flag indicates the splash window will be displayed by
- * this process (e.g., value will be zero for the main launcher).
- */
-extern int initWindowSystem( int* argc, _TCHAR* argv[], int showSplash );
-
-
-/** Show the Splash Window
- *
- * This method is called to display the actual splash window. It will only
- * be called by the splash window process and not the main launcher process.
- * The splash ID passed corresponds to the string returned from initWindowSystem().
- * If possible, this ID should be used to communicate some piece of data back
- * to the main launcher program for two reasons:
- * 1) to detect when the splash window process terminates
- * 2) to terminate the splash window process should the JVM terminate before it
- *    completes its initialization.
- *
- * Two parameters are passed: the install home directory and a specific bitmap image
- * file for a feature. The feature's image file is tried first and if it cannot be
- * displayed, the images from the install directory are used.
- *
- * Return (exit code):
- * 0        - success
- * non-zero - could not find a splash image to display
- */
-extern int showSplash( const _TCHAR* featureImage );
-
-/** Get List of Java VM Arguments
- *
- * A given Java VM might require a special set of arguments in order to
- * optimize its performance. This method returns a NULL terminated array
- * of strings, where each string is a separate VM argument.
- */
-extern _TCHAR** getArgVM( _TCHAR *vm );
-
-/* Find the vm shared library associated with the given java executable */
-extern _TCHAR * findVMLibrary( _TCHAR * command );
-
-extern void dispatchMessages();
-
-extern jlong getSplashHandle();
-
-extern void takeDownSplash();
-
-extern void restartLauncher( _TCHAR* program, _TCHAR* args[] );
-
-/* launch the vm in a separate process and wait for it to finish */
-extern JavaResults* launchJavaVM( _TCHAR* args[] );
-
-/* launch the vm in this process using JNI invocation */
-extern JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile );
-
-/* do any platform specific processing of the user vmargs */
-extern void processVMArgs(_TCHAR **vmargs[] );
-
-/* is this a Sun VM, returns 0 if we don't know */
-extern int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib );
-
-/* an array of paths that will need to be on the search path to load the vm shared library */
-extern _TCHAR ** getVMLibrarySearchPath(_TCHAR * vmLibrary);
-
-extern int reuseWorkbench(_TCHAR** filePath, int timeout);
-
-#endif /* ECLIPSE_OS_H */
-
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c b/bundles/org.eclipse.equinox.executable/library/eclipseShm.c
deleted file mode 100644
index 9934fe5..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Silenio Quarti
- *******************************************************************************/
-
-#include "eclipseOS.h"
-#include "eclipseShm.h"
-
-static _TCHAR* ECLIPSE_UNITIALIZED = _T_ECLIPSE("ECLIPSE_UNINITIALIZED");
-
-#ifdef _WIN32
-
-#include <stdio.h>
-
-#ifdef __MINGW32__
-#include <stdlib.h>
-#endif
-
-int createSharedData(_TCHAR** id, int size) {
-	HANDLE mapHandle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, NULL);
-	if (mapHandle == 0) return -1;
-	if (id != NULL) {
-		*id = malloc(18 * sizeof(_TCHAR));
-#ifdef WIN64
-		_stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORDLONG) mapHandle);
-#else
-		_stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORD) mapHandle);
-#endif
-	}
-	/* set the shared data to "uninitialized" */
-	setSharedData(*id, ECLIPSE_UNITIALIZED);
-	return 0;
-}
-
-static int getShmID(const _TCHAR* id, LPDWORD processID, LPHANDLE handle) {
-	if (id != NULL && _tcslen(id) > 0) {
-		DWORD i1;
-#ifdef WIN64
-		DWORDLONG i2;
-#else
-		DWORD i2;
-#endif
-		if (_stscanf(id, _T_ECLIPSE("%lx_%lx"), &i1, &i2) != 2) return -1;
-		*processID = (DWORD)i1;
-		*handle = (HANDLE)i2;
-		return 0;
-	}
-	return -1;
-}
-
-int destroySharedData(_TCHAR* id) {
-	DWORD processID;
-	HANDLE handle;
-	if (getShmID(id, &processID, &handle) == -1) return -1;
-	if (!CloseHandle(handle)) return -1;
-	return 0;
-}
-
-int getSharedData(_TCHAR* id, _TCHAR** data) {
-	_TCHAR *sharedData, *newData = NULL;
-	DWORD processID;
-	HANDLE handle, mapHandle = NULL, processHandle;
-	if (getShmID(id, &processID, &handle) == -1) return -1;
-	if (processID == GetCurrentProcessId()) {
-		mapHandle = handle;
-	} else {
-		processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
-		if (processHandle == NULL) return -1;
-		DuplicateHandle(processHandle, handle, GetCurrentProcess(), &mapHandle, DUPLICATE_SAME_ACCESS, FALSE, DUPLICATE_SAME_ACCESS);
-		CloseHandle(processHandle);
-	}
-	if (mapHandle == NULL) return -1;
-	sharedData = MapViewOfFile(handle, FILE_MAP_WRITE, 0, 0, 0);
-	if (sharedData == NULL) return -1;
-	if (_tcscmp(sharedData, ECLIPSE_UNITIALIZED)== 0) return 0;
-	if (data != NULL) {
-		size_t length = (_tcslen(sharedData) + 1) * sizeof(_TCHAR);
-		newData = malloc(length);
-		memcpy(newData, sharedData, length);
-	}
-	if (!UnmapViewOfFile(sharedData)) {
-		free(newData);
-		return -1;
-	}
-	if (handle != mapHandle) {
-		CloseHandle(mapHandle);
-	}
-	*data = newData;
-	return 0;
-}
-
-int setSharedData(const _TCHAR* id, const _TCHAR* data) {
-	_TCHAR* sharedData;
-	DWORD processID;
-	HANDLE handle, mapHandle = NULL, processHandle;
-	if (getShmID(id, &processID, &handle) == -1) return -1;
-	if (processID == GetCurrentProcessId()) {
-		mapHandle = handle;
-	} else {
-		processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
-		if (processHandle == NULL) return -1;
-		DuplicateHandle(processHandle, handle, GetCurrentProcess(), &mapHandle, DUPLICATE_SAME_ACCESS, FALSE, DUPLICATE_SAME_ACCESS);
-		CloseHandle(processHandle);
-	}
-	if (mapHandle == NULL) return -1;
-	sharedData = MapViewOfFile(mapHandle, FILE_MAP_WRITE, 0, 0, 0);
-	if (sharedData == NULL) return -1;
-	if (data != NULL) {
-		size_t length = (_tcslen(data) + 1) * sizeof(_TCHAR);
-		memcpy(sharedData, data, length);
-	} else {
-		memset(sharedData, 0, sizeof(_TCHAR));
-	}
-	if (!UnmapViewOfFile(sharedData)) {
-		return -1;
-	}
-	if (handle != mapHandle) {
-		CloseHandle(mapHandle);
-	}
-	return 0;
-}
-
-#elif PHOTON
-
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-int createSharedData(char** id, int size) {
-	int fd;
-	char* location = "/tmp/eclipse_%x";
-	char* name = malloc(strlen(location) + 9);
-	sprintf(name, location, getpid());
-	if ((fd = shm_open(name, O_RDWR | O_CREAT, 0666 )) == -1) return -1;
-    if (ftruncate(fd, size) == -1 ) {
-    	shm_unlink(name);
-    	return -1;
-    }
-    close( fd );
-	if (id != NULL) {
-		*id = name;
-	}
-	return 0;
-}
-
-int destroySharedData(char* id) {
-	return shm_unlink(id);
-}
-
-int getSharedData(char* id, char** data) {
-	int fd, length, size;
-	char *sharedData, *newData = NULL;
-	if ((fd = shm_open(id, O_RDWR, 0666 )) == -1) return -1;
-	size = lseek(fd, 0, SEEK_END);
-    sharedData = mmap( 0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
-    if (sharedData != MAP_FAILED) {
-		if (data != NULL) {
-			length = strlen(sharedData) + 1;
-			newData = malloc(length);
-			memcpy(newData, sharedData, length);
-		}
-		munmap(sharedData, size);
-	}
-    close(fd);
-	*data = newData;
-	return newData == NULL ? -1 : 0;
-}
-
-int setSharedData(char* id, char* data) {
-	int fd, length, size;
-	char *sharedData;
-	if ((fd = shm_open(id, O_RDWR, 0666 )) == -1) return -1;
-	size = lseek(fd, 0, SEEK_END);
-    sharedData = mmap( 0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
-    if (sharedData != MAP_FAILED) {
-		if (data != NULL) {
-			length = strlen(data) + 1;
-			memcpy(sharedData, data, length);
-		} else {
-			memset(sharedData, 0, sizeof(char));
-		}
-		munmap(sharedData, size);
-	}
-    close(fd);
-	return 0;
-}
-
-#else /* Unix like platforms */
-
-#include <sys/shm.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-int createSharedData(char** id, int size) {
-	int shmid;
-	key_t key = getpid();
-	if ((shmid = shmget(key, size, IPC_CREAT | 0666)) < 0) {
-		return -1;
-	}
-	if (id != NULL) {
-		*id = malloc(9 * sizeof(char));
-		sprintf(*id, "%x", shmid);
-	}
-	setSharedData(*id, ECLIPSE_UNITIALIZED);
-	return 0;
-}
-
-static int getShmID(const char* id) {
-	int shmid = -1;
-	/* Determine the shared memory id. */
-	if (id != NULL && strlen(id) > 0) {
-		sscanf(id, "%x", &shmid);
-	}
-	return shmid;
-}
-
-int destroySharedData(char* id) {
-	int shmid = getShmID(id);
-	if (shmid == -1) return -1;
-	return shmctl(shmid, IPC_RMID, NULL);
-}
-
-int getSharedData( char* id, char** data ) {
-	char *sharedData, *newData = NULL;
-	int length;
-	int shmid = getShmID(id);
-	if (shmid == -1) return -1;
- 	sharedData = shmat(shmid, (void *)0, 0);
-    if (sharedData == (char *)(-1)) return -1;
-    if (_tcscmp(sharedData, ECLIPSE_UNITIALIZED) == 0) return 0;
-    length = strlen(sharedData) + 1;
-    newData = malloc(length);
-    memcpy(newData, sharedData, length);
-	if (shmdt(sharedData) != 0) {
-		free(newData);
-		return -1;
-	}
-	*data = newData;
-	return 0;
-}
-
-int setSharedData(const char* id, const char* data) {
-	char* sharedData;
-	int length;
-	int shmid = getShmID(id);
-	if (shmid == -1) return -1;
- 	sharedData = shmat(shmid, (void *)0, 0);
-	if (sharedData == (char *)(-1)) return -1;
-	if (data != NULL) {
-		length = strlen(data) + 1;
-		memcpy(sharedData, data, length);
-	} else {
-		memset(sharedData, 0, sizeof(char));
-	}
-	if (shmdt(sharedData) != 0) {
-		return -1;
-	}
-	return 0;
-}
-
-#endif /* Unix like platforms */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseShm.h b/bundles/org.eclipse.equinox.executable/library/eclipseShm.h
deleted file mode 100644
index 750d780..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseShm.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Silenio Quarti
- *******************************************************************************/
-
-#ifndef ECLIPSE_SHM_H
-#define ECLIPSE_SHM_H
-
-/* Shared memory utilities */
-
-/**
- * Creates and initializes a shared memory segment
- * with the specified size in bytes. The id for the
- * shared memory segment is stored in the id argument
- * and can be used from any process. It must be freed
- * with free().
- *
- * Returns 0 if success.
- */
-extern int createSharedData(_TCHAR** id, int size);
-
-/**
- * Destroy the shared memory segment specified by the
- * id argument. The id is the same as the one return
- * by createSharedData(). This function must be called
- * by the same process that created the segment.
- *
- * Returns 0 if success.
- */
-extern int destroySharedData(_TCHAR* id);
-
-/**
- * Gets a copy of the shared memory segment specified
- * by the id argument. The copy is stored in the data
- * argument as a null terminated string and must be
- * freed by free().
- *
- * Returns 0 if success.
- */
-extern int getSharedData(_TCHAR* id, _TCHAR** data);
-
-/**
- * Sets the shared memory segment specified by the id
- * argument with a null terminated string specified by
- * data.
- *
- * Returns 0 if sucess.
- */
-extern int setSharedData(const _TCHAR* id, const _TCHAR* data);
-
-#endif /* ECLIPSE_SHM_H */
-
-
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUnicode.h b/bundles/org.eclipse.equinox.executable/library/eclipseUnicode.h
deleted file mode 100644
index 546a36e..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseUnicode.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Silenio Quarti
- *******************************************************************************/
-
-#ifndef ECLIPSE_UNICODE_H
-#define ECLIPSE_UNICODE_H
-
-#ifdef _WIN32
-
-#ifdef UNICODE
-#define _UNICODE
-#endif
-#include <windows.h>
-#include <tchar.h>
-#include <ctype.h>
-
-#ifdef __MINGW32__
-# ifdef UNICODE
-#  ifndef _TCHAR
-#   define _TCHAR TCHAR
-#  endif /* _TCHAR */
-#  ifndef _tgetcwd
-#   define _tgetcwd _wgetcwd
-#  endif /* _tgetcwd */
-#  ifndef _tstat
-#   define _tstat _wstat
-#  endif /* _tstat */
-#  ifndef _topendir
-#   define _topendir _wopendir
-#  endif /* _topendir */
-#  ifndef _treaddir
-#   define _treaddir _wreaddir
-#  endif /* _treaddir */
-#  ifndef _tclosedir
-#   define _tclosedir _wclosedir
-#  endif /* _tclosedir */
-#  ifndef _tDIR
-#   define _tDIR _WDIR
-#  endif /* _tDIR */
-# else /* UNICODE */
-#  ifndef _TCHAR
-#   define _TCHAR char
-#  endif /* _TCHAR */
-#  ifndef _tgetcwd
-#   define _tgetcwd getcwd
-#  endif /* _tgetcwd */
-#  ifndef _tstat
-#   define _tstat _stat
-#  endif /* _tstat */
-#  ifndef _topendir
-#error message!
-#   define _topendir opendir
-#  endif /* _topendir */
-#  ifndef _treaddir
-#   define _treaddir readdir
-#  endif /* _treaddir */
-#  ifndef _tclosedir
-#   define _tclosedir closedir
-#  endif /* _tclosedir */
-#  ifndef _tDIR
-#   define _tDIR DIR
-#  endif /* _tDIR */
-# endif /* UNICODE */
-#endif /* __MINGW32__ */
-
-#define _T_ECLIPSE _T
-
-#else /* Platforms other than Windows */
-
-#define _TCHAR char
-#define _T_ECLIPSE(s) s
-#define _fgetts fgets
-#define _stat stat
-#define _stprintf sprintf
-#define _ftprintf fprintf
-#define _stscanf sscanf
-#define _tcscat strcat
-#define _tcschr strchr
-#define _tcspbrk strpbrk
-#define _tcscmp strcmp
-#define _tcscpy strcpy
-#define _tcsdup strdup
-#define _tcsicmp strcasecmp
-#define _tcslen strlen
-#define _tcsncpy strncpy
-#define _tcsrchr strrchr
-#define _tfopen fopen
-#define _tgetcwd getcwd
-#define _tgetenv getenv
-#define _tcstol strtol
-#ifndef LINUX
-#define _totupper toupper
-#endif /* LINUX */
-#define _tprintf printf
-#define _tstat stat
-#define _tcsncmp strncmp
-#define _tcsstr strstr 
-#define _topendir opendir
-#define _treaddir readdir
-#define _tclosedir closedir
-#define _tDIR DIR
-#endif /* _WIN32 */
-
-#endif /* ECLIPSE_UNICODE_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c
deleted file mode 100644
index 9ed7b68..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
-
-/* Eclipse Launcher Utility Methods */
-
-#include "eclipseOS.h"
-#include "eclipseCommon.h"
-#include "eclipseUtil.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/stat.h>
-#ifdef _WIN32
-#include <direct.h>
-#else
-#include <unistd.h>
-#include <strings.h>
-#endif
-
-#define MAX_LINE_LENGTH 256
-
-/* Is the given VM J9 */
-int isJ9VM( _TCHAR* vm )
-{
-	_TCHAR * ch = NULL, *ch2 = NULL;
-	int res = 0;
-	
-	if (vm == NULL)
-		return 0;
-	
-	ch = lastDirSeparator( vm );
-	if (isVMLibrary(vm)) {
-		/* a library, call it j9 if the parent dir is j9vm */
-		if(ch == NULL)
-			return 0;
-		ch[0] = 0;
-		ch2 = lastDirSeparator(vm);
-		if(ch2 != NULL) {
-			res = (_tcsicmp(ch2 + 1, _T_ECLIPSE("j9vm")) == 0);
-		}
-		ch[0] = dirSeparator;
-		return res;
-	} else {
-		if (ch == NULL)
-		    ch = vm;
-		else
-		    ch++;
-		return (_tcsicmp( ch, _T_ECLIPSE("j9") ) == 0);
-	}
-}
-
-int checkProvidedVMType( _TCHAR* vm ) 
-{
-	_TCHAR* ch = NULL;
-	struct _stat stats;
-	
-	if (vm == NULL) return VM_NOTHING;
-	
-	if (_tstat(vm, &stats) == 0 && (stats.st_mode & S_IFDIR) != 0) {
-		/* directory */
-		return VM_DIRECTORY;
-	}
-
-	ch = _tcsrchr( vm, _T_ECLIPSE('.') );
-	if(ch == NULL)
-		return VM_OTHER;
-	
-#ifdef _WIN32
-	if (_tcsicmp(ch, _T_ECLIPSE(".dll")) == 0)
-#else
-	if ((_tcsicmp(ch, _T_ECLIPSE(".so")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".jnilib")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".dylib")) == 0))
-#endif
-	{
-		return VM_LIBRARY;
-	}
-	
-	if (_tcsicmp(ch, _T_ECLIPSE(".ee")) == 0)
-		return VM_EE_PROPS;
-	
-	return VM_OTHER;
-}
-
-/*
- * pathList is a pathSeparator separated list of paths, run each through
- * checkPath and recombine the results.
- * New memory is always allocated for the result
- */
-_TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder) {
-	_TCHAR * c1, *c2;
-	_TCHAR * checked, *result;
-	size_t checkedLength = 0, resultLength = 0;
-	size_t bufferLength = _tcslen(pathList);
-	
-	result = malloc(bufferLength * sizeof(_TCHAR));
-	c1 = pathList;
-    while (c1 != NULL && *c1 != _T_ECLIPSE('\0'))
-    {
-    	c2 = _tcschr(c1, pathSeparator);
-		if (c2 != NULL)
-			*c2 = 0;
-		
-		checked = checkPath(c1, programDir, reverseOrder);
-		checkedLength = _tcslen(checked);
-		if (resultLength + checkedLength + 1> bufferLength) {
-			bufferLength += checkedLength + 1;
-			result = realloc(result, bufferLength * sizeof(_TCHAR));
-		}
-		
-		if(resultLength > 0) {
-			result[resultLength++] = pathSeparator;
-			result[resultLength] = _T_ECLIPSE('\0');
-		}
-		_tcscpy(result + resultLength, checked);
-		resultLength += checkedLength;
-		
-		if(checked != c1)
-			free(checked);
-		if(c2 != NULL)
-			*(c2++) = pathSeparator;
-		c1 = c2;
-	}
-    
-    return result;
-}
-
-_TCHAR * concatStrings(_TCHAR**strs) {
-	return concatPaths(strs, 0);
-}
-
-_TCHAR * concatPaths(_TCHAR** strs, _TCHAR separator) {
-	_TCHAR separatorString[] = { separator, 0 };
-	_TCHAR * result;
-	int i = -1;
-	size_t length = 0;
-	/* first count how large a buffer we need */
-	while (strs[++i] != NULL) {
-		length += _tcslen(strs[i]) + (separator != 0 ? 1 : 0);
-	}
-
-	result = malloc((length + 1) * sizeof(_TCHAR));
-	result[0] = 0;
-	i = -1;
-	while (strs[++i] != NULL) {
-		result = _tcscat(result, strs[i]);
-		if (separator != 0)
-			result = _tcscat(result, separatorString);
-	}
-	return result;
-}
-
-/*
- * buffer contains a pathSeparator separated list of paths, check 
- * that it contains all the paths given.  Each path is expected to be
- * terminated with a pathSeparator character.
- */
-int containsPaths(_TCHAR * str, _TCHAR** paths) {
-	_TCHAR * buffer;
-	_TCHAR * c;
-	int i;
-	
-	/* terminate the string with a pathSeparator */
-	buffer = malloc((_tcslen(str) + 2) * sizeof(_TCHAR));
-	_stprintf(buffer, _T_ECLIPSE("%s%c"), str, pathSeparator);
-	
-	for (i = 0; paths[i] != NULL; i++) {
-		c = _tcsstr(buffer, paths[i]);
-		if ( c == NULL || !(c == buffer || *(c - 1) == pathSeparator))
-		{
-			/* entry not found */
-			free(buffer);
-			return 0;
-		}
-	}
-	free(buffer);
-	return 1;
-}
-
-int isVMLibrary( _TCHAR* vm )
-{
-	_TCHAR *ch = NULL;
-	if (vm == NULL) return 0;
-	ch = _tcsrchr( vm, '.' );
-	if(ch == NULL)
-		return 0;
-#ifdef _WIN32
-	return (_tcsicmp(ch, _T_ECLIPSE(".dll")) == 0);
-#else
-	return (_tcsicmp(ch, _T_ECLIPSE(".so")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".jnilib")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".dylib")) == 0);
-#endif
-}
-
-#ifdef AIX
-
-#include <sys/types.h>
-#include <time.h>
-
-/* Return the JVM version in the format x.x.x 
- */
-char* getVMVersion( char *vmPath )
-{
-    char   cmd[MAX_LINE_LENGTH];
-    char   lineString[MAX_LINE_LENGTH];
-    char*  firstChar;
-    char   fileName[MAX_LINE_LENGTH];
-    time_t curTime;
-    FILE*  fp;
-    int    numChars = 0;
-    char*  version  = NULL;
-
-	/* Define a unique filename for the java output. */
-    (void) time(&curTime);
-    (void) sprintf(fileName, "/tmp/tmp%ld.txt", curTime);
-
-    /* Write java -version output to a temp file */
-    (void) sprintf(cmd,"%s -version 2> %s", vmPath, fileName);
-    (void) system(cmd); 
-
-    fp = fopen(fileName, "r");
-    if (fp != NULL)
-    {
-    	/* Read java -version output from a temp file */
-    	if (fgets(lineString, MAX_LINE_LENGTH, fp) == NULL)
-    		lineString[0] = '\0';
-    	fclose(fp);
-    	unlink(fileName);
-
-    	/* Extract version number */
-    	firstChar = (char *) (strchr(lineString, '"') + 1);
-    	if (firstChar != NULL)
-    		numChars = (int)  (strrchr(lineString, '"') - firstChar);
-    	
-    	/* Allocate a buffer and copy the version string into it. */
-    	if (numChars > 0)
-    	{
-    		version = malloc( numChars + 1 );
-    		strncpy(version, firstChar, numChars);
-			version[numChars] = '\0';
-		}
-	}  
-
-    return version;
-}
-
-/* Compare JVM Versions of the form "x.x.x..."
- *     
- *    Returns -1 if ver1 < ver2
- *    Returns  0 if ver1 = ver2 
- *    Returns  1 if ver1 > ver2
- */     
-int versionCmp(char *ver1, char *ver2)
-{
-    char*  dot1;
-    char*  dot2;
-    int    num1;
-    int    num2;
-
-    dot1 = strchr(ver1, '.');
-    dot2 = strchr(ver2, '.');
-
-    num1 = atoi(ver1);
-    num2 = atoi(ver2);
-
-    if (num1 > num2)
-    	return 1;
-    	
-	if (num1 < num2)
-		return -1;
-	
-	if (dot1 && !dot2)   /* x.y > x */
-        return 1;
-
-    if (!dot1 && dot2)   /* x < x.y */
-        return -1;
-    
-    if (!dot1 && !dot2)  /* x == x */
-        return 0;
-
-    return versionCmp((char*)(dot1 + 1), (char*)(dot2 + 1) );
-}
-#endif /* AIX */
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h
deleted file mode 100644
index 970aba3..0000000
--- a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
-
-#ifndef ECLIPSE_UTIL_H
-#define ECLIPSE_UTIL_H
-
-/* constants for checkProvidedVMType */
-#define VM_NOTHING		0		/* NULL was given as input */
-#define VM_OTHER		1		/* don't know, could be executable or could be nothing */
-#define VM_DIRECTORY	2		/* it is a directory */
-#define VM_LIBRARY		3		/* it is a library (isVmLibrary would return true) */
-#define VM_EE_PROPS		4		/* it is a vm .ee properties file */
-
-/* Eclipse Launcher Utility Methods */
-
-/* Is the given Java VM J9 */
-extern int isJ9VM( _TCHAR* vm );
-
-/* Is the given file a shared library? */
-extern int isVMLibrary( _TCHAR* vm );
-
-/* determine what the provided -vm argument is referring to */ 
-extern int checkProvidedVMType( _TCHAR* vm );
-
-/* take a list of path separated with pathSeparator and run them through checkPath */
-extern _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder);
-
-/* take a NULL terminated array of strings and concatenate them together into one string */
-extern _TCHAR * concatStrings(_TCHAR** strs);
-
-/* take a NULL terminated array of strings and concatenate them together using the give pathSeparator */
-extern _TCHAR* concatPaths(_TCHAR** paths, _TCHAR pathSeparator);
-
-/* check that the buffer contains all the given paths */
-extern int containsPaths(_TCHAR * str, _TCHAR** paths);
-
-#ifdef AIX 
-/* Get the version of the VM */
-extern char* getVMVersion( char* vm );
-
-/* Compare JVM Versions */
-extern int versionCmp( char* ver1, char* ver2 );
-#endif
-
-#endif /* ECLIPSE_UTIL_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/.cvsignore b/bundles/org.eclipse.equinox.executable/library/gtk/.cvsignore
deleted file mode 100644
index f54fd52..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.o
-eclipse
-eclipse_*.so
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/build.sh b/bundles/org.eclipse.equinox.executable/library/gtk/build.sh
deleted file mode 100644
index 30606e2..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/build.sh
+++ /dev/null
@@ -1,190 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-# Martin Oberhuber (Wind River) - [176805] Support building with gcc and debug
-#*******************************************************************************
-#
-# Usage: sh build.sh [<optional switches>] [clean]
-#
-#   where the optional switches are:
-#       -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-#       -os     <DEFAULT_OS>      - default Eclipse "-os" value
-#       -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value
-#       -ws     <DEFAULT_WS>      - default Eclipse "-ws" value
-#       -java <JAVA_HOME>  - java install for jni headers
-#
-#   All other arguments are directly passed to the "make" program.
-#   This script can also be invoked with the "clean" argument.
-#
-#   Examples:
-#   sh build.sh clean
-#   sh build.sh -java /usr/j2se OPTFLAG=-g PICFLAG=-fpic
-
-cd `dirname $0`
-
-# Define default values for environment variables used in the makefiles.
-programOutput="eclipse"
-defaultOS=""
-defaultOSArch=""
-defaultWS="gtk"
-defaultJava=DEFAULT_JAVA_JNI
-javaHome=""
-makefile=""
-if [ "$OS" = "" ];  then
-    OS=`uname -s`
-fi
-if [ "$MODEL" = "" ];  then
-    MODEL=`uname -m`
-fi
-if [ "${CC}" = "" ]; then
-	CC=cc
-	export CC
-fi
-
-case $OS in
-	"Linux")
-		makefile="make_linux.mak"
-		defaultOS="linux"
-		case $MODEL in
-			"x86_64")
-				defaultOSArch="x86_64"
-				defaultJava=DEFAULT_JAVA_EXEC
-				[ -d /usr/java64/1.5 ] && javaHome="/usr/java64/1.5"
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			i?86)
-				defaultOSArch="x86"
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			"ppc")
-				defaultOSArch="ppc"
-				defaultJava=DEFAULT_JAVA_EXEC
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			"ppc64")
-				defaultOSArch="ppc64"
-				defaultJava=DEFAULT_JAVA_EXEC
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			"s390")
-				defaultOSArch="s390"
-				defaultJava=DEFAULT_JAVA_EXEC
-				OUTPUT_DIR="../../contributed/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			"s390x")
-				defaultOSArch="s390x"
-				defaultJava=DEFAULT_JAVA_EXEC
-				OUTPUT_DIR="../../contributed/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			"ia64")
-				defaultOSArch="ia64"
-				defaultJava=DEFAULT_JAVA_EXEC
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-			*)
-				echo "*** Unknown MODEL <${MODEL}>"
-				;;
-		esac
-		;;
-	"SunOS")
-		makefile="make_solaris.mak"
-		defaultOS="solaris"
-		[ -d /usr/jdk/jdk1.5.0_01 ] && javaHome="/usr/jdk/jdk1.5.0_01"
-		OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-		#PATH=/usr/ccs/bin:/opt/SUNWspro/bin:$PATH
-		PATH=/usr/ccs/bin:/export/home/SUNWspro/bin:$PATH
-		export PATH
-		if [ "$PROC" = "" ];  then
-		    PROC=`uname -p`
-		fi
-		case ${PROC} in
-			"i386")
-				defaultOSArch="x86"
-				CC=cc
-				;;
-			"sparc")
-				defaultOSArch="sparc"
-				CC=cc
-				;;
-			*)
-				echo "*** Unknown processor type <${PROC}>"
-				;;
-		esac
-		;;
-	*)
-	echo "Unknown OS -- build aborted"
-	;;
-esac
-export CC
-# Parse the command line arguments and override the default values.
-extraArgs=""
-while [ "$1" != "" ]; do
-    if [ "$1" = "-os" ] && [ "$2" != "" ]; then
-        defaultOS="$2"
-        shift
-    elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then
-        defaultOSArch="$2"
-        shift
-    elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then
-        defaultWS="$2"
-        shift
-    elif [ "$1" = "-output" ] && [ "$2" != "" ]; then
-        programOutput="$2"
-        shift
-    elif [ "$1" = "-java" ] && [ "$2" != "" ]; then
-        javaHome="$2"
-        shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-# Set up environment variables needed by the makefiles.
-PROGRAM_OUTPUT="$programOutput"
-DEFAULT_OS="$defaultOS"
-DEFAULT_OS_ARCH="$defaultOSArch"
-DEFAULT_WS="$defaultWS"
-DEFAULT_JAVA=$defaultJava
-
-if [ -n  $javaHome ]; then
-	JAVA_HOME=$javaHome
-	export JAVA_HOME
-fi
-
-if [ "$defaultOSArch" = "ppc64" ];  then
-	M_ARCH=-m64
-	export M_ARCH
-elif [ "$defaultOSArch" = "s390" ];  then
-	M_ARCH=-m31
-	export M_ARCH
-fi
-
-LIBRARY_DIR="../../../org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.$defaultWS.$defaultOS.$defaultOSArch"
-OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-
-export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS DEFAULT_JAVA LIBRARY_DIR
-
-# If the OS is supported (a makefile exists)
-if [ "$makefile" != "" ]; then
-	if [ "$extraArgs" != "" ]; then
-		make -f $makefile $extraArgs
-	else
-		echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS"
-		make -f $makefile clean
-		case x$CC in
-		  x*gcc*) make -f $makefile all PICFLAG=-fpic ;;
-		  *)      make -f $makefile all ;;
-		esac
-	fi
-else
-	echo "Unknown OS $OS -- build aborted"
-fi
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/build.xml b/bundles/org.eclipse.equinox.executable/library/gtk/build.xml
deleted file mode 100644
index 65a05c0..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/build.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-
-<target name="build_eclipse_ppc">
-	<exec dir="." executable="sh">
-		<env key="MODEL" value="ppc"/>
-		<arg line="${basedir}/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-	
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c
deleted file mode 100644
index 7352af3..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *     Tom Tromey (Red Hat, Inc.)
- *******************************************************************************/
-
-#include "eclipseMozilla.h"
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include "eclipseGtk.h"
-
-#include <signal.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#include <dlfcn.h>
-#ifdef SOLARIS
-#include <sys/filio.h>
-#endif
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <locale.h>
-#include <semaphore.h>
-#include <fcntl.h>
-
-/* Global Variables */
-char*  defaultVM     = "java";
-char*  vmLibrary 	 = "libjvm.so";
-char*  shippedVMDir  = "jre/bin/";
-
-/* Define the special arguments for the various Java VMs. */
-static char*  argVM_JAVA[]        = { NULL };
-
-/* Define local variables . */
-static long			splashHandle = 0;
-static GtkWidget*   shellHandle = 0;
-static GdkPixbuf*	pixbuf = 0;
-static GtkWidget*   image = 0;
-
-static sem_t* mutex;
-static Atom appWindowAtom, launcherWindowAtom;
-static _TCHAR** openFilePath = NULL; /* the files we want to open */
-static int openFileTimeout = 60; /* number of seconds to wait before timeout */
-
-static struct sigaction quitAction;
-static struct sigaction intAction;
-
-/* Local functions */
-static void catch_signal(int sig) {
-	//catch signals, free the lock, reinstall the original
-	//signal handlers and reraise the signal.
-	sem_post(mutex);
-	sem_close(mutex);
-	sigaction(SIGINT, &intAction, NULL);
-	sigaction(SIGQUIT, &intAction, NULL);
-	raise(sig);
-}
-
-typedef int (*LockFunc)();
-int executeWithLock(char *name, LockFunc func) {
-	int result = -1;
-	int lock = -1;
-	struct sigaction action;
-
-	mutex = sem_open(name, O_CREAT | O_EXCL, S_IRWXU | S_IRWXG | S_IRWXO, 1);
-	if (mutex == SEM_FAILED) {
-		//create failed. Probably lock is already created so try opening the existing lock.
-		mutex = sem_open(name, 0);
-	}
-	if (mutex == SEM_FAILED)
-		return -1; //this is an error.
-
-	// install signal handler to free the lock if something bad happens.
-	// sem_t is not freed automatically when a process ends.
-	action.sa_handler = catch_signal;
-	sigaction(SIGINT, &action, &intAction);
-	sigaction(SIGQUIT, &action, &quitAction);
-
-	while ((lock = sem_trywait(mutex)) != 0) {
-		if (errno == EAGAIN) {
-			//couldn't acquire lock, sleep a bit and try again
-			sleep(1);
-			if (--openFileTimeout > 0)
-				continue;
-		}
-		break;
-	}
-
-	if (lock == 0)
-		result = func();
-
-	sem_post(mutex);
-	sem_close(mutex);
-
-	//reinstall the original signal handlers
-	sigaction(SIGINT, &intAction, NULL);
-	sigaction(SIGQUIT, &quitAction, NULL);
-	return result;
-}
-
-static void log_handler(const gchar* domain, GLogLevelFlags flags,	const gchar* msg, gpointer data) {
-	/* nothing */
-}
-
-/* Create a "SWT_Window_" + APP_NAME string with optional suffix.
- * Caller should free the memory when finished */
-static char * createSWTWindowString(char * suffix, int semaphore) {
-#ifdef SOLARIS
-	/* solaris requires semaphore names to start with '/' */
-	char * prefix = semaphore != 0 ? _T_ECLIPSE("/SWT_Window_") : _T_ECLIPSE("SWT_Window_");
-#else
-	char * prefix = _T_ECLIPSE("SWT_Window_");
-#endif
-	
-	char * result = malloc((_tcslen(prefix) + _tcslen(getOfficialName()) + (suffix != NULL ? _tcslen(suffix) : 0) + 1) * sizeof(char));
-	if (suffix != NULL)
-		_stprintf(result, _T_ECLIPSE("%s%s%s"), prefix, getOfficialName(), suffix);
-	else
-		_stprintf(result, _T_ECLIPSE("%s%s"), prefix, getOfficialName());
-	return result;
-}
-
-static int setAppWindowPropertyFn() {
-	Window appWindow;
-	Atom propAtom;
-	_TCHAR *propVal;
-
-	//Look for the SWT window. If it's there, set a property on it.
-	appWindow = gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, appWindowAtom);
-	if (appWindow) {
-		propAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, "org.eclipse.swt.filePath.message", FALSE);
-		//append a colon delimiter in case more than one file gets appended to the app windows property.
-		propVal = concatPaths(openFilePath, _T_ECLIPSE(':'));
-		gtk.XChangeProperty(gtk_GDK_DISPLAY, appWindow, propAtom, propAtom, 8, PropModeAppend, (unsigned char *)propVal, _tcslen(propVal));
-		free(propVal);
-		return 1;
-	}
-	return 0;
-}
-
-/* set the Application window property by executing _setWindowPropertyFn within a semaphore */
-int setAppWindowProperty() {
-	int result;
-	char * mutexName = createSWTWindowString(NULL, 1);
-	result = executeWithLock(mutexName, setAppWindowPropertyFn);
-	gtk.XSync(gtk_GDK_DISPLAY, False);
-	free(mutexName);
-	return result;
-}
-
-/* timer callback function to call setAppWindowProperty */
-static gboolean setAppWindowTimerProc(gpointer data) {
-	//try to set the app window property. If unsuccessful return true to reschedule the timer.
-	openFileTimeout--;
-	return !setAppWindowProperty() && openFileTimeout > 0;
-}
-
-int createLauncherWindow() {
-	Window window, launcherWindow;
-	//check if a launcher window exists. If none exists, we know we are the first and we should be launching the app.
-	window = gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom);
-	if (window == 0) {
-		//create a launcher window that other processes can find.
-		launcherWindow = gtk.XCreateWindow(gtk_GDK_DISPLAY, gtk.XRootWindow(gtk_GDK_DISPLAY, gtk.XDefaultScreen(gtk_GDK_DISPLAY)), -10, -10, 1,
-				1, 0, 0, InputOnly, CopyFromParent, (unsigned long) 0, (XSetWindowAttributes *) NULL);
-		//for some reason Set and Get are both necessary. Set alone does nothing.
-		gtk.XSetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom, launcherWindow, CurrentTime);
-		gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom);
-		//add a timeout to set the property on the apps window once the app is launched.
-		gtk.g_timeout_add(1000, setAppWindowTimerProc, 0);
-		return 0;
-	}
-	return 1;
-}
-
-int reuseWorkbench(_TCHAR** filePath, int timeout) {
-	char *appName, *launcherName;
-	int result = 0;
-
-	if (initWindowSystem(&initialArgc, initialArgv, 1) != 0)
-		return -1;
-
-	openFileTimeout = timeout;
-	openFilePath = filePath;
-	
-	//App name is defined in SWT as well. Values must be consistent.
-	appName = createSWTWindowString(NULL, 0);
-	appWindowAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, appName, FALSE);
-	free(appName);
-
-	//check if app is already running. Just set property if it is.
-	if (setAppWindowProperty() > 0)
-		return 1;
-
-	/* app is not running, create a launcher window to act as a mutex so we don't need to keep the semaphore locked */
-	launcherName = createSWTWindowString(_T_ECLIPSE("_Launcher"), 1);
-	launcherWindowAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, launcherName, FALSE);
-	result = executeWithLock(launcherName, createLauncherWindow);
-	free(launcherName);
-
-	if (result == 1) {
-		//The app is already being launched in another process.  Set the property on that app window and exit
-		while (openFileTimeout > 0) {
-			if (setAppWindowProperty() > 0)
-				return 1; //success
-			else {
-				openFileTimeout--;
-				sleep(1);
-			}
-		}
-		//timed out trying to set the app property
-		result = 0;
-	}
-	return result;
-}
-
-/* Create and Display the Splash Window */
-int showSplash( const char* featureImage )
-{
-	GtkAdjustment* vadj, *hadj;
-	int width, height;
-	guint handlerId;
-	GtkWidget* vboxHandle, * scrolledHandle, * handle;
-
-	if (splashHandle != 0)
-		return 0; /* already showing splash */
-	if (featureImage == NULL)
-		return -1;
-	
-	if (initialArgv == NULL)
-		initialArgc = 0;
-	
-	if( initWindowSystem(&initialArgc, initialArgv, 1) != 0)
-		return -1;
-	
-	shellHandle = gtk.gtk_window_new(GTK_WINDOW_TOPLEVEL);
-	gtk.gtk_window_set_decorated((GtkWindow*)(shellHandle), FALSE);
-	gtk.gtk_signal_connect((GtkObject*)shellHandle, "destroy", (GtkSignalFunc)(gtk.gtk_widget_destroyed), &shellHandle);
-	vboxHandle = gtk.gtk_vbox_new(FALSE, 0);
-	if(vboxHandle == 0)
-		return -1;
-		
-	vadj = (GtkAdjustment*)gtk.gtk_adjustment_new(0, 0, 100, 1, 10, 10);
-	hadj = (GtkAdjustment*)gtk.gtk_adjustment_new(0, 0, 100, 1, 10, 10);
-	if (vadj == 0 || hadj == 0) 
-		return -1;
-		
-	scrolledHandle = gtk.gtk_scrolled_window_new(hadj, vadj);
-	
-	gtk.gtk_container_add((GtkContainer*)(vboxHandle), scrolledHandle);
-	gtk.gtk_box_set_child_packing((GtkBox*)(vboxHandle), scrolledHandle, TRUE, TRUE, 0, GTK_PACK_END);
-	gtk.gtk_scrolled_window_set_policy((GtkScrolledWindow*)(scrolledHandle), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-
-	handle = gtk.gtk_fixed_new();
-	gtk.gtk_fixed_set_has_window((GtkFixed*)(handle), TRUE);
-	((GtkObject*)handle)->flags |= GTK_CAN_FOCUS;	/*GTK_WIDGET_SET_FLAGS(handle, GTK_CAN_FOCUS);*/
-	
-	/* avoid gtk_scrolled_window_add warning */
-	handlerId = gtk.g_log_set_handler("Gtk", G_LOG_LEVEL_WARNING, &log_handler, NULL);
-	gtk.gtk_container_add((GtkContainer*)(scrolledHandle), handle);
-	gtk.g_log_remove_handler("Gtk", handlerId);
-	
-	gtk.gtk_container_add((GtkContainer*)(shellHandle), vboxHandle);
-	
-	pixbuf = gtk.gdk_pixbuf_new_from_file(featureImage, NULL);
-	image = gtk.gtk_image_new_from_pixbuf(pixbuf);
-	gtk.gtk_signal_connect((GtkObject*)(image), "destroy", (GtkSignalFunc)(gtk.gtk_widget_destroyed), &image);
-	gtk.gtk_container_add((GtkContainer*)(handle), image);
-	
-	width  = gtk.gdk_pixbuf_get_width(pixbuf);
-	height = gtk.gdk_pixbuf_get_height(pixbuf);
-	gtk.gtk_window_set_position((GtkWindow*)(shellHandle), GTK_WIN_POS_CENTER);
-	if (getOfficialName() != NULL)
-		gtk.gtk_window_set_title((GtkWindow*)(shellHandle), getOfficialName());
-	gtk.gtk_window_resize((GtkWindow*)(shellHandle), width, height);
-	gtk.gtk_widget_show_all((GtkWidget*)(shellHandle));
-	splashHandle = (long)shellHandle;
-	dispatchMessages();
-	return 0;
-}
-
-void dispatchMessages() {
-	if (gtk.g_main_context_iteration != 0)
-		while(gtk.g_main_context_iteration(0,0) != 0) {}
-}
-
-jlong getSplashHandle() {
-	return splashHandle;
-}
-
-void takeDownSplash() {
-	if(shellHandle != 0) {
-		gtk.gtk_widget_destroy(shellHandle);
-		if (image != NULL) {
-			gtk.gtk_widget_destroy(image);
-			gtk.g_object_unref(pixbuf);
-		}
-		dispatchMessages();
-		splashHandle = 0;
-		shellHandle = NULL;
-	}
-}
-
-/* Get the window system specific VM arguments */
-char** getArgVM( char* vm ) 
-{
-    char** result;
-
-/*    if (isJ9VM( vm )) 
-        return argVM_J9;*/
-    
-    /* Use the default arguments for a standard Java VM */
-    result = argVM_JAVA;
-    return result;
-}
-
-JavaResults* launchJavaVM( char* args[] )
-{
-	JavaResults* jvmResults = NULL;
-  	pid_t   jvmProcess;
-  	int     exitCode;
-  	
-#ifdef MOZILLA_FIX
-	fixEnvForMozilla();
-#endif /* MOZILLA_FIX */
-	
-	jvmProcess = fork();
-  	if (jvmProcess == 0) 
-    {
-    	/* Child process ... start the JVM */
-      	execv(args[0], args);
-
-      	/* The JVM would not start ... return error code to parent process. */
-      	/* TODO, how to distinguish this as a launch problem to the other process? */
-      	_exit(errno);
-    }
-
-  	jvmResults = malloc(sizeof(JavaResults));
-  	memset(jvmResults, 0, sizeof(JavaResults));
-  	
-	/* If the JVM is still running, wait for it to terminate. */
-	if (jvmProcess != 0)
-	{
-		waitpid(jvmProcess, &exitCode, 0);
-      	if (WIFEXITED(exitCode))
-      		/* TODO, this should really be a runResult if we could distinguish the launch problem above */
-			jvmResults->launchResult = WEXITSTATUS(exitCode);
-    }
-
-	return jvmResults;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
deleted file mode 100644
index cdff7f4..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#ifndef ECLIPSE_GTK_H
-#define ECLIPSE_GTK_H
-
-#include <gtk/gtk.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gdk/gdkx.h>
-
-struct GTK_PTRS { 
-	short not_initialized;
-	GtkObject*	(*gtk_adjustment_new)		(gdouble, gdouble, gdouble, gdouble, gdouble, gdouble);
-	void		(*gtk_box_set_child_packing)(GtkBox*, GtkWidget*, gboolean, gboolean, guint, GtkPackType);
-	void		(*gtk_container_add)		(GtkContainer*, GtkWidget*);
-	gint		(*gtk_dialog_run)			(GtkDialog *);
-	GtkWidget*	(*gtk_fixed_new)			();
-	void		(*gtk_fixed_set_has_window)	(GtkFixed *, gboolean);
-	GtkWidget*	(*gtk_image_new_from_pixbuf)(GdkPixbuf*);
-	gboolean	(*gtk_init_check)			(int*, char***);
-	GtkWidget*	(*gtk_message_dialog_new)	(GtkWindow*, GtkDialogFlags, GtkMessageType, GtkButtonsType, const gchar*, ...);
-	void		(*gtk_scrolled_window_set_policy)(GtkScrolledWindow*, GtkPolicyType, GtkPolicyType);
-	GtkWidget*	(*gtk_scrolled_window_new)	(GtkAdjustment*, GtkAdjustment*);
-	gchar*		(*gtk_set_locale)			();
-	gulong 		(*gtk_signal_connect_full)	(GtkObject*, const gchar*, GtkSignalFunc, GtkCallbackMarshal, gpointer, GtkDestroyNotify, gint, gint);
-	GtkWidget*	(*gtk_vbox_new)				(gboolean, gint);
-	void		(*gtk_widget_destroy)		(GtkWidget*);
-	void		(*gtk_widget_destroyed)		(GtkWidget*, GtkWidget**);
-	void		(*gtk_widget_show_all)		(GtkWidget*);
-	GtkWidget*	(*gtk_window_new)			(GtkWindowType);
-	void		(*gtk_window_resize)		(GtkWindow*, gint, gint);
-	void		(*gtk_window_set_title)		(GtkWindow*, const gchar*);
-	void		(*gtk_window_set_decorated)	(GtkWindow*, gboolean);
-	void		(*gtk_window_set_position)	(GtkWindow*, GtkWindowPosition);
-	 guint		(*g_log_set_handler)		(const gchar*, GLogLevelFlags, GLogFunc, gpointer);
-	void		(*g_log_remove_handler)		(const gchar*, guint);
-	gboolean	(*g_main_context_iteration)	(GMainContext*, gboolean);
-	void		(*g_object_unref)			(gpointer);
-	GObject*	(*g_object_new)				(GType, const gchar*, ...);
-	guint       (*g_timeout_add)			(guint, GSourceFunc, gpointer);
-
-#ifdef SOLARIS
-	GString* 	(*g_string_insert_c) 		(GString *, gssize, gchar);
-#endif	
-		
-	GdkPixbuf*	(*gdk_pixbuf_new_from_file)	(const char*, GError **);
-	int			(*gdk_pixbuf_get_width)		(const GdkPixbuf*);
-	int			(*gdk_pixbuf_get_height)	(const GdkPixbuf*);
-	void		(*gdk_set_program_class)	(const char*);
-	
-	Window 		(*XGetSelectionOwner)		(Display*, Atom);
-	void		(*XSetSelectionOwner)		(Display*, Atom, Window, Time);
-	void 		(*XChangeProperty)			(Display*, Window, Atom, Atom, int, int, unsigned char *, int);
-	Window 		(*XCreateWindow)			(Display*, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual*, unsigned long, XSetWindowAttributes*);
-	void		(*XSync)					(Display*, Bool);
-	int			(*XDefaultScreen)			(Display*);
-	Window		(*XRootWindow)				(Display*, int);
-	Atom 			(*XInternAtom)					(Display*, _Xconst char*, Bool	);
-	Display          **gdk_display;
-};
-
-#define gtk_GDK_DISPLAY *(gtk.gdk_display)
-extern struct GTK_PTRS gtk;
-
-#define FN_TABLE_ENTRY(fn) { (void**)& gtk.fn, #fn } 
-typedef struct {
-	void ** fnPtr;
-	char * fnName;
-} FN_TABLE;
-
-/* load the gtk libraries and initialize the function pointers */
-extern int loadGtk();
-
-#endif
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
deleted file mode 100644
index 84eca11..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkCommon.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-#include "eclipseGtk.h"
-
-#include <locale.h>
-#include <dlfcn.h>
-#include <stdio.h>
-
-#define ECLIPSE_ICON  401
-
-char   dirSeparator  = '/';
-char   pathSeparator = ':';
-
-/* Define local variables for the main window. */
-static int          saveArgc   = 0;		/* arguments after they were parsed, for window system */
-static char**       saveArgv   = 0;
-
-gboolean     gtkInitialized = FALSE;
-
-#ifdef SOLARIS
-/* a call to this function appears inline in glib/gstring.h on Solaris,
-   so provide a definition here and hook it up
-   */
-GString* g_string_insert_c (GString *string, gssize pos, gchar c) {
-	/* see bug 264615, we can get here without having initialized the gtk pointers */
-	if (gtk.not_initialized)
-		loadGtk();
-	return gtk.g_string_insert_c(string, pos, c);
-}
-#endif
-
-/* Display a Message */
-void displayMessage(char* title, char* message)
-{
-	GtkWidget* dialog;
-	
-    /* If GTK has not been initialized yet, do it now. */
-    if (initWindowSystem( &saveArgc, saveArgv, 1 ) != 0)
-    	return;
-
-  	dialog = gtk.gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
-				   					GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
-				   					"%s", message);
-  	gtk.gtk_window_set_title((GtkWindow*)dialog, title);
-  	gtk.gtk_dialog_run((GtkDialog*)dialog);
-  	gtk.gtk_widget_destroy(dialog);
-}
-
-/* Initialize the Window System */
-int initWindowSystem(int* pArgc, char* argv[], int showSplash)
-{
-	int defaultArgc = 1;
-	char * defaultArgv [] = { "", 0 };
-	
-    if(gtkInitialized)
-    	return 0;
-    
-    /* load the GTK libraries and initialize function pointers */
-    if (loadGtk() != 0)
-    	return -1;
-    
-    if (getOfficialName() != NULL) 
-    	defaultArgv[0] = getOfficialName();
-    
-	if (argv == NULL) {
-		/* gtk_init_check on Solaris 9 doesn't like NULL or empty argv */
-		pArgc = &defaultArgc;
-		argv = defaultArgv;
-	}
-	
-    /* Save the arguments in case displayMessage() is called in the main launcher. */ 
-    if (saveArgv == 0)
-    {
-    	saveArgc = *pArgc;
-    	saveArgv =  argv;
-    }  
-
-	/* Initialize GTK. */
-    gtk.gtk_set_locale();
-    gtk.gtk_init_check(pArgc, &argv);
-	/*_gdk_set_program_class(getOfficialName());*/
-	gtkInitialized = TRUE;
-	return 0;
-}
-
-/* Load the specified shared library
- */
-void * loadLibrary( char * library ){
-	void * result= dlopen(library, RTLD_LAZY);
-	if(result == 0) 
-		printf("%s\n",dlerror());
-	return result;
-}
-
-/* Unload the shared library
- */
-void unloadLibrary( void * handle ){
-	dlclose(handle);
-}
- 
-/* Find the given symbol in the shared library
- */
-void * findSymbol( void * handle, char * symbol ){
-	return dlsym(handle, symbol);
-}
-
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
deleted file mode 100644
index f561738..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "eclipseGtk.h"
-#include "eclipseCommon.h"
-#include <dlfcn.h>
-#include <string.h>
-
-struct GTK_PTRS gtk = { 1 }; /* initialize the first field "not_initialized" so we can tell when we've loaded the pointers */
-
-/* tables to help initialize the function pointers */
-/* functions from libgtk-x11-2.0 */
-static FN_TABLE gtkFunctions[] = { 	FN_TABLE_ENTRY(gtk_adjustment_new),
-									FN_TABLE_ENTRY(gtk_box_set_child_packing),
-									FN_TABLE_ENTRY(gtk_container_add),
-									FN_TABLE_ENTRY(gtk_dialog_run),
-									FN_TABLE_ENTRY(gtk_fixed_new),
-									FN_TABLE_ENTRY(gtk_fixed_set_has_window),
-									FN_TABLE_ENTRY(gtk_image_new_from_pixbuf),
-									FN_TABLE_ENTRY(gtk_init_check),
-									FN_TABLE_ENTRY(gtk_message_dialog_new),
-									FN_TABLE_ENTRY(gtk_scrolled_window_set_policy),
-									FN_TABLE_ENTRY(gtk_scrolled_window_new),
-									FN_TABLE_ENTRY(gtk_set_locale),
-									FN_TABLE_ENTRY(gtk_signal_connect_full),
-									FN_TABLE_ENTRY(gtk_vbox_new),
-									FN_TABLE_ENTRY(gtk_widget_destroy),
-									FN_TABLE_ENTRY(gtk_widget_destroyed),
-									FN_TABLE_ENTRY(gtk_widget_show_all),
-									FN_TABLE_ENTRY(gtk_window_new),
-									FN_TABLE_ENTRY(gtk_window_resize),
-									FN_TABLE_ENTRY(gtk_window_set_title),
-									FN_TABLE_ENTRY(gtk_window_set_decorated),
-									FN_TABLE_ENTRY(gtk_window_set_position),
-									{ NULL, NULL }
-								 };
-/* functions from libgdk-x11-2.0 */
-static FN_TABLE gdkFunctions[] = {	FN_TABLE_ENTRY(gdk_set_program_class), 
-									FN_TABLE_ENTRY(gdk_display), /* not a function */
-									{ NULL, NULL } 
-						  		 };
-/* functions from libgdk_pixbuf-2.0 */
-static FN_TABLE pixFunctions[] = { 	FN_TABLE_ENTRY(gdk_pixbuf_new_from_file),
-									FN_TABLE_ENTRY(gdk_pixbuf_get_width),
-									FN_TABLE_ENTRY(gdk_pixbuf_get_height),
-									{ NULL, NULL }
-						  		 };
-/* functions from libgobject-2.0 */
-static FN_TABLE gobjFunctions[] = {	FN_TABLE_ENTRY(g_log_set_handler),
-									FN_TABLE_ENTRY(g_log_remove_handler),
-									FN_TABLE_ENTRY(g_main_context_iteration),
-									FN_TABLE_ENTRY(g_object_unref),
-									FN_TABLE_ENTRY(g_timeout_add),
-#ifdef SOLARIS
-									FN_TABLE_ENTRY(g_string_insert_c),
-#endif
-									{ NULL, NULL }
-						   		  };
-
-/* functions from libX11 */
-static FN_TABLE x11Functions[] = {	FN_TABLE_ENTRY(XGetSelectionOwner),
-									FN_TABLE_ENTRY(XSetSelectionOwner),
-									FN_TABLE_ENTRY(XCreateWindow),
-									FN_TABLE_ENTRY(XChangeProperty),
-									FN_TABLE_ENTRY(XSync),
-									FN_TABLE_ENTRY(XRootWindow),
-									FN_TABLE_ENTRY(XDefaultScreen),
-									FN_TABLE_ENTRY(XInternAtom),
-									{ NULL, NULL } 
-								};
-
-
-static int loadGtkSymbols( void * library, FN_TABLE * table) {
-	int i = 0;
-	void * fn;
-	for (i = 0; table[i].fnName != NULL; i++) {
-		fn = findSymbol(library, table[i].fnName);
-		if (fn != 0)
-			*(table[i].fnPtr) = fn;
-		else
-			return -1;
-	}
-	return 0;
-}
-
-int loadGtk() {
-	void * objLib = dlopen(GOBJ_LIB, RTLD_LAZY);
-	void * gdkLib = dlopen(GDK_LIB, RTLD_LAZY);
-	void * pixLib = dlopen(PIXBUF_LIB, RTLD_LAZY);
-	void * gtkLib = dlopen(GTK_LIB, RTLD_LAZY);
-	void * x11Lib = dlopen(X11_LIB, RTLD_LAZY);
-	
-	/* initialize ptr struct to 0's */
-	memset(&gtk, 0, sizeof(struct GTK_PTRS));
-	
-	if ( gtkLib == NULL || loadGtkSymbols(gtkLib, gtkFunctions)  != 0) return -1;
-	if ( gdkLib == NULL || loadGtkSymbols(gdkLib, gdkFunctions)  != 0) return -1;
-	if ( pixLib == NULL || loadGtkSymbols(pixLib, pixFunctions)  != 0) return -1;
-	if ( objLib == NULL || loadGtkSymbols(objLib, gobjFunctions) != 0) return -1;
-	if ( x11Lib == NULL || loadGtkSymbols(x11Lib, x11Functions) != 0) return -1;
-	
-	return 0;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/make_linux.mak b/bundles/org.eclipse.equinox.executable/library/gtk/make_linux.mak
deleted file mode 100644
index a040cd7..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/make_linux.mak
+++ /dev/null
@@ -1,109 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Tom Tromey (Red Hat, Inc.)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the GTK eclipse launcher program.
-#
-# This makefile expects the utility "pkg-config" to be in the PATH.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME      - JAVA_HOME for jni headers      
-#default value for PROGRAM_OUTPUT
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-endif
-
-PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so
-
-ifeq ($(DEFAULT_JAVA),)
-  DEFAULT_JAVA=DEFAULT_JAVA_JNI
-endif
-
-# Define the object modules to be compiled and flags.
-CC?=gcc
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o
-DLL_OBJS	= eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11
-LIBS = -lpthread -ldl
-GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\""
-LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic 
-CFLAGS = ${M_ARCH} -g -s -Wall\
-	-fpic \
-	-DLINUX \
-	-DMOZILLA_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-D$(DEFAULT_JAVA) \
-	$(GTK_LIBS) \
-	-I. \
-	-I.. \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux \
-	`pkg-config --cflags gtk+-2.0`
-
-all: $(EXEC) $(DLL)
-
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o
-
-eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o
-	
-eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c
-
-eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c
-	$(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o
-	
-eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c
-	$(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o
-	
-eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o
-
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o
-
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/make_solaris.mak b/bundles/org.eclipse.equinox.executable/library/gtk/make_solaris.mak
deleted file mode 100644
index 7b9b3f4..0000000
--- a/bundles/org.eclipse.equinox.executable/library/gtk/make_solaris.mak
+++ /dev/null
@@ -1,108 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Tom Tromey (Red Hat, Inc.)
-# Martin Oberhuber (Wind River) - [176805] Support building with gcc and debug
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the GTK eclipse launcher program.
-#
-# This makefile expects the utility "pkg-config" to be in the PATH.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME        - JAVA_HOME for JNI headers
-
-#ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-#endif
-
-PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o
-DLL_OBJS	= eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o
-PICFLAG = -K PIC
-# Optimize and remove all debugging information by default
-OPTFLAG = -O -s
-# OPTFLAG = -g
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lglib-2.0 -lthread -ldl -lc
-LIBS = -lthread -ldl -lc -lrt
-GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.4\""
-LFLAGS = -G
-CFLAGS = $(OPTFLAG) \
-	-DSOLARIS \
-	$(PICFLAG) \
-	-DMOZILLA_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	$(GTK_LIBS) \
-	-I. \
-	-I.. \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris \
-	`pkg-config --cflags gtk+-2.0`
-
-all: $(EXEC) $(DLL)
-
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o
-
-eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o
-	
-eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c
-
-eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c
-	$(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o
-
-eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c
-	$(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o
-
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o
-
-eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o
-	
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/make_version.mak b/bundles/org.eclipse.equinox.executable/library/make_version.mak
deleted file mode 100644
index ac88ef7..0000000
--- a/bundles/org.eclipse.equinox.executable/library/make_version.mak
+++ /dev/null
@@ -1,14 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2006, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-maj_ver=1
-min_ver=400
-LIB_VERSION = $(maj_ver)$(min_ver)
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/.cvsignore b/bundles/org.eclipse.equinox.executable/library/motif/.cvsignore
deleted file mode 100644
index e64b3db..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.o
-eclipse
-eclipse_*.so
-libeclipse-motif.so
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.c b/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.c
deleted file mode 100644
index 89ecdf4..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-#include "NgCommon.h"
-
-/* Non-zero = big-endian architecture */
-static BYTE4 hostIsMSB = 0;
-
-/* Store last error msg */
-#define MAX_MSG_SIZE 100
-char errorMsg[MAX_MSG_SIZE];
-
-/* Library initialization */
-void NgInit()
-{
-	BYTE4 result = (BYTE4) 'A';
-	
-	/* determine the byte ordering of the host machine */
-	hostIsMSB = (BYTE4) (*((char *) &result) != 'A');
-	
-	errorMsg[0] = 0;
-}
-
-/**
- * Memory allocation routine
- */
-void *NgMalloc (UBYTE4 size) 
-{
-	return malloc (size);
-}
-
-/**
- * Memory allocation routine
- */
-void NgFree (void *memblock) 
-{
-	if (memblock != NULL)
-		free (memblock);
-}
-
-void NgMemSet (void *dest, UBYTE1 c, BYTE4 count)
-{
-	memset (dest, c, count);
-}
-
-void NgMemCpy (void *dest, void *src, BYTE4 count)
-{
-	memcpy (dest, src, count);
-}
-
-/**
- * Error Reporting
- */
-
-ng_err_t NgError (ng_err_t error_type, char* msg) {
-	if (msg != NULL)
-	{
-		/* Store a copy of the last error msg - truncate if necessary */
-		size_t size = strlen (msg);
-		if (size >= MAX_MSG_SIZE) size = MAX_MSG_SIZE - 1;
-		NgMemCpy (errorMsg, msg, size);
-		errorMsg[size] = 0;
-	}	
-	return error_type;
-}
-
-const char *NgGetLastErrorMsg()
-{
-	return errorMsg;
-}
-
-/**
- * Stream manipulation routines
- */
-ng_err_t NgStreamInit (ng_stream_t *stream, char *fullname)
-{
-	stream->file = fopen (fullname, "rb");
-	stream->size = 0;
-	stream->pos = 0;
-	if (stream->file == NULL) return NgError (ERR_NG, "Can't open file");
-	return ERR_OK;
-}
-
-void NgStreamClose (ng_stream_t *stream)
-{
-	if (stream->file != NULL)
-	{
-		fclose (stream->file);
-		stream->file = NULL;
-	}
-	stream->size = -1;
-}
-
-char NgStreamEof (ng_stream_t *stream) 
-{
-	return stream->size == -1;
-}
-
-BYTE4 NgStreamGetPosition (ng_stream_t *stream)
-{
-	return stream->pos;
-}
-
-BYTE4 NgStreamSkip (ng_stream_t *stream, BYTE4 nbr)
-{
-	if (stream->size == -1) return 0;
-	if (fseek (stream->file, nbr, SEEK_CUR))
-	{
-		NgStreamClose (stream);
-		return 0;
-	}
-	stream->pos += nbr;
-	return nbr;
-}
-
-BYTE4 NgStreamRead (ng_stream_t *stream, char *buffer, BYTE4 nbr)
-{
-	size_t cnt;
-	if (stream->size == -1) return 0;
-	cnt = fread (buffer, sizeof (char), nbr, stream->file);
-	if (cnt != nbr)
-	{
-		NgStreamClose (stream);
-		return 0;
-	}
-	stream->pos += nbr;
-	return nbr;
-}
-
-BYTE1 NgIsMSB()
-{
-	return hostIsMSB != 0;
-}
-
-UBYTE2 SystemToLittleEndianUBYTE2 (UBYTE2 value)
-{
-	return hostIsMSB ? ((value&0xFF) << 8)|((value&0xFF00)>>8) : value;
-}
-
-UBYTE4 SystemToLittleEndianUBYTE4 (UBYTE4 value)
-{
-	return hostIsMSB ? ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8) | ((value&0xFF00L)<<8) | ((value&0xFFL)<<24) : value;
-}
-
-UBYTE2 SystemToBigEndianUBYTE2 (UBYTE2 value)
-{
-	return hostIsMSB ? value : ((value&0xFF) << 8)|((value&0xFF00)>>8);
-}
-
-UBYTE2 LittleEndianToSystemUBYTE2 (UBYTE2 value)
-{
-	return hostIsMSB ? ((value&0xFF) << 8)|((value&0xFF00)>>8) : value;
-}
-
-UBYTE4 LittleEndianToSystemUBYTE4 (UBYTE4 value)
-{
-	return hostIsMSB ? ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8) | ((value&0xFF00L)<<8) | ((value&0xFFL)<<24) : value;
-}
-
-UBYTE2 BigEndianToSystemUBYTE2 (UBYTE2 value)
-{
-	return hostIsMSB ? value : ((value&0xFF) << 8)|((value&0xFF00)>>8);
-}
-
-UBYTE4 BigEndianToSystemUBYTE4 (UBYTE4 value)
-{
-	return hostIsMSB ? value : ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8)|((value&0xFF00L)<<8) | ((value&0xFFL)<<24);
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.h b/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.h
deleted file mode 100644
index a4c2589..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgCommon.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef __NG_COMMON_H
-#define __NG_COMMON_H
-
-#include <memory.h>
-#include <stdio.h>
-
-typedef char BYTE1;
-typedef unsigned char UBYTE1;
-typedef short BYTE2;
-typedef unsigned short UBYTE2;
-typedef long BYTE4;
-typedef unsigned long UBYTE4;
-
-/* error reporting */
-#define ERR_OK 1
-#define ERR_SUBSCRIPT_OUT_OF_RANGE -1
-#define ERR_INVALID_BIT_COUNT -2
-#define ERR_NG -4
-
-typedef BYTE4 ng_err_t;
-ng_err_t NgError (ng_err_t error_type, char* msg);
-const char *NgGetLastErrorMsg();
-
-/**
- * NgInit
- * Must be called prior to using the image decoders 
- */
-void NgInit();
-
-/* memory management */
-void *NgMalloc (UBYTE4 size);
-void NgFree (void *memblock);
-void NgMemSet (void *dest, UBYTE1 c, BYTE4 count);
-void NgMemCpy (void *dest, void *src, BYTE4 count);
-
-/* stream api */
-typedef struct {
-	FILE *file;
-	BYTE4 size;
-	BYTE4 pos;
-} ng_stream_t;
-
-/**
- * Init a stream given the path and name of a file
- * Note.  NgStreamClose should be called to release
- * the related OS resource.
- */
-ng_err_t NgStreamInit (ng_stream_t *stream, char *fullname);
-
-/**
- * Close any OS resource managed the given stream.
- * In particular, close the file if the stream is using one.
- */
-void NgStreamClose (ng_stream_t *stream);
-
-char NgStreamEof (ng_stream_t *stream);
-
-BYTE4 NgStreamGetPosition (ng_stream_t *stream);
-/**
- * Skips nbr bytes.
- * Return nbr if all bytes were skipped.
- * If nbr bytes can't be skipped, the stream is closed
- * (NgStreamEof returns 1). 0 is returned.
- */
-BYTE4 NgStreamSkip (ng_stream_t *stream, BYTE4 nbr);
-/**
- * Copies nbr bytes to buffer from stream.
- * Returns nbr if all bytes were copied.
- * If nbr bytes can't be read, no bytes are copied. The stream
- * is closed (NgStreamEof returns 1). 0 is returned.
- */
-BYTE4 NgStreamRead (ng_stream_t *stream, char *buffer, BYTE4 nbr);
-
-/* little/big endian conversion */
-BYTE1 NgIsMSB();
-UBYTE2 SystemToLittleEndianUBYTE2 (UBYTE2);
-UBYTE4 SystemToLittleEndianUBYTE4 (UBYTE4);
-UBYTE2 SystemToBigEndianUBYTE2 (UBYTE2);
-UBYTE2 LittleEndianToSystemUBYTE2 (UBYTE2);
-UBYTE4 LittleEndianToSystemUBYTE4 (UBYTE4);
-UBYTE2 BigEndianToSystemUBYTE2 (UBYTE2);
-UBYTE4 BigEndianToSystemUBYTE4 (UBYTE4);
-
-#endif /* NG_COMMON_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgImage.c b/bundles/org.eclipse.equinox.executable/library/motif/NgImage.c
deleted file mode 100644
index bd2abf2..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgImage.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "NgCommon.h"
-#include "NgImageData.h"
-#include "NgImage.h"
-#include "NgWinBMPFileFormat.h"
-#include <dlfcn.h>
-
-struct NG_PTRS ng;
-
-#define FN_TABLE_ENTRY(fn) { (void**)&ng.fn, #fn } 
-typedef struct {
-	void ** fnPtr;
-	char * fnName;
-} FN_TABLE;
-static FN_TABLE x11Functions[] = {	FN_TABLE_ENTRY(XCreateGC),
-									FN_TABLE_ENTRY(XCreateImage),
-									FN_TABLE_ENTRY(XCreatePixmap),		        
-									FN_TABLE_ENTRY(XDefaultColormap),
-									FN_TABLE_ENTRY(XDefaultDepthOfScreen),
-									FN_TABLE_ENTRY(XDefaultRootWindow),
-									FN_TABLE_ENTRY(XDefaultScreen),
-									FN_TABLE_ENTRY(XDefaultScreenOfDisplay),
-									FN_TABLE_ENTRY(XDefaultVisual),
-									FN_TABLE_ENTRY(XFreeGC),
-									FN_TABLE_ENTRY(XFreePixmap),
-									FN_TABLE_ENTRY(XPutImage),
-									FN_TABLE_ENTRY(XQueryColor),
-									{ NULL, NULL }
-								};
-
-static FN_TABLE xtFunctions[] = {	FN_TABLE_ENTRY(XtMalloc), {NULL, NULL} };
-
-int NGImageInit() {
-	int i = 0;
-	void * fn;
-#ifdef AIX
-	void * x11Lib = dlopen(X11_LIB, RTLD_LAZY | RTLD_MEMBER);
-	void * xtLib = dlopen(XT_LIB, RTLD_LAZY | RTLD_MEMBER);
-#else
-	void * x11Lib = dlopen(X11_LIB, RTLD_LAZY);
-	void * xtLib = dlopen(XT_LIB, RTLD_LAZY);
-#endif		
-	/* initialize ptr struct to 0's */
-	memset(&ng, 0, sizeof(struct NG_PTRS));
-	
-
-	if (x11Lib == NULL || xtLib == NULL)
-		return -1;
-	
-	for (i = 0; x11Functions[i].fnName != NULL; i++) {
-		fn = dlsym(x11Lib, x11Functions[i].fnName);
-		if (fn != 0)
-			*(x11Functions[i].fnPtr) = fn;
-		else
-			return -1;
-	}
-	
-	for (i = 0; xtFunctions[i].fnName != NULL; i++) {
-		fn = dlsym(xtLib, xtFunctions[i].fnName);
-		if (fn != 0)
-			*(xtFunctions[i].fnPtr) = fn;
-		else
-			return -1;
-	}
-	return 0;
-}
-/**
- * Return the nbr of entries in the default color palette
- */
-int getNbrColorsXPalette(Display *xDisplay)
-{
-	Visual *visual = ng.XDefaultVisual (xDisplay, ng.XDefaultScreen(xDisplay));
-	return visual->map_entries;
-}
-
-/**
- * Return the RGB codes of the default palette
- * palette: buffer of size numColors * 3, holding the RGB values
- */
-ng_err_t getXPalette (Display *xDisplay, int numColors, char* palette)
-{
-	XColor color;
-	int i;
-	int index = 0;
-	int colormap = ng.XDefaultColormap (xDisplay, ng.XDefaultScreen(xDisplay));
-	for (i = 0; i < numColors; i++)
-	{
-		color.pixel = i;
-		ng.XQueryColor (xDisplay, colormap, &color);
-		palette[index++] = ((color.red >> 8) & 0xFF);
-		palette[index++] = ((color.green >> 8) & 0xFF);
-		palette[index++] = ((color.blue >> 8) & 0xFF);
-	}
-	return ERR_OK;
-}
-
-/**
- * Put a device-independent image of any depth into a drawable of the same size, 
- */
-ng_err_t putImage(ng_bitmap_image_t *image, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, 
-	Display *xDisplay, Visual *visual, int screenDepth, 
-	int drawable) 
-{
-
-	XImage *xImagePtr;
-	int bufSize;
-	int destRedMask = 0, destGreenMask = 0, destBlueMask = 0;
-	BYTE1 screenDirect;
-	UBYTE1 *srcData = NgBitmapImageImageData(image);
-	UBYTE4 srcDepth = NgBitmapImageBitCount(image);
-	BYTE4 sbpp, dbpp;
-	GC tempGC;
-	int numColors = 0;
-	
-	/* We only support image depth of 24 bits */
-	if (srcDepth != 24) return NgError (ERR_NG, "Error unsupported depth - only support 24 bit");
-	if (screenDepth <= 8) 
-	{
-		numColors = getNbrColorsXPalette (xDisplay);
-		if (numColors == 0)
-			return NgError (ERR_NG, "Error pseudo-color mode detected, no colors available");
-		numColors = 1 << ng.XDefaultDepthOfScreen (ng.XDefaultScreenOfDisplay (xDisplay));
-		screenDirect = 0;
-	} else
-	{
-		destRedMask = visual->red_mask;
-		destGreenMask = visual->green_mask;
-		destBlueMask = visual->blue_mask;
-		screenDirect = 1;
-	}
-	
-	xImagePtr = ng.XCreateImage(xDisplay, visual, screenDepth, ZPixmap, 0, 0, srcWidth, srcHeight, 32, 0);
-	if (xImagePtr == NULL) return NgError (ERR_NG, "Error XCreateImage failed");
-	bufSize = xImagePtr->bytes_per_line * srcHeight;
-
-	xImagePtr->data = (char*) ng.XtMalloc (bufSize);
-	sbpp = NgBitmapImageBytesPerRow(image);
-	dbpp = xImagePtr->bytes_per_line;
-	
-	if (screenDirect)
-	{
-		/* 24 bit source to direct screen destination */
-		NgBitmapImageBlitDirectToDirect(srcData, sbpp, srcWidth, srcHeight,
-			(UBYTE1*)xImagePtr->data, xImagePtr->bits_per_pixel, dbpp, xImagePtr->byte_order,
-			destRedMask, destGreenMask, destBlueMask);
-	} else
-	{
-		/* 24 bit source to palette screen destination */
-		char *palette = (char*) NgMalloc (numColors * 3);
-		getXPalette (xDisplay, numColors, palette);
-		NgBitmapImageBlitDirectToPalette(srcData, sbpp, srcWidth, srcHeight,
-			(UBYTE1*)xImagePtr->data, xImagePtr->bits_per_pixel, dbpp, xImagePtr->byte_order,
-			(UBYTE1*)palette, numColors);
-		NgFree (palette);
-	}
-	
-	tempGC = ng.XCreateGC (xDisplay, drawable, 0, NULL);	
-	ng.XPutImage(xDisplay, drawable, tempGC, xImagePtr, 0, 0, 0, 0, srcWidth, srcHeight);
-	
-	XDestroyImage (xImagePtr);
-	ng.XFreeGC (xDisplay, tempGC);
-	return ERR_OK;
-}
-
-ng_err_t init(ng_bitmap_image_t *image, Display *xDisplay, int screenDepth, int drawable, Pixmap *pixmap) 
-{
-	ng_err_t err;
-	int width = (int)NgBitmapImageWidth(image);
-	int height = (int)NgBitmapImageHeight(image);
-	
-	Visual *visual = ng.XDefaultVisual(xDisplay, ng.XDefaultScreen(xDisplay));
-	*pixmap = ng.XCreatePixmap(xDisplay, drawable, width, height, screenDepth);
-	if (*pixmap == 0) 
-	{
-		return NgError (ERR_NG, "Error XCreatePixmap failed");
-	}
-	err = putImage(image, 0, 0, width, height, 0, 0, xDisplay, visual, screenDepth, *pixmap);
-	if (err != ERR_OK) 
-	{
-		ng.XFreePixmap (xDisplay, *pixmap);
-		return NgError (err, "Error putImage failed");
-	}
-	
-	return ERR_OK;
-}
-
-/**
- * loadBMPImage
- * Create a pixmap representing the given BMP file, for the specified display and screen.
- *
- * display: connection to X server
- * screen: the screen to create the pixmap for
- * bmpPathname: absolute path and name to the bmp file
- *
- * returned value: the pixmap newly created if successful. 0 otherwise.
- */
-Pixmap loadBMPImage (Display *display, Screen *screen, char *bmpPathname) {
-	Window drawable;
-	ng_stream_t in;
-	ng_bitmap_image_t image;
-	ng_err_t err = ERR_OK;
-	int screenDepth;
-	Pixmap pixmap;
-
-	/* this must be called before any X functions are used */
-	NGImageInit();
-	NgInit();
-	
-	drawable = ng.XDefaultRootWindow (display);
-	screenDepth = ng.XDefaultDepthOfScreen (screen);
-	
-	if (NgStreamInit (&in, bmpPathname) != ERR_OK)
-	{
-		NgError (ERR_NG, "Error can't open BMP file");
-		return 0;
-	}	
-	NgBitmapImageInit (&image);
-	err = NgBmpDecoderReadImage (&in, &image);
-	NgStreamClose (&in);
-	
-	if (err != ERR_OK)
-	{
-		NgBitmapImageFree (&image);
-		return 0;
-	}
-		
-	err = init (&image, display, screenDepth, drawable, &pixmap);
-	NgBitmapImageFree (&image);
-	
-	return err == ERR_OK ? pixmap : 0;
-}
-
-const char *getBMPErrorMessage ()
-{
-	return NgGetLastErrorMsg ();
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgImage.h b/bundles/org.eclipse.equinox.executable/library/motif/NgImage.h
deleted file mode 100644
index c9c711d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgImage.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef __NG_IMAGE_H
-#define __NG_IMAGE_H
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xos.h>
-#include <X11/Intrinsic.h>
-
-struct NG_PTRS {
-	GC 			(*XCreateGC)			(Display*, Drawable, unsigned long, XGCValues*);
-	XImage *	(*XCreateImage)			(Display*, Visual*, unsigned int, int, int, char*, unsigned int, unsigned int, int, int);
-	Pixmap 		(*XCreatePixmap)		(Display*, Drawable, unsigned int, unsigned int, unsigned int);		        
-	Colormap 	(*XDefaultColormap)		(Display*, int);
-	int 		(*XDefaultDepthOfScreen)(Screen*);
-	Window 		(*XDefaultRootWindow)	(Display*);
-	int 		(*XDefaultScreen)		(Display*);
-	Screen *	(*XDefaultScreenOfDisplay)(Display*);
-	Visual *	(*XDefaultVisual)		(Display*, int);
-	int 		(*XFreeGC)				(Display*, GC);
-	int 		(*XFreePixmap)			(Display*, Pixmap);
-	int 		(*XPutImage)			(Display*, Drawable, GC, XImage*, int, int, int, int, unsigned int, unsigned int);
-	int 		(*XQueryColor)			(Display*, Colormap, XColor*);
-	char *		(*XtMalloc)				(Cardinal);
-};
-
-/**
- * loadBMPImage
- * Create a pixmap representing the given BMP file, for the specified display and screen.
- *
- * display: connection to X server
- * screen: the screen to create the pixmap for
- * bmpPathname: absolute path and name to the bmp file
- *
- * returned value: the pixmap newly created if successful. 0 otherwise.
- */
-Pixmap loadBMPImage (Display *display, Screen *screen, char *bmpPathname);
-
-/**
- * Return error message describing why the BMP file could not be displayed
- */
-const char *getBMPErrorMessage();
-
-#endif /* NG_IMAGE_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.c b/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.c
deleted file mode 100644
index d19f1dc..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.c
+++ /dev/null
@@ -1,490 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "NgImageData.h"
-
-static UBYTE4 RoundRow (UBYTE4 width)
-{
-  UBYTE4 result = (width + RowRounding - 1)
-                      & ~(RowRounding - 1) ;
-  return result ;
-}
-
-void NgBitmapImageInit (ng_bitmap_image_t *image)
-{
-	NgBitmapImageClearData (image);
-}
-
-void NgBitmapImageFree (ng_bitmap_image_t *image)
-{
-	NgFree (image->color_map);
-	NgFree (image->image_data);
-	NgFree (image->alpha_data);
-}
-
-void NgBitmapImageClearData (ng_bitmap_image_t *image)
-{
-	image->bit_count = 0;
-	image->image_width = 0;
-	image->image_height = 0;
-	image->color_count = 0;
-	image->color_map = NULL;
-	image->image_data = NULL;
-	image->alpha_data = NULL;
-	image->transparent_pixel = -1;
-}
-
-void NgBitmapImageSetSize(ng_bitmap_image_t *image,
-						   UBYTE4 color_count,
-						   UBYTE4 bits,
-						   UBYTE4 width,
-						   UBYTE4 height)
-{
-	NgFree (image->color_map);
-	NgFree (image->image_data);
-	NgBitmapImageClearData (image);
-
-	switch (bits)
-	{
-		case 1:
-		case 2:
-		case 4:
-		case 8:
-		{
-			UBYTE4 bitsize;
-			UBYTE4 bytecount;
-
-			image->bit_count = bits;
-			image->color_count = color_count;
-			image->image_width = width;
-			image->image_height = height;
-	
-			image->color_map = (ng_color_map_entry_t *) NgMalloc (sizeof(ng_color_map_entry_t) * image->color_count);
-			NgMemSet (image->color_map, 0, sizeof (ng_color_map_entry_t) * image->color_count);
-			bitsize = image->bit_count * image->image_width;
-			image->row_width = RoundRow ((bitsize + 7)/8);
-			bytecount = image->row_width * image->image_height;
-			image->image_data = (UBYTE1 *) NgMalloc (bytecount);
-			NgMemSet (image->image_data, 0, (BYTE4)bytecount);
-		}
-		break ;
-		case 16:
-		{
-			image->bit_count = bits;
-			image->color_count = color_count;
-			image->image_width = width;
-			image->image_height = height;
-			image->row_width = RoundRow (2 * image->image_width);
-			image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height);
-			NgMemSet (image->image_data, 0, image->row_width * image->image_height);
-		}
-		break;
-		case 24:
-		{
-			image->bit_count = bits;
-			image->color_count = color_count;
-			image->image_width = width;
-			image->image_height = height;
-			image->row_width = RoundRow (3 * image->image_width);
-			image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height);
-			NgMemSet (image->image_data, 0, image->row_width * image->image_height);
-		}
-		break;
-		case 32:
-		{
-			image->bit_count = bits;
-			image->color_count = color_count;
-			image->image_width = width;
-			image->image_height = height;
-			image->row_width = RoundRow (4 * image->image_width);
-			image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height);
-			NgMemSet (image->image_data, 0, image->row_width * image->image_height);
-		}
-		break ;
-		default:
-		NgError (ERR_INVALID_BIT_COUNT, NULL);
-	}
-}
-
-ng_color_map_entry_t *NgBitmapImageColorMap (ng_bitmap_image_t *image, UBYTE4 index)
-{
-	if (index >= image->color_count)
-	{
-		NgError (ERR_SUBSCRIPT_OUT_OF_RANGE, "Error NgBitmapImageColorMap failed");
-		return NULL;
-	}
-
-	return &image->color_map [index] ;
-}
-
-/* blit constants */
-#define TYPE_INDEX_1_MSB 1
-#define TYPE_INDEX_1_LSB 2
-#define TYPE_INDEX_2 3
-#define TYPE_INDEX_4 4
-#define TYPE_INDEX_8 5
-#define TYPE_GENERIC_24 6
-#define TYPE_GENERIC_8 7
-#define TYPE_GENERIC_16_MSB 8
-#define TYPE_GENERIC_16_LSB 9
-#define TYPE_GENERIC_32_MSB 10
-#define TYPE_GENERIC_32_LSB 11
-
-/**
- * Computes the required channel shift from a mask.
- */
-UBYTE4 getChannelShift(UBYTE4 mask)
-{
-	UBYTE4 i;
-	if (mask == 0) return 0;
-	for (i = 0; ((mask & 1) == 0) && (i < 32); ++i)
-	{
-		mask >>= 1;
-	}
-	return i;
-}
-
-/**
- * Computes the required channel width (depth) from a mask.
- */
-UBYTE4 getChannelWidth(UBYTE4 mask, UBYTE4 shift)
-{
-	UBYTE4 i;
-	if (mask == 0) return 0;
-	mask >>= shift;
-	for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) 
-	{
-		mask >>= 1;
-	}
-	return i - shift;
-}
-
-/**
- * Blits a direct palette image into a direct palette image.
- * 
- * srcData the source byte array containing image data
- * srcStride the source number of bytes per line
- * srcWidth the width of the source blit region
- * srcHeight the height of the source blit region
- * destData the destination byte array containing image data
- * destDepth the destination depth: one of 8, 16, 24, 32
- * destStride the destination number of bytes per line
- * destOrder the destination byte ordering: 0 for LSB, 1 otherwise
- *        ignored if destDepth is not 16 or 32
- * destRedMask the destination red channel mask
- * destGreenMask the destination green channel mask
- * destBlueMask the destination blue channel mask
- *
- * It is assumed that.
- * srcDepth: 24 - BGR ordering (BMP format)
- * no alpha
- * srcX: 0
- * srcY: 0
- * destX: 0
- * destY: 0
- * destWidth: same as srcWidth
- * destHeight: same as srcHeight 
- */
-void NgBitmapImageBlitDirectToDirect(
-	UBYTE1 *srcData, BYTE4 srcStride,
-	BYTE4 srcWidth, BYTE4 srcHeight,
-	UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder,
-	UBYTE4 destRedMask, UBYTE4 destGreenMask, UBYTE4 destBlueMask)
-{
-	BYTE4 srcX = 0, srcY = 0, destX = 0, destY = 0, destWidth = srcWidth, destHeight = srcHeight;
-	
-	BYTE4 sbpp, stype, spr, dbpp, dtype, dpr, dprxi, dpryi, dp, sp, dy, dx;
-	BYTE4 destRedShift, destRedWidth;
-	BYTE4 destRedPreShift, destGreenShift, destGreenWidth, destGreenPreShift;
-	BYTE4 destBlueShift, destBlueWidth, destBluePreShift;
-	UBYTE1 r, g, b;
-	UBYTE4 data;
-	
-	/*** Prepare source-related data ***/
-	sbpp = 3;
-	stype = TYPE_GENERIC_24;
-
-	spr = srcY * srcStride + srcX * sbpp;
-
-	/*** Prepare destination-related data ***/
-	switch (destDepth)
-	{
-		case 8:
-			dbpp = 1;
-			dtype = TYPE_GENERIC_8;
-			break;
-		case 16:
-			dbpp = 2;
-			dtype = (destOrder != 0) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-			break;
-		case 24:
-			dbpp = 3;
-			dtype = TYPE_GENERIC_24;
-			break;
-		case 32:
-			dbpp = 4;
-			dtype = (destOrder != 0) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-			break;
-		default:
-			return;
-	}			
-	
-	dpr = destY * destStride + destX * dbpp;
-	dprxi = dbpp;
-	dpryi = destStride;
-
-	/*** Blit ***/
-	dp = dpr;
-	sp = spr;
-
-	/*** Comprehensive blit (apply transformations) ***/
-	destRedShift = getChannelShift(destRedMask);
-	destRedWidth = getChannelWidth(destRedMask, destRedShift);
-	destRedPreShift = 8 - destRedWidth;
-	destGreenShift = getChannelShift(destGreenMask);
-	destGreenWidth = getChannelWidth(destGreenMask, destGreenShift);
-	destGreenPreShift = 8 - destGreenWidth;
-	destBlueShift = getChannelShift(destBlueMask);
-	destBlueWidth = getChannelWidth(destBlueMask, destBlueShift);
-	destBluePreShift = 8 - destBlueWidth;
-
-	r = 0; g = 0; b = 0;
-	for (dy = destHeight; dy > 0; --dy, sp = spr += srcStride, dp = dpr += dpryi)
-	{
-		for (dx = destWidth; dx > 0; --dx, dp += dprxi) 
-		{
-			/*** READ NEXT PIXEL ASSUMING BGR ordering (BMP format) ***/
-			b = srcData[sp];
-			g = srcData[sp + 1];
-			r = srcData[sp + 2];
-			sp += 3;
-			/*** WRITE NEXT PIXEL ***/
-			data = 
-				(r >> destRedPreShift << destRedShift) |
-				(g >> destGreenPreShift << destGreenShift) |
-				(b >> destBluePreShift << destBlueShift);
-			switch (dtype)
-			{
-				case TYPE_GENERIC_8:
-				{
-					destData[dp] = (UBYTE1) data;
-				} break;
-				case TYPE_GENERIC_16_MSB:
-				{
-					destData[dp] = (UBYTE1) (data >> 8);
-					destData[dp + 1] = (UBYTE1) (data & 0xff);
-				} break;
-				case TYPE_GENERIC_16_LSB: 
-				{
-					destData[dp] = (UBYTE1) (data & 0xff);
-					destData[dp + 1] = (UBYTE1) (data >> 8);
-				} break;
-				case TYPE_GENERIC_24: 
-				{
-					destData[dp] = (UBYTE1) (data >> 16);
-					destData[dp + 1] = (UBYTE1) (data >> 8);
-					destData[dp + 2] = (UBYTE1) (data & 0xff);
-				} break;
-				case TYPE_GENERIC_32_MSB: 
-				{
-					destData[dp] = (UBYTE1) (data >> 24);
-					destData[dp + 1] = (UBYTE1) (data >> 16);
-					destData[dp + 2] = (UBYTE1) (data >> 8);
-					destData[dp + 3] = (UBYTE1) (data & 0xff);
-				} break;
-				case TYPE_GENERIC_32_LSB: 
-				{
-					destData[dp] = (UBYTE1) (data & 0xff);
-					destData[dp + 1] = (UBYTE1) (data >> 8);
-					destData[dp + 2] = (UBYTE1) (data >> 16);
-					destData[dp + 3] = (UBYTE1) (data >> 24);
-				} break;
-			}
-		}
-	}			
-}
-
-/**
- * Create a simple hash table used when converting direct colors to values in a palette
- * Each bucket stores the RGB codes and the corresponding palette index.
- * The key is made from the RGB values.
- * It is used as a cache. New entries colliding with older ones simply
- * replace them.
- */
-ng_palette_bucket_t *NgRGBIndexCreate ()
-{
-	ng_palette_bucket_t *table = (ng_palette_bucket_t *)NgMalloc (RGBIndexTableSize * sizeof (ng_palette_bucket_t));
-	NgMemSet (table, 0, RGBIndexTableSize * sizeof (ng_palette_bucket_t));
-	return table;
-}
-
-void NgRGBIndexFree (ng_palette_bucket_t *table)
-{
-	NgFree (table);
-}
-
-void NgRGBIndexSet (ng_palette_bucket_t *table, UBYTE1 r, UBYTE1 g, UBYTE1 b, UBYTE1 index)
-{
-	int i = (r * g * b) % RGBIndexTableSize;
-	table[i].blue = b;
-	table[i].green = g;
-	table[i].red = r;
-	table[i].index = index;
-	table[i].isSet = 1;
-}
-
-int NgRGBIndexGet (ng_palette_bucket_t *table, UBYTE1 r, UBYTE1 g, UBYTE1 b)
-{
-	int i = (r * g * b) % RGBIndexTableSize;
-	if (table[i].isSet && table[i].blue == b && table[i].green == g && table[i].red == r)
-		return table[i].index;
-	return -1;
-}
-
-/**
- * Blits a direct palette image into an index palette image.
- * 
- * srcData the source byte array containing image data
- * srcStride the source number of bytes per line
- * srcX the top-left x-coord of the source blit region
- * srcY the top-left y-coord of the source blit region
- * srcWidth the width of the source blit region
- * srcHeight the height of the source blit region
- * destData the destination byte array containing image data
- * destDepth the destination depth: one of 1, 2, 4, 8
- * destStride the destination number of bytes per line
- * destOrder the destination byte ordering: 0 if LSB, 1 otherwise;
- *        ignored if destDepth is not 1
- * destX the top-left x-coord of the destination blit region
- * destY the top-left y-coord of the destination blit region
- * destWidth the width of the destination blit region
- * destHeight the height of the destination blit region
- * destColors the destination palette red green blue component intensities
- * destNumColors the number of colors in destColors
- * 
- * It is assumed that.
- * srcDepth: 24 - BGR ordering (BMP format)
- * no alpha
- * srcX: 0
- * srcY: 0
- * destX: 0
- * destY: 0
- * destWidth: same as srcWidth
- * destHeight: same as srcHeight
- */
-
-void NgBitmapImageBlitDirectToPalette(
-	UBYTE1 *srcData, BYTE4 srcStride,
-	BYTE4 srcWidth, BYTE4 srcHeight,
-	UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder,
-	UBYTE1 *destColors, int destNumColors)
-{	
-	BYTE4 srcX = 0, srcY = 0, destX = 0, destY = 0, destWidth = srcWidth, destHeight = srcHeight;
-	BYTE4 sbpp, spr, dtype, dpr, dp, sp, destPaletteSize, dy, dx, j, dr, dg, db, distance, minDistance;
-
-	UBYTE1 r = 0, g = 0, b = 0, index = 0;
-	int storedIndex;
-	ng_palette_bucket_t *RGBIndexTable;
-		
-	/*** Prepare source-related data ***/
-	sbpp = 3;
-	spr = srcY * srcStride + srcX * sbpp;
-
-	/*** Prepare destination-related data ***/
-	switch (destDepth)
-	{
-		case 8:
-			dtype = TYPE_INDEX_8;
-			break;
-		case 4:
-			destStride <<= 1;
-			dtype = TYPE_INDEX_4;
-			break;
-		case 2:
-			destStride <<= 2;
-			dtype = TYPE_INDEX_2;
-			break;
-		case 1:
-			destStride <<= 3;
-			dtype = (destOrder != 0) ? TYPE_INDEX_1_MSB : TYPE_INDEX_1_LSB;
-			break;
-		default:
-			return;
-	}			
-	dpr = destY * destStride + destX;
-
-	dp = dpr;
-	sp = spr;
-	destPaletteSize = destNumColors;
-
-	RGBIndexTable = NgRGBIndexCreate ();
-	for (dy = destHeight; dy > 0; --dy, sp = spr += srcStride, dp = dpr += destStride)
-		{
-		for (dx = destWidth; dx > 0; --dx, dp += 1)
-		{
-			/*** READ NEXT PIXEL ASSUMING BGR ordering (BMP format) ***/
-			b = srcData[sp];
-			g = srcData[sp+1];
-			r = srcData[sp+2];
-			sp += 3;
-
-			/*** MAP COLOR TO THE PALETTE ***/
-			storedIndex = NgRGBIndexGet (RGBIndexTable, r, g, b);
-			if (storedIndex >= 0)
-			{
-				index = (UBYTE1) storedIndex;
-			} else
-			{
-				for (j = 0, minDistance = 0x7fffffff; j < destPaletteSize; ++j)
-				{
-					dr = (destColors[j*3] & 0xff) - r;
-					dg = (destColors[j*3+1] & 0xff) - g;
-					db = (destColors[j*3+2] & 0xff) - b;
-					distance = dr * dr + dg * dg + db * db;
-					if (distance < minDistance)
-					{
-						index = (UBYTE1)j;
-						if (distance == 0) break;
-						minDistance = distance;
-					}
-				}
-				NgRGBIndexSet (RGBIndexTable, r, g, b, index);
-			}
-
-			/*** WRITE NEXT PIXEL ***/
-			switch (dtype) {
-				case TYPE_INDEX_8:
-					destData[dp] = (UBYTE1) index;
-					break;
-				case TYPE_INDEX_4:
-					if ((dp & 1) != 0) destData[dp >> 1] = ((destData[dp >> 1] & 0xf0) | index);
-					else destData[dp >> 1] = ((destData[dp >> 1] & 0x0f) | (index << 4));
-					break;
-				case TYPE_INDEX_2: 
-				{
-					int shift = 6 - (dp & 3) * 2;
-					destData[dp >> 2] = ((destData[dp >> 2] & ~(0x03 << shift)) | (index << shift));
-				} break;					
-				case TYPE_INDEX_1_MSB:
-				{
-					int shift = 7 - (dp & 7);
-					destData[dp >> 3] = ((destData[dp >> 3] & ~(0x01 << shift)) | (index << shift));
-				} break;
-				case TYPE_INDEX_1_LSB: 
-				{
-					int shift = dp & 7;
-					destData[dp >> 3] = ((destData[dp >> 3] & ~(0x01 << shift)) | (index << shift));
-				} break;					
-			}
-		}
-	}
-	NgRGBIndexFree (RGBIndexTable);
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.h b/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.h
deleted file mode 100644
index df3c901..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgImageData.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef __NG_IMAGEDATA_H
-#define __NG_IMAGEDATA_H
-
-/**
- * Type ng_bitmap_image_t (C version of SWT ImageData)
- * 
- * Unlike ImageData, ng_bitmap_image_t and all its api are 'internal'.
- * The api marked 'public' is in the sense that it can be used
- * by the rest of the native graphic library.
- */
-
-#include "NgCommon.h"
-
-typedef struct ng_bitmap_image_t ng_bitmap_image_t;
-
-typedef struct {
-	UBYTE1 blue;
-	UBYTE1 green;
-	UBYTE1 red;
-} ng_color_map_entry_t;
-
-/* ImageData in SWT expects RGB not BGR */
-enum { RedOffset=0, GreenOffset=1, BlueOffset=2 };
-
-struct ng_bitmap_image_t {
-	/* Width in bytes of each row */
-	UBYTE4 row_width;
-	/* Number of bits per pixel (depth) 1, 2, 4, 8, 16 or 24 */
-	UBYTE4 bit_count;
-	UBYTE4 image_width;
-	UBYTE4 image_height;
-	/* image data
-	 * 24-bit images, 3 bytes per pixel representing RGB values
-	 * 32 bit images, 4 bytes per pixel representing RGB values + one wasted byte
-	 * 16 bit images, 2 bytes per pixel
-	 * rest (1, 2, 4, 8): index into color map
-	 */
-	UBYTE1 *image_data;
-	/* alpha data (either NULL or of size image_width*image_height) */
-	UBYTE1 *alpha_data;
-	/* transparent pixel - default is -1 which means no transparent pixel */
-	BYTE4 transparent_pixel;
-	/* number of entries in color map */
-	UBYTE4 color_count;
-	ng_color_map_entry_t *color_map;
-};
-
-/************************************************
- * Public API ng_bitmap_image_t
- ************************************************/
-
-/**
- * Init an image
- */
-void NgBitmapImageInit (ng_bitmap_image_t *);
-
-/**
- * Dispose the resources allocated by the image.
- */
-void NgBitmapImageFree (ng_bitmap_image_t *);
-
-/**
- * Access start of image data
- * return: a pointer to an array of UBYTE1 of size image_row * image_width
- * signature: UBYTE1 *NgBitmapImageImageData (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageImageData(image) ((image)->image_data)
-
-/**
- * signature: UBYTE4 NgBitmapImageWidth (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageWidth(image) ((image)->image_width)
-
-/**
- * signature: UBYTE4 NgBitmapImageHeight (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageHeight(image) ((image)->image_height)
-
-/**
- * signature: UBYTE4 NgBitmapImageBitCount (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageBitCount(image) ((image)->bit_count)
-
-/**
- * signature: UBYTE4 NgBitmapImageColorCount (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageColorCount(image) ((image)->color_count)
-
-/**
- * Access a row of the image
- * row: a value which must be between 0 and image_height-1
- * return: a pointer to the desired row, which is an array of size row_width
- * signature: UBYTE1 *NgBitmapImageGetRow (ng_bitmap_image_t *image, UBYTE4 row)
- */
-#define NgBitmapImageGetRow(image, row) (&image->image_data[row * image->row_width])
-
-/**
- * signature: UBYTE4 NgBitmapImageBytesPerRow (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageBytesPerRow(image) ((image)->row_width)
-
-/**
- * Retrieve an entry from the color map
- * index: a value which must be between 0 and color_count-1
- */
-ng_color_map_entry_t *NgBitmapImageColorMap (ng_bitmap_image_t *, UBYTE4 index);
-
-/**
- * Get the value of the transparent pixel
- * signature: BYTE4 NgBitmapImageGetTransparent (ng_bitmap_image_t *image)
- */
-#define NgBitmapImageGetTransparent(image) ((image)->transparent_pixel)
-
-/**
- * Get the alpha data
- * signature: UBYTE1 *NgBitmapImageGetAlpha (ng_bitmap_image_t* image)
- */
-#define NgBitmapImageGetAlpha(image) ((image)->alpha_data)
-
-void NgBitmapImageBlitDirectToDirect(
-	UBYTE1 *srcData, BYTE4 srcStride,
-	BYTE4 srcWidth, BYTE4 srcHeight,
-	UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder,
-	UBYTE4 destRedMask, UBYTE4 destGreenMask, UBYTE4 destBlueMask);
-
-/* Size of hash table used in NgBitmapImageBlitDirectToPalette */
-#define RGBIndexTableSize 103
-
-typedef struct {
-	UBYTE1 isSet;
-	UBYTE1 blue;
-	UBYTE1 green;
-	UBYTE1 red;
-	UBYTE1 index;
-} ng_palette_bucket_t;
-	
-void NgBitmapImageBlitDirectToPalette(
-	UBYTE1 *srcData, BYTE4 srcStride,
-	BYTE4 srcWidth, BYTE4 srcHeight,
-	UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder,
-	UBYTE1 *destColors, int destNumColors);
-
-/************************************************
- * Private API ng_bitmap_image_t
- ************************************************/
-
-/* Number of bytes to round each row to */
-#define RowRounding 4
-
-void NgBitmapImageInitialize (ng_bitmap_image_t *);
-void NgBitmapImageClearData (ng_bitmap_image_t *);
-
-void NgBitmapImageSetSize(ng_bitmap_image_t *,
-						   UBYTE4 color_count,
-						   UBYTE4 bits,
-						   UBYTE4 width,
-						   UBYTE4 height);
-
-#endif /* NG_IMAGEDATA_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.c b/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.c
deleted file mode 100644
index cf8b77f..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.c
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "NgCommon.h"
-#include "NgWinBMPFileFormat.h"
-
-#define BMPHeaderFixedSize 40
-
-BYTE4 decompressRLE4Data(BYTE1 *src, BYTE4 numBytes, BYTE4 stride, BYTE1 *dest, BYTE4 destSize)
-{
-	BYTE4 sp = 0;
-	BYTE4 se = numBytes;
-	BYTE4 dp = 0;
-	BYTE4 de = destSize;
-	BYTE4 x = 0, y = 0;
-	BYTE4 i;
-	while (sp < se)
-	{
-		int len = src[sp] & 0xFF;
-		sp++;
-		if (len == 0) 
-		{
-			len = src[sp] & 0xFF;
-			sp++;
-			switch (len) 
-			{
-				case 0: /* end of line */
-					y++;
-					x = 0;
-					dp = y * stride;
-					if (dp >= de)
-						return -1;
-					break;
-				case 1: /* end of bitmap */
-					return 1;
-				case 2: /* delta */
-					x += src[sp] & 0xFF;
-					sp++;
-					y += src[sp] & 0xFF;
-					sp++;
-					dp = y * stride + x / 2;
-					if (dp >= de)
-						return -1;
-					break;
-				default: /* absolute mode run */
-					if ((len & 1) != 0) /* odd run lengths not currently supported */
-						return -1;
-					x += len;
-					len = len / 2;
-					if (len > (se - sp))
-						return -1;
-					if (len > (de - dp))
-						return -1;
-					for (i = 0; i < len; i++) 
-					{
-						dest[dp] = src[sp];
-						dp++;
-						sp++;
-					}
-					if ((sp & 1) != 0)
-						sp++; /* word align sp? */
-					break;
-			}
-		} else 
-		{
-			BYTE1 theByte;
-			if ((len & 1) != 0)
-				return -1;
-			x += len;
-			len = len / 2;
-			theByte = src[sp];
-			sp++;
-			if (len > (de - dp))
-				return -1;
-			for (i = 0; i < len; i++) 
-			{
-				dest[dp] = theByte;
-				dp++;
-			}
-		}
-	}
-	return 1;
-}
-
-BYTE4 decompressRLE8Data(BYTE1 *src, BYTE4 numBytes, BYTE4 stride, BYTE1 *dest, BYTE4 destSize)
-{
-	BYTE4 sp = 0;
-	BYTE4 se = numBytes;
-	BYTE4 dp = 0;
-	BYTE4 de = destSize;
-	BYTE4 x = 0, y = 0;
-	BYTE4 i;
-	while (sp < se) {
-		int len = src[sp] & 0xFF;
-		sp++;
-		if (len == 0) {
-			len = src[sp] & 0xFF;
-			sp++;
-			switch (len)
-			{
-				case 0: /* end of line */
-					y++;
-					x = 0;
-					dp = y * stride;
-					if (dp >= de)
-						return -1;
-					break;
-				case 1: /* end of bitmap */
-					return 1;
-				case 2: /* delta */
-					x += src[sp] & 0xFF;
-					sp++;
-					y += src[sp] & 0xFF;
-					sp++;
-					dp = y * stride + x;
-					if (dp >= de)
-						return -1;
-					break;
-				default: /* absolute mode run */
-					if (len > (se - sp))
-						return -1;
-					if (len > (de - dp))
-						return -1;
-					for (i = 0; i < len; i++)
-					{
-						dest[dp] = src[sp];
-						dp++;
-						sp++;
-					}
-					if ((sp & 1) != 0)
-						sp++; /* word align sp? */
-					x += len;
-					break;
-			}
-		} else 
-		{
-			BYTE1 theByte = src[sp];
-			sp++;
-			if (len > (de - dp))
-				return -1;
-			for (i = 0; i < len; i++)
-			{
-				dest[dp] = theByte;
-				dp++;
-			}
-			x += len;
-		}
-	}
-	return 1;
-}
-
-ng_err_t decompressData (BYTE1 *src, BYTE4 numBytes, BYTE1 *dest, BYTE4 destSize, BYTE4 stride, BYTE4 cmp)
-{
-	if (cmp == 1)
-	{
-		/* BMP_RLE8_COMPRESSION */
-		if (decompressRLE8Data (src, numBytes, stride, dest, destSize) <= 0)
-			return NgError (ERR_NG, "Error decompressRLE8Data failed");
-	} else if (cmp == 2)
-	{
-		/* BMP_RLE4_COMPRESSION */
-		if (decompressRLE4Data (src, numBytes, stride, dest, destSize) <= 0)
-			return NgError (ERR_NG, "Error decompressRLE4Data failed");
-	} else 
-	{
-		return NgError (ERR_NG, "Error decompressData failed - unsupported compression");
-	}
-	return ERR_OK;
-}
-
-void flipScanLines(BYTE1 *data, BYTE4 numBytes, int stride, int height)
-{
-	BYTE4 i1 = 0;
-	BYTE4 i2 = (height - 1) * stride;
-	BYTE4 i, index;
-	for (i = 0; i < height / 2; i++)
-	{
-		for (index = 0; index < stride; index++)
-		{
-			BYTE1 b = data[index + i1];
-			data[index + i1] = data[index + i2];
-			data[index + i2] = b;
-		}
-		i1 += stride;
-		i2 -= stride;
-	}
-}
-
-/**
- * BmpDecoderReadImage
- * 
- * Decode the content of a bmp file. 
- *
- * in    : the input stream
- * image : a pointer to a ng_bitmap_image_t
- *
- * return: ERR_OK if the image was correctly built from the input stream
- *		   ERR_NG otherwise.
- */
-ng_err_t NgBmpDecoderReadImage (ng_stream_t *in, ng_bitmap_image_t *image)
-{
-	BYTE4 *fileHeader = (BYTE4*) NgMalloc (5 * sizeof(BYTE4));
-	BYTE1 *infoHeader, *data;
-	BYTE4 width, height, stride, dataSize, cmp, pos;	
-	BYTE2 depth;
-	BYTE2 d0;
-	
-	NgStreamRead (in, (char *) &d0, sizeof(BYTE2));
-	fileHeader[0] = (BYTE4)LittleEndianToSystemUBYTE2(d0);
-	NgStreamRead (in, (char *) &fileHeader[1], sizeof(BYTE4));
-	fileHeader[1] = LittleEndianToSystemUBYTE4(fileHeader[1]);
-	NgStreamRead (in, (char *) &d0, sizeof(BYTE2));
-	fileHeader[2] = (BYTE4)LittleEndianToSystemUBYTE2(d0);
-	NgStreamRead (in, (char *) &d0, sizeof(BYTE2));
-	fileHeader[3] = (BYTE4)LittleEndianToSystemUBYTE2(d0);
-	NgStreamRead (in, (char *) &fileHeader[4], sizeof(BYTE4));
-	fileHeader[4] = LittleEndianToSystemUBYTE4(fileHeader[4]);
-	
-	if (NgStreamEof (in))
-	{
-		NgFree (fileHeader);
-		return NgError (ERR_NG, "Error invalid header file");
-	}
-	if (fileHeader[0] != 0x4D42)
-	{
-		NgFree (fileHeader);
-		return NgError (ERR_NG, "Error not a BMP file");
-	}
-	
-	infoHeader = (BYTE1*) NgMalloc (BMPHeaderFixedSize * sizeof (BYTE1));	
-	NgStreamRead (in, infoHeader, BMPHeaderFixedSize * sizeof (BYTE1));
-	
-	if (NgStreamEof (in))
-	{
-		NgFree (fileHeader);
-		NgFree (infoHeader);
-		return NgError (ERR_NG, "Error invalid info header");
-	}
-	
-	NgMemCpy (&width, &infoHeader[4], sizeof (BYTE4));
-	width = LittleEndianToSystemUBYTE4(width);
-
-	NgMemCpy (&height, &infoHeader[8], sizeof (BYTE4));
-	height = LittleEndianToSystemUBYTE4(height);
-	
-	NgMemCpy (&depth, &infoHeader[14], sizeof (BYTE2));
-	depth = LittleEndianToSystemUBYTE2(depth);
-
-	stride = (width * depth + 7) / 8;
-	stride = (stride + 3) / 4 * 4; /* Round up to 4 byte multiple */
-
-	if (depth <= 8)
-	{
-		BYTE4 i, index;
-		BYTE1 *colors;
-		BYTE4 numColors;
-		NgMemCpy (&numColors, &infoHeader[32], sizeof (BYTE4));
-		numColors = LittleEndianToSystemUBYTE4(numColors);
-		if (numColors == 0)
-		{
-			BYTE2 value;
-			NgMemCpy (&value, &infoHeader[14], sizeof (BYTE2));
-			value = LittleEndianToSystemUBYTE2(value);
-			numColors = 1 << value;
-		} else
-		{
-			if (numColors > 256)
-				numColors = 256;
-		}
-		colors = (BYTE1*) NgMalloc (numColors * 4);
-		NgStreamRead (in, colors, numColors * 4);
-		
-		if (NgStreamEof (in))
-		{
-			NgFree (fileHeader);
-			NgFree (infoHeader);
-			NgFree (colors);
-			return NgError (ERR_NG, "Error invalid palette info");
-		} 
-		
-		index = 0;
-		
-		NgBitmapImageSetSize(image, (UBYTE4)numColors, (UBYTE4)depth,
-			(UBYTE4)width, (UBYTE4)height);
-			
-		for (i = 0; i < numColors; i++)
-		{
-			ng_color_map_entry_t *color_map = NgBitmapImageColorMap (image, i);
-			color_map->blue = colors[index++];
-			color_map->green = colors[index++];
-			color_map->red = colors[index++];
-			index++;
-		}
-		
-		NgFree (colors);
-	} else
-	{
-		/* direct - 16 and 24 bits */
-		NgBitmapImageSetSize(image, 0, (UBYTE4)depth,
-			(UBYTE4)width, (UBYTE4)height);
-	}
-	
-	pos = NgStreamGetPosition (in);
-	if (pos < fileHeader[4])
-	{
-		NgStreamSkip (in, fileHeader[4] - pos);
-	}
-	
-	dataSize = height * stride;
-	
-	data = (BYTE1*)NgBitmapImageImageData(image);
-	NgMemCpy (&cmp, &infoHeader[16], sizeof (BYTE4));
-	cmp = LittleEndianToSystemUBYTE4(cmp);
-	if (cmp == 0)
-	{
-		/* BMP_NO_COMPRESSION */
-		BYTE4 cnt;
-		cnt = NgStreamRead (in, data, dataSize);
-		if (cnt != dataSize)
-		{
-			NgFree (fileHeader);
-			NgFree (infoHeader);
-			return NgError (ERR_NG, "Error failed reading uncompressed data");
-		}
-	} else
-	{
-		BYTE4 compressedSize;
-		BYTE1 *compressed;
-		BYTE4 cnt;
-		ng_err_t res;
-		NgMemCpy (&compressedSize, &infoHeader[20], sizeof (BYTE4));
-		compressedSize = LittleEndianToSystemUBYTE4(compressedSize);
-		compressed = (BYTE1*) NgMalloc (compressedSize * sizeof (BYTE1));
-		cnt = NgStreamRead (in, compressed, compressedSize);
-		if (cnt != compressedSize)
-		{
-			NgFree (fileHeader);
-			NgFree (infoHeader);
-			NgFree (compressed);
-			return NgError (ERR_NG, "Error failed reading compressed data");
-		}
-		res = decompressData (compressed, compressedSize, data, dataSize, stride, cmp);
-		if (res != ERR_OK)
-		{
-			NgFree (fileHeader);
-			NgFree (infoHeader);
-			NgFree (compressed);
-			return NgError (res, "Error failed data decompression");			
-		}
-				
-		NgFree (compressed);
-	}
-		
-	flipScanLines(data, dataSize, stride, height);
-	
-	NgFree (fileHeader);
-	NgFree (infoHeader);
-	return ERR_OK;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.h b/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.h
deleted file mode 100644
index 3ff010d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/NgWinBMPFileFormat.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef __NG_WINBMPFILEFORMAT_H
-#define __NG_WINBMPFILEFORMAT_H
-
-/**
- * BMP Decoder
- */
-#include "NgCommon.h"
-#include "NgImageData.h"
-
-/**
- * BmpDecoderReadImage
- * 
- * Decode the content of a bmp file. 
- *
- * in    : the input stream
- * image : a pointer to a ng_bitmap_image_t
- *
- * return: ERR_OK if the image was correctly built from the input stream
- *		   ERR_NG otherwise.
- */
-ng_err_t NgBmpDecoderReadImage (ng_stream_t *in, ng_bitmap_image_t *image);
-
-#endif /* __NG_WINBMPFILEFORMAT_H */
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/build.sh b/bundles/org.eclipse.equinox.executable/library/motif/build.sh
deleted file mode 100644
index 12c0942..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/build.sh
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Sumit Sarkar (Hewlett-Packard)
-# Martin Oberhuber (Wind River) - [185734] Support building with gcc and debug
-#*******************************************************************************
-#
-# Usage: sh build.sh [<optional switches>] [clean]
-#
-#   where the optional switches are:
-#       -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-#       -os     <DEFAULT_OS>      - default Eclipse "-os" value
-#       -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value
-#       -ws     <DEFAULT_WS>      - default Eclipse "-ws" value
-#		-java   <JAVA_HOME>		  - java insgtall for jni headers
-#
-#   All other arguments are directly passed to the "make" program.
-#   This script can also be invoked with the "clean" argument.
-#
-#   Examples:
-#   sh build.sh clean
-#   sh build.sh -java /usr/j2se OPTFLAG=-g PICFLAG=-fpic
-
-cd `dirname $0`
-
-# Define default values for environment variables used in the makefiles.
-programOutput="eclipse"
-defaultOS=""
-defaultOSArch=""
-defaultWS="motif"
-defaultJava=DEFAULT_JAVA_JNI
-makefile=""
-javaHome=""
-outputRoot="../../bin"
-if [ "$OS" = "" ];  then
-    OS=`uname -s`
-fi
-if [ "$MODEL" = "" ];  then
-    MODEL=`uname -m`
-fi
-
-case $OS in
-	"AIX")
-		makefile="make_aix.mak"
-		defaultOS="aix"
-		defaultOSArch="ppc"
-		defaultWS="motif"
-		MOTIF_HOME=/usr
-		OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-		;;
-	"Linux")
-		makefile="make_linux.mak"
-		defaultOS="linux"
-		defaultOSArch="x86"
-		defaultWS="motif"
-		X11_HOME=/usr/X11R6
-		MOTIF_HOME=~/motif21
-		OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-		;;
-	"SunOS")
-#		PATH=/usr/ccs/bin:/opt/SUNWspro/bin:$PATH
-		PATH=/usr/ccs/bin:/export/home/SUNWspro/bin:$PATH
-		javaHome="/usr/jdk/jdk1.5.0_01"
-		outputRoot="../../contributed"
-		export PATH
-		makefile="make_solaris.mak"
-		defaultOS="solaris"
-		defaultOSArch="sparc"
-		defaultWS="motif"
-		OS="Solaris"
-		X11_HOME=/usr/openwin
-		MOTIF_HOME=/usr/dt
-		OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-		;;
-	"HP-UX")
-		X11_HOME=/usr
-		MOTIF_HOME=/usr
-		case $MODEL in
-			"ia64")
-				makefile="make_hpux_ia64_32.mak"
-				defaultOS="hpux"
-				defaultOSArch="ia64_32"
-				defaultWS="motif"
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				javaHome="/opt/java1.5"
-				defaultJava=DEFAULT_JAVA_EXEC
-				PATH=/opt/hp-gcc/bin:$PATH
-				export PATH
-				;;
-        	*)
-				makefile="make_hpux_PA_RISC.mak"
-				defaultOS="hpux"
-				defaultOSArch="PA_RISC"
-				defaultWS="motif"
-				OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-				;;
-		esac
-        ;;
-	*)
-		echo "Unknown OS -- build aborted"
-		;;
-esac
-
-# Parse the command line arguments and override the default values.
-extraArgs=""
-while [ "$1" != "" ]; do
-    if [ "$1" = "-os" ] && [ "$2" != "" ]; then
-        defaultOS="$2"
-        shift
-    elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then
-        defaultOSArch="$2"
-        shift
-    elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then
-        defaultWS="$2"
-        shift
-    elif [ "$1" = "-output" ] && [ "$2" != "" ]; then
-        programOutput="$2"
-        shift
-	elif [ "$1" = "-java" ] && [ "$2" != "" ]; then
-        javaHome="$2"
-        shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-# Set up environment variables needed by the makefiles.
-PROGRAM_OUTPUT="$programOutput"
-DEFAULT_OS="$defaultOS"
-DEFAULT_OS_ARCH="$defaultOSArch"
-DEFAULT_WS="$defaultWS"
-JAVA_HOME=$javaHome
-DEFAULT_JAVA=$defaultJava
-
-LIBRARY_DIR="../../../org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.$defaultWS.$defaultOS.$defaultOSArch"
-OUTPUT_DIR="$outputRoot/$defaultWS/$defaultOS/$defaultOSArch"
-
-export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS X11_HOME MOTIF_HOME JAVA_HOME DEFAULT_JAVA LIBRARY_DIR
-
-# If the OS is supported (a makefile exists)
-if [ "$makefile" != "" ]; then
-	if [ "$extraArgs" != "" ]; then
-		make -f $makefile $extraArgs
-	else
-		echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS"
-		make -f $makefile clean
-		case x$CC in
-		  x*gcc*) make -f $makefile all PICFLAG=-fpic ;;
-		  *)      make -f $makefile all ;;
-		esac
-	fi
-else
-	echo "Unknown OS ($OS) -- build aborted"
-fi
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/build.xml b/bundles/org.eclipse.equinox.executable/library/motif/build.xml
deleted file mode 100644
index b4308a9..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/build.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c
deleted file mode 100644
index 4d5f8f1..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
- 
- 
-/* UNIX/Motif specific logic for displaying the splash screen. */
-#include "eclipseCommon.h"
-#include "eclipseMozilla.h"
-#include "eclipseMotif.h"
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include "NgImage.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#ifdef SOLARIS
-#include <sys/filio.h>
-#endif
-#include <unistd.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <string.h>
-#include <locale.h>
-#include <stdlib.h>
-
-/* Global Variables */
-char*  defaultVM     = "java";
-char*  vmLibrary 	 = "libjvm.so";
-char*  shippedVMDir  = "jre/bin/";
-
-/* Define the special arguments for the various Java VMs. */
-static char*  argVM_JAVA[]        = { NULL };
-#if AIX
-static char*  argVM_JAVA_AIX131[] = { "-Xquickstart", NULL };
-#endif
-static char*  argVM_J9[]          = { "-jit", "-mca:1024", "-mco:1024", "-mn:256", "-mo:4096", 
-									  "-moi:16384", "-mx:262144", "-ms:16", "-mr:16", NULL };
-								 	   
-/* Define local variables for the main window. */
-extern XtAppContext appContext;
-extern Widget       topWindow;
-
-static pid_t   jvmProcess = 0;
-static int     jvmExitCode;
-
-/* Define local variables for handling the splash window and its image. */
-static Widget shellHandle = 0;
-
-extern void   centreShell( Widget widget, Widget expose );
-
-#ifdef NETSCAPE_FIX
-void   fixEnvForNetscape();
-#endif /* NETSCAPE_FIX */
-
-void takeDownSplashCB( Widget shell, XtPointer app_data, XtPointer widget_data ) {
-  shellHandle = NULL;
-}
-
-/* Show the Splash Window
- *
- * Create the splash window, load the pixmap and display the splash window.
- */
-int showSplash( const char* featureImage )
-{
-	int x, y;
-	unsigned int width, height, depth, border;
-	ArgList args;
-	unsigned int nArgs;
-	Pixmap  splashPixmap = 0;
-	Window  root;
-	Display *xDisplay;
-	Screen* screen;
-	Widget scrolledHandle, drawingHandle, image;
-	
-	if (shellHandle != 0)
-		return 0; /* already showing splash */
-	
-	if (initialArgv == NULL) 
-		initialArgc = 0;
-
-	if (initWindowSystem(&initialArgc, initialArgv, 1) != 0) {
-		return -1;
-	}
-
-	xDisplay = motif_XtDisplay(topWindow);
-    screen = motif.XDefaultScreenOfDisplay( xDisplay );
-    if (featureImage != NULL)
-    {
-    	splashPixmap = loadBMPImage(xDisplay, screen, (char*)featureImage);
-    }
-        /* If the splash image could not be found, return an error. */
-    if (splashPixmap == 0)
-    	return ENOENT;
-    
-    motif.XGetGeometry (xDisplay, splashPixmap, &root, &x, &y, &width, &height, &border, &depth);
-    
-    /* make sure we never pass more than 20 args */
-    args = malloc(10 * sizeof(Arg));
-    
-    nArgs = 0;
-    /* Note that XtSetArg is a macro, and the 1st argument will be evaluated twice
-     * so increment nArgs on its own */
-	motif_XtSetArg(args[nArgs], XmNmwmDecorations, 0);	nArgs++;
-    motif_XtSetArg(args[nArgs], XmNtitle, getOfficialName());	nArgs++;
-    motif_XtSetArg(args[nArgs], XmNwidth, width);			nArgs++;
-    motif_XtSetArg(args[nArgs], XmNheight, height);		nArgs++;
-	shellHandle = motif.XtAppCreateShell(getOfficialName(), "", *motif.applicationShellWidgetClass, xDisplay, args, nArgs);								   
-	motif.XtAddCallback(shellHandle, XmNdestroyCallback, (XtCallbackProc) takeDownSplashCB, NULL);
-	
-	nArgs = 0;
-	motif_XtSetArg(args[nArgs++], XmNancestorSensitive, 1);
-	scrolledHandle = motif.XmCreateMainWindow(shellHandle, NULL, args, nArgs);
-	if(scrolledHandle == 0)
-		return -1;
-	motif.XtManageChild(scrolledHandle);
-	
-	nArgs = 0;
-	motif_XtSetArg(args[nArgs], XmNancestorSensitive, 1);			nArgs++;
-    motif_XtSetArg(args[nArgs], XmNborderWidth, 0);					nArgs++;
-    /*motif_XtSetArg(args[nArgs], XmNbackground, 0xFF00FF);			nArgs++; */
-    motif_XtSetArg(args[nArgs], XmNmarginWidth, 0);					nArgs++;
-    motif_XtSetArg(args[nArgs], XmNmarginHeight, 0);				nArgs++;
-    motif_XtSetArg(args[nArgs], XmNresizePolicy, XmRESIZE_NONE);	nArgs++;
-    motif_XtSetArg(args[nArgs], XmNtraversalOn, 1);					nArgs++;
-	drawingHandle = motif.XmCreateDrawingArea(scrolledHandle, NULL, args, nArgs);
-	if(drawingHandle == 0)
-		return -1;
-	motif.XtManageChild(drawingHandle);
-	
-	nArgs = 0;
-	motif_XtSetArg(args[nArgs], XmNlabelType, XmPIXMAP);		nArgs++;
-    motif_XtSetArg(args[nArgs], XmNlabelPixmap, splashPixmap);	nArgs++;
-    motif_XtSetArg(args[nArgs], XmNwidth, width);				nArgs++;
-    motif_XtSetArg(args[nArgs], XmNheight, height);				nArgs++;
-    motif_XtSetArg(args[nArgs], XmNmarginWidth, 0);				nArgs++;
-    motif_XtSetArg(args[nArgs], XmNmarginHeight, 0);			nArgs++;
-    image = motif.XmCreateLabelGadget ( drawingHandle, "", args, nArgs );
-    motif.XtManageChild( image );
-	
-	motif.XtRealizeWidget(shellHandle);
-	motif.XtSetMappedWhenManaged(shellHandle, 1);
-
-	if(motif_XtIsTopLevelShell(shellHandle))
-		motif_XtMapWidget(shellHandle);
-	else
-		motif.XtPopup(shellHandle, XtGrabNone);
-		
-	/* Centre the splash screen and display it. */
-    centreShell( shellHandle, drawingHandle );
-    dispatchMessages();
-    
-    free(args);
-	return 0;
-}
-
-/* Get the window system specific VM arguments */
-char** getArgVM( char* vm ) 
-{
-    char** result;
-   
-#ifdef AIX
-    char*  version;
-#endif
-
-    if (isJ9VM( vm )) 
-        return argVM_J9;
-    
-    /* Use the default arguments for a standard Java VM */
-    result = argVM_JAVA;
-    
-#ifdef AIX
-	/* Determine whether Java version is 1.3.1 or later */
-	version = getVMVersion( vm );
-	if (version != NULL) 
-	{
-	    if (versionCmp(version, "1.3.1") >= 0)
-	        result = argVM_JAVA_AIX131;
-	    free(version);
-	}
-#endif
-
-    return result;
-}
-
-
-jlong getSplashHandle() {
-	return (jlong)shellHandle;
-}
-
-void dispatchMessages() {
-	XtInputMask mask;
-	if (appContext != NULL && motif.XtAppPending != 0) {
-		/* Process any outstanding messages */
-	 	while ((mask = motif.XtAppPending(appContext)) != 0) {
-	 		motif.XtAppProcessEvent(appContext, mask);
-	 	}
-	}
-}
-
-void takeDownSplash()
-{
-    if (shellHandle != 0) 
-    {
-        motif.XtDestroyWidget( shellHandle );
-        /*XFlush( XtDisplay( shellHandle ) );*/
-        shellHandle = NULL;
-    }
-}
-
-#ifdef NETSCAPE_FIX
-extern char* findCommand( char*);
-static const char*  XFILESEARCHPATH = "XFILESEARCHPATH";
-
-void   fixEnvForNetscape()
-{
-	char*  netscapePath     = NULL;
-	char*  netscapeResource = NULL;
-	char*  ch;
-	char*  envValue;
-	struct stat   stats;
-
-	/* If netscape appears to be installed */
-	netscapePath = findCommand("netscape");
-	if (netscapePath != NULL)
-	{
-		/* Look for the resource file Netscape.ad in the same directory as "netscape". */
-		netscapeResource = malloc( strlen(netscapePath) + 50 );
-		strcpy( netscapeResource, netscapePath );
-		ch = strrchr( netscapeResource, (int) dirSeparator );
-		ch =(ch == NULL ? netscapeResource : (ch+1));
-		strcpy( ch, "Netscape.ad" );
-		
-		/* If it does not exist there, try "/opt/netscape/Netscape.ad". */
-        if (stat( netscapeResource, &stats ) != 0)
-        {
-        	strcpy( netscapeResource, "/opt/netscape/Netscape.ad" );
-        }
-        
-        /* If the resource file exists */
-        if (stat( netscapeResource, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-        {
-        	/* Either define XFILESEARCHPATH or append the Netscape resource file. */
-        	envValue = getenv( XFILESEARCHPATH );
-        	if (envValue == NULL)
-        	{
-        		ch = malloc( strlen(XFILESEARCHPATH) + strlen(netscapeResource) + 5 );
-        		sprintf( ch, "%s=%s", XFILESEARCHPATH, netscapeResource );
-        	}
-        	else
-        	{
-        		ch = malloc( strlen(XFILESEARCHPATH) + strlen(netscapeResource) + 
-        					 strlen(envValue) + 5 );
-        		sprintf( ch, "%s=%s:%s", XFILESEARCHPATH, envValue, netscapeResource );
-        	}
-        	putenv( ch );
-        	free( ch );
-        }
-		
-		/* Clean up. */
-		free( netscapePath );
-		free( netscapeResource );
-	}
-}
-#endif /* NETSCAPE_FIX */
-
-JavaResults* launchJavaVM( char* args[] ) 
-{
-	JavaResults* jvmResults = NULL;
-    int    exitCode;
-
-#ifdef NETSCAPE_FIX
-	fixEnvForNetscape();
-#endif /* NETSCAPE_FIX */
-#ifdef MOZILLA_FIX
-	fixEnvForMozilla();
-#endif /* MOZILLA_FIX */
-
-#ifdef LINUX
-	{
-		/* put the root of eclipse on the LD_LIBRARY_PATH */
-		char * ldPath = (char*)getenv(_T_ECLIPSE("LD_LIBRARY_PATH"));
-		if (ldPath == NULL)
-			ldPath = _T_ECLIPSE("");
-		char * root = getProgramDir();
-		if (root != NULL) {
-			char * newPath = malloc((strlen(root) + strlen(ldPath) + 2) * sizeof(char));
-			sprintf(newPath, "%s%c%s", root, pathSeparator, ldPath);
-			setenv("LD_LIBRARY_PATH", newPath, 1);
-			free(newPath);
-		}
-	}
-#endif
-	
-	/* Create a child process for the JVM. */	
-	jvmProcess = fork();
-	if (jvmProcess == 0) 
-	{
-		/* Child process ... start the JVM */
-		execv( args[0], args );
-		
-		/* The JVM would not start ... return error code to parent process. */
-		/* TODO, how to distinguish this as a launch problem to the other process? */
-		jvmExitCode = errno;
-        exit( jvmExitCode );
-	}
-	
-	jvmResults = malloc(sizeof(JavaResults));
-	memset(jvmResults, 0, sizeof(JavaResults));
-	
-	/* If the JVM is still running, wait for it to terminate. */
-	if (jvmProcess != 0)
-	{
-		waitpid(jvmProcess, &exitCode, 0);
-  		/* TODO, this should really be a runResult if we could distinguish the launch problem above */
-		jvmResults->launchResult = ((exitCode & 0x00ff) == 0 ? (exitCode >> 8) : exitCode); /* see wait(2) */
-	}
-	
-	/* Return the exit code from the JVM. */
-	return jvmResults;
-}
-
-int reuseWorkbench(_TCHAR** filePath, int timeout) {
-	/* not yet implemented on motif */
-	return -1;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.h b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.h
deleted file mode 100644
index 26b807b..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifndef ECLIPSE_MOTIF_H
-#define ECLIPSE_MOTIF_H
-
-#include <Xm/XmAll.h>
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/IntrinsicP.h>
-#include <X11/Intrinsic.h>
-#include <X11/Shell.h>
-
-#ifndef NO_XINERAMA_EXTENSIONS
-#include <X11/extensions/Xinerama.h>
-#endif
-
-struct MOTIF_PTRS {
-#ifndef NO_XINERAMA_EXTENSIONS
-	Bool 		(*XineramaIsActive)		(Display*);
-	XineramaScreenInfo*  (*XineramaQueryScreens) (Display*, int*);
-#endif
-	Widget 		(*XmCreateDrawingArea)	(Widget, String, ArgList, Cardinal);
-	Widget 		(*XmCreateLabelGadget)	(Widget, char *, Arg *, Cardinal);
-	Widget 		(*XmCreateMainWindow)	(Widget, char *, ArgList, Cardinal);
-	Widget		(*XmCreateMessageDialog)(Widget, String, ArgList, Cardinal);
-	Widget		(*XmMessageBoxGetChild)	(Widget, unsigned char);
-	void 		(*XmStringFree)			(XmString);
-	XmString 	(*XmStringGenerate) 	(XtPointer, XmStringTag, XmTextType, XmStringTag);
-	
-	void 		(*XtAddCallback)		(Widget, String, XtCallbackProc, XtPointer);
-	Widget 		(*XtAppCreateShell)		(String, String, WidgetClass, Display*, ArgList, Cardinal);
-	void		(*XtAppNextEvent)		(XtAppContext, XEvent*);
-	XtInputMask (*XtAppPending)			(XtAppContext);
-	void 		(*XtAppProcessEvent)	(XtAppContext, XtInputMask);
-	void		(*XtDestroyWidget)		(Widget);
-	Boolean		(*XtDispatchEvent)		(XEvent*);
-	void		(*XtGetValues)			(Widget, ArgList, Cardinal);
-	Widget		(*XtInitialize)			(String, String, XrmOptionDescRec*, Cardinal, int*, char**);
-#ifdef AIX
-	Widget		(*eclipseXtInitialize)	(String, String, XrmOptionDescRec*, Cardinal, int*, char**);
-#endif
-	Boolean		(*XtIsManaged)			(Widget);
-	void 		(*XtManageChild)		(Widget);
-	int			(*XtMapWidget)			(Widget);
-	void 		(*XtPopup)				(Widget, XtGrabKind);
-	void		(*XtRealizeWidget)		(Widget);
-	Widget		(*XtSetLanguageProc)	(XtAppContext, XtLanguageProc, XtPointer);
-	void 		(*XtSetMappedWhenManaged)(Widget, Boolean);
-	void		(*XtSetValues)			(Widget, ArgList, Cardinal);
-	void		(*XtUnmanageChild)		(Widget);
-	XtAppContext (*XtWidgetToApplicationContext) (Widget);
-	Window		(*XtWindowOfObject)		(Widget);
-	
-	Screen * 	(*XDefaultScreenOfDisplay)(Display*);
-	int			(*XFree)				(void*);
-	int			(*XFlush)				(Display*);
-	Status 		(*XGetGeometry)			(Display*, Drawable, Window*, int*, int*, unsigned int*, unsigned int*, unsigned int*, unsigned int*);
-	int 		(*XMapWindow)			(Display*, Window);
-	
-	char * 		_XmStrings;
-	char * 		XtShellStrings;
-	char * 		XtStrings;
-	WidgetClass *applicationShellWidgetClass;
-};
-
-extern struct MOTIF_PTRS motif;
-
-#define motif_XtDisplay 			XtDisplay
-#define motif_XtSetArg				XtSetArg
-#define motif_XtWindow				XtWindow
-#define motif_XtIsTopLevelShell 	XtIsTopLevelShell
-#define motif_XtIsRealized(object) (motif.XtWindowOfObject(object) != None)
-#define motif_XtMapWidget(widget)  motif.XMapWindow(XtDisplay(widget), XtWindow(widget))
-
-#define _XmStrings 				motif._XmStrings
-#define XtShellStrings 			motif.XtShellStrings
-#define XtStrings 				motif.XtStrings
-
-/* macro resolves to { (void**)&motif.foo, "foo" }, use it to initialize FN_TABLEs */
-#define FN_TABLE_ENTRY(fn) { (void**)&motif.fn, #fn } 
-typedef struct {
-	void ** fnPtr;
-	char * fnName;
-} FN_TABLE;
-
-extern int loadMotif();
-#endif
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifCommon.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifCommon.c
deleted file mode 100644
index 93f21cb..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifCommon.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-#include "eclipseMotif.h"
-
-#include <locale.h>
-#include <dlfcn.h>
-#include <stdlib.h>
-
-#define ECLIPSE_ICON  401
-
-char   dirSeparator  = '/';
-char   pathSeparator = ':';
-
-void centreShell( Widget widget, Widget expose );
-
-/* Global Variables */
-XtAppContext appContext = 0;
-Widget       topWindow  = 0;
-
-/* Define local variables for the main window. */
-static int          saveArgc   = 0;		/* arguments after they were parsed, for window system */
-static char**       saveArgv   = 0;
-
-int motifInitialized = 0;
-
-/* Display a Message */
-void displayMessage( char* title, char* message ) 
-{
-    char*         displayName = NULL;
-    Widget        msgBox = NULL;
-    XmString      msg;
-    Arg           arg[20];
-    int           nArgs;
-    XEvent        event;
-    
-    /* If there is no associated display, or we fail to initialize Xt, just print the error and return. */
-    displayName = getenv("DISPLAY");
-    if ( displayName == NULL || strlen(displayName) == 0 ||
-        (topWindow == 0 && initWindowSystem( &saveArgc, saveArgv, 1 ) != 0)	) 
-    {
-    	printf("%s:\n%s\n", title, message);
-    	return;
-    }
-	msg = motif.XmStringGenerate( message, NULL, XmCHARSET_TEXT, NULL );
-
-    /* Output a simple message box. */ 
-    nArgs = 0;
-    
-    motif_XtSetArg( arg[ nArgs ], XmNdialogType, XmDIALOG_MESSAGE ); nArgs++;
-    motif_XtSetArg( arg[ nArgs ], XmNtitle, title ); nArgs++;
-    motif_XtSetArg( arg[ nArgs ], XmNmessageString, msg ); nArgs++;
-    msgBox = motif.XmCreateMessageDialog( topWindow, getOfficialName(), arg, nArgs );
-
-    motif.XtUnmanageChild( motif.XmMessageBoxGetChild( msgBox, XmDIALOG_CANCEL_BUTTON ) );
-    motif.XtUnmanageChild( motif.XmMessageBoxGetChild( msgBox, XmDIALOG_HELP_BUTTON ) );
-    motif.XtManageChild( msgBox );
-    centreShell( msgBox, msgBox );
-    if (msg != 0) motif.XmStringFree (msg);
-
-    /* Wait for the OK button to be pressed. */
-    while (motif_XtIsRealized( msgBox ) && motif.XtIsManaged( msgBox ))
-    {
-        motif.XtAppNextEvent( appContext, &event );
-        motif.XtDispatchEvent( &event );
-    }
-    motif.XtDestroyWidget( msgBox );
-}
-
-/* Initialize Window System
- *
- * Initialize the Xt and Xlib.
- */
-int initWindowSystem( int* pArgc, char* argv[], int showSplash )
-{
-    Arg     arg[20];
-    char * officialName;
-    
-    if(motifInitialized == 1)
-    	return 0;
-    
-    if (loadMotif() != 0)
-    	return -1;
-    
-    /* Save the arguments in case displayMessage() is called in the main launcher. */ 
-    if (saveArgv == 0)
-    {
-    	saveArgc = *pArgc;
-    	saveArgv =  argv;
-    }  
-
-    officialName = getOfficialName();
-    if (officialName != NULL)
-    	setenv("RESOURCE_NAME", getOfficialName(), 1);
-    
-    /* Create the top level shell that will not be used other than
-       to initialize the application. 
-     */
-#ifdef AIX
-    topWindow = motif.eclipseXtInitialize(NULL, officialName, NULL, 0, pArgc, argv);
-#else
-	topWindow = motif.XtInitialize(NULL, officialName, NULL, 0, pArgc, argv);
-#endif
-	appContext = motif.XtWidgetToApplicationContext(topWindow);
-	motif.XtSetLanguageProc (appContext, NULL, NULL);
-	motif_XtSetArg( arg[ 0 ], XmNmappedWhenManaged, False );
-    motif.XtSetValues( topWindow, arg, 1 );
-    motif.XtRealizeWidget( topWindow );
-    motifInitialized = 1;
-    return 0;
-}
-
-/* Centre the shell on the screen. */
-void centreShell( Widget widget, Widget expose )
-{
-    XtAppContext context;
-    XEvent       event;
-    Arg          arg[20];
-    int          nArgs;
-    Position     x, y;
-    Dimension    width, height;
-    Screen*      screen;
-    int          waiting;
-    short        screenWidth, screenHeight;
-    
-#ifndef NO_XINERAMA_EXTENSIONS
-    Display*            display;
-    int                 monitorCount;
-    XineramaScreenInfo* info;
-#endif
-	
-    /* Realize the shell to calculate its width/height. */
-    motif.XtRealizeWidget( widget );
-
-    /* Get the desired dimensions of the shell. */
-    nArgs = 0;
-    motif_XtSetArg( arg[ nArgs ], XmNwidth,  &width  ); nArgs++;
-    motif_XtSetArg( arg[ nArgs ], XmNheight, &height ); nArgs++;
-    motif_XtSetArg( arg[ nArgs ], XmNscreen, &screen ); nArgs++;
-    motif.XtGetValues( widget, arg, nArgs );
-
-	screenWidth = screen->width;
-	screenHeight = screen->height;
-#ifndef NO_XINERAMA_EXTENSIONS
-	display = motif_XtDisplay( widget );
-	if (motif.XineramaIsActive != 0 && motif.XineramaIsActive( display )) {
-		info = motif.XineramaQueryScreens( display, &monitorCount );
-		if (info != 0) {
-			if (monitorCount > 1) {
-				screenWidth = info->width;
-				screenHeight = info->height;
-			}
-			motif.XFree (info);
-		}
-	}
-#endif
-	
-    /* Calculate the X and Y position for the shell. */
-    x = (screenWidth - width) / 2;
-    y = (screenHeight - height) / 2;
-
-    /* Set the new shell position and display it. */
-    nArgs = 0;
-    motif_XtSetArg( arg[ nArgs ], XmNx, x ); nArgs++;
-    motif_XtSetArg( arg[ nArgs ], XmNy, y ); nArgs++;
-    motif.XtSetValues( widget, arg, nArgs );
-    motif_XtMapWidget( widget );
-
-    /* Wait for an expose event on the desired widget. This wait loop is required when
-     * the startVM command fails and the message box is created before the splash
-     * window is displayed. Without this wait, the message box sometimes appears
-     * under the splash window and the user cannot see it.
-     */
-    context = motif.XtWidgetToApplicationContext( widget );
-    waiting = True;
-    while (waiting) 
-    {
-        motif.XtAppNextEvent( context, &event );
-        if (event.xany.type == Expose && event.xany.window == motif_XtWindow( expose )) 
-        {
-            waiting = False;
-        }
-        motif.XtDispatchEvent( &event );
-    }
-    motif.XFlush( motif_XtDisplay( widget ) );
-}
-
-/* Load the specified shared library
- */
-void * loadLibrary( char * library ){
-	void * result= dlopen(library, RTLD_LAZY);
-	if(result == 0) 
-		printf("%s\n",dlerror());
-	return result;
-}
-
-/* Unload the shared library
- */
-void unloadLibrary( void * handle ){
-	dlclose(handle);
-}
- 
-/* Find the given symbol in the shared library
- */
-void * findSymbol( void * handle, char * symbol ){
-	return dlsym(handle, symbol);
-}
-
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifInit.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifInit.c
deleted file mode 100644
index 84e7295..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifInit.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "eclipseMotif.h"
-#include "eclipseCommon.h"
-#include <dlfcn.h>
-#include <stdlib.h>
-
-struct MOTIF_PTRS motif;
-
-/* need to undef these so the FN_TABLE works ok */
-#undef _XmStrings
-#undef XtShellStrings
-#undef XtStrings
-
-/* functions from libXm */
-static FN_TABLE xmFunctions[] = {	FN_TABLE_ENTRY(XmCreateDrawingArea),
-									FN_TABLE_ENTRY(XmCreateLabelGadget),
-									FN_TABLE_ENTRY(XmCreateMainWindow),
-									FN_TABLE_ENTRY(XmCreateMessageDialog),
-									FN_TABLE_ENTRY(XmMessageBoxGetChild),
-									FN_TABLE_ENTRY(XmStringFree),
-									FN_TABLE_ENTRY(XmStringGenerate), 
-									FN_TABLE_ENTRY(_XmStrings),		/* not a function */
-									{ NULL, NULL } 
-						  		 };
-
-/* functions from libXt */
-static FN_TABLE xtFunctions[] = {	FN_TABLE_ENTRY(XtAddCallback),
-									FN_TABLE_ENTRY(XtAppCreateShell),
-									FN_TABLE_ENTRY(XtAppNextEvent),
-									FN_TABLE_ENTRY(XtAppPending),
-									FN_TABLE_ENTRY(XtAppProcessEvent),
-									FN_TABLE_ENTRY(XtDestroyWidget),
-									FN_TABLE_ENTRY(XtDispatchEvent),
-									FN_TABLE_ENTRY(XtGetValues),
-#ifndef AIX
-									FN_TABLE_ENTRY(XtInitialize),
-#endif
-									FN_TABLE_ENTRY(XtIsManaged),
-									FN_TABLE_ENTRY(XtManageChild),
-									FN_TABLE_ENTRY(XtMapWidget),
-									FN_TABLE_ENTRY(XtPopup),
-									FN_TABLE_ENTRY(XtRealizeWidget),
-									FN_TABLE_ENTRY(XtSetLanguageProc),
-									FN_TABLE_ENTRY(XtSetMappedWhenManaged),
-									FN_TABLE_ENTRY(XtSetValues),
-									FN_TABLE_ENTRY(XtUnmanageChild),
-									FN_TABLE_ENTRY(XtWidgetToApplicationContext),
-									FN_TABLE_ENTRY(XtWindowOfObject),
-									FN_TABLE_ENTRY(XtShellStrings),				 /* not a function */
-									FN_TABLE_ENTRY(XtStrings),					 /* not a function */
-									FN_TABLE_ENTRY(applicationShellWidgetClass), /* not a function */
-									{ NULL, NULL } 
-								};
-
-#ifdef AIX
-static FN_TABLE shimFunctions[] = { FN_TABLE_ENTRY(eclipseXtInitialize), {NULL, NULL} };
-#endif
-
-/* functions from libX11 */
-static FN_TABLE x11Functions[] = {	FN_TABLE_ENTRY(XDefaultScreenOfDisplay),
-									FN_TABLE_ENTRY(XFree),
-									FN_TABLE_ENTRY(XFlush),
-									FN_TABLE_ENTRY(XGetGeometry),
-									FN_TABLE_ENTRY(XMapWindow),
-									{ NULL, NULL } 
-								};
-
-#ifndef NO_XINERAMA_EXTENSIONS
-static FN_TABLE xinFunctions[] = {	FN_TABLE_ENTRY(XineramaIsActive),
-									FN_TABLE_ENTRY(XineramaQueryScreens),
-									{ NULL, NULL }
-								 };
-#endif
-
-static int loadMotifSymbols( void * library, FN_TABLE * table) {
-	int i = 0;
-	void * fn;
-	for (i = 0; table[i].fnName != NULL; i++) {
-		fn = findSymbol(library, table[i].fnName);
-		if (fn != 0) {
-			*(table[i].fnPtr) = fn;
-		} else {
-			*(table[i].fnPtr) = 0;
-			return -1;
-		}
-	}
-	return 0;
-}
-
-#ifdef AIX
-void * loadMotifShimLibrary() {
-	if (eclipseLibrary != NULL) {
-		/* library is the normal eclipse_<ver>.so, look for libeclipse-motif.so beside it */
-		_TCHAR* eclipseMotifLib = _T_ECLIPSE("libeclipse-motif.so");
-		_TCHAR* path = strdup(eclipseLibrary);
-		_TCHAR* c = strrchr(path, '/');
-		if (c == NULL)
-			return NULL;
-
-		*c = 0;
-		c = malloc((strlen(path) + 2 + strlen(eclipseMotifLib)) * sizeof(char));
-		_stprintf(c, _T_ECLIPSE("%s/%s"), path, eclipseMotifLib);
-
-		return dlopen(c, RTLD_LAZY);
-	}
-	return 0;
-}
-#endif
-
-int loadMotif() {
-	void * xmLib = NULL, *xtLib = NULL, *x11Lib = NULL, *xinLib = NULL;
-#ifdef AIX
-	void * motifShim = NULL;
-#endif
-	char * path = getProgramDir();
-	int dlFlags = RTLD_LAZY;
-	
-	/* initialize ptr struct to 0's */
-	memset(&motif, 0, sizeof(struct MOTIF_PTRS));
-
-#ifndef AIX	
-	if (path != NULL) {
-		/* look for libXm first in the root of eclipse */
-		char * lib = malloc((strlen(path) + strlen(_T_ECLIPSE(XM_LIB)) + 2) * sizeof(char));
-		sprintf( lib, "%s%c%s", path, dirSeparator, XM_LIB);
-		xmLib = dlopen(lib, dlFlags);
-		free(lib);
-	}
-#else
-	dlFlags |= RTLD_MEMBER;
-	motifShim = loadMotifShimLibrary();
-	if (motifShim == NULL)
-		return -1;
-#endif
-
-	if (xmLib == NULL) {
-		xmLib = dlopen(XM_LIB, dlFlags);
-	}
-	
-	if (xmLib == NULL) {
-		/* bail now, don't load the others, libXm must be loaded first, so leave things for
-		 * swt to do later */
-		return -1;
-	}
-	
-	xtLib = dlopen(XT_LIB, dlFlags);
-	x11Lib = dlopen(X11_LIB, dlFlags);
-			
-	/* printf("XmLib: %s: %x\nXtLib: %s: %x\nX11Lib:%s, %x\n", XM_LIB, xmLib, XT_LIB, xtLib, X11_LIB, x11Lib);*/
-#ifndef NO_XINERAMA_EXTENSIONS
-	/* don't fail without Xinerama */
-	xinLib = dlopen(XIN_LIB, dlFlags);
-	if (xinLib != NULL)
-		loadMotifSymbols(xinLib, xinFunctions);
-#endif
-	if( xtLib == NULL || x11Lib == NULL)
-		return -1;
-
-	if (loadMotifSymbols(xmLib, xmFunctions)  != 0) return -1;
-	if (loadMotifSymbols(xtLib, xtFunctions)  != 0) return -1;
-	if (loadMotifSymbols(x11Lib, x11Functions)  != 0) return -1;
-#ifdef AIX
-	if (loadMotifSymbols(motifShim, shimFunctions) !=0) return -1;
-#endif
-
-	return 0;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifShim.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifShim.c
deleted file mode 100644
index 2648ec6..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotifShim.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <Xm/XmAll.h>
-
-Widget eclipseXtInitialize(String shellName, String appClass, XrmOptionDescRec* options, Cardinal numOptions, int* argc, char** argv) {
-	return XtInitialize(shellName, appClass, options, numOptions, argc, argv);
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/make_aix.mak b/bundles/org.eclipse.equinox.executable/library/motif/make_aix.mak
deleted file mode 100644
index 1d4689e..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/make_aix.mak
+++ /dev/null
@@ -1,104 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the AIX/Motif eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# X11_HOME	 - the full path to X11 header files
-# MOTIF_HOME	 - the full path to Motif header files
-# JAVA_JNI       - the full path to the java jni header files
-
-PROGRAM_OUTPUT=eclipse
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-SHIM=libeclipse-motif.so
-
-CC = gcc
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o
-SHIM_OBJS = eclipseMotifShim.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o
-DLL_OBJS	= eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseShm.o eclipseNix.o\
-			  NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o 
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -L$(MOTIF_HOME)/lib -ldl
-SHIM_LIBS = -L$(MOTIF_HOME)/lib -lXm -lXt -lX11
-MOTIF_LIBS = -DXM_LIB="\"libXm.a(shr_32.o)\"" -DXT_LIB="\"libXt.a(shr4.o)\"" -DX11_LIB="\"libX11.a(shr4.o)\""
-LFLAGS = -G -bnoentry -bexpall -lm -lc_r -lC_r
-CFLAGS = -O -s \
-	-DMOTIF \
-	-DNO_XINERAMA_EXTENSIONS \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	$(MOTIF_LIBS) \
-    -DAIX \
-	-I./ \
-	-I../ \
-	-I$(MOTIF_HOME)/include \
-	-I/usr/java5/include
-
-all: $(EXEC) $(DLL) $(SHIM)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h  
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c $< -o $@
-		
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -Wl,-bM:UR -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-	sedmgr -c exempt $(EXEC)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	ld $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(SHIM): $(SHIM_OBJS)
-	ld $(LFLAGS) -o $(SHIM) $(SHIM_OBJS) $(SHIM_LIBS)
-		
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp $(SHIM) $(OUTPUT_DIR)
-	cp  $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(DLL) $(SHIM) $(SHIM_OBJS) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-	
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_PA_RISC.mak b/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_PA_RISC.mak
deleted file mode 100644
index d09d9ef..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_PA_RISC.mak
+++ /dev/null
@@ -1,94 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the HPUX/Motif eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# X11_HOME	 - the full path to X11 header files
-# MOTIF_HOME	 - the full path to Motif header files
-
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-endif
-
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o
-DLL_OBJS	= eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseNix.o eclipseShm.o\
-			  NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lXm -lXt -lX11 -lpthread
-LFLAGS = -shared -Wl,--export-dynamic
-CFLAGS = -O -s \
-	-DNO_XINERAMA_EXTENSIONS \
-	-DNETSCAPE_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	+Z \
-	-I./ \
-	-I../ \
-	-I$(MOTIF_HOME)/include \
-	-I$(X11_HOME)/include \
-	-I$(JAVA_JNI) \
-	+DAportable
-
-all: $(EXEC)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h  
-	$(CC) $(CFLAGS) -c ../eclipseMain.c -o $@
-	
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-
-eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c ../eclipseNix.c -o $@		
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-install: all
-	cp $(EXEC) $(DLL) $(OUTPUT_DIR)
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_ia64_32.mak b/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_ia64_32.mak
deleted file mode 100644
index edef221..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/make_hpux_ia64_32.mak
+++ /dev/null
@@ -1,101 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Sumit Sarkar (Hewlett-Packard)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the HPUX/Motif eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# X11_HOME	 - the full path to X11 header files
-# MOTIF_HOME	 - the full path to Motif header files
-
-#ifeq ($(PROGRAM_OUTPUT),)
-#  PROGRAM_OUTPUT=eclipse
-#endif
-
-DEFAULT_JAVA=DEFAULT_JAVA_EXEC
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-CC=gcc
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o
-DLL_OBJS	= eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseNix.o eclipseShm.o \
-			  NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lpthread
-MOTIF_LIBS = -DXM_LIB="\"libXm.so.1\"" -DXT_LIB="\"libXt.so.1\"" -DX11_LIB="\"libX11.so.1\""
-LFLAGS = -shared -static-libgcc
-# -Wl,--export-dynamic
-CFLAGS = -O -s \
-	-DNO_XINERAMA_EXTENSIONS \
-	-DNETSCAPE_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-D$(DEFAULT_JAVA) \
-	-DHPUX \
-	$(MOTIF_LIBS) \
-	-I./ \
-	-I../ \
-	-I$(MOTIF_HOME)/include \
-	-I$(X11_HOME)/include \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux 
-
-all: $(EXEC) $(DLL)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-	
-eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h  
-	$(CC) $(CFLAGS) -c ../eclipseMain.c -o $@
-
-eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-	
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c ../eclipseNix.c -o $@
-
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp  $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/make_linux.mak b/bundles/org.eclipse.equinox.executable/library/motif/make_linux.mak
deleted file mode 100644
index cd8d51d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/make_linux.mak
+++ /dev/null
@@ -1,108 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the Linux/Motif eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# X11_HOME	     - the full path to X11 header files
-# MOTIF_HOME	 - the full path to Motif header files
-# JAVA_HOME      - JAVA_HOME for the java jni header files
-
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-endif
-
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-ifeq ($(DEFAULT_JAVA),)
-  DEFAULT_JAVA=DEFAULT_JAVA_JNI
-endif
-
-# Define the object modules to be compiled and flags.
-CC?=gcc
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o
-DLL_OBJS	= eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o \
-			  NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o 
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -Xlinker -rpath -Xlinker . -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib  -lpthread -ldl
-MOTIF_LIBS = -DXM_LIB="\"libXm.so.2\"" -DXT_LIB="\"libXt.so.6\"" -DX11_LIB="\"libX11.so.6\"" -DXIN_LIB="\"libXinerama.so.1\""
-LFLAGS = -shared -fpic -Wl,--export-dynamic 
-CFLAGS = -g -s -Wall \
-	-DLINUX \
-	-DMOTIF \
-	-DMOZILLA_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	$(MOTIF_LIBS) \
-	-D$(DEFAULT_JAVA)\
-	-fPIC \
-	-I./ \
-	-I../ \
-	-I$(MOTIF_HOME)/include \
-	-I$(X11_HOME)/include \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
-
-all: $(EXEC) $(DLL)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h  
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c $< -o $@
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp  $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/motif/make_solaris.mak b/bundles/org.eclipse.equinox.executable/library/motif/make_solaris.mak
deleted file mode 100644
index d9f7527..0000000
--- a/bundles/org.eclipse.equinox.executable/library/motif/make_solaris.mak
+++ /dev/null
@@ -1,104 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-# Martin Oberhuber (Wind River) - [185734] Support building with gcc and debug
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the Solaris/Motif eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# X11_HOME	 - the full path to X11 header files
-# MOTIF_HOME	 - the full path to Motif header files
-# JAVA_HOME       - path to java for JNI headers
-
-#ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse
-#endif
-
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o  eclipseMotifInit.o
-DLL_OBJS	= eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseShm.o eclipseNix.o\
-			  NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o 
-PICFLAG = -K PIC
-# Optimize and remove all debugging information by default
-OPTFLAG = -O -s
-# OPTFLAG = -g
-
-EXEC = $(PROGRAM_OUTPUT)
-DLL = $(PROGRAM_LIBRARY)
-LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lintl -lthread -ldl -lc
-MOTIF_LIBS = -DXM_LIB="\"libXm.so.4\"" -DXT_LIB="\"libXt.so.4\"" -DX11_LIB="\"libX11.so.4\"" -DXIN_LIB="\"libXinerama.so.1\""
-#LFLAGS = -shared -Wl,--export-dynamic 
-LFLAGS = -G
-CFLAGS =$(OPTFLAG) \
-	-DSOLARIS \
-	$(PICFLAG) \
-	-DNO_XINERAMA_EXTENSIONS \
-	-DNETSCAPE_FIX \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	$(MOTIF_LIBS) \
-	-I./ \
-	-I../ \
-	-I$(MOTIF_HOME)/include \
-	-I$(X11_HOME)/include \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris
-
-all: $(EXEC) $(DLL)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h  
-	$(CC) $(CFLAGS) -c ../eclipseMain.c -o $@
-	
-eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-
-eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h 
-	$(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@
-	
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-
-eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
-	$(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@
-	
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-	
-eclipseNix.o: ../eclipseNix.c
-	$(CC) $(CFLAGS) -c ../eclipseNix.c -o $@
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-	$(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	cp  $(DLL) $(LIBRARY_DIR)
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
-
-clean:
-	rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/photon/.cvsignore b/bundles/org.eclipse.equinox.executable/library/photon/.cvsignore
deleted file mode 100644
index 5535df0..0000000
--- a/bundles/org.eclipse.equinox.executable/library/photon/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.o
-eclipse
diff --git a/bundles/org.eclipse.equinox.executable/library/photon/build.sh b/bundles/org.eclipse.equinox.executable/library/photon/build.sh
deleted file mode 100644
index 2166d19..0000000
--- a/bundles/org.eclipse.equinox.executable/library/photon/build.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-#
-# Usage: sh build.sh [<optional switches>] [clean]
-#
-#   where the optional switches are:
-#       -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-#       -os     <DEFAULT_OS>      - default Eclipse "-os" value
-#       -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value
-#       -ws     <DEFAULT_WS>      - default Eclipse "-ws" value
-#
-#
-#    This script can also be invoked with the "clean" argument.
-
-cd `dirname $0`
-
-# Define default values for environment variables used in the makefiles.
-programOutput="eclipse"
-defaultOS="qnx"
-defaultOSArch="x86"
-defaultWS="photon"
-makefile="make_qnx.mak"
-if [ "$OS" = "" ];  then
-    OS=`uname -s`
-fi
-
-# Parse the command line arguments and override the default values.
-extraArgs=""
-while [ "$1" != "" ]; do
-    if [ "$1" = "-os" ] && [ "$2" != "" ]; then
-        defaultOS="$2"
-        shift
-    elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then
-        defaultOSArch="$2"
-        shift
-    elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then
-        defaultWS="$2"
-        shift
-    elif [ "$1" = "-output" ] && [ "$2" != "" ]; then
-        programOutput="$2"
-        shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-# Set up environment variables needed by the makefiles.
-PROGRAM_OUTPUT="$programOutput"
-DEFAULT_OS="$defaultOS"
-DEFAULT_OS_ARCH="$defaultOSArch"
-DEFAULT_WS="$defaultWS"
-OUTPUT_DIR="../../bin/$defaultWS/$defaultOS/$defaultOSArch"
-
-export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS
-
-# If the OS is supported (a makefile exists)
-if [ "$makefile" != "" ]; then
-	if [ "$extraArgs" != "" ]; then
-		make -f $makefile $extraArgs
-	else
-		echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS"
-		make -f $makefile clean
-		make -f $makefile all
-	fi
-else
-	echo "Unknown OS ($OS) -- build aborted"
-fi
diff --git a/bundles/org.eclipse.equinox.executable/library/photon/build.xml b/bundles/org.eclipse.equinox.executable/library/photon/build.xml
deleted file mode 100644
index b4308a9..0000000
--- a/bundles/org.eclipse.equinox.executable/library/photon/build.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="sh">
-		<arg line="${basedir}/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/photon/eclipsePhoton.c b/bundles/org.eclipse.equinox.executable/library/photon/eclipsePhoton.c
deleted file mode 100644
index c14cb9b..0000000
--- a/bundles/org.eclipse.equinox.executable/library/photon/eclipsePhoton.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
- 
-/* Photon specific logic for displaying the splash screen. */
-
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include <Pt.h>
-
-#define PX_IMAGE_MODULES
-#define PX_BMP_SUPPORT
-
-#include <photon/PxImage.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <string.h>
-#include <locale.h>
-#include <libgen.h>
-
-/* Global Variables */
-char   dirSeparator  = '/';
-char   pathSeparator = ':';
-#ifndef J9VM
-char*  defaultVM     = "java";
-char*  shippedVMDir  = "jre/bin/";
-#else
-char*  defaultVM     = "j9";
-char*  shippedVMDir  = "ive/bin/";
-#endif
-
-/* Define the window system arguments for the various Java VMs. */
-static char*  argVM_JAVA[] = { NULL };
-static char*  argVM_J9[]   = { "-jit", "-ms:32", "-mso:256", NULL };
-
-
-/* Define local variables for the main window. */
-static PtWidget_t*  topWindow = NULL;
-
-/* Define local variables for running the JVM and detecting its exit. */
-static pid_t   jvmProcess = 0;
-static int     jvmExitCode;
-
-/* Local functions */
-static void       bringDownSplashWindow( int );
-static void       centreWindow( PtWidget_t *widget, PtWidget_t *label);
-static int        splashTimeout( PtWidget_t* widget, void* data, PtCallbackInfo_t* id );
-
-/* Display a Message */
-void displayMessage( char* title, char* message )
-{
-    if (topWindow == 0) 
-    {
-		initWindowSystem( NULL, NULL, 0 );
-    }
-    
- 	PtNotice( NULL,NULL, title, NULL, message, NULL, NULL, NULL, Pt_CENTER | Pt_MODAL );
-}
-
-
-/* Initialize Window System
- *
- * Initialize Photon.
- */
-void initWindowSystem( int* pArgc, char* argv[], int showSplash )
-{
-    PtArg_t arg[5];
-    int     nArgs;
-   
-    /* Create a top level window with no decorations. */
-    setlocale(LC_ALL, "");
-    PtInit( NULL );
-    nArgs = 0;
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_RENDER_FLAGS, 0, ~0 ); 
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_MANAGED_FLAGS, Ph_WM_TASKBAR | Ph_WM_CLOSE, ~0 ); 
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_STATE, Ph_WM_STATE_ISFRONT, ~0 ); 
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_TITLE, getOfficialName(), ~0 ); 
-    topWindow = PtCreateWidget( PtWindow, Pt_NO_PARENT, nArgs, arg );
-}
-
-
-/* Show the Splash Window
- *
- * Create the splash window, load the bitmap and display the splash window.
- *
- */
-int showSplash( char* timeoutString, char* featureImage )
-{
-	int          timeout = 0;
-    PtWidget_t*  label;
-    PtArg_t      arg[10];
-    PhImage_t*   image = NULL;
-    int          nArgs;
-    int          depth;
-	PgDisplaySettings_t settings;
-	PgVideoModeInfo_t   mode_info;
-    
-	/* Determine the splash timeout value (in seconds). */
-	if (timeoutString != NULL && strlen( timeoutString ) > 0)
-	{
-	    sscanf( timeoutString, "%d", &timeout );
-	}
-	
-    /* Install a signal handler to catch SIGUSR2 (which will shut down the window). */
-    signal( SIGUSR2, bringDownSplashWindow );
-  
-	/* Load the splash image from the feature directory. */
-    PgGetVideoMode( &settings );
-    PgGetVideoModeInfo( settings.mode, &mode_info );
-    depth = mode_info.bits_per_pixel;
-    if (featureImage != NULL)
-    	image = PxLoadImage( featureImage, NULL );
-
-    /* If the splash image could not be found, return an error. */
-    if (image == NULL)
-    	return ENOENT;
-
-    /* Create a label widget (only child of top window) with the image. */
-    nArgs = 0;
-	image->flags |= Ph_RELEASE_IMAGE_ALL;
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_LABEL_TYPE, Pt_IMAGE, 0 );
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_LABEL_IMAGE, image, 0 );
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_TEXT_STRING, officialName, 0 );
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_MARGIN_WIDTH, 0, 0 );
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_MARGIN_HEIGHT, 0, 0 );
-    label = PtCreateWidget( PtLabel, topWindow, nArgs, arg );
-    
-    /* Free the image */
-    free( image );
-
-    /* Centre the splash window and display it. */
-    centreWindow( topWindow, label );
-	
-	/* If a timeout for the splash window was given */
-	if (timeout != 0)
-	{
-        PtAddEventHandler( topWindow, Ph_EV_TIMER, splashTimeout, NULL );
-        PtTimerArm( topWindow, (timeout * 1000) );
-	}
-
-    /* Process messages until the splash window is closed or process is terminated. */
- 	while (PtWidgetIsRealized( topWindow ))
- 	{
-  	    PtProcessEvent();
-    }
-
-    /* Destroy the splash window. */
-    PtDestroyWidget( topWindow );
-    topWindow = 0;
-
-    return 0;
-}
-
-
-/* Get the window system specific VM arguments */
-char** getArgVM( char* vm ) 
-{
-    return (isJ9VM( vm ) ? argVM_J9 : argVM_JAVA);
-}
-
-void fixEnvForJ9( char* vm ) {
-    if (isJ9VM( vm )) {
-        char   *ldpath;
-        char   newpath[PATH_MAX+1];
-
-        ldpath = getenv( "LD_LIBRARY_PATH" );
-
-        /* Always dup the string so we can free later */
-        if( ldpath != NULL )
-            ldpath = strdup( ldpath );
-        else
-            ldpath = strdup( "" );
-
-        /* Get the j9 binary location */ 
-        strncpy( newpath, vm, PATH_MAX );
-        dirname( newpath );
-
-		/* Add j9 binary location to LD_LIBRARY_PATH */
-        ldpath = realloc( ldpath, strlen( ldpath ) + strlen( newpath ) + 2 );
-        if( ldpath != NULL )
-        {
-            strcat( ldpath, ":" );
-            strcat( ldpath, newpath );
-        }
-
-        setenv( "LD_LIBRARY_PATH", ldpath, 1 );
-
-        free( ldpath );
-    }
-}
-
-/* Start the Java VM 
- *
- * This method is called to start the Java virtual machine and to wait until it
- * terminates. The function returns the exit code from the JVM.
- */
-int startJavaVM( char* args[] ) 
-{
-    int    exitCode;
-    
-    fixEnvForJ9 (args [0]);
-	
-	/* Create a child process for the JVM. */	
-	jvmProcess = fork();
-	if (jvmProcess == 0) 
-	{
-		/* Child process ... start the JVM */
-		execv( args[0], args );
-		
-		/* The JVM would not start ... return error code to parent process. */
-		jvmExitCode = errno;
-        exit( jvmExitCode );
-	}
-	
-	/* If the JVM is still running, wait for it to terminate. */
-	if (jvmProcess != 0)
-	{
-		wait( &exitCode );
-		jvmExitCode = ((exitCode & 0x00ff) == 0 ? (exitCode >> 8) : exitCode); /* see wait(2) */
-	}
-	
-	/* Return the exit code from the JVM. */
-	return jvmExitCode;
-}
-
-/*------ Local functions -----*/
-
-
-/* Catch a signal that indicates the splash window is to be brought down. */
-static void bringDownSplashWindow( int sig )
-{
-    if (topWindow != 0) 
-    {
-        PtUnrealizeWidget( topWindow );
-    }
-}
-
-
-/* Centre the top window on the screen. */
-
-static void centreWindow( PtWidget_t* window, PtWidget_t* expose )
-{
-    PtArg_t   arg[2];
-    int   nArgs;
-    PhPoint_t pos;
-	PhArea_t area;
-    PhRect_t rect;
-    int width, height;
-
-    /* Realize the top window to calculate its width/height. */
-    PtExtentWidgetFamily( window );
-
-    /* Get the desired dimensions of the window. */
-    PtWidgetArea( window, &area );
-
-    /* Calculate the X and Y position for the window. */
-    PhWindowQueryVisible( Ph_QUERY_WORKSPACE, 0, PhInputGroup(0), &rect );
-    width = rect.lr.x - rect.ul.x + 1;
-    height = rect.lr.y - rect.ul.y + 1;
-    pos.x = rect.ul.x + (width  - area.size.w) / 2;
-    pos.y = rect.ul.y + (height - area.size.h) / 2;
-
-    /* Set the new shell position and display it. */
-    nArgs = 0;
-    PtSetArg( &arg[ nArgs++ ], Pt_ARG_POS, &pos, 0 );
-    PtSetResources( window, nArgs, arg );
-    PtRealizeWidget( window );
-}
-
-
-/* Splash Timeout */
-static int splashTimeout( PtWidget_t* widget, void* data, PtCallbackInfo_t* info )
-{
-    bringDownSplashWindow( 0 );
-   	return 1;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/photon/make_qnx.mak b/bundles/org.eclipse.equinox.executable/library/photon/make_qnx.mak
deleted file mode 100644
index fac6918..0000000
--- a/bundles/org.eclipse.equinox.executable/library/photon/make_qnx.mak
+++ /dev/null
@@ -1,57 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
- 
-# Makefile for creating the Photon eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-
-# Define the object modules to be compiled and flags.
-OBJS = eclipse.o eclipseUtil.o eclipseShm.o eclipseConfig.o eclipsePhoton.o
-EXEC = $(PROGRAM_OUTPUT)
-LIBS = -lph -lphrender -lphexlib
-CFLAGS = -O -s -Wall \
-	-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-DJ9VM -I.. -DPHOTON
-
-all: $(EXEC)
-
-.c.o:
-	$(CC) $(CFLAGS) -c $< -o $@
-
-eclipse.o: ../eclipse.c ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipse.c -o $@
-
-eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseShm.c -o $@
-
-eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@
-
-eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
-	$(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@
-
-$(EXEC): $(OBJS)
-	$(CC) -o $(EXEC) $(OBJS) $(LIBS)
-
-install: all
-	cp $(EXEC) $(OUTPUT_DIR)
-	rm -f $(EXEC) $(OBJS)
-
-clean:
-	rm -f $(EXEC) $(OBJS)
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/.cvsignore b/bundles/org.eclipse.equinox.executable/library/win32/.cvsignore
deleted file mode 100644
index 431170f..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-*.obj
-eclipse.exe
-eclipse.res
-*.pdb
-*.exp
-*.lib
-eclipse_*.dll
-eclipsec.exe
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/build.bat b/bundles/org.eclipse.equinox.executable/library/win32/build.bat
deleted file mode 100644
index b1c49fc..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/build.bat
+++ /dev/null
@@ -1,150 +0,0 @@
-@rem *******************************************************************************
-@rem  Copyright (c) 2000, 2005 IBM Corporation and others.
-@rem  All rights reserved. This program and the accompanying materials
-@rem  are made available under the terms of the Eclipse Public License v1.0
-@rem  which accompanies this distribution, and is available at 
-@rem  http://www.eclipse.org/legal/epl-v10.html
-@rem  
-@rem  Contributors:
-@rem      IBM Corporation - initial API and implementation
-@rem      Kevin Cornell (Rational Software Corporation)
-@rem ********************************************************************** 
-@rem 
-@rem  Usage: sh build.sh [<optional switches>] [clean]
-@rem 
-@rem    where the optional switches are:
-@rem        -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-@rem        -library <PROGRAM_LIBRARY>- dll filename (eclipse.dll)
-@rem        -os     <DEFAULT_OS>      - default Eclipse "-os" value (qnx) 
-@rem        -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value (x86) 
-@rem        -ws     <DEFAULT_WS>      - default Eclipse "-ws" value (photon)
-@rem		-java   <JAVA_HOME>       - location of a Java SDK for JNI headers 
-@rem 
-@rem 
-@rem     This script can also be invoked with the "clean" argument.
-@rem
-@rem NOTE: The C compiler needs to be setup. This script has been
-@rem       tested against Microsoft Visual C and C++ Compiler 6.0.
-@rem	
-@rem Uncomment the lines below and edit MSVC_HOME to point to the
-@rem correct root directory of the compiler installation, if you
-@rem want this to be done by this script.
-@rem 
-@rem ******
-@echo off
-
-IF x.%1==x.x86_64 GOTO X86_64
-IF x.%1==x.ia64 GOTO IA64
-
-:X86
-IF x.%JAVA_HOME%==x. set JAVA_HOME=C:\Dev\Java\IBM-1.5.0-20090707-SR10
-set javaHome=%JAVA_HOME%
-if not x.%MSVC_HOME% == x. goto MAKE
-set MSVC_HOME="C:\Program Files\MS_PLAT_SDK\msvc60\VC98"
-call %MSVC_HOME%\bin\vcvars32.bat
-if not "%mssdk%" == "" goto MAKE
-set mssdk="C:\Program Files\MS_PLAT_SDK\feb2003"
-call %mssdk%\setenv.bat
-IF x.%1==x.x86 shift
-set defaultOSArch=x86
-set makefile=make_win32.mak
-GOTO MAKE
-
-:X86_64
-shift
-set defaultOSArch=x86_64
-IF x.%JAVA_HOME%==x. set JAVA_HOME=C:\Dev\Java\ibm-sdk-n142p-win64-x86
-IF "x.%mssdk%" == "x."   set mssdk="C:\Program Files\MS_SDK_2003_R2"
-set javaHome=%JAVA_HOME%
-set makefile=make_win64.mak
-call %mssdk%\setenv /X64 /RETAIL
-GOTO MAKE
-
-:IA64
-shift
-set defaultOSArch=ia64
-IF x.%JAVA_HOME%==x. set JAVA_HOME=C:\Dev\Java\jdk-1_5_0_04-fcs-bin-b05-windows-ia64
-IF "x.%mssdk%" == "x."   set mssdk="C:\Program Files\MS_SDK_2003_R2"
-set javaHome=%JAVA_HOME%
-set makefile=make_win64_ia64.mak
-call %mssdk%\setenv /SRV64 /RETAIL
-GOTO MAKE
-
-:MAKE 
-rem --------------------------
-rem Define default values for environment variables used in the makefiles.
-rem --------------------------
-set programOutput=eclipse.exe
-set programLibrary=eclipse.dll
-set defaultOS=win32
-set defaultWS=win32
-set OS=Windows
-
-rem --------------------------
-rem Parse the command line arguments and override the default values.
-rem --------------------------
-set extraArgs=
-:WHILE
-if "%1" == "" goto WHILE_END
-    if "%2" == ""       goto LAST_ARG
-
-    if "%1" == "-os" (
-		set defaultOS=%2
-		shift
-		goto NEXT )
-    if "%1" == "-arch" (
-		set defaultOSArch=%2
-		shift
-		goto NEXT )
-    if "%1" == "-ws" (
-		set defaultWS=%2
-		shift
-		goto NEXT )
-    if "%1" == "-output" (
-		set programOutput=%2
-		shift
-		goto NEXT )
-	if "%1" == "-library" (
-		set programLibrary=%2
-		shift
-		goto NEXT )
-	if "%1" == "-java" (
-		set javaHome=%2
-		echo %javaHome%
-		shift
-		goto NEXT )
-:LAST_ARG
-        set extraArgs=%extraArgs% %1
-
-:NEXT
-    shift
-    goto WHILE
-:WHILE_END
-
-rem --------------------------
-rem Set up environment variables needed by the makefile.
-rem --------------------------
-set PROGRAM_OUTPUT=%programOutput%
-set PROGRAM_LIBRARY=%programLibrary%
-set DEFAULT_OS=%defaultOS%
-set DEFAULT_OS_ARCH=%defaultOSArch%
-set DEFAULT_WS=%defaultWS%
-set OUTPUT_DIR=..\..\bin\%defaultWS%\%defaultOS%\%defaultOSArch%
-set JAVA_HOME=%javaHome%
-
-rem --------------------------
-rem Run nmake to build the executable.
-rem --------------------------
-if "%extraArgs%" == "" goto MAKE_ALL
-
-nmake -f %makefile% %extraArgs%
-goto DONE
-
-:MAKE_ALL
-echo Building %OS% launcher. Defaults: -os %DEFAULT_OS% -arch %DEFAULT_OS_ARCH% -ws %DEFAULT_WS%
-nmake -f %makefile% clean
-nmake -f %makefile% %1 %2 %3 %4
-goto DONE
-
-
-:DONE
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/build.sh b/bundles/org.eclipse.equinox.executable/library/win32/build.sh
deleted file mode 100644
index 386f81d..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/build.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-#
-# Usage: sh build.sh [<optional switches>] [clean]
-#
-#   where the optional switches are:
-#       -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-#       -os     <DEFAULT_OS>      - default Eclipse "-os" value
-#       -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value
-#       -ws     <DEFAULT_WS>      - default Eclipse "-ws" value
-#
-#
-#    This script can also be invoked with the "clean" argument.
-
-cd `dirname $0`
-
-# Define default values for environment variables used in the makefiles.
-programOutput="eclipse.exe"
-defaultOS="win32"
-defaultOSArch="x86"
-defaultWS="win32"
-makefile="make_mingw.mak"
-OS="Windows"
-
-# Parse the command line arguments and override the default values.
-extraArgs=""
-while [ "$1" != "" ]; do
-    if [ "$1" = "-os" ] && [ "$2" != "" ]; then
-        defaultOS="$2"
-        shift
-    elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then
-        defaultOSArch="$2"
-        shift
-    elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then
-        defaultWS="$2"
-        shift
-    elif [ "$1" = "-output" ] && [ "$2" != "" ]; then
-        programOutput="$2"
-        shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-# Set up environment variables needed by the makefiles.
-PROGRAM_OUTPUT="$programOutput"
-DEFAULT_OS="$defaultOS"
-DEFAULT_OS_ARCH="$defaultOSArch"
-DEFAULT_WS="$defaultWS"
-OUTPUT_DIR=../../bin/$defaultWS/$defaultOS/$defaultOSArch
-
-export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS
-
-# If the OS is supported (a makefile exists)
-if [ "$makefile" != "" ]; then
-	if [ "$extraArgs" != "" ]; then
-		make -f $makefile $extraArgs
-	else
-		echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS"
-		make -f $makefile clean
-		make -f $makefile all
-	fi
-else
-	echo "Unknown OS ($OS) -- build aborted"
-fi
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/build.xml b/bundles/org.eclipse.equinox.executable/library/win32/build.xml
deleted file mode 100644
index a5a99ab..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/build.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="${basedir}\build.bat">
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="platform-launcher" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="${basedir}\build.bat">
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest b/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest
deleted file mode 100644
index dda1534..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-	<assemblyIdentity version="3.1.0.0" processorArchitecture="*" name="Eclipse Launcher" type="win32"/>
-	<description>Standard Widget Toolkit</description>
-	<dependency>
-		<dependentAssembly>
-			<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
-		</dependentAssembly>
-	</dependency>
-</assembly>
-	
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.ico b/bundles/org.eclipse.equinox.executable/library/win32/eclipse.ico
deleted file mode 100644
index 5b2f132..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.ico
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.rc b/bundles/org.eclipse.equinox.executable/library/win32/eclipse.rc
deleted file mode 100644
index 723baa7..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.rc
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#define ECLIPSE_ICON  401
-
-#include "windows.h"
-#include "winver.h"
-
-
-ECLIPSE_ICON            ICON    DISCARDABLE     "eclipse.ico"
-
-CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "eclipse.exe.manifest" 
-
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c
deleted file mode 100644
index 11ec827..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c
+++ /dev/null
@@ -1,605 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
-
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include "eclipseCommon.h"
-#include "eclipseJNI.h"
-#include "eclipseShm.h"
-
-#include <windows.h>
-#include <commctrl.h>
-#include <process.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-
-#ifdef __MINGW32__
-#include <stdlib.h>
-#endif
-
-extern HWND topWindow;
-
-/* Global Variables */
-_TCHAR*  defaultVM     = _T("javaw.exe");
-_TCHAR*  consoleVM     = _T("java.exe");
-_TCHAR*  vmLibrary 	   = _T("jvm.dll");
-_TCHAR*  shippedVMDir  = _T("jre\\bin\\");
-
-/* Define local variables for communicating with running eclipse instance. */
-static HANDLE	mutex;
-static UINT		findWindowTimeout = 1000;
-static UINT_PTR findWindowTimerId = 97;
-static UINT		timerCount = 0;
-static UINT		openFileTimeout = 60;
-static _TCHAR**	openFilePath;
-
-/* Define the window system arguments for the Java VM. */
-static _TCHAR*  argVM[] = { NULL };
-
-/* Define local variables for running the JVM and detecting its exit. */
-static HANDLE  jvmProcess     = 0;
-static JavaResults* jvmResults = NULL;
-static UINT    jvmExitTimeout = 100;
-static UINT_PTR jvmExitTimerId = 99;
-
-static void CALLBACK findWindowProc(HWND hwnd, UINT message, UINT idTimer, DWORD dwTime);
-static void CALLBACK  detectJvmExit( HWND hwnd, UINT uMsg, UINT id, DWORD dwTime );
-static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName);
-static void adjustSearchPath( _TCHAR * vmLibrary );
-static _TCHAR* findLib( _TCHAR* command );
-
-/* define default locations in which to find the jvm shared library
- * these are paths relative to the java exe, the shared library is
- * for example jvmLocations[0] + dirSeparator + vmLibrary */
-#define MAX_LOCATION_LENGTH 25 /* none of the jvmLocations strings should be longer than this */ 
-static const _TCHAR* jvmLocations [] = { _T("j9vm"), _T("..\\jre\\bin\\j9vm"),
-										 _T("client"), _T("..\\jre\\bin\\client"), 
-										 _T("server"), _T("..\\jre\\bin\\server"),
-										 _T("classic"), _T("..\\jre\\bin\\classic"),
-										 _T("jrockit"), _T("..\\jre\\bin\\jrockit"),
-								 		 NULL };
-
-/* for detecting sun vms */
-typedef struct {
-	WORD language;
-	WORD codepage;
-} TRANSLATIONS;
-
-#define COMPANY_NAME_KEY _T_ECLIPSE("\\StringFileInfo\\%04x%04x\\CompanyName")
-#define SUN_MICROSYSTEMS _T_ECLIPSE("Sun Microsystems")
-
-static void sendOpenFileMessage(HWND window) {
-	_TCHAR* id;
-	UINT msg;
-	int index = 0;
-	int size = 0;
-	DWORD wParam;
-#ifdef WIN64
-	DWORDLONG lParam;
-#else
-	DWORD lParam;
-#endif
-
-	/* what's the longest path? */
-	while (openFilePath[index] != NULL) {
-		int length = _tcslen(openFilePath[index++]);
-		if (size <= length)
-			size = length + 1;
-	}
-
-	createSharedData(&id, size * sizeof(_TCHAR));
-	_stscanf(id, _T_ECLIPSE("%lx_%lx"), &wParam, &lParam);
-	msg = RegisterWindowMessage(_T("SWT_OPENDOC"));
-
-	index = 0;
-	for(index = 0; openFilePath[index] != NULL; index++) {
-		/* SendMessage does not return until the message has been processed */
-		setSharedData(id, openFilePath[index]);
-		SendMessage(window, msg, wParam, lParam);
-	}
-	destroySharedData(id);
-	free(id);
-}
-
-static HWND findSWTMessageWindow() {
-	HWND window = NULL;
-	_TCHAR *windowTitle, *windowPrefix, *name;
-
-	windowPrefix = _T("SWT_Window_");
-	name = getOfficialName();
-	windowTitle = malloc((_tcslen(windowPrefix) + _tcslen(name) + 1) * sizeof(_TCHAR));
-	_stprintf(windowTitle, _T_ECLIPSE("%s%s"), windowPrefix, name);
-	window = FindWindow(NULL, windowTitle);
-	free(windowTitle);
-	return window;
-}
-
-static void CALLBACK findWindowProc(HWND hwnd, UINT message, UINT idTimer, DWORD dwTime) {
-	HWND window = findSWTMessageWindow();
-	if (window != NULL) {
-		sendOpenFileMessage(window);
-		ReleaseMutex(mutex);
-		CloseHandle(mutex);
-		KillTimer(hwnd, findWindowTimerId);
-		return;
-	}
-	
-	/* no window yet, set timer to try again later */
-	if (timerCount++ >= openFileTimeout) {
-		KillTimer(hwnd, findWindowTimerId);
-		ReleaseMutex(mutex);
-		CloseHandle(mutex);
-	}
-}
-
-/* return > 0 if we successfully send a message to another eclipse instance */
-int reuseWorkbench(_TCHAR** filePath, int timeout) {
-	_TCHAR*   mutexPrefix = _T("SWT_Mutex_");
-	_TCHAR*   mutexName, *name;
-	DWORD 	  lock;
-	HWND 	  window = NULL;
-
-	/* store for later */
-	openFilePath = filePath;
-	openFileTimeout = timeout;
-	
-	name = getOfficialName();
-	mutexName = malloc((_tcslen(mutexPrefix) + _tcslen(name)  + 1) * sizeof(_TCHAR));
-	_stprintf(mutexName, _T_ECLIPSE("%s%s"), mutexPrefix, name);
-	mutex = CreateMutex(NULL, FALSE, mutexName);
-	free(mutexName);
-	if (mutex == NULL) return -1;
-	
-	//wait for timeout seconds
-	lock = WaitForSingleObject(mutex, timeout * 1000);
-	if (lock != WAIT_OBJECT_0) {
-		/* failed to get the lock before timeout, We won't be reusing an existing eclipse. */
-		CloseHandle(mutex);
-		return 0;
-	}
-	
-	/* we have the mutex, look for the SWT window */
-	window = findSWTMessageWindow();
-	if (window != NULL) {
-		sendOpenFileMessage(window);
-		ReleaseMutex(mutex);
-		CloseHandle(mutex);
-		return 1; /* success! */
-	} 
-	
-	/* no window, set a timer to look again later */
-	if (initWindowSystem(0, NULL, 0) == 0)
-		SetTimer( topWindow, findWindowTimerId, findWindowTimeout, findWindowProc );
-	
-	return 0;
-}
-
-/* Show the Splash Window
- *
- * Open the bitmap, insert into the splash window and display it.
- *
- */
-int showSplash( const _TCHAR* featureImage )
-{
-	static int splashing = 0;
-    HBITMAP hBitmap = 0;
-    BITMAP  bmp;
-    HDC     hDC;
-    int     depth;
-    int     x, y;
-    int     width, height;
-
-	if(splashing) {
-		/*splash screen is already showing, do nothing */
-		return 0;
-	}
-	if (featureImage == NULL)
-		return -1;
-	
-	/* if Java was started first and is calling back to show the splash, we might not
-	 * have initialized the window system yet
-	 */
-	initWindowSystem(0, NULL, 1);
-	
-    /* Load the bitmap for the feature. */
-    hDC = GetDC( NULL);
-    depth = GetDeviceCaps( hDC, BITSPIXEL ) * GetDeviceCaps( hDC, PLANES);
-    ReleaseDC(NULL, hDC);
-    if (featureImage != NULL)
-    	hBitmap = LoadImage(NULL, featureImage, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
-
-    /* If the bitmap could not be found, return an error. */
-    if (hBitmap == 0)
-    	return ERROR_FILE_NOT_FOUND;
-    
-	GetObject(hBitmap, sizeof(BITMAP), &bmp);
-
-    /* figure out position */
-    width = GetSystemMetrics (SM_CXSCREEN);
-    height = GetSystemMetrics (SM_CYSCREEN);
-    x = (width - bmp.bmWidth) / 2;
-    y = (height - bmp.bmHeight) / 2;
-
-	/* Centre the splash window and display it. */
-    SetWindowPos (topWindow, 0, x, y, bmp.bmWidth, bmp.bmHeight, SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE);
-    SendMessage( topWindow, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hBitmap );
-    ShowWindow( topWindow, SW_SHOW );
-    BringWindowToTop( topWindow );
-	splashing = 1;
-	
-    /* Process messages */
-	dispatchMessages();
-	return 0;
-}
-
-void dispatchMessages() {
-	MSG     msg;
-	
-	if(topWindow == 0)
-		return;
-	while (PeekMessage( &msg, NULL, 0, 0, PM_REMOVE))
-   	{
-		TranslateMessage( &msg );
-		DispatchMessage( &msg );
-	}
-}
-
-jlong getSplashHandle() {
-	return (jlong)topWindow;
-}
-
-void takeDownSplash() {
-	if(topWindow != NULL) {
-		DestroyWindow(topWindow);
-		dispatchMessages();
-		topWindow = 0;
-	}
-}
-
-/* Get the window system specific VM args */
-_TCHAR** getArgVM( _TCHAR *vm )
-{
-	return argVM;
-}
-
-/* Local functions */
-
-_TCHAR * findVMLibrary( _TCHAR* command ) {
-	_TCHAR* lib = findLib(command);
-	if( lib != NULL ) {
-		adjustSearchPath(lib);
-	}
-	return lib;
-}
-
-void adjustSearchPath( _TCHAR* vmLib ){
-	_TCHAR ** paths;
-	_TCHAR * path = NULL, *newPath = NULL;
-	_TCHAR * c;
-	int i, length;
-	int needAdjust = 0, freePath = 0;
-	
-	paths = getVMLibrarySearchPath(vmLib);
-	
-	/* first call to GetEnvironmentVariable tells us how big to make the buffer */
-	length = GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, 0);
-	if (length > 0) {
-		path = malloc(length * sizeof(_TCHAR));
-		GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, length);
-		needAdjust = !containsPaths(path, paths);
-		freePath = 1;
-	} else {
-		path = _T_ECLIPSE("");
-		freePath = 0;
-		needAdjust = 1;
-	}
-	
-	if (needAdjust) {
-		c = concatStrings(paths);
-		newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR));
-		_stprintf(newPath, _T_ECLIPSE("%s%s"), c, path);
-		SetEnvironmentVariable( _T_ECLIPSE("PATH"), newPath);
-		free(c);
-		free(newPath);
-	}
-	
-	for (i = 0; paths[i] != NULL; i++)
-		free(paths[i]);
-	free(paths);
-	if (freePath)
-		free(path);
-}
-/*
- * Find the VM shared library starting from the java executable 
- */
-static _TCHAR* findLib( _TCHAR* command ) {
-	int i, j;
-	size_t pathLength;	
-	struct _stat stats;
-	_TCHAR * path;				/* path to resulting jvm shared library */
-	_TCHAR * location;			/* points to begining of jvmLocations section of path */
-	
-	/* for looking in the registry */
-	HKEY jreKey = NULL;
-	DWORD length = MAX_PATH;
-	_TCHAR keyName[MAX_PATH];
-	_TCHAR * jreKeyName;		
-	
-	if (command != NULL) {
-		location = lastDirSeparator( command ) + 1;
-		
-		/*check first to see if command already points to the library */
-		if (isVMLibrary(command)) {
-			if (_tstat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-				return command; 	/* exists */
-			return NULL; /* doesn't exist */
-		}
-		
-		pathLength = (size_t) (location - command);
-		path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR));
-		_tcsncpy(path, command, pathLength);
-		location = &path[pathLength];
-		 
-		/* 
-		 * We are trying base/jvmLocations[*]/vmLibrary
-		 * where base is the directory containing the given java command, normally jre/bin
-		 */
-		i = -1;
-		while(jvmLocations[++i] != NULL) {
-			_stprintf(location, _T_ECLIPSE("%s%c%s"), jvmLocations[i], dirSeparator, vmLibrary);
-			if (_tstat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/* found it */
-				return path;
-			}
-		}
-		
-		/* if command is eclipse/jre, don't look in registry */
-		 location = malloc( (_tcslen( getProgramDir() ) + _tcslen( shippedVMDir ) + 1) * sizeof(_TCHAR) );
-        _stprintf( location, _T_ECLIPSE("%s%s"), getProgramDir(), shippedVMDir );
-        if( _tcsncmp(command, location, _tcslen(location)) == 0) {
-        	free(location);
-        	return NULL;
-        }
-        free(location);
-	}
-	
-	/* Not found yet, try the registry, we will use the first vm >= 1.4 */
-	jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment");
-	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) {
-		if(RegQueryValueEx(jreKey, _T_ECLIPSE("CurrentVersion"), NULL, NULL, (void*)&keyName, &length) == ERROR_SUCCESS) {
-			path = checkVMRegistryKey(jreKey, keyName);
-			if (path != NULL) {
-				RegCloseKey(jreKey);
-				return path;
-			}
-		}
-		j = 0;
-		length = MAX_PATH;
-		while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) {  
-			/*look for a 1.4 or 1.5 vm*/ 
-			if( _tcsncmp(_T("1.4"), keyName, 3) <= 0 ) {
-				path = checkVMRegistryKey(jreKey, keyName);
-				if (path != NULL) {
-					RegCloseKey(jreKey);
-					return path;
-				}
-			}
-		}
-		RegCloseKey(jreKey);
-	}
-	return NULL;
-}
-
-/*
- * Read the subKeyName subKey of jreKey and look to see if it has a Value 
- * "RuntimeLib" which points to a jvm library we can use 
- * 
- * Does not close jreKey
- */
-static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) {
-	_TCHAR value[MAX_PATH];
-	HKEY subKey = NULL;
-	DWORD length = MAX_PATH;
-	_TCHAR *result = NULL;
-	struct _stat stats;
-	
-	if(RegOpenKeyEx(jreKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) {				
-		/*The RuntimeLib value should point to the library we want*/
-		if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (void*)&value, &length) == ERROR_SUCCESS) {
-			if (_tstat( value, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/*library exists*/
-				result = _tcsdup(value);
-			}
-		}
-		RegCloseKey(subKey);
-	}
-	return result;
-}
-
-static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] )
-{
-	int   index, slash;
-	size_t length = 0;
-	_TCHAR *commandLine, *ch, *space;
-
-	/*
-	* Build the command line. Any argument with spaces must be in
-	* double quotes in the command line. 
-	*/
-	if(program != NULL) 
-		length = _tcslen(program) + 1;
-	for (index = 0; args[index] != NULL; index++)
-	{
-		/* String length plus space character */
-		length += _tcslen( args[ index ] ) + 1;
-		/* Quotes + potential escaping '\' */
-		if (_tcschr( args[ index ], _T(' ') ) != NULL) length += 3;
-	}
-	
-	commandLine = ch = malloc ( (length + 1) * sizeof(_TCHAR) );
-	if (program != NULL) {
-		_tcscpy(ch, program);
-		ch += _tcslen(program);
-		*ch++ = _T(' ');
-	}
-	for (index = 0; args[index] != NULL; index++)
-	{
-		space = _tcschr( args[ index ], _T(' '));
-		if (space != NULL) *ch++ = _T('\"');
-		_tcscpy( ch, args[index] );
-		ch += _tcslen( args[index] );
-		if (space != NULL) {
-			if ( *(ch - 1) == _T('\\') ) {
-				/* escape a trailing unescaped '\' or it will escape our closing '"' and mess things up */
-				slash = 1;
-				while ( *(ch - 1 - slash) == _T('\\')) slash++;
-				if (slash % 2) *ch++ = _T('\\');
-			}
-			*ch++ = _T('\"');
-		}
-		*ch++ = _T(' ');
-	}
-	*ch = _T('\0');
-	return commandLine;
-}
-void restartLauncher( _TCHAR* program, _TCHAR* args[] )
-{
-	_TCHAR* commandLine = buildCommandLine(program, args);
-	
-	{
-	STARTUPINFO    si;
-    PROCESS_INFORMATION  pi;
-    GetStartupInfo(&si);
-    if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) {
-    	CloseHandle( pi.hThread );
-    }   
-	}
-	free(commandLine);
-}
-
-JavaResults* launchJavaVM( _TCHAR* args[] )
-{
-	MSG msg;
-	_TCHAR* commandLine;
-	jvmProcess = 0;
-	commandLine = buildCommandLine(NULL, args);
-	jvmResults = malloc(sizeof(JavaResults));
-	memset(jvmResults, 0, sizeof(JavaResults));
-	
-	/*
-	* Start the Java virtual machine. Use CreateProcess() instead of spawnv()
-	* otherwise the arguments cannot be freed since spawnv() segments fault.
-	*/
-	{
-	STARTUPINFO    si;
-    PROCESS_INFORMATION  pi;
-    GetStartupInfo(&si);
-    if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) {
-    	CloseHandle( pi.hThread );
-    	jvmProcess = pi.hProcess;
-    } else {
-    	jvmResults->launchResult = errno;
-    }
-	}
-
-	free( commandLine );
-
-	if (jvmProcess > 0)
-	{
-        /* Set a timer to detect JVM process termination. */
-        SetTimer( topWindow, jvmExitTimerId, jvmExitTimeout, detectJvmExit );
-
-    	/* Process messages until the JVM terminates.
-    	   This launcher process must continue to process events until the JVM exits
-    	   or else Windows 2K will hang if the desktop properties (e.g., background) are
-    	   changed by the user. Windows does a SendMessage() to every top level window
-    	   process, which blocks the caller until the process responds. */
-   		while (jvmProcess != 0)
-   		{
-   			GetMessage( &msg, NULL, 0, 0 );
-			TranslateMessage( &msg );
-			DispatchMessage( &msg );
-		}
-
-		/* Kill the timer. */
-        KillTimer( topWindow, jvmExitTimerId );
-	}
-
-	/* Return the exit code from the JVM. */
-	return jvmResults;
-}
-
-/* Detect JVM Process Termination */
-static void CALLBACK detectJvmExit( HWND hwnd, UINT uMsg, UINT id, DWORD dwTime )
-{
-    DWORD   exitCode;
-
-    /* If the JVM process has terminated */
-    if (!GetExitCodeProcess( (HANDLE)jvmProcess, &exitCode ) ||
-    		 exitCode != STILL_ACTIVE)
-    {
-    	/* Save the JVM exit code. This should cause the loop in launchJavaVM() to exit. */
-        jvmResults->runResult = exitCode;
-        jvmProcess = 0;
-    }
-}
-
-void processVMArgs(_TCHAR **vmargs[] ) {
-	/* nothing yet */
-}
-
-JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile )
-{
-	return startJavaJNI(libPath, vmArgs, progArgs, jarFile);
-}
-
-int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) {
-	_TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM;
-	int result = 0;
-	DWORD infoSize;
-	DWORD handle;
-	void * info;
-	
-	_TCHAR * key, *value;
-	size_t i;
-	int valueSize;
-	
-	if (vm == NULL)
-		return 0;
-	
-	infoSize = GetFileVersionInfoSize(vm, &handle);
-	if (infoSize > 0) {
-		info = malloc(infoSize);
-		if (GetFileVersionInfo(vm, 0,  infoSize, info)) {
-			TRANSLATIONS * translations;
-			int translationsSize;
-			VerQueryValue(info,  _T_ECLIPSE("\\VarFileInfo\\Translation"), (void *) &translations, &translationsSize);
-			
-			/* this size is only right because %04x is 4 characters */
-			key = malloc( (_tcslen(COMPANY_NAME_KEY) + 1) * sizeof(_TCHAR));
-			for (i = 0; i < (translationsSize / sizeof(TRANSLATIONS)); i++) {
-				_stprintf(key, COMPANY_NAME_KEY, translations[i].language, translations[i].codepage);
-				
-				VerQueryValue(info, key, (void *)&value, &valueSize);
-				if (_tcsncmp(value, SUN_MICROSYSTEMS, _tcslen(SUN_MICROSYSTEMS)) == 0) {
-					result = 1;
-					break;
-				}
-			}
-			free(key);
-		}
-		free(info);
-	}
-	return result;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c
deleted file mode 100644
index 48f38b3..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-
-#include <windows.h>
-#include <stdlib.h>
-#include <commctrl.h>
-
-#define ECLIPSE_ICON  401
-
-_TCHAR   dirSeparator  = _T('\\');
-_TCHAR   pathSeparator = _T(';');
-
-/* Global Main Window*/
-HWND    topWindow = 0;
-
-/* Define local variables for the main window. */
-/*static WNDPROC oldProc;*/
-
-static int initialized = 0;
-
-/* Display a Message */
-void displayMessage( _TCHAR* title, _TCHAR* message )
-{
-	if(!initialized)
-		initWindowSystem(0, NULL, 0);
-	MessageBox( topWindow, message, title, MB_OK );
-}
-
-/* Initialize Window System
- *
- * Create a pop window to display the bitmap image.
- *
- * Return the window handle as the data for the splash command.
- *
- */
-int initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash )
-{
-	HINSTANCE module = GetModuleHandle(NULL);
-	HICON icon = NULL;
-	
-	if(initialized)
-		return 0;
-
-	icon = LoadIcon(module, MAKEINTRESOURCE(ECLIPSE_ICON)); 
-    if (icon == NULL) {
-    	HMODULE hm = LoadLibraryEx(getProgramPath(), 0, LOAD_LIBRARY_AS_DATAFILE & 0x2 /*LOAD_LIBRARY_AS_IMAGE_RESOURCE*/);
-    	if (hm != NULL)
-    		icon = LoadIcon(hm, MAKEINTRESOURCE(ECLIPSE_ICON));
-    }
-    
-    /* Create a window that has no decorations. */
-	InitCommonControls();
-    topWindow = CreateWindowEx ( icon != NULL ? 0 : WS_EX_TOOLWINDOW,
-		_T("STATIC"),
-		getOfficialName(),
-		SS_BITMAP | WS_POPUP | WS_CLIPCHILDREN,
-		CW_USEDEFAULT,
-		0,
-		CW_USEDEFAULT,
-		0,
-		NULL,
-		NULL,
-		module,
-		NULL);
-
-    if (icon != NULL)
-#ifdef WIN64
-    	SetClassLongPtr(topWindow, GCLP_HICON, (LONG_PTR)icon);
-#else
-    	SetClassLong(topWindow, GCL_HICON, (LONG)icon);
-#endif
-
-	initialized = 1;
-	return 0;
-}
-
-/* Load the specified shared library
- */
-void * loadLibrary( _TCHAR * library ){
-	return LoadLibrary(library);
-}
-
-/* Unload the shared library
- */
-void unloadLibrary( void * handle ){
-	FreeLibrary(handle);
-}
- 
-/* Find the given symbol in the shared library
- */
-void * findSymbol( void * handle, _TCHAR * symbol ){
-	char * str = NULL;
-	void * result;
-	
-	str = toNarrow(symbol);
-	result = GetProcAddress(handle, str);
-	free(str);
-	return result;
-}
-
-_TCHAR* resolveSymlinks( _TCHAR* path ) {
-	/* no symlinks on windows */
-	return path;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak
deleted file mode 100644
index 9feb80e..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak
+++ /dev/null
@@ -1,127 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#     Silenio Quarti (IBM)
-#     Sam Robb (TimeSys Corporation)
-#*******************************************************************************
-include ../make_version.mak
-# Makefile for creating the eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the file of the output shared library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-
-#if PROGRAM_OUTPUT is not set, assume eclipse.exe
-ifeq ($(PROGRAM_OUTPUT),)
-  PROGRAM_OUTPUT=eclipse.exe
-endif
-
-# Separate filename from extention
-PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=)
-
-PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).dll
-
-# Allow for cross-compiling under linux
-OSTYPE	?= $(shell if uname -s | grep -iq cygwin ; then echo cygwin; else echo linux; fi)
-
-ifeq ($(OSTYPE),cygwin)
-CCVER   = i686
-CC      = i686-pc-cygwin-gcc-3
-RC      = windres
-else
-CCVER   = i586
-CC      = $(shell which i586-pc-cygwin-gcc)
-TDIR    = $(dir $(shell test -L $(CC) && readlink $(CC) || echo $(CC)))
-RC      = $(TDIR)/i586-pc-cygwin-windres
-SYSINC  = -isystem $(TDIR)/../include/mingw
-endif
-
-ifeq ($(CC),)
-$(error Unable to find $(CCVER)-pc-cygwin-gcc)
-endif
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.o 
-COMMON_OBJS = eclipseConfig.o eclipseCommon.o   eclipseWinCommon.o
-DLL_OBJS	= eclipse.o  eclipseWin.o  eclipseUtil.o  eclipseJNI.o eclipseShm.o
-	  		  
-LIBS	= -lkernel32 -luser32 -lgdi32 -lcomctl32 -lmsvcrt -lversion
-LDFLAGS = -mwindows -mno-cygwin
-CONSOLEFLAGS = -mconsole -mno-cygwin
-DLL_LDFLAGS = -mno-cygwin -shared -Wl,--export-all-symbols -Wl,--kill-at,--image-base=0x72000000
-RES	= $(PROGRAM_NAME).res
-CONSOLE = $(PROGRAM_NAME)c.exe
-EXEC	= $(PROGRAM_OUTPUT)
-DLL     = $(PROGRAM_LIBRARY)
-DEBUG	= $(CDEBUG)
-CFLAGS	= -g -s -Wall \
-	  -I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/win32 $(SYSINC) \
-	  -D_WIN32 \
-	  -DWIN32_LEAN_AND_MEAN \
-	  -mno-cygwin -D__int64="long long"
-WCFLAGS = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	  -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	  -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	  $(DEBUG) $(CFLAGS)
-
-all: $(EXEC) $(DLL) $(CONSOLE)
-
-eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseMain.c
-	
-eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseCommon.c
-	
-eclipseWinCommon.o: ../eclipseCommon.h eclipseWinCommon.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ eclipseWinCommon.c
-
-eclipse.o: ../eclipseOS.h ../eclipseUnicode.h ../eclipseJNI.h ../eclipseCommon.h ../eclipse.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipse.c
-
-eclipseUtil.o: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseUtil.c
-
-eclipseConfig.o: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseConfig.c
-	
-eclipseWin.o: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ eclipseWin.c
-
-eclipseJNI.o: ../eclipseUnicode.h ../eclipseJNI.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseJNI.c
-	
-eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseShm.c
-	
-$(RES): $(PROGRAM_NAME).rc
-	$(RC) --output-format=coff --include-dir=.. -o $@ $<
-
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
-	$(CC) $(LDFLAGS) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-
-#the console version needs a flag set, should look for a better way to do this
-$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) 
-	rm -f eclipseConfig.o aeclipseConfig.o
-	$(CC) $(DEBUG) $(WCFLAGS) -D_WIN32_CONSOLE -c -o eclipseConfig.o ../eclipseConfig.c
-	$(CC) $(CONSOLEFLAGS) -o $(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-	$(CC) $(DLL_LDFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
-	
-install: all
-	cp $(EXEC) $(DLL) $(CONSOLE) $(OUTPUT_DIR) 
-	rm -f $(EXEC) $(DLL_OBJS) $(COMMON_OBJS) $(MAIN_OBJS) $(RES) $(CONSOLE)
-
-clean:
-	$(RM) $(EXEC) $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(MAIN_OBJS) $(RES) $(CONSOLE)
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_win32.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_win32.mak
deleted file mode 100644
index 48ffefb..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/make_win32.mak
+++ /dev/null
@@ -1,103 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-
-# Makefile for creating the eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output dll library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME       - the location of the Java for JNI includes
-NODEBUG=1
-!include <ntwin32.mak>
-!include <..\make_version.mak>
-
-PROGRAM_OUTPUT=eclipse.exe
-# Separate filename from extention
-PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=)
-
-PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.obj
-COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj   eclipseWinCommon.obj
-DLL_OBJS	= eclipse.obj  eclipseWin.obj  eclipseUtil.obj  eclipseJNI.obj eclipseShm.obj
-
-LIBS   = kernel32.lib user32.lib comctl32.lib msvcrt.lib
-DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib
-LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup
-CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console,4.0 -entry:wmainCRTStartup
-DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL
-RES	= $(PROGRAM_NAME).res
-EXEC	= $(PROGRAM_OUTPUT)
-CONSOLE = $(PROGRAM_NAME)c.exe
-DLL    = $(PROGRAM_LIBRARY)
-DEBUG  = #$(cdebug)
-wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \
-	$(cflags)
-
-all: $(EXEC) $(DLL) $(CONSOLE)
-
-eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseMain.c
-
-eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c
-
-eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipse.c
-
-eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c
-
-eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c
-
-eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWin.c
-
-eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWinCommon.c
-
-eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
-	$(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c
-
-eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseShm.c
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
-    $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-
-#the console version needs a flag set, should look for a better way to do this
-$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS)
-	del -f eclipseConfig.obj aeclipseConfig.obj
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c
-    $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-    $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS)
-
-$(RES): $(PROGRAM_NAME).rc
-    $(rc) -r -fo $(RES) eclipse.rc
-
-install: all
-	copy $(EXEC) $(OUTPUT_DIR)
-	del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
-   
-clean:
-	del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak
deleted file mode 100644
index f1faaab..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak
+++ /dev/null
@@ -1,107 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2007, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#*******************************************************************************
-
-# Makefile for creating the eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output dll library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME       - the location of the Java for JNI includes
-NODEBUG=1
-
-APPVER=4.0
-_WIN32_WINNT=0x0400
-_WIN32_IE=0x0300
-
-!include <ntwin32.mak>
-!include <..\make_version.mak>
-
-PROGRAM_OUTPUT=eclipse.exe
-# Separate filename from extention
-PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=)
-
-PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.obj
-COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj   eclipseWinCommon.obj
-DLL_OBJS	= eclipse.obj  eclipseWin.obj  eclipseUtil.obj  eclipseJNI.obj eclipseShm.obj
-
-LIBS   = kernel32.lib user32.lib comctl32.lib msvcrt.lib bufferoverflowU.lib
-DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib bufferoverflowU.lib
-LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup
-CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup
-#DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL
-DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO  -dll /BASE:0x72000000 /DLL
-RES	= $(PROGRAM_NAME).res
-EXEC	= $(PROGRAM_OUTPUT)
-CONSOLE = $(PROGRAM_NAME)c.exe
-DLL    = $(PROGRAM_LIBRARY)
-DEBUG  = #$(cdebug)
-wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \
-	$(cflags)
-all: $(EXEC) $(DLL) $(CONSOLE)
-
-eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseMain.c
-
-eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c
-
-eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipse.c
-
-eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c
-
-eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c
-
-eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWin.c
-
-eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c
-    $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWinCommon.c
-
-eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
-	$(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c
-
-eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseShm.c
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
-    $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-
-#the console version needs a flag set, should look for a better way to do this
-$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS)
-	del -f eclipseConfig.obj aeclipseConfig.obj
-	$(cc) $(DEBUG) $(wcflags) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c
-    $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-    $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS)
-
-$(RES): $(PROGRAM_NAME).rc
-    $(rc) -r -fo $(RES) eclipse.rc
-
-install: all
-	copy $(EXEC) $(OUTPUT_DIR)
-	del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
-   
-clean:
-	del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_win64_ia64.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_win64_ia64.mak
deleted file mode 100644
index 5d9ff5c..0000000
--- a/bundles/org.eclipse.equinox.executable/library/win32/make_win64_ia64.mak
+++ /dev/null
@@ -1,108 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-
-# Makefile for creating the eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output dll library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME       - the location of the Java for JNI includes
-NODEBUG=1
-!include <ntwin32.mak>
-!include <..\make_version.mak>
-
-PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.obj
-COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj   eclipseWinCommon.obj
-DLL_OBJS	= eclipse.obj  eclipseWin.obj  eclipseUtil.obj  eclipseJNI.obj eclipseShm.obj
-
-# using dynamic lib
-#LIBS   = kernel32.lib user32.lib comctl32.lib msvcrt.lib
-#DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib
-
-LIBS   = kernel32.lib user32.lib comctl32.lib libcmt.lib bufferoverflowU.lib
-DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib libcmt.lib version.lib bufferoverflowU.lib
-# LIBS   = kernel32.lib user32.lib gdi32.lib comctl32.lib bufferoverflowu.lib
-# LFLAGS = /INCREMENTAL:NO /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64
-
-# was: windows
-LFLAGS       = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64
-CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup -machine:IA64
-DLL_LFLAGS   = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO /PDB:NONE -entry:_DllMainCRTStartup -dll /BASE:0x72000000 /DLL -machine:IA64
-RES    = eclipse.res
-EXEC   = eclipse.exe
-CONSOLE = eclipsec.exe
-DLL    = $(PROGRAM_LIBRARY)
-DEBUG  = #$(cdebug)
-wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \
-	$(cflags) -D_CRT_SECURE_NO_WARNINGS -D_CRT_NON_CONFORMING_SWPRINTFS
-all: $(EXEC) $(DLL) $(CONSOLE)
-
-eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseMain.c
-
-eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseCommon.c
-
-eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c
-    $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipse.c
-
-eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c
-    $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseUtil.c
-
-eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c
-    $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseConfig.c
-
-eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
-    $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWin.c
-
-eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c
-    $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWinCommon.c
-
-eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
-	$(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseJNI.c
-
-eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseShm.c
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
-    $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-#$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
-#    $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-
-#the console version needs a flag set, should look for a better way to do this
-$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS)
-	del -f eclipseConfig.obj aeclipseConfig.obj
-	$(cc) $(DEBUG) $(wcflags) $(cvars) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c
-    $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-    $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS)
-
-$(RES): eclipse.rc
-    $(rc) -v -r -fo $(RES) eclipse.rc
-
-install: all
-	copy $(EXEC) $(OUTPUT_DIR)
-	del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
-   
-clean:
-	del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/.cvsignore b/bundles/org.eclipse.equinox.executable/library/wpf/.cvsignore
deleted file mode 100644
index b5e85ec..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/.cvsignore
+++ /dev/null
@@ -1,12 +0,0 @@
-*.obj
-eclipse.exe
-eclipse.res
-*.pdb
-*.exp
-*.lib
-eclipse_*.dll
-com_*.dll
-eclipsec.exe
-eclipsec.exe.manifest
-eclipse_*.dll.manifest
-eclipse.exe.manifest
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/build.bat b/bundles/org.eclipse.equinox.executable/library/wpf/build.bat
deleted file mode 100644
index 7d70ff6..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/build.bat
+++ /dev/null
@@ -1,126 +0,0 @@
-@rem *******************************************************************************
-@rem  Copyright (c) 2000, 2005 IBM Corporation and others.
-@rem  All rights reserved. This program and the accompanying materials
-@rem  are made available under the terms of the Eclipse Public License v1.0
-@rem  which accompanies this distribution, and is available at 
-@rem  http://www.eclipse.org/legal/epl-v10.html
-@rem  
-@rem  Contributors:
-@rem      IBM Corporation - initial API and implementation
-@rem      Kevin Cornell (Rational Software Corporation)
-@rem ********************************************************************** 
-@rem 
-@rem  Usage: sh build.sh [<optional switches>] [clean]
-@rem 
-@rem    where the optional switches are:
-@rem        -output <PROGRAM_OUTPUT>  - executable filename ("eclipse")
-@rem        -library <PROGRAM_LIBRARY>- dll filename (eclipse.dll)
-@rem        -os     <DEFAULT_OS>      - default Eclipse "-os" value (qnx) 
-@rem        -arch   <DEFAULT_OS_ARCH> - default Eclipse "-arch" value (x86) 
-@rem        -ws     <DEFAULT_WS>      - default Eclipse "-ws" value (photon)
-@rem		-java   <JAVA_HOME>       - location of a Java SDK for JNI headers 
-@rem 
-@rem 
-@rem     This script can also be invoked with the "clean" argument.
-@rem
-@rem NOTE: The C compiler needs to be setup. This script has been
-@rem       tested against Microsoft Visual C and C++ Compiler 6.0.
-@rem	
-@rem Uncomment the lines below and edit MSVC_HOME to point to the
-@rem correct root directory of the compiler installation, if you
-@rem want this to be done by this script.
-@rem 
-@rem ******
-@echo off
-
-IF x.%1==x.x86 shift
-
-IF NOT "%JAVA_HOME%"=="" GOTO MSVC
-rem *****
-rem Javah
-rem *****
-set JAVA_HOME="C:\Program Files\IBM\Java50"
-
-:MSVC
-
-call "C:\Program Files\MS_PLAT_SDK\March2007VistaRTM\Bin\setenv.cmd" /vista
-:MAKE
-
-rem --------------------------
-rem Define default values for environment variables used in the makefiles.
-rem --------------------------
-set programOutput=eclipse.exe
-set programLibrary=eclipse.dll
-set defaultOS=win32
-set defaultOSArch=x86
-set defaultWS=wpf
-set makefile=make_wpf.mak
-set OS=Windows
-
-rem --------------------------
-rem Parse the command line arguments and override the default values.
-rem --------------------------
-set extraArgs=
-:WHILE
-if "%1" == "" goto WHILE_END
-    if "%2" == ""       goto LAST_ARG
-
-    if "%1" == "-os" (
-		set defaultOS=%2
-		shift
-		goto NEXT )
-    if "%1" == "-arch" (
-		set defaultOSArch=%2
-		shift
-		goto NEXT )
-    if "%1" == "-ws" (
-		set defaultWS=%2
-		shift
-		goto NEXT )
-    if "%1" == "-output" (
-		set programOutput=%2
-		shift
-		goto NEXT )
-	if "%1" == "-library" (
-		set programLibrary=%2
-		shift
-		goto NEXT )
-	if "%1" == "-java" (
-		set javaHome=%2
-		shift
-		goto NEXT )
-:LAST_ARG
-        set extraArgs=%extraArgs% %1
-
-:NEXT
-    shift
-    goto WHILE
-:WHILE_END
-
-rem --------------------------
-rem Set up environment variables needed by the makefile.
-rem --------------------------
-set PROGRAM_OUTPUT=%programOutput%
-set PROGRAM_LIBRARY=%programLibrary%
-set DEFAULT_OS=%defaultOS%
-set DEFAULT_OS_ARCH=%defaultOSArch%
-set DEFAULT_WS=%defaultWS%
-set OUTPUT_DIR=..\..\bin\%defaultWS%\%defaultOS%\%defaultOSArch%
-set JAVA_HOME=%javaHome%
-
-rem --------------------------
-rem Run nmake to build the executable.
-rem --------------------------
-if "%extraArgs%" == "" goto MAKE_ALL
-
-nmake -f %makefile% %extraArgs%
-goto DONE
-
-:MAKE_ALL
-echo Building %OS% launcher. Defaults: -os %DEFAULT_OS% -arch %DEFAULT_OS_ARCH% -ws %DEFAULT_WS%
-nmake -f %makefile% clean
-nmake -f %makefile% %1 %2 %3 %4
-goto DONE
-
-
-:DONE
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/build.xml b/bundles/org.eclipse.equinox.executable/library/wpf/build.xml
deleted file mode 100644
index f4b96fe..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/build.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_eclipse" basedir=".">
-
-<target name="build_eclipse">
-	<exec dir="." executable="${basedir}\build.bat">
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.equinox.executable" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<tstamp/>
-	<exec dir="." executable="${basedir}\build.bat">
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/com.c b/bundles/org.eclipse.equinox.executable/library/wpf/com.c
deleted file mode 100644
index 35ce385..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/com.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include <jni.h>
-#include <ole2.h>
-
-#define COM_NATIVE(func) Java_org_eclipse_equinox_launcher_JNIBridge_##func
-
-JNIEXPORT jint JNICALL COM_NATIVE(OleInitialize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	return (jint)OleInitialize((LPVOID)arg0);
-}
-
-JNIEXPORT void JNICALL COM_NATIVE(OleUninitialize)
-	(JNIEnv *env, jclass that)
-{
-	OleUninitialize();
-}
-
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.ico b/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.ico
deleted file mode 100644
index 5b2f132..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.ico
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.rc b/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.rc
deleted file mode 100644
index fb54e4e..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipse.rc
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#define ECLIPSE_ICON  401
-
-#include "windows.h"
-#include "winver.h"
-
-
-ECLIPSE_ICON            ICON    DISCARDABLE     "eclipse.ico"
-
-//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "eclipse.exe.manifest" 
-
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp
deleted file mode 100644
index 18b6c51..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Kevin Cornell (Rational Software Corporation)
- *******************************************************************************/
-
-extern "C" {
-
-#include "eclipseOS.h"
-#include "eclipseUtil.h"
-#include "eclipseCommon.h"
-#include "eclipseJNI.h"
-
-#include <process.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-
-using namespace System;
-using namespace System::IO;
-using namespace System::Windows;
-using namespace System::Windows::Input;
-using namespace System::Windows::Media;
-using namespace System::Windows::Media::Imaging;
-using namespace System::Windows::Controls;
-using namespace System::Windows::Threading;
-using namespace System::Runtime::InteropServices;
-using namespace System::ComponentModel;
-
-
-/* Global Variables */
-_TCHAR*  defaultVM     = _T("javaw.exe");
-_TCHAR*  consoleVM     = _T("java.exe");
-_TCHAR*  vmLibrary 	   = _T("jvm.dll");
-_TCHAR*  shippedVMDir  = _T("jre\\bin\\");
-
-/* Define the window system arguments for the Java VM. */
-static _TCHAR*  argVM[] = { NULL };
-
-/* Define local variables for running the JVM and detecting its exit. */
-static int     jvmProcess     = 0;
-static JavaResults* jvmResults = NULL;
-static int     jvmExitTimeout = 100;
-static int     jvmExitTimerId = 99;
-
-static void CALLBACK  detectJvmExit ();
-static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName);
-static void adjustSearchPath( _TCHAR * vmLibrary );
-static _TCHAR* findLib( _TCHAR* command );
-
-/* define default locations in which to find the jvm shared library
- * these are paths relative to the java exe, the shared library is
- * for example jvmLocations[0] + dirSeparator + vmLibrary */
-#define MAX_LOCATION_LENGTH 25 /* none of the jvmLocations strings should be longer than this */ 
-static const _TCHAR* jvmLocations [] = { _T("j9vm"), _T("..\\jre\\bin\\j9vm"),
-										 _T("client"), _T("..\\jre\\bin\\client"), 
-										 _T("server"), _T("..\\jre\\bin\\server"),
-										 _T("classic"), _T("..\\jre\\bin\\classic"),
-										 _T("jrockit"), _T("..\\jre\\bin\\jrockit"),
-								 		 NULL };
-/* for detecting sun vms */
-typedef struct {
-	WORD language;
-	WORD codepage;
-} TRANSLATIONS;
-
-#define COMPANY_NAME_KEY _T_ECLIPSE("\\StringFileInfo\\%04x%04x\\CompanyName")
-#define SUN_MICROSYSTEMS _T_ECLIPSE("Sun Microsystems")
-
-delegate void NoArgsHandler ();
-
-public ref class Globals {
-public:
-	static Window^ window = nullptr;
-	static DispatcherFrame^ frame = nullptr;	
-	
-	static void HandleDispatcherInactive (Object^ o, EventArgs^ e) {
-		if (frame != nullptr) frame->Continue = false;
-	}
-	static void HandleClosing (Object^ o, CancelEventArgs^ e) {
-		window = nullptr;
-	}
-	static void HandleTimer (Object^ o, EventArgs^ e) {
-		detectJvmExit();
-		if (jvmProcess == 0) {
-			if (frame != nullptr) {
-				frame->Continue = false;
-			}
-		}
-	}
-	static void CloseWindow () {
-		if (window != nullptr) {
-			window->Close();
-			window = nullptr;
-		}
-	}
-};
-
-								 		 
-/* Show the Splash Window
- *
- * Open the bitmap, insert into the splash window and display it.
- *
- */
-int showSplash( const _TCHAR* featureImage )
-{
-	static int splashing = 0;
-   
-	if(splashing) {
-		/*splash screen is already showing, do nothing */
-		return 0;
-	}
-	if (featureImage == NULL)
-		return -1;
-	
-	/* if Java was started first and is calling back to show the splash, we might not
-	 * have initialized the window system yet
-	 */
-	initWindowSystem(0, NULL, 1);
-	
-    /* Load the bitmap for the feature. */
-    BitmapSource^ image = nullptr;
-    if (featureImage != NULL) {
-    	String^ string = gcnew String (featureImage);
-    	if (File::Exists (string)) {
-	    	Uri^ uri = gcnew Uri (string);
-    		image = gcnew BitmapImage (uri);
-    	}
-    }
-    
-    /* If the bitmap could not be found, return an error. */
-    if (image == nullptr)
-    	return ERROR_FILE_NOT_FOUND;
-
- 	/* Create a window that has no decorations. */
-    Window^ window = Globals::window = gcnew Window();
-    window->Closing += gcnew CancelEventHandler(&Globals::HandleClosing);
-    window->WindowStyle = WindowStyle::None;
-    window->ShowInTaskbar = false;
-	window->ResizeMode = ResizeMode::NoResize;
-	window->WindowStartupLocation = WindowStartupLocation::CenterScreen;
-    KeyboardNavigation::SetTabNavigation (window, KeyboardNavigationMode::None);
-    
-    Grid^ grid = gcnew Grid();
-    GridLength length (1, GridUnitType::Auto);
-    ColumnDefinition^ column = gcnew ColumnDefinition();
-    grid->ColumnDefinitions->Add (column);
-    column = gcnew ColumnDefinition();
-    column->Width = length; 
-    grid->ColumnDefinitions->Add (column);
-    RowDefinition^ row = gcnew RowDefinition ();
-    row->Height = length;
-    grid->RowDefinitions->Add (row);
-    row = gcnew RowDefinition ();
-    grid->RowDefinitions->Add (row);
-    row = gcnew RowDefinition ();
-    row->Height = length;
-    grid->RowDefinitions->Add (row);
-    window->Content = grid;
-
-	Canvas^ canvas = gcnew Canvas ();
-	canvas->FocusVisualStyle = nullptr;
-	canvas->Focusable = true;
-	Grid::SetRow (canvas, 1);
-	Grid::SetColumn (canvas, 0);
-	grid->Children->Add (canvas);
-	
-	ImageBrush^ brush = gcnew ImageBrush(image);
-	canvas->Background = brush;
-	
-	window->Width = image->Width;
-	window->Height = image->Height;
-	window->Show();
-	
-	splashing = 1;
-	
-    /* Process messages */
-	dispatchMessages();
-	return 0;
-}
-
-void dispatchMessages() {
-	DispatcherFrame^ frame = gcnew DispatcherFrame();
-	Globals::frame = frame;
-	EventHandler^ handler = gcnew EventHandler (&Globals::HandleDispatcherInactive);
-	Dispatcher^ dispatcher = Dispatcher::CurrentDispatcher;
-	DispatcherHooks^ hooks = dispatcher->Hooks;
-	hooks->DispatcherInactive += handler;
-	Dispatcher::PushFrame (frame);
-	hooks->DispatcherInactive -= handler;
-	Globals::frame = nullptr;
-}
-
-jlong getSplashHandle() {
-	Window^ window = Globals::window;
-	return (jlong)(int)GCHandle::ToIntPtr(GCHandle::Alloc(window));
-}
-
-void takeDownSplash() {
-	if (false) {
-		NoArgsHandler^ handler = gcnew NoArgsHandler(&Globals::CloseWindow);
-		Dispatcher::CurrentDispatcher->BeginInvoke(DispatcherPriority::Send, handler);
-	} else {
-		Window^ window = Globals::window;
-		if(window != nullptr) {
-			window->Close ();
-			window = nullptr;
-			dispatchMessages();
-		}
-	}
-}
-
-/* Get the window system specific VM args */
-_TCHAR** getArgVM( _TCHAR *vm )
-{
-	return argVM;
-}
-
-/* Local functions */
-
-/*
- * Find the VM shared library starting from the java executable 
- */
-_TCHAR * findVMLibrary( _TCHAR* command ) {
-	_TCHAR* lib = findLib(command);
-	if( lib != NULL ) {
-		adjustSearchPath(lib);
-	}
-	return lib;
-}
-
-void adjustSearchPath( _TCHAR* vmLib ){
-	_TCHAR ** paths;
-	_TCHAR * path = NULL, *newPath = NULL;
-	_TCHAR * buffer, *c;
-	int i, length;
-	int needAdjust = 0, freePath = 0;
-	
-	/* we want the directory containing the library, and the parent directory of that */
-	paths = getVMLibrarySearchPath(vmLib);
-	
-	/* first call to GetEnvironmentVariable tells us how big to make the buffer */
-	length = GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, 0);
-	if (length > 0) {
-		path = (_TCHAR*)malloc(length * sizeof(_TCHAR));
-		GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, length);
-		needAdjust = !containsPaths(path, paths);
-		freePath = 1;
-	} else {
-		path = _T_ECLIPSE("");
-		freePath = 0;
-		needAdjust = 1;
-	}
-
-	if (needAdjust) {
-		c = concatStrings(paths);
-		newPath = (_TCHAR*)malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR));
-		_stprintf(newPath, _T_ECLIPSE("%s%s"), c, path);
-		SetEnvironmentVariable( _T_ECLIPSE("PATH"), newPath);
-		free(c);
-		free(newPath);
-	}
-	
-	for (i = 0; i < 2 && paths[i] != NULL; i++)
-		free(paths[i]);
-	free(paths);
-	if (freePath)
-		free(path);
-}
-
-static _TCHAR* findLib( _TCHAR* command ) {
-	int i, j;
-	int pathLength;	
-	struct _stat stats;
-	_TCHAR * path;				/* path to resulting jvm shared library */
-	_TCHAR * location;			/* points to begining of jvmLocations section of path */
-	
-	/* for looking in the registry */
-	HKEY jreKey = NULL;
-	DWORD length = MAX_PATH;
-	_TCHAR keyName[MAX_PATH];
-	_TCHAR * jreKeyName;		
-	
-	if (command != NULL) {
-		location = lastDirSeparator( command ) + 1;
-		
-		/*check first to see if command already points to the library */
-		if (isVMLibrary(command)) {
-			if (_tstat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-				return command; 	/* exists */
-			return NULL; /* doesn't exist */
-		}
-		
-		pathLength = location - command;
-		path = (_TCHAR *)malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR));
-		_tcsncpy(path, command, pathLength);
-		location = &path[pathLength];
-		 
-		/* 
-		 * We are trying base/jvmLocations[*]/vmLibrary
-		 * where base is the directory containing the given java command, normally jre/bin
-		 */
-		i = -1;
-		while(jvmLocations[++i] != NULL) {
-			_stprintf(location, _T_ECLIPSE("%s%c%s"), jvmLocations[i], dirSeparator, vmLibrary);
-			if (_tstat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/* found it */
-				return path;
-			}
-		}
-	}
-	
-	/* Not found yet, try the registry, we will use the first vm >= 1.4 */
-	jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment");
-	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) {
-		if(RegQueryValueEx(jreKey, _T_ECLIPSE("CurrentVersion"), NULL, NULL, (LPBYTE)&keyName, &length) == ERROR_SUCCESS) {
-			path = checkVMRegistryKey(jreKey, keyName);
-			if (path != NULL) {
-				RegCloseKey(jreKey);
-				return path;
-			}
-		}
-		j = 0;
-		length = MAX_PATH;
-		while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) {  
-			/*look for a 1.4 or 1.5 vm*/ 
-			if( _tcsncmp(_T("1.4"), keyName, 3) <= 0 ) {
-				path = checkVMRegistryKey(jreKey, keyName);
-				if (path != NULL) {
-					RegCloseKey(jreKey);
-					return path;
-				}
-			}
-		}
-		RegCloseKey(jreKey);
-	}
-	return NULL;
-}
-
-/*
- * Read the subKeyName subKey of jreKey and look to see if it has a Value 
- * "RuntimeLib" which points to a jvm library we can use 
- * 
- * Does not close jreKey
- */
-static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) {
-	_TCHAR value[MAX_PATH];
-	HKEY subKey = NULL;
-	DWORD length = MAX_PATH;
-	_TCHAR *result = NULL;
-	struct _stat stats;
-	
-	if(RegOpenKeyEx(jreKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) {				
-		/*The RuntimeLib value should point to the library we want*/
-		if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (LPBYTE)&value, &length) == ERROR_SUCCESS) {
-			if (_tstat( value, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
-			{	/*library exists*/
-				result = _tcsdup(value);
-			}
-		}
-		RegCloseKey(subKey);
-	}
-	return result;
-}
-
-static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] )
-{
-	int   index, length = 0, slash;
-	_TCHAR *commandLine, *ch, *space;
-
-	/*
-	* Build the command line. Any argument with spaces must be in
-	* double quotes in the command line. 
-	*/
-	if(program != NULL) 
-		length = _tcslen(program) + 1;
-	for (index = 0; args[index] != NULL; index++)
-	{
-		/* String length plus space character */
-		length += _tcslen( args[ index ] ) + 1;
-		/* Quotes + potential escaping '\' */
-		if (_tcschr( args[ index ], _T(' ') ) != NULL) length += 3;
-	}
-	
-	commandLine = ch = (_TCHAR *)malloc ( (length + 1) * sizeof(_TCHAR) );
-	if (program != NULL) {
-		_tcscpy(ch, program);
-		ch += _tcslen(program);
-		*ch++ = _T(' ');
-	}
-	for (index = 0; args[index] != NULL; index++)
-	{
-		space = _tcschr( args[ index ], _T(' '));
-		if (space != NULL) *ch++ = _T('\"');
-		_tcscpy( ch, args[index] );
-		ch += _tcslen( args[index] );
-		if (space != NULL) {
-			if ( *(ch - 1) == _T('\\') ) {
-				/* escape a trailing unescaped '\' or it will escape our closing '"' and mess things up */
-				slash = 1;
-				while ( *(ch - 1 - slash) == _T('\\')) slash++;
-				if (slash % 2) *ch++ = _T('\\');
-			}
-			*ch++ = _T('\"');
-		}
-		*ch++ = _T(' ');
-	}
-	*ch = _T('\0');
-	return commandLine;
-}
-void restartLauncher( _TCHAR* program, _TCHAR* args[] )
-{
-	_TCHAR* commandLine = buildCommandLine(program, args);
-	
-	{
-	STARTUPINFO    si;
-    PROCESS_INFORMATION  pi;
-    GetStartupInfo(&si);
-    if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) {
-    	CloseHandle( pi.hThread );
-    }   
-	}
-	free(commandLine);
-}
-
-JavaResults* launchJavaVM( _TCHAR* args[] )
-{
-	MSG msg;
-	_TCHAR* commandLine;
-	jvmProcess = -1;
-	commandLine = buildCommandLine(NULL, args);
-	jvmResults = (JavaResults*) malloc(sizeof(JavaResults));
-	memset(jvmResults, 0, sizeof(JavaResults));
-	
-	/*
-	* Start the Java virtual machine. Use CreateProcess() instead of spawnv()
-	* otherwise the arguments cannot be freed since spawnv() segments fault.
-	*/
-	{
-	STARTUPINFO    si;
-    PROCESS_INFORMATION  pi;
-    GetStartupInfo(&si);
-    if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) {
-   		CloseHandle( pi.hThread );
-    	jvmProcess = (int)pi.hProcess;
-    }
-	}
-
-	free( commandLine );
-
-	/* If the child process (JVM) would not start */
-	if (jvmProcess == -1)
-	{
-		/* Return the error number. */
-		jvmResults->launchResult = errno;
-		jvmProcess  = 0;
-	}
-
-	/* else */
-	else
-	{
-	 
-      /* Set a timer to detect JVM process termination. */
-		DispatcherTimer^ timer = gcnew DispatcherTimer();
-		timer->Interval = TimeSpan::FromMilliseconds (jvmExitTimeout);
-		timer->Tick += gcnew EventHandler(&Globals::HandleTimer);
-		
-    	/* Process messages until the JVM terminates.
-    	   This launcher process must continue to process events until the JVM exits
-    	   or else Windows 2K will hang if the desktop properties (e.g., background) are
-    	   changed by the user. Windows does a SendMessage() to every top level window
-    	   process, which blocks the caller until the process responds. */
-    	   
-		DispatcherFrame^ frame = gcnew DispatcherFrame();
-		Globals::frame = frame;
-		timer->Start();
-		Dispatcher::PushFrame(frame);
-		Globals::frame = nullptr;
-		timer->Stop();
-      
-	}
-
-	/* Return the exit code from the JVM. */
-	return jvmResults;
-}
-
-/* Detect JVM Process Termination */
-static void CALLBACK detectJvmExit ()
-{
-    DWORD   exitCode;
-    /* If the JVM process has terminated */
-    if (!GetExitCodeProcess( (HANDLE)jvmProcess, &exitCode ) ||
-    		 exitCode != STILL_ACTIVE)
-    {
-    	/* Save the JVM exit code. This should cause the loop in launchJavaVM() to exit. */
-    	jvmResults->runResult = exitCode;
-        jvmProcess = 0;
-    }
-}
-
-void processVMArgs(_TCHAR **vmargs[] ) {
-//	/* nothing yet */
-}
-
-JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile )
-{
-	return startJavaJNI(libPath, vmArgs, progArgs, jarFile);
-}
-
-int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) {
-	_TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM;
-	int result = 0;
-	DWORD infoSize;
-	DWORD handle;
-	void * info;
-	
-	_TCHAR * key, *value;
-	size_t i;
-	int valueSize;
-	
-	if (vm == NULL)
-		return 0;
-	
-	infoSize = GetFileVersionInfoSize(vm, &handle);
-	if (infoSize > 0) {
-		info = malloc(infoSize);
-		if (GetFileVersionInfo(vm, 0,  infoSize, info)) {
-			TRANSLATIONS * translations;
-			int translationsSize;
-			VerQueryValue(info,  _T_ECLIPSE("\\VarFileInfo\\Translation"), (LPVOID *) &translations, (PUINT)&translationsSize);
-			
-			/* this size is only right because %04x is 4 characters */
-			key = (_TCHAR *) malloc( (_tcslen(COMPANY_NAME_KEY) + 1) * sizeof(_TCHAR));
-			for (i = 0; i < (translationsSize / sizeof(TRANSLATIONS)); i++) {
-				_stprintf(key, COMPANY_NAME_KEY, translations[i].language, translations[i].codepage);
-				
-				VerQueryValue(info, key, (LPVOID *)&value, (PUINT)&valueSize);
-				if (_tcsncmp(value, SUN_MICROSYSTEMS, _tcslen(SUN_MICROSYSTEMS)) == 0) {
-					result = 1;
-					break;
-				}
-			}
-			free(key);
-		}
-		free(info);
-	}
-	return result;
-}
-
-int reuseWorkbench(_TCHAR** filePath, int timeout) {
-	/* not implemented for WPF */
-	return -1;
-}
-} // extern "C"
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpfCommon.cpp b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpfCommon.cpp
deleted file mode 100644
index a4aa8bf..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpfCommon.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Andrew Niefer
- *******************************************************************************/
- 
-
-extern "C" {
-
-#include "eclipseCommon.h"
-#include "eclipseOS.h"
-
-#include <windows.h>
-#include <stdlib.h>
-#include <commctrl.h>
-
-
-#define ECLIPSE_ICON  401
-
-_TCHAR   dirSeparator  = _T('\\');
-_TCHAR   pathSeparator = _T(';');
-
-static int initialized = 0;
-
-/* Load the specified shared library
- */
-void * loadLibrary( _TCHAR * library ){
-	return (void *)LoadLibrary(library);
-}
-
-/* Unload the shared library
- */
-void unloadLibrary( void * handle ){
-	FreeLibrary((HMODULE)handle);
-}
- 
-/* Find the given symbol in the shared library
- */
-void * findSymbol( void * handle, _TCHAR * symbol ){
-	char * str = NULL;
-	void * result;
-	
-	str = toNarrow(symbol);
-	result = GetProcAddress((HMODULE)handle, str);
-	free(str);
-	return result;
-}
-
-_TCHAR* resolveSymlinks( _TCHAR* path ) {
-	/* no symlinks on windows */
-	return path;
-}
-
-} //end extern C
-
-/* Display a Message */
-void displayMessage( _TCHAR* title, _TCHAR* message )
-{
-	if(!initialized) 
-		initWindowSystem(0, NULL, 0);
-	
-	System::String^ titleStr = gcnew System::String (title);
-	System::String^ messageStr = gcnew System::String (message);		
-	System::Windows::MessageBox::Show (messageStr, titleStr,  System::Windows::MessageBoxButton::OK);
-}
-
-/* Initialize Window System
- *
- * Create a pop window to display the bitmap image.
- *
- * Return the window handle as the data for the splash command.
- *
- */
-int initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash )
-{
-	
-	if(initialized)
-		return 0;
-	initialized = 1;
-	return 0;
-}
diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/make_wpf.mak b/bundles/org.eclipse.equinox.executable/library/wpf/make_wpf.mak
deleted file mode 100644
index bb98952..0000000
--- a/bundles/org.eclipse.equinox.executable/library/wpf/make_wpf.mak
+++ /dev/null
@@ -1,113 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at 
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-
-# Makefile for creating the eclipse launcher program.
-
-# This makefile expects the following environment variables set:
-#
-# PROGRAM_OUTPUT  - the filename of the output executable
-# PROGRAM_LIBRARY - the filename of the output dll library
-# DEFAULT_OS      - the default value of the "-os" switch
-# DEFAULT_OS_ARCH - the default value of the "-arch" switch
-# DEFAULT_WS      - the default value of the "-ws" switch
-# JAVA_HOME       - the location of the Java for JNI includes
-NODEBUG=1
-!include <..\make_version.mak>
-
-PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll
-PROGRAM_OUTPUT=eclipse.exe
-# Separate filename from extention
-PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=)
-
-# Define the object modules to be compiled and flags.
-MAIN_OBJS = eclipseMain.obj  
-COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj  eclipseWpfCommon.obj
-DLL_OBJS	= eclipse.obj  eclipseWpf.obj  eclipseUtil.obj  eclipseJNI.obj eclipseShm.obj
-
-LIBS   = kernel32.lib msvcrt.lib mscoree.lib
-DLL_LIBS = kernel32.lib Advapi32.lib msvcrt.lib version.lib
-LFLAGS =  -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup
-CONSOLEFLAGS =  -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console,4.0 -entry:wmainCRTStartup
-DLL_LFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /PDB:NONE -dll /BASE:0x72000000 /DLL
-RES    = $(PROGRAM_NAME).res
-EXEC   = $(PROGRAM_OUTPUT)
-CONSOLE = $(PROGRAM_NAME)c.exe
-DLL    = $(PROGRAM_LIBRARY)
-DEBUG  = #$(cdebug)
-
-CFLAGS = -c -DUNICODE -DVISTA -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-	-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-	-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-	-I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \
-	$(cflags)
-	
-WPF_HOME = C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0
-DOTNET_HOME = C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
-CPPFLAGS = -clr /FU"$(WPF_HOME)\PresentationCore.dll" /FU"$(WPF_HOME)\PresentationFramework.dll" /FU$(DOTNET_HOME)\System.Data.dll /FU$(DOTNET_HOME)\System.dll /FU$(DOTNET_HOME)\System.Xml.dll /FU"$(WPF_HOME)\UIAutomationProvider.dll" /FU"$(WPF_HOME)\UIAutomationTypes.dll" /FU"$(WPF_HOME)\WindowsBase.dll"
-
-	
-all: $(EXEC) $(DLL) com $(CONSOLE)
-
-eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 
-	$(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseMain.c
-
-eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
-	$(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c
-
-eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c
-    $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipse.c
-
-eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c
-    $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c
-
-eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c
-    $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c
-
-eclipseWpf.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWpf.cpp
-    $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpf.cpp
-
-eclipseWpfCommon.obj: ../eclipseCommon.h eclipseWpfCommon.cpp
-    $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpfCommon.cpp
-
-eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
-	$(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c
-
-eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
-	$(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseShm.c
-	
-$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
-    rc.exe -r -fo $(RES) $(PROGRAM_NAME).rc
-    link $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
-    mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(PROGRAM_OUTPUT);2
-
-$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS)
-	del -f eclipseConfig.obj
-    $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c
-    link $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
-    mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(CONSOLE);2
-    
-$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
-    link $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS)  $(DLL_LIBS)
-    mt.exe -manifest $(PROGRAM_LIBRARY).manifest -outputresource:$(PROGRAM_LIBRARY);2
-
-com.obj: com.c
-	$(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj com.c
-
-com: com.obj
- 	link  /DLL -out:com_$(LIB_VERSION).dll com.obj ole32.lib
-	
-install: all
-	copy $(EXEC) $(OUTPUT_DIR)
-	del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
-   
-clean:
-	del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) *.manifest *.exp *.lib *.dll
diff --git a/bundles/org.eclipse.equinox.executable/license.html b/bundles/org.eclipse.equinox.executable/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/bundles/org.eclipse.equinox.executable/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about.html b/bundles/org.eclipse.equinox.executable/motif_root/about.html
deleted file mode 100644
index 9d2460a..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-</head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>February 22, 2006</p>	
-<h3>License</h3>
-
-<p>This directory contains third-party libraries that are required by the Eclipse launcher.  Refer below for further information.</p>
-
-<h4>Cairo for Linux</h4>
-
-<p>Refer to the file <a href="about_files/about_cairo.html">about_cairo.html</a> for licensing details about &quot;Cairo for Linux&quot;.</p>
-
-<h4>Open Motif for Linux</h4>
-
-<p>Refer to the file <a href="about_files/about_open_motif.html">about_open_motif.html</a> for licensing details about &quot;Open Motif for Linux&quot;.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_cairo.html b/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_cairo.html
deleted file mode 100644
index 0132307..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_cairo.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>March 27, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation has included the following package for your convenience:</p> 
-
-<h4>Cairo 1.0.2 for Linux</h4>
-
-<p>Cairo for Linux (&quot;Cairo&quot;) is developed by The Cairo Project (<a href="http://www.cairographics.org" target="_blank">http://www.cairographics.org</a>):</p>
-
-<p>Cairo is delivered in the following file (&quot;Cairo Library&quot;):</p>
-<ul>
-    <li>libcairo-swt.so</li>
-</ul>
-
-<p>which was compiled from Cairo source code available at <a href="http://www.cairographics.org/snapshots" target="_blank">http://www.cairographics.org/snapshots</a>.</p>
-
-<p>Your use of the Cairo code in binary form is subject to
-the terms and conditions of Mozilla Public License Version 1.1 (&quot;MPL&quot;).  A copy of the MPL is provided (<a href="mpl-v11.txt" target="blank">mpl-v11.txt</a>)
-and is also available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html" target="_blank">http://www.mozilla.org/MPL/MPL-1.1.html.</a>
-
-<h4>pixman 0.1.6</h4>
-
-<p>pixman (&quot;pixman&quot;) is packaged within the Cairo Library and was compiled from source code available at
-<a href="http://www.cairographics.org/snapshots" target="_blank">http://www.cairographics.org/snapshots</a>.
-pixman includes the following packages:</p>
-
-<ul>
-	<li>libpixregion</li>
-	<li>libic</li>
-	<li>slim</li>
-</ul>
-
-Your use of pixman is subject to the terms and conditions of the licenses in <a href="pixman-licenses.txt" target="blank">pixman-licenses.txt</a>.</p>
-
-<p>If you did not receive the Cairo Library directly from the Eclipse Foundation, the package is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply its use.  Check the Redistributor's license that was provided with the content.  If no such license exists, contact the Redistributor.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_open_motif.html b/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_open_motif.html
deleted file mode 100644
index 2862520..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about_files/about_open_motif.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 20, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation has included the following package for your convenience:</p> 
-
-<h4>Open Motif for Linux 2.1.30 Release 4</h4>
-
-<p>Open Motif for Linux (&quot;Open Motif&quot;) is developed by Metro Link as part of The Open Motif project.  Open Motif is:</p>
-
-<blockquote>
-	Copyright (C) May, 2000 The Open Group, Metro Link, Incorporated and others. All Rights Reserved
-</blockquote>
-
-<p>Open Motif includes the following files:</p>
-<ul>
-    <li>libXm.so.2</li>
-</ul>
-
-<p>Open Motif is not considered part of the content provided by the Eclipse Foundation.  Your use of the Open Motif code in binary form is subject to
-the terms and conditions of Metro Link Public License 1.00 (&quot;MLPL&quot;).   A copy of the MLPL is provided (<a href="mlpl-v10.html" target="_blank">mlpl-v10.html</a>)
-and is also available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html" target="_blank">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>.</p>
-
-<p>Source code for Open Motif is available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/" target="_blank">http://www.opengroup.org/openmotif/supporters/metrolink/</a>.</p>
-
-<p>If you did not receive Open Motif directly from the Eclipse Foundation, the package is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply its use.  Check the Redistributor's license that was provided with the content.  If no such license exists, contact the Redistributor.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about_files/mlpl-v10.html b/bundles/org.eclipse.equinox.executable/motif_root/about_files/mlpl-v10.html
deleted file mode 100644
index 5c692a5..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about_files/mlpl-v10.html
+++ /dev/null
@@ -1,401 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!-- saved from url=(0068)http://www.opengroup.org/openmotif/supporters/metrolink/license.html -->
-<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
-"urn:schemas-microsoft-com:office:office" xmlns:w = 
-"urn:schemas-microsoft-com:office:word"><HEAD><TITLE>Metro Link Open Motif License</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=windows-1252">
-<META content=Word.Document name=ProgId>
-<META content="MSHTML 6.00.2800.1491" name=GENERATOR>
-<META content="Microsoft Word 9" name=Originator><LINK 
-href="./Open_Motif_License_ver1.00_files/filelist.xml" rel=File-List><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>10-06-99 W98</o:Author>
-  <o:LastAuthor>Preferred Customer</o:LastAuthor>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>11</o:TotalTime>
-  <o:LastPrinted>2000-05-10T23:38:00Z</o:LastPrinted>
-  <o:Created>2000-05-11T19:36:00Z</o:Created>
-  <o:LastSaved>2000-05-11T19:36:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1750</o:Words>
-  <o:Characters>9977</o:Characters>
-  <o:Company>Akerman</o:Company>
-  <o:Bytes>35840</o:Bytes>
-  <o:Lines>83</o:Lines>
-  <o:Paragraphs>19</o:Paragraphs>
-  <o:CharactersWithSpaces>12252</o:CharactersWithSpaces>
-  <o:Version>9.2720</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
-  <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
-  <w:UseMarginsForDrawingGridOrigin/>
-  <w:Compatibility>
-   <w:FootnoteLayoutLikeWW8/>
-   <w:ShapeLayoutLikeWW8/>
-   <w:AlignTablesRowByRow/>
-   <w:ForgetLastTabAlignment/>
-   <w:LayoutRawTableWidth/>
-   <w:LayoutTableRowsApart/>
-  </w:Compatibility>
- </w:WordDocument>
-</xml><![endif]-->
-<STYLE>@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; mso-header-margin: 1.0in; mso-footer-margin: 1.0in; mso-footer: url("./Open_Motif_License_ver1.00_files/header.htm") f1; mso-paper-source: 0; }
-P.MsoNormal {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
-}
-LI.MsoNormal {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
-}
-DIV.MsoNormal {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
-}
-P.MsoHeader {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-LI.MsoHeader {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-DIV.MsoHeader {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-P.MsoFooter {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-LI.MsoFooter {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-DIV.MsoFooter {
-	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; tab-stops: center 3.0in right 6.0in
-}
-P.H2 {
-	FONT-WEIGHT: bold; FONT-SIZE: 18pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H2; mso-style-next: Normal; mso-outline-level: 3; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-LI.H2 {
-	FONT-WEIGHT: bold; FONT-SIZE: 18pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H2; mso-style-next: Normal; mso-outline-level: 3; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-DIV.H2 {
-	FONT-WEIGHT: bold; FONT-SIZE: 18pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H2; mso-style-next: Normal; mso-outline-level: 3; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-P.H3 {
-	FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H3; mso-style-next: Normal; mso-outline-level: 4; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-LI.H3 {
-	FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H3; mso-style-next: Normal; mso-outline-level: 4; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-DIV.H3 {
-	FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 5pt 0in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: H3; mso-style-next: Normal; mso-outline-level: 4; mso-bidi-font-size: 10.0pt; mso-bidi-font-weight: normal
-}
-P.Blockquote {
-	FONT-SIZE: 12pt; MARGIN: 5pt 0.25in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: Blockquote; mso-bidi-font-size: 10.0pt
-}
-LI.Blockquote {
-	FONT-SIZE: 12pt; MARGIN: 5pt 0.25in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: Blockquote; mso-bidi-font-size: 10.0pt
-}
-DIV.Blockquote {
-	FONT-SIZE: 12pt; MARGIN: 5pt 0.25in; LAYOUT-GRID-MODE: line; FONT-FAMILY: "Times New Roman"; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-style-name: Blockquote; mso-bidi-font-size: 10.0pt
-}
-DIV.Section1 {
-	page: Section1
-}
-OL {
-	MARGIN-BOTTOM: 0in
-}
-UL {
-	MARGIN-BOTTOM: 0in
-}
-</STYLE>
-</HEAD>
-<BODY lang=EN-US style="tab-interval: .5in" bgColor=white>
-<DIV class=Section1>
-<P class=H2 style="TEXT-ALIGN: center" align=center>METRO LINK PUBLIC LICENSE 
-<BR>MOTIF GRAPHICAL USER INTERFACE SOFTWARE<BR>Version 1.00</P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS 
-METRO LINK PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION 
-OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. </P>
-<P class=H3>1. DEFINITIONS </P>
-<P class=MsoNormal>"Contribution" means: </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l6 level1 lfo9">in 
-  the case of METRO LINK, INCORPORATED ("METRO LINK"), the Metro Link Program, 
-  and </LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=2>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l6 level1 lfo9">in 
-  the case of each Contributor, </LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=1>
-  <OL style="MARGIN-TOP: 0in" type=1>
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l0 level2 lfo2">changes 
-    to the Program, and 
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l0 level2 lfo2">additions 
-    to the Program; </LI></OL></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.75in; mso-outline-level: 2"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.5in; mso-outline-level: 1">where such 
-changes and/or additions to the Program originate from and are distributed by 
-that particular Contributor. A Contribution 'originates' from a Contributor if 
-it was added to the Program by such Contributor itself or anyone acting on such 
-Contributor's behalf. Contributions do not include additions to the Program 
-which: (i) are separate modules of software distributed in conjunction with the 
-Program under their own license agreement, and (ii) are not derivative works of 
-the Program. </P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.5in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Contributor" means The Open Group, METRO LINK and any other 
-entity that distributes the Program. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Licensed Patents" mean patent claims licensable by a 
-Contributor which are necessarily infringed by the use or sale of its 
-Contribution alone or when combined with the Program.</P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Open Source"<SPAN style="mso-spacerun: yes">&nbsp; 
-</SPAN>programs mean software for the source code is available without 
-confidential or trade secret restrictions and for which<SPAN 
-style="mso-spacerun: yes">&nbsp; </SPAN>the source code and object code are 
-available for distribution without license charges.</P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Metro Link Program" means the original version of the 
-software accompanying this Agreement as released by METRO LINK, including source 
-code, object code and documentation, if any. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Program" means the Metro Link Program and Contributions. 
-</P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>"Recipient" means anyone who receives the Program under this 
-Agreement, including all Contributors. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=H3 
-style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l4 level1 lfo8"><![if !supportLists]>2.<SPAN 
-style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; 
-</SPAN><![endif]>GRANT OF RIGHTS </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>The rights granted under this license are limited solely to 
-distribution and sublicensing of the Contribution(s) on, with or<SPAN 
-style="mso-spacerun: yes">&nbsp; </SPAN>for operating systems which are 
-themselves Open Source programs.</P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l1 level1 lfo3">Subject 
-  to the terms of this Agreement, The Open Group Public License Agreement 
-  attached hereto (“The Open Group Agreement”) and<SPAN 
-  style="mso-spacerun: yes">&nbsp; </SPAN>the limitations of this Section 2, 
-  each Contributor hereby grants Recipient a non-exclusive, worldwide, 
-  royalty-free copyright license to reproduce, prepare derivative works of, 
-  publicly display, publicly perform, distribute and sublicense the Contribution 
-  of such Contributor, if any, and such derivative works, in source code and 
-  object code form. </LI></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=2>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l1 level1 lfo3">Subject 
-  to the terms of this Agreement, The Open Group Agreement and this Section 2, 
-  each Contributor hereby grants Recipient a non-exclusive, worldwide, 
-  royalty-free patent license under Licensed Patents to make, use, sell, offer 
-  to sell, import and otherwise transfer the Contribution of such Contributor, 
-  if any, in source code and object code form. This patent license shall apply 
-  to the combination of the Contribution and the Program if, at the time the 
-  Contribution is added by the Contributor, such addition of the Contribution 
-  causes such combination to be covered by the Licensed Patents. The patent 
-  license shall not apply to any other combinations which include the 
-  Contribution. No hardware per se is licensed hereunder. </LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=3>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l1 level1 lfo3">Recipient 
-  understands that although each Contributor grants the licenses to its 
-  Contributions set forth herein, no assurances are provided by any Contributor 
-  that the Program does not infringe the patent or other intellectual property 
-  rights of any other entity. Each Contributor disclaims any liability to 
-  Recipient for claims brought by any other entity based on infringement of 
-  intellectual property rights or otherwise. As a condition to exercising the 
-  rights and licenses granted hereunder, each Recipient hereby assumes sole 
-  responsibility to secure any other intellectual property rights needed, if 
-  any. For example, if a third party patent license is required to allow 
-  Recipient to distribute the Program, it is Recipient's responsibility to 
-  acquire that license before distributing the Program. </LI></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=4>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l1 level1 lfo3">Each 
-  Contributor represents that to its knowledge it has sufficient copyright 
-  rights in its Contribution, if any, to grant the copyright license set forth 
-  in this Agreement. </LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=H3>3. REQUIREMENTS </P>
-<P class=MsoNormal>A Contributor may choose to distribute the Program in object 
-code form under its own license agreement, provided that: </P>
-<OL style="MARGIN-TOP: 0in" type=a>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l2 level1 lfo4">it 
-  complies with the terms and conditions of this Agreement<B 
-  style="mso-bidi-font-weight: normal"> </B>and The Open Group Agreement; and 
-  </LI></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=2>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l2 level1 lfo4">its 
-  license agreement: </LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=1 start=2>
-  <OL style="MARGIN-TOP: 0in" type=1>
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l2 level2 lfo5">effectively 
-    disclaims on behalf of all Contributors all warranties and conditions, 
-    express and implied, including warranties or conditions of title and 
-    non-infringement, and implied warranties or conditions of merchantability 
-    and fitness for a particular purpose; 
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l2 level2 lfo5">effectively 
-    excludes on behalf of all Contributors all liability for damages, including 
-    direct, indirect, special, incidental and consequential damages, such as 
-    lost profits; 
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l2 level2 lfo5">states 
-    that any provisions which differ from this Agreement are offered by that 
-    Contributor alone and not by any other party; and 
-    <LI class=MsoNormal 
-    style="tab-stops: list 1.0in; mso-outline-level: 2; mso-list: l2 level2 lfo5">states 
-    that source code for the Program is available from such Contributor, and 
-    informs licensees how to obtain it in a reasonable manner on or through a 
-    medium customarily used for software exchange. </LI></OL></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.75in; mso-outline-level: 2"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>When the Program is made available in source code form: </P>
-<OL style="MARGIN-TOP: 0in" type=a>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l3 level1 lfo6">it 
-  must be made available under this Agreement and the Open Group Agreement; and 
-  </LI></OL>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<OL style="MARGIN-TOP: 0in" type=a start=2>
-  <LI class=MsoNormal 
-  style="tab-stops: list .5in; mso-outline-level: 1; mso-list: l3 level1 lfo6">a 
-  copy of this Agreement must be included with each copy of the Program. 
-</LI></OL>
-<P class=MsoNormal style="mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal style="MARGIN-LEFT: 0.25in; mso-outline-level: 1"><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>Each Contributor must include the following in a conspicuous 
-location in the Program: </P>
-<P class=Blockquote>Copyright (C) May, 2000 The Open Group, Metro Link, 
-Incorporated and others. All Rights Reserved</P>
-<P class=Blockquote><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>In addition, each Contributor must identify itself as the 
-originator of its Contribution, if any, in a manner that reasonably allows 
-subsequent Recipients to identify the originator of the Contribution. </P>
-<P class=H3>4. COMMERCIAL DISTRIBUTION </P>
-<P class=MsoNormal>Commercial distributors of software may accept certain 
-responsibilities with respect to end users, business partners and the like. 
-While this license is intended to facilitate the commercial use of the Program, 
-the Contributor who includes the Program in a commercial product offering should 
-do so in a manner which does not create potential liability for other 
-Contributors. Therefore, if a Contributor includes the Program in a commercial 
-product offering, such Contributor ("Commercial Contributor") hereby agrees to 
-defend and indemnify every other Contributor ("Indemnified Contributor") against 
-any losses, damages and costs (collectively "Losses") arising from claims, 
-lawsuits and other legal actions brought by a third party against the 
-Indemnified Contributor to the extent caused by the acts or omissions of such 
-Commercial Contributor in connection with its distribution of the Program in a 
-commercial product offering. The obligations in this section do not apply to any 
-claims or Losses relating to any actual or alleged intellectual property 
-infringement. In order to qualify, an Indemnified Contributor must: </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal 
-style="MARGIN-LEFT: 0.25in; TEXT-INDENT: -0.25in; tab-stops: list .25in; mso-list: l5 level1 lfo7"><![if !supportLists]>a)<SPAN 
-style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><![endif]>promptly notify the Commercial Contributor in writing of such 
-claim, and </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal 
-style="MARGIN-LEFT: 0.25in; TEXT-INDENT: -0.25in; tab-stops: list .25in; mso-list: l5 level1 lfo7"><![if !supportLists]>b)<SPAN 
-style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><![endif]>allow the Commercial Contributor to control, and cooperate with 
-the Commercial Contributor in, the defense and any related settlement 
-negotiations. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>The Indemnified Contributor may participate in any such claim 
-at its own expense. </P>
-<P class=MsoNormal>For example, a Contributor might include the Program in a 
-commercial product offering, Product X. That Contributor is then a Commercial 
-Contributor. If that Commercial Contributor then makes performance claims, or 
-offers warranties related to Product X, those performance claims and warranties 
-are such Commercial Contributor's responsibility alone. Under this section, the 
-Commercial Contributor would have to defend claims against the other 
-Contributors related to those performance claims and warranties, and if a court 
-requires any other Contributor to pay any damages as a result, the Commercial 
-Contributor must pay those damages. </P>
-<P class=H3>5. NO WARRANTY </P>
-<P class=MsoNormal>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM 
-IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
-EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 
-CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 
-PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 
-appropriateness of using and distributing the Program and assumes all risks 
-associated with its exercise of rights under this Agreement, including but not 
-limited to the risks and costs of program errors, compliance with applicable 
-laws, damage to or loss of data, programs or equipment, and unavailability or 
-interruption of operations. </P>
-<P class=H3>6. DISCLAIMER OF LIABILITY </P>
-<P class=MsoNormal>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER 
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, 
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING 
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR 
-THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 
-OF SUCH DAMAGES. </P>
-<P class=H3>7. GENERAL </P>
-<P class=MsoNormal>If any provision of this Agreement is invalid or 
-unenforceable under applicable law, it shall not affect the validity or 
-enforceability of the remainder of the terms of this Agreement, and without 
-further action by the parties hereto, such provision shall be reformed to the 
-minimum extent necessary to make such provision valid and enforceable. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>If Recipient institutes patent litigation against a 
-Contributor with respect to a patent applicable to software (including a 
-cross-claim or counterclaim in a lawsuit), then any patent licenses granted by 
-that Contributor to such Recipient under this Agreement shall terminate as of 
-the date such litigation is filed. In addition, if Recipient institutes patent 
-litigation against any entity (including a cross-claim or counterclaim in a 
-lawsuit) alleging that the Program itself (excluding combinations of the Program 
-with other software or hardware) infringes such Recipient's patent(s), then such 
-Recipient's rights granted under Section 2(b) shall terminate as of the date 
-such litigation is filed. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>All Recipient's rights under this Agreement shall terminate 
-if it fails to comply with any of the material terms or conditions of this 
-Agreement and does not cure such failure in a reasonable period of time after 
-becoming aware of such noncompliance. If all Recipient's rights under this 
-Agreement terminate, Recipient agrees to cease use and distribution of the 
-Program as soon as reasonably practicable. However, Recipient's obligations 
-under this Agreement and any licenses granted by Recipient relating to the 
-Program shall continue and survive. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>METRO LINK may publish new versions (including revisions) of 
-this Agreement from time to time. Each new version of the Agreement will be 
-given a distinguishing version number. The Program (including Contributions) may 
-always be distributed subject to the version of the Agreement under which it was 
-received. In addition, after a new version of the Agreement is published, 
-Contributor may elect to distribute the Program (including its Contributions) 
-under the new version. No one other than METRO LINK has the right to modify this 
-Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient 
-receives no rights or licenses to the intellectual property of any Contributor 
-under this Agreement, whether expressly, by implication, estoppel or otherwise. 
-All rights in the Program not expressly granted under this Agreement are 
-reserved. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>This Agreement is governed by the laws of the State of 
-Florida and the intellectual property laws of the United States of America. </P>
-<P class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P>
-<P class=MsoNormal>No party to this Agreement will bring a legal action under 
-this Agreement more than one year after the cause of action arose. Each party 
-waives its rights to a jury trial in any resulting litigation.</P>
-<P 
-class=MsoNormal><![if !supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></P></DIV></BODY></HTML>
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about_files/mpl-v11.txt b/bundles/org.eclipse.equinox.executable/motif_root/about_files/mpl-v11.txt
deleted file mode 100644
index 7714141..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about_files/mpl-v11.txt
+++ /dev/null
@@ -1,470 +0,0 @@
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
diff --git a/bundles/org.eclipse.equinox.executable/motif_root/about_files/pixman-licenses.txt b/bundles/org.eclipse.equinox.executable/motif_root/about_files/pixman-licenses.txt
deleted file mode 100644
index 5d8dca6..0000000
--- a/bundles/org.eclipse.equinox.executable/motif_root/about_files/pixman-licenses.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-libpixregion
-
-Copyright 1987, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-----------------------------------------------------------------------
-libic
-
-Copyright © 2001 Keith Packard
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the name of Keith Packard not be used in
-advertising or publicity pertaining to distribution of the software without
-specific, written prior permission.  Keith Packard makes no
-representations about the suitability of this software for any purpose.  It
-is provided "as is" without express or implied warranty.
-
-KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------------------------------------
-slim
-
-slim is Copyright © 2003 Richard Henderson
-
-Permission to use, copy, modify, distribute, and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Richard Henderson not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  Richard Henderson
-makes no representations about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-
-RICHARD HENDERSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL RICHARD HENDERSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/bundles/org.eclipse.equinox.executable/target.build.properties b/bundles/org.eclipse.equinox.executable/target.build.properties
deleted file mode 100644
index 8f0e254..0000000
--- a/bundles/org.eclipse.equinox.executable/target.build.properties
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-custom = true
-
-####Even though marked as custom, the content of the build.properties needs to be updated to ensure correctness of RCP app exported 
-root.permissions.755=${launcherName}
-
-root.win32.win32.x86=file:bin/win32/win32/x86/launcher.exe
-root.win32.win32.x86_64=file:bin/win32/win32/x86_64/launcher.exe
-root.win32.win32.ia64=file:contributed/win32/win32/ia64/launcher.exe
-root.win32.wpf.x86=file:bin/wpf/win32/x86/launcher.exe
-
-root.linux.gtk.x86=bin/gtk/linux/x86,gtk_root
-root.linux.gtk.x86.permissions.755=libcairo-swt.so
-
-root.linux.gtk.ppc=bin/gtk/linux/ppc,gtk_root
-root.linux.gtk.ppc.permissions.755=libcairo-swt.so
-
-root.linux.gtk.ppc64=bin/gtk/linux/ppc64,gtk_root
-
-root.macosx.carbon.ppc=bin/carbon/macosx/ppc
-root.macosx.carbon.ppc.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}
-
-root.macosx.carbon.x86=bin/carbon/macosx/x86
-root.macosx.carbon.x86.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}
-
-root.macosx.cocoa.ppc=bin/cocoa/macosx/ppc
-root.macosx.cocoa.ppc.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}
-
-root.macosx.cocoa.x86=bin/cocoa/macosx/x86
-root.macosx.cocoa.x86.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}
-
-root.macosx.cocoa.x86_64=bin/cocoa/macosx/x86_64
-root.macosx.cocoa.x86_64.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}
-
-root.aix.motif.ppc=bin/motif/aix/ppc
-
-root.hpux.motif.PA_RISC=bin/motif/hpux/PA_RISC
-root.hpux.motif.ia64_32=bin/motif/hpux/ia64_32
-
-root.solaris.motif.sparc=contributed/motif/solaris/sparc
-root.solaris.gtk.x86=bin/gtk/solaris/x86
-root.solaris.gtk.sparc=bin/gtk/solaris/sparc
-
-root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
-root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
-
-root.qnx.photon.x86=bin/photon/qnx/x86
-
-root.linux.motif.x86=bin/motif/linux/x86,motif_root
-root.linux.motif.x86.permissions.755=libXm.so.2,libcairo-swt.so
-
-root.linux.gtk.s390x=contributed/gtk/linux/s390x,gtk_root
-root.linux.gtk.s390=contributed/gtk/linux/s390,gtk_root
diff --git a/bundles/org.eclipse.equinox.executable/target.build.xml b/bundles/org.eclipse.equinox.executable/target.build.xml
deleted file mode 100644
index 346a52c..0000000
--- a/bundles/org.eclipse.equinox.executable/target.build.xml
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.platform.launchers" default="build.update.jar" basedir=".">
-
-	<target name="init">
-		<property name="feature.destination" value="${basedir}"/>
-		<property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
-		<condition property="p2.publish.parts" value="true"		>
-			<istrue value="${p2.gathering}"/>
-		</condition>
-	</target>
-
-	<target name="all.plugins" depends="init">
-	</target>
-	<target name="all.features" depends="init">
-	</target>
-	<target name="update.feature" depends="init">
-	</target>
-
-	<target name="all.children" depends="init,all.features,all.plugins,update.feature">
-	</target>
-
-	<target name="children" if="include.children">
-		<antcall target="all.children"/>
-	</target>
-
-	<target name="build.jars" depends="init" description="Build all the jars for the feature: org.eclipse.platform.launchers.">
-	</target>
-
-	<target name="build.sources" depends="init">
-	</target>
-
-	<target name="build.zips" depends="init">
-	</target>
-
-	<target name="build.update.jar" depends="init" description="Build the feature jar of: org.eclipse.platform.launchers for an update site.">
-	</target>
-	
-	<target name="publish.bin.parts" depends="init" if="p2.publish.parts">
-		<eclipse.gatherFeature 
-		   metadataRepository="${p2.build.repo}"
-		   artifactRepository="${p2.build.repo}"
-		   buildResultFolder="${basedir}"
-		   baseDirectory="${basedir}"
-		/>
-	</target>
-
-	<target name="gather.bin.parts" depends="init" if="feature.base">
-		<subant target="rootFiles${os}_${ws}_${arch}" buildpath="." failonerror="false" inheritall="true"/>
-	</target>
-	
-	<target name="rootFileswin32_win32_x86">
-		<mkdir dir="${feature.base}/win32.win32.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/win32.win32.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/win32/win32/x86">
-				<include name="launcher.exe"/>
-			</fileset>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/win32.win32.x86/${collectingFolder}" includes="launcher.exe" /> 
-	</target>
-	
-	<target name="rootFileswin32_win32_x86_64">
-		<mkdir dir="${feature.base}/win32.win32.x86_64/${collectingFolder}"/>
-		<copy todir="${feature.base}/win32.win32.x86_64/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/win32/win32/x86_64">
-				<include name="launcher.exe"/>
-			</fileset>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/win32.win32.x86_64/${collectingFolder}" includes="launcher.exe" /> 
-	</target>
-	
-	<target name="rootFileswin32_win32_ia64">
-		<mkdir dir="${feature.base}/win32.win32.ia64/${collectingFolder}"/>
-		<copy todir="${feature.base}/win32.win32.ia64/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/contributed/win32/win32/ia64">
-				<include name="launcher.exe"/>
-			</fileset>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/win32.win32.ia64/${collectingFolder}" includes="launcher.exe" /> 
-	</target>
-			
-	<target name="rootFileswin32_wpf_x86">
-		<mkdir dir="${feature.base}/win32.wpf.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/win32.wpf.x86/${collectingFolder}/" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/wpf/win32/x86">
-				<include name="launcher.exe"/>
-			</fileset>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/win32.wpf.x86/${collectingFolder}" includes="launcher.exe" /> 
-	</target>
-		
-	<target name="rootFilesmacosx_carbon_ppc">
-		<mkdir dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}"/>
-		<copy todir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/carbon/macosx/ppc" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" includes="${launcherName}" /> 
-		<chmod perm="755" dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" includes="Eclipse.app/Contents/MacOS/launcher" /> 
-	</target>
-	<target name="rootFilesmacosx_carbon_x86">
-		<mkdir dir="${feature.base}/macosx.carbon.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/macosx.carbon.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/carbon/macosx/x86" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/macosx.carbon.x86/${collectingFolder}" includes="${launcherName}" /> 
-		<chmod perm="755" dir="${feature.base}/macosx.carbon.x86/${collectingFolder}" includes="Elcipse.app/Contents/MacOS/launcher" /> 
-	</target>
-	<target name="rootFilesmacosx_cocoa_ppc">
-		<mkdir dir="${feature.base}/macosx.cocoa.ppc/${collectingFolder}"/>
-		<copy todir="${feature.base}/macosx.cocoa.ppc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/cocoa/macosx/ppc" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.ppc/${collectingFolder}" includes="${launcherName}" /> 
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.ppc/${collectingFolder}" includes="Elcipse.app/Contents/MacOS/launcher" /> 
-	</target>
-	<target name="rootFilesmacosx_cocoa_x86">
-		<mkdir dir="${feature.base}/macosx.cocoa.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/macosx.cocoa.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/cocoa/macosx/x86" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.x86/${collectingFolder}" includes="${launcherName}" /> 
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.x86/${collectingFolder}" includes="Eclipse.app/Contents/MacOS/launcher" /> 
-	</target>
-	<target name="rootFilesmacosx_cocoa_x86_64">
-		<mkdir dir="${feature.base}/macosx.cocoa.x86_64/${collectingFolder}"/>
-		<copy todir="${feature.base}/macosx.cocoa.x86_64/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/cocoa/macosx/x86_64" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.x86_64/${collectingFolder}" includes="${launcherName}" /> 
-		<chmod perm="755" dir="${feature.base}/macosx.cocoa.x86_64/${collectingFolder}" includes="Eclipse.app/Contents/MacOS/launcher" /> 
-	</target>
-	<target name="rootFileslinux_gtk_x86">
-		<mkdir dir="${feature.base}/linux.gtk.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/linux/x86" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.x86/${collectingFolder}" includes="launcher" /> 
-		<chmod perm="755" dir="${feature.base}/linux.gtk.x86/${collectingFolder}" includes="libcairo-swt.so" /> 
-	</target>
-	<target name="rootFileslinux_gtk_ppc">
-		<mkdir dir="${feature.base}/linux.gtk.ppc/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.ppc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/linux/ppc" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc/${collectingFolder}" includes="launcher" />
-		<chmod perm="755" dir="${feature.base}/linux.gtk.x86/${collectingFolder}" includes="libcairo-swt.so" />
-	</target>
-	<target name="rootFileslinux_gtk_ppc64">
-		<mkdir dir="${feature.base}/linux.gtk.ppc64/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.ppc64/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/linux/ppc64" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc64/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileslinux_gtk_x86_64">
-		<mkdir dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/linux/x86_64" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" includes="launcher" /> 
-		<chmod perm="755" dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" includes="libcairo-swt.so" /> 
-	</target>
-	<target name="rootFileslinux_gtk_ia64">
-		<mkdir dir="${feature.base}/linux.gtk.ia64/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.ia64/${collectingFolder}" failonerror="true" overwrite="true">
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.ia64/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileslinux_gtk_s390x">
-		<mkdir dir="${feature.base}/linux.gtk.s390x/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.s390x/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/contributed/gtk/linux/s390x" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.s390x/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileslinux_gtk_s390">
-		<mkdir dir="${feature.base}/linux.gtk.s390/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.gtk.s390/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/contributed/gtk/linux/s390" includes="**"			/>
-			<fileset dir="${basedir}/gtk_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.gtk.s390/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileslinux_motif_x86">
-		<mkdir dir="${feature.base}/linux.motif.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/linux.motif.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/motif/linux/x86" includes="**"			/>
-			<fileset dir="${basedir}/motif_root" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/linux.motif.x86/${collectingFolder}" includes="libXm.so.2,libcairo-swt.so" /> 
-		<chmod perm="755" dir="${feature.base}/linux.motif.x86/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilessolaris_gtk_sparc">
-		<mkdir dir="${feature.base}/solaris.gtk.sparc/${collectingFolder}"/>
-		<copy todir="${feature.base}/solaris.gtk.sparc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/solaris/sparc" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/solaris.gtk.sparc/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilessolaris_gtk_x86">
-		<mkdir dir="${feature.base}/solaris.gtk.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/solaris.gtk.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/gtk/solaris/x86" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/solaris.gtk.x86/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilessolaris_motif_sparc">
-		<mkdir dir="${feature.base}/solaris.motif.sparc/${collectingFolder}"/>
-		<copy todir="${feature.base}/solaris.motif.sparc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/contributed/motif/solaris/sparc" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/solaris.motif.sparc/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilesaix_motif_ppc">
-		<mkdir dir="${feature.base}/aix.motif.ppc/${collectingFolder}"/>
-		<copy todir="${feature.base}/aix.motif.ppc/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/motif/aix/ppc" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/aix.motif.ppc/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileshpux_motif_PA_RISC">
-		<mkdir dir="${feature.base}/hpux.motif.PA_RISC/${collectingFolder}"/>
-		<copy todir="${feature.base}/hpux.motif.PA_RISC/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/motif/hpux/PA_RISC" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/hpux.motif.PA_RISC/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileshpux_motif_ia64">
-		<mkdir dir="${feature.base}/hpux.motif.ia64/${collectingFolder}"/>
-		<copy todir="${feature.base}/hpux.motif.ia64/${collectingFolder}" failonerror="true" overwrite="true">
-		</copy>
-		<chmod perm="755" dir="${feature.base}/hpux.motif.ia64/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFileshpux_motif_ia64_32">
-		<mkdir dir="${feature.base}/hpux.motif.ia64_32/${collectingFolder}"/>
-		<copy todir="${feature.base}/hpux.motif.ia64_32/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/motif/hpux/ia64_32" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/hpux.motif.ia64_32/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilesqnx_photon_x86">
-		<mkdir dir="${feature.base}/qnx.photon.x86/${collectingFolder}"/>
-		<copy todir="${feature.base}/qnx.photon.x86/${collectingFolder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}/bin/photon/qnx/x86" includes="**"			/>
-		</copy>
-		<chmod perm="755" dir="${feature.base}/qnx.photon.x86/${collectingFolder}" includes="launcher" /> 
-	</target>
-	<target name="rootFilesgroup_group_group">
-		<antcall target="rootFileswin32_win32_x86"/>
-		<antcall target="rootFileswin32_wpf_x86"/>
-		<antcall target="rootFileswin32_win32_x86_64"/>
-		<antcall target="rootFileswin32_win32_ia64"/>
-		<antcall target="rootFilesmacosx_carbon_ppc"/>
-		<antcall target="rootFilesmacosx_carbon_x86"/>
-		<antcall target="rootFilesmacosx_cocoa_ppc"/>
-		<antcall target="rootFilesmacosx_cocoa_x86"/>
-		<antcall target="rootFileslinux_gtk_x86"/>
-		<antcall target="rootFileslinux_gtk_ppc"/>
-		<antcall target="rootFileslinux_gtk_ppc64"/>
-		<antcall target="rootFileslinux_gtk_x86_64"/>
-		<antcall target="rootFileslinux_gtk_ia64"/>
-		<antcall target="rootFileslinux_gtk_s390x"/>
-		<antcall target="rootFileslinux_motif_x86"/>
-		<antcall target="rootFilessolaris_gtk_sparc"/>
-		<antcall target="rootFilessolaris_gtk_x86"/>
-		<antcall target="rootFilessolaris_motif_sparc"/>
-		<antcall target="rootFilesaix_motif_ppc"/>
-		<antcall target="rootFileshpux_motif_PA_RISC"/>
-		<antcall target="rootFileshpux_motif_ia64"/>
-		<antcall target="rootFileshpux_motif_ia64_32"/>
-		<antcall target="rootFilesqnx_photon_x86"/>
-	</target>
-
-	<target name="zip.distribution" depends="init" description="Create a zip containing all the plug-ins and features for the feature: org.eclipse.platform.launchers.">
-	</target>
-
-	<target name="zip.sources" depends="init">
-	</target>
-
-	<target name="zip.logs" depends="init">
-	</target>
-
-	<target name="clean" depends="init" description="Clean the feature: org.eclipse.platform.launchers of all the zips, jars and logs created.">
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
-	</target>
-	
-	<target name="gather.sources">
-	</target>
-
-	<target name="gather.logs" depends="init">
-	</target>
-
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/.cdtproject b/bundles/org.eclipse.equinox.launcher/.cdtproject
deleted file mode 100644
index 66a469d..0000000
--- a/bundles/org.eclipse.equinox.launcher/.cdtproject
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject id="org.eclipse.cdt.make.core.make">
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-<data>
-<item id="scannerConfiguration">
-<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="true" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="makefileGenerator">
-<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-</item>
-<item id="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-</item>
-<item id="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all-mingw" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="all" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-</buildTargets>
-</item>
-</data>
-</cdtproject>
diff --git a/bundles/org.eclipse.equinox.launcher/.classpath b/bundles/org.eclipse.equinox.launcher/.classpath
deleted file mode 100644
index d5735f0..0000000
--- a/bundles/org.eclipse.equinox.launcher/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OSGi%Minimum-1.2"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.launcher/.cproject b/bundles/org.eclipse.equinox.launcher/.cproject
deleted file mode 100644
index 36b45a4..0000000
--- a/bundles/org.eclipse.equinox.launcher/.cproject
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?fileVersion 4.0.0?>
-
-<cproject>
-<storageModule moduleId="org.eclipse.cdt.core.settings">
-<cconfiguration id="converted.config.1529602833">
-<storageModule moduleId="scannerConfiguration">
-<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="true" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="makefileGenerator">
-<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="false"/>
-</scannerInfoProvider>
-</profile>
-</storageModule>
-<storageModule moduleId="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-</storageModule>
-<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all-mingw" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_mingw.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="all" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="clean" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_macosx.mak</buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-<target name="linux-all" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments>-f make_linux.mak</buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>false</useDefaultCommand>
-</target>
-</buildTargets>
-</storageModule>
-<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1529602833" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
-<externalSettings/>
-<extensions>
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-</extensions>
-</storageModule>
-</cconfiguration>
-</storageModule>
-</cproject>
diff --git a/bundles/org.eclipse.equinox.launcher/.project b/bundles/org.eclipse.equinox.launcher/.project
deleted file mode 100644
index 4e54463..0000000
--- a/bundles/org.eclipse.equinox.launcher/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/.settings/.api_filters b/bundles/org.eclipse.equinox.launcher/.settings/.api_filters
deleted file mode 100644
index 2281b22..0000000
--- a/bundles/org.eclipse.equinox.launcher/.settings/.api_filters
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.equinox.launcher" version="2">
-    <resource path="src/org/eclipse/equinox/launcher/Main.java" type="org.eclipse.equinox.launcher.Main$EclipsePolicy">
-        <filter id="647004193">
-            <message_arguments>
-                <message_argument value="org.eclipse.equinox.launcher.Main.EclipsePolicy.implies(ProtectionDomain, Permission)"/>
-                <message_argument value="Policy"/>
-                <message_argument value="implies(ProtectionDomain, Permission)"/>
-                <message_argument value="J2SE-1.3"/>
-            </message_arguments>
-        </filter>
-        <filter id="647004193">
-            <message_arguments>
-                <message_argument value="org.eclipse.equinox.launcher.Main.EclipsePolicy.getPermissions(ProtectionDomain)"/>
-                <message_argument value="Policy"/>
-                <message_argument value="getPermissions(ProtectionDomain)"/>
-                <message_argument value="J2SE-1.3"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 739d2b2..0000000
--- a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Wed Apr 08 09:36:05 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 20e2cfa..0000000
--- a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Tue Aug 21 11:30:59 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index fe921f9..0000000
--- a/bundles/org.eclipse.equinox.launcher/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Nov 13 11:00:38 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
deleted file mode 100644
index e0111e8..0000000
--- a/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.launcher;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Main-Class: org.eclipse.equinox.launcher.Main
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.2
-Bundle-Localization: launcher
-Export-Package: org.eclipse.core.launcher;x-internal:=true,
- org.eclipse.equinox.internal.launcher;x-internal:=true,
- org.eclipse.equinox.launcher;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.launcher/about.html b/bundles/org.eclipse.equinox.launcher/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/build.properties b/bundles/org.eclipse.equinox.launcher/build.properties
deleted file mode 100644
index c7e3014..0000000
--- a/bundles/org.eclipse.equinox.launcher/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               launcher.properties,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/.project b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/.project
deleted file mode 100644
index 26fdb5b..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.s390</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/META-INF/MANIFEST.MF
deleted file mode 100644
index f81992a..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.s390;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=s390))
-Bundle-Localization: launcher.gtk.linux.s390
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/about.html b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/about.html
deleted file mode 100644
index 985239a..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/build.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/build.properties
deleted file mode 100644
index f3c0662..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.s390.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/launcher.gtk.linux.s390.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/launcher.gtk.linux.s390.properties
deleted file mode 100644
index 3782298..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390/launcher.gtk.linux.s390.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux s390 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/.project b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/.project
deleted file mode 100644
index 0313a09..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.s390x</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/META-INF/MANIFEST.MF
deleted file mode 100644
index 87a2366..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.s390x;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=s390x))
-Bundle-Localization: launcher.gtk.linux.s390x
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/about.html b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/about.html
deleted file mode 100644
index 985239a..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/build.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/build.properties
deleted file mode 100644
index 2213963..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.s390x.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/launcher.gtk.linux.s390x.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/launcher.gtk.linux.s390x.properties
deleted file mode 100644
index 810b0a3..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.linux.s390x/launcher.gtk.linux.s390x.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux s390x Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/.project b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/.project
deleted file mode 100644
index 6817d26..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.solaris.x86</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/META-INF/MANIFEST.MF
deleted file mode 100644
index 0c89715..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.solaris.x86;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=solaris) (osgi.arch=x86))
-Bundle-Localization: launcher.gtk.solaris.x86
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/about.html b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/build.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/build.properties
deleted file mode 100644
index 0d65502..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.solaris.x86.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/launcher.gtk.solaris.x86.properties b/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/launcher.gtk.solaris.x86.properties
deleted file mode 100644
index 936bdec..0000000
--- a/bundles/org.eclipse.equinox.launcher/contributed/org.eclipse.equinox.launcher.gtk.solaris.x86/launcher.gtk.solaris.x86.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Solaris X86 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.project
deleted file mode 100644
index e2a2b78..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.carbon.macosx</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 259feff..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:35:44 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/META-INF/MANIFEST.MF
deleted file mode 100644
index 3224e1e..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.carbon.macosx;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=carbon) (osgi.os=macosx) (|(osgi.arch=x86)(osgi.arch=ppc)) )
-Bundle-Localization: launcher.carbon.macosx
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/build.properties
deleted file mode 100644
index d6d2e53..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.carbon.macosx.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/launcher.carbon.macosx.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/launcher.carbon.macosx.properties
deleted file mode 100644
index 8b6f73f..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.carbon.macosx/launcher.carbon.macosx.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher MacOSX Carbon Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/.project
deleted file mode 100644
index c731487..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.cocoa.macosx.x86_64</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/META-INF/MANIFEST.MF
deleted file mode 100644
index 8decb4a..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.cocoa.macosx.x86_64;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )
-Bundle-Localization: launcher.cocoa.macosx.x86_64
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/build.properties
deleted file mode 100644
index f0642e7..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.cocoa.macosx.x86_64.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/launcher.cocoa.macosx.x86_64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/launcher.cocoa.macosx.x86_64.properties
deleted file mode 100644
index b49be95..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx.x86_64/launcher.cocoa.macosx.x86_64.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher MacOSX Cocoa Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/.project
deleted file mode 100644
index e3ceabe..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.cocoa.macosx</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/META-INF/MANIFEST.MF
deleted file mode 100644
index 2421a11..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.cocoa.macosx;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (|(osgi.arch=x86)(osgi.arch=ppc)) )
-Bundle-Localization: launcher.cocoa.macosx
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/build.properties
deleted file mode 100644
index d0fa255..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.cocoa.macosx.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/launcher.cocoa.macosx.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/launcher.cocoa.macosx.properties
deleted file mode 100644
index b49be95..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.cocoa.macosx/launcher.cocoa.macosx.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher MacOSX Cocoa Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.project
deleted file mode 100644
index 66b6342..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 225f026..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:44:00 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/META-INF/MANIFEST.MF
deleted file mode 100644
index a0e269a..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.ppc;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=ppc))
-Bundle-Localization: launcher.gtk.linux.ppc
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/build.properties
deleted file mode 100644
index d44532b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.ppc.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/launcher.gtk.linux.ppc.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/launcher.gtk.linux.ppc.properties
deleted file mode 100644
index 2eb47e4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc/launcher.gtk.linux.ppc.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux PPC Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/.project
deleted file mode 100644
index 957d54b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.ppc64</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/META-INF/MANIFEST.MF
deleted file mode 100644
index b1b560a..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.ppc64;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=ppc64))
-Bundle-Localization: launcher.gtk.linux.ppc64
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/build.properties
deleted file mode 100644
index 8356be9..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.ppc64.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/launcher.gtk.linux.ppc64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/launcher.gtk.linux.ppc64.properties
deleted file mode 100644
index b0663ec..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.ppc64/launcher.gtk.linux.ppc64.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux PPC64 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/.project
deleted file mode 100644
index b678af7..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.x86</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/META-INF/MANIFEST.MF
deleted file mode 100644
index 0dd00f4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.x86;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=x86))
-Bundle-Localization: launcher.gtk.linux.x86
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/build.properties
deleted file mode 100644
index 768196b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.x86.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/launcher.gtk.linux.x86.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/launcher.gtk.linux.x86.properties
deleted file mode 100644
index 120c5fb..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86/launcher.gtk.linux.x86.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux X86 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.project
deleted file mode 100644
index 9a18726..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.linux.x86_64</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index dd67903..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:46:47 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/META-INF/MANIFEST.MF
deleted file mode 100644
index 6659846..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.x86_64;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=x86_64))
-Bundle-Localization: launcher.gtk.linux.x86_64
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/build.properties
deleted file mode 100644
index dfd3714..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.linux.x86_64.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/launcher.gtk.linux.x86_64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/launcher.gtk.linux.x86_64.properties
deleted file mode 100644
index e95b2fd..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.linux.x86_64/launcher.gtk.linux.x86_64.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Linux X86_64 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.project
deleted file mode 100644
index bf1f399..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.gtk.solaris.sparc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 5b1720f..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:40:21 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/META-INF/MANIFEST.MF
deleted file mode 100644
index 13f7d7f..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.solaris.sparc;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=solaris) (osgi.arch=sparc))
-Bundle-Localization: launcher.gtk.solaris.sparc
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/build.properties
deleted file mode 100644
index b7ee51b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.gtk.solaris.sparc.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/launcher.gtk.solaris.sparc.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/launcher.gtk.solaris.sparc.properties
deleted file mode 100644
index 3bfebde..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.solaris.sparc/launcher.gtk.solaris.sparc.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Sparc Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.project
deleted file mode 100644
index 3be3164..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.motif.aix.ppc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 8e93962..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:41:27 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/META-INF/MANIFEST.MF
deleted file mode 100644
index 087ca1a..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.motif.aix.ppc;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=motif) (osgi.os=aix) (osgi.arch=ppc))
-Bundle-Localization: launcher.motif.aix.ppc
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/build.properties
deleted file mode 100644
index e890e22..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               libeclipse-motif.so, \
-               launcher.motif.aix.ppc.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false               
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/launcher.motif.aix.ppc.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/launcher.motif.aix.ppc.properties
deleted file mode 100644
index 95c4a79..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.aix.ppc/launcher.motif.aix.ppc.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher AIX PPC Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/.project
deleted file mode 100644
index a97a672..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.motif.hpux.PA_RISC</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/README.TXT b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/README.TXT
deleted file mode 100644
index affe393..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.PA_RISC/README.TXT
+++ /dev/null
@@ -1,2 +0,0 @@
-The org.eclipse.equinox.launcher.motif.hpux.PA_RISC launcher is no longer maintained.  
-Content has been deleted.  The tag v20100118 contains the last content before deletion.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/.project
deleted file mode 100644
index 5bbcd80..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.motif.hpux.ia64_32</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/META-INF/MANIFEST.MF
deleted file mode 100644
index afe8eb1..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.motif.hpux.ia64_32;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Bundle-Vendor: %providerName
-Eclipse-PlatformFilter: (& (osgi.ws=motif) (osgi.os=hpux) (osgi.arch=ia64_32) )
-Bundle-Localization: launcher.motif.hpux.ia64_32
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/build.properties
deleted file mode 100644
index 408b84c..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.motif.hpux.ia64_32.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/launcher.motif.hpux.ia64_32.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/launcher.motif.hpux.ia64_32.properties
deleted file mode 100644
index 4fd387b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.hpux.ia64_32/launcher.motif.hpux.ia64_32.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher HPUX IA64_32 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/.project
deleted file mode 100755
index a592cb0..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.motif.linux.x86</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/META-INF/MANIFEST.MF
deleted file mode 100755
index c7e280d..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.motif.linux.x86;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=motif) (osgi.os=linux) (osgi.arch=x86))
-Bundle-Localization: launcher.motif.linux.x86
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/about.html
deleted file mode 100755
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/build.properties
deleted file mode 100755
index 7879894..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.motif.linux.x86.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/customBuildCallbacks.xml
deleted file mode 100755
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/launcher.motif.linux.x86.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/launcher.motif.linux.x86.properties
deleted file mode 100644
index b82bb9c..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.linux.x86/launcher.motif.linux.x86.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Motif Linux X86 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/.project
deleted file mode 100644
index 0d55c5b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.motif.solaris.sparc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/META-INF/MANIFEST.MF
deleted file mode 100644
index 014a2aa..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Sparc Fragment
-Bundle-SymbolicName: org.eclipse.equinox.launcher.motif.solaris.sparc;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=motif) (osgi.os=solaris) (osgi.arch=sparc))
-Bundle-Localization: launcher.motif.solaris.sparc
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/build.properties
deleted file mode 100644
index 1848bce..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.so,\
-               launcher.motif.solaris.sparc.properties,\
-               about.html
-               
-customBuildCallbacks=customBuildCallbacks.xml
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/customBuildCallbacks.xml
deleted file mode 100644
index 32c8ef4..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/customBuildCallbacks.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">	
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-	
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   base.dir - root of the project                                      -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<chmod perm="755" dir="${target.folder}" includes="eclipse_*" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">              
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">             
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/launcher.motif.solaris.sparc.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/launcher.motif.solaris.sparc.properties
deleted file mode 100644
index dd11a28..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.motif.solaris.sparc/launcher.motif.solaris.sparc.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Motif Solaris Sparc Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/.project
deleted file mode 100644
index 9165658..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.win32.win32.ia64</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/META-INF/MANIFEST.MF
deleted file mode 100644
index fefb9a5..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.ia64;singleton:=true
-Bundle-Version: 1.2.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=ia64))
-Bundle-Localization: launcher.win32.win32.ia64
-Eclipse-BundleShape: dir
-
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/build.properties
deleted file mode 100644
index b489f85..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.dll,\
-               launcher.win32.win32.ia64.properties,\
-               about.html
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/launcher.win32.win32.ia64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/launcher.win32.win32.ia64.properties
deleted file mode 100644
index 56553cf..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.ia64/launcher.win32.win32.ia64.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Win32 IA64 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.project
deleted file mode 100644
index 1ca9e89..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.win32.win32.x86</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 300e310..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Dec 06 11:24:25 EST 2006
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/META-INF/MANIFEST.MF
deleted file mode 100644
index a595514..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86; singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-Bundle-Localization: launcher.win32.win32.x86
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/build.properties
deleted file mode 100644
index 199f7ee..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.dll,\
-               launcher.win32.win32.x86.properties,\
-               about.html
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/launcher.win32.win32.x86.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/launcher.win32.win32.x86.properties
deleted file mode 100644
index c5ca613..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86/launcher.win32.win32.x86.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Win32 X86 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project
deleted file mode 100644
index 388f97d..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.win32.win32.x86_64</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF
deleted file mode 100644
index 17c7708..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86_64;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86_64))
-Bundle-Localization: launcher.win32.win32.x86_64
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties
deleted file mode 100644
index f64240c..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.dll,\
-               launcher.win32.win32.x86_64.properties,\
-               about.html
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties
deleted file mode 100644
index 4940a45..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher Win32 X86_64 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.classpath b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.project
deleted file mode 100644
index c8be0ba..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.wpf.win32.x86</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/META-INF/MANIFEST.MF
deleted file mode 100644
index f4f9aee..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.launcher.wpf.win32.x86; singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.2.0)"
-Eclipse-PlatformFilter: (& (osgi.ws=wpf) (osgi.os=win32) (osgi.arch=x86))
-Bundle-Localization: launcher.wpf.win32.x86
-Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/about.html
deleted file mode 100644
index 395df3b..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  
-Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor&rsquo;s license 
-that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/build.properties
deleted file mode 100644
index adb8345..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
-               eclipse_*.dll,\
-               com_*.dll,\
-               launcher.wpf.win32.x86.properties,\
-               about.html
-generateSourceBundle=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/launcher.wpf.win32.x86.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/launcher.wpf.win32.x86.properties
deleted file mode 100644
index 253aace..0000000
--- a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.wpf.win32.x86/launcher.wpf.win32.x86.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher WPF Win32 X86 Fragment
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/launcher.properties b/bundles/org.eclipse.equinox.launcher/launcher.properties
deleted file mode 100644
index 6493c8f..0000000
--- a/bundles/org.eclipse.equinox.launcher/launcher.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Equinox Launcher
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
deleted file mode 100644
index c98f7ef..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrew Niefer - IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.launcher;
-
-/**
- * This class exists only for backwards compatibility.
- * The real Main class is now org.eclipse.equinox.launcher.Main.
- * <p>
- * <b>Note:</b> This class should not be referenced programmatically by
- * other Java code. This class exists only for the purpose of launching Eclipse
- * from the command line. To launch Eclipse programmatically, use 
- * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
- * on this class are not API.
- * @noextend This class is not intended to be subclassed by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public class Main {
-
-	/**
-	 * Pass our args along to the real Main class.
-	 * 
-	 * @param args the given arguments
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public static void main(String[] args) {
-		org.eclipse.equinox.launcher.Main.main(args);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/package.html b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/package.html
deleted file mode 100644
index d329929..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Launches the Eclipse Platform.
-<h2>
-Package Specification</h2>
-
-This package exists for backwards compatibility.  To start the platform, specify org.eclipse.equinox.launcher.Main
-as the main class when invoking the Java VM.
-<p>
-This package is not intended to be used by other Java code. The methods
-and fields in these classes are not API.
-
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
deleted file mode 100644
index 6e83b71..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Andrew Niefer - IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.launcher;
-
-/**
- * @author aniefer
- *
- */
-public class Constants {
-	public static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
-	public static final String INTERNAL_AMD64 = "amd64"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_SUNOS = "SunOS"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_LINUX = "Linux"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_MACOSX = "Mac OS"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_AIX = "AIX"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_HPUX = "HP-UX"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_QNX = "QNX"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_OS400 = "OS/400"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_OS390 = "OS/390"; //$NON-NLS-1$
-	public static final String INTERNAL_OS_ZOS = "z/OS"; //$NON-NLS-1$
-
-	public static final String ARCH_X86 = "x86";//$NON-NLS-1$
-	public static final String ARCH_X86_64 = "x86_64";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "win32") indicating the platform is running on a
-	 * Window 32-bit operating system (e.g., Windows 98, NT, 2000).
-	 */
-	public static final String OS_WIN32 = "win32";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "linux") indicating the platform is running on a
-	 * Linux-based operating system.
-	 */
-	public static final String OS_LINUX = "linux";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "aix") indicating the platform is running on an
-	 * AIX-based operating system.
-	 */
-	public static final String OS_AIX = "aix";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "solaris") indicating the platform is running on a
-	 * Solaris-based operating system.
-	 */
-	public static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "hpux") indicating the platform is running on an
-	 * HP/UX-based operating system.
-	 */
-	public static final String OS_HPUX = "hpux";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "qnx") indicating the platform is running on a
-	 * QNX-based operating system.
-	 */
-	public static final String OS_QNX = "qnx";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "macosx") indicating the platform is running on a
-	 * Mac OS X operating system.
-	 */
-	public static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "os/400") indicating the platform is running on a
-	 * OS/400 operating system.
-	 */
-	public static final String OS_OS400 = "os/400"; //$NON-NLS-1$
-
-	/**
-	 * Constant string (value "os/390") indicating the platform is running on a
-	 * OS/390 operating system.
-	 */
-	public static final String OS_OS390 = "os/390"; //$NON-NLS-1$
-
-	/**
-	 * Constant string (value "z/os") indicating the platform is running on a
-	 * z/OS operating system.
-	 */
-	public static final String OS_ZOS = "z/os"; //$NON-NLS-1$
-
-	/**
-	 * Constant string (value "unknown") indicating the platform is running on a
-	 * machine running an unknown operating system.
-	 */
-	public static final String OS_UNKNOWN = "unknown";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "win32") indicating the platform is running on a
-	 * machine using the Windows windowing system.
-	 */
-	public static final String WS_WIN32 = "win32";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "wpf") indicating the platform is running on a
-	 * machine using the Windows Presendation Foundation system.
-	 */
-	public static final String WS_WPF = "wpf";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "motif") indicating the platform is running on a
-	 * machine using the Motif windowing system.
-	 */
-	public static final String WS_MOTIF = "motif";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "gtk") indicating the platform is running on a
-	 * machine using the GTK windowing system.
-	 */
-	public static final String WS_GTK = "gtk";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "photon") indicating the platform is running on a
-	 * machine using the Photon windowing system.
-	 */
-	public static final String WS_PHOTON = "photon";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "carbon") indicating the platform is running on a
-	 * machine using the Carbon windowing system (Mac OS X).
-	 */
-	public static final String WS_CARBON = "carbon";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "cocoa") indicating the platform is running on a
-	 * machine using the Cocoa windowing system (Mac OS X).
-	 */
-	public static final String WS_COCOA = "cocoa"; //$NON-NLS-1$
-
-	/**
-	 * Constant string (value "unknown") indicating the platform is running on a
-	 * machine running an unknown windowing system.
-	 */
-	public static final String WS_UNKNOWN = "unknown";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
deleted file mode 100644
index 57749e4..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.launcher;
-
-/**
- * <b>Note:</b> This class should not be referenced programmatically by
- * other Java code. This class exists only for the purpose of interacting with
- * a native launcher. To launch Eclipse programmatically, use 
- * org.eclipse.core.runtime.adaptor.EclipseStarter. This class is not API.
- *
- * @noextend This class is not intended to be subclassed by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public class JNIBridge {
-	//TODO: This class should not be public
-	private native void _set_exit_data(String sharedId, String data);
-
-	private native void _set_launcher_info(String launcher, String name);
-
-	private native void _update_splash();
-
-	private native long _get_splash_handle();
-
-	private native void _show_splash(String bitmap);
-
-	private native void _takedown_splash();
-
-	private native int OleInitialize(int reserved);
-
-	private native void OleUninitialize();
-
-	private String library;
-	private boolean libraryLoaded = false;
-
-	/**
-	 * @noreference This constructor is not intended to be referenced by clients.
-	 * 
-	 * @param library the given library
-	 */
-	public JNIBridge(String library) {
-		this.library = library;
-	}
-
-	private void loadLibrary() {
-		if (library != null) {
-			try {
-				if (library.indexOf("wpf") != -1) { //$NON-NLS-1$
-					int idx = library.indexOf("eclipse_"); //$NON-NLS-1$
-					if (idx != -1) {
-						String comLibrary = library.substring(0, idx) + "com_"; //$NON-NLS-1$
-						comLibrary += library.substring(idx + 8, library.length());
-						Runtime.getRuntime().load(comLibrary);
-						OleInitialize(0);
-					}
-				}
-				Runtime.getRuntime().load(library);
-			} catch (UnsatisfiedLinkError e) {
-				//failed
-			}
-		}
-		libraryLoaded = true;
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean setExitData(String sharedId, String data) {
-		try {
-			_set_exit_data(sharedId, data);
-			return true;
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return setExitData(sharedId, data);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients
-	 */
-	public boolean setLauncherInfo(String launcher, String name) {
-		try {
-			_set_launcher_info(launcher, name);
-			return true;
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return setLauncherInfo(launcher, name);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean showSplash(String bitmap) {
-		try {
-			_show_splash(bitmap);
-			return true;
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return showSplash(bitmap);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean updateSplash() {
-		try {
-			_update_splash();
-			return true;
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return updateSplash();
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public long getSplashHandle() {
-		try {
-			return _get_splash_handle();
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return getSplashHandle();
-			}
-			return -1;
-		}
-	}
-
-	/**
-	 * Whether or not we loaded the shared library here from java.  
-	 * False does not imply the library is not available, it could have
-	 * been loaded natively by the executable.
-	 * 
-	 * @return boolean
-	 */
-	boolean isLibraryLoadedByJava() {
-		return libraryLoaded;
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean takeDownSplash() {
-		try {
-			_takedown_splash();
-			return true;
-		} catch (UnsatisfiedLinkError e) {
-			if (!libraryLoaded) {
-				loadLibrary();
-				return takeDownSplash();
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean uninitialize() {
-		if (libraryLoaded && library != null) {
-			if (library.indexOf("wpf") != -1) { //$NON-NLS-1$
-				try {
-					OleUninitialize();
-				} catch (UnsatisfiedLinkError e) {
-					// library not loaded
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
deleted file mode 100644
index da30753..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
+++ /dev/null
@@ -1,2652 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Anton Leherbauer (Wind River Systems) - bug 301226
- *******************************************************************************/
-package org.eclipse.equinox.launcher;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.security.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.equinox.internal.launcher.Constants;
-
-/**
- * The launcher for Eclipse.
- * 
- * <b>Note:</b> This class should not be referenced programmatically by
- * other Java code. This class exists only for the purpose of launching Eclipse
- * from the command line. To launch Eclipse programmatically, use 
- * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
- * on this class are not API.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public class Main {
-	/**
-	 * Indicates whether this instance is running in debug mode.
-	 */
-	protected boolean debug = false;
-
-	/**
-	 * The location of the launcher to run.
-	 */
-	protected String bootLocation = null;
-
-	/**
-	 * The location of the install root
-	 */
-	protected URL installLocation = null;
-
-	/**
-	 * The location of the configuration information for this instance
-	 */
-	protected URL configurationLocation = null;
-
-	/**
-	 * The location of the configuration information in the install root
-	 */
-	protected String parentConfigurationLocation = null;
-
-	/**
-	 * The id of the bundle that will contain the framework to run.  Defaults to org.eclipse.osgi.
-	 */
-	protected String framework = OSGI;
-
-	/**
-	 * The extra development time class path entries for the framework.
-	 */
-	protected String devClassPath = null;
-
-	/*
-	 * The extra development time class path entries for all bundles.
-	 */
-	private Properties devClassPathProps = null;
-
-	/**
-	 * Indicates whether this instance is running in development mode.
-	 */
-	protected boolean inDevelopmentMode = false;
-
-	/**
-	 * Indicates which OS was passed in with -os
-	 */
-	protected String os = null;
-	protected String ws = null;
-	protected String arch = null;
-
-	//    private String name = null; // The name to brand the launcher
-	//    private String launcher = null; // The full path to the launcher
-	private String library = null;
-	private String exitData = null;
-
-	private String vm = null;
-	private String[] vmargs = null;
-	private String[] commands = null;
-	String[] extensionPaths = null;
-
-	JNIBridge bridge = null;
-
-	// splash handling
-	private boolean showSplash = false;
-	private String splashLocation = null;
-	private String endSplash = null;
-	private boolean initialize = false;
-	protected boolean splashDown = false;
-
-	public final class SplashHandler extends Thread {
-		public void run() {
-			takeDownSplash();
-		}
-
-		public void updateSplash() {
-			if (bridge != null && !splashDown) {
-				bridge.updateSplash();
-			}
-		}
-	}
-
-	private final Thread splashHandler = new SplashHandler();
-
-	//splash screen system properties
-	public static final String SPLASH_HANDLE = "org.eclipse.equinox.launcher.splash.handle"; //$NON-NLS-1$
-	public static final String SPLASH_LOCATION = "org.eclipse.equinox.launcher.splash.location"; //$NON-NLS-1$
-
-	// command line args
-	private static final String FRAMEWORK = "-framework"; //$NON-NLS-1$
-	private static final String INSTALL = "-install"; //$NON-NLS-1$
-	private static final String INITIALIZE = "-initialize"; //$NON-NLS-1$
-	private static final String VM = "-vm"; //$NON-NLS-1$
-	private static final String VMARGS = "-vmargs"; //$NON-NLS-1$
-	private static final String DEBUG = "-debug"; //$NON-NLS-1$
-	private static final String DEV = "-dev"; //$NON-NLS-1$
-	private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$
-	private static final String NOSPLASH = "-nosplash"; //$NON-NLS-1$
-	private static final String SHOWSPLASH = "-showsplash"; //$NON-NLS-1$
-	private static final String EXITDATA = "-exitdata"; //$NON-NLS-1$
-	private static final String NAME = "-name"; //$NON-NLS-1$
-	private static final String LAUNCHER = "-launcher"; //$NON-NLS-1$
-	private static final String LIBRARY = "--launcher.library"; //$NON-NLS-1$
-	private static final String NL = "-nl"; //$NON-NLS-1$
-	private static final String ENDSPLASH = "-endsplash"; //$NON-NLS-1$
-	private static final String SPLASH_IMAGE = "splash.bmp"; //$NON-NLS-1$
-	private static final String CLEAN = "-clean"; //$NON-NLS-1$
-	private static final String NOEXIT = "-noExit"; //$NON-NLS-1$
-	private static final String OS = "-os"; //$NON-NLS-1$
-	private static final String WS = "-ws"; //$NON-NLS-1$
-	private static final String ARCH = "-arch"; //$NON-NLS-1$
-	private static final String STARTUP = "-startup"; //$NON-NLS-1$
-
-	private static final String OSGI = "org.eclipse.osgi"; //$NON-NLS-1$
-	private static final String STARTER = "org.eclipse.core.runtime.adaptor.EclipseStarter"; //$NON-NLS-1$
-	private static final String PLATFORM_URL = "platform:/base/"; //$NON-NLS-1$
-	private static final String ECLIPSE_PROPERTIES = "eclipse.properties"; //$NON-NLS-1$
-	private static final String FILE_SCHEME = "file:"; //$NON-NLS-1$    
-	protected static final String REFERENCE_SCHEME = "reference:"; //$NON-NLS-1$
-	protected static final String JAR_SCHEME = "jar:"; //$NON-NLS-1$
-
-	// constants: configuration file location
-	private static final String CONFIG_DIR = "configuration/"; //$NON-NLS-1$
-	private static final String CONFIG_FILE = "config.ini"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_TEMP_SUFFIX = ".tmp"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_BAK_SUFFIX = ".bak"; //$NON-NLS-1$
-	private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_MARKER = ".eclipseproduct"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_ID = "id"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_VERSION = "version"; //$NON-NLS-1$
-
-	// constants: System property keys and/or configuration file elements
-	private static final String PROP_USER_HOME = "user.home"; //$NON-NLS-1$
-	private static final String PROP_USER_DIR = "user.dir"; //$NON-NLS-1$
-	private static final String PROP_INSTALL_AREA = "osgi.install.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_AREA = "osgi.configuration.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_AREA_DEFAULT = "osgi.configuration.area.default"; //$NON-NLS-1$
-	private static final String PROP_BASE_CONFIG_AREA = "osgi.baseConfiguration.area"; //$NON-NLS-1$
-	private static final String PROP_SHARED_CONFIG_AREA = "osgi.sharedConfiguration.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_CASCADED = "osgi.configuration.cascaded"; //$NON-NLS-1$
-	protected static final String PROP_FRAMEWORK = "osgi.framework"; //$NON-NLS-1$
-	private static final String PROP_SPLASHPATH = "osgi.splashPath"; //$NON-NLS-1$
-	private static final String PROP_SPLASHLOCATION = "osgi.splashLocation"; //$NON-NLS-1$
-	private static final String PROP_CLASSPATH = "osgi.frameworkClassPath"; //$NON-NLS-1$
-	private static final String PROP_EXTENSIONS = "osgi.framework.extensions"; //$NON-NLS-1$
-	private static final String PROP_FRAMEWORK_SYSPATH = "osgi.syspath"; //$NON-NLS-1$
-	private static final String PROP_FRAMEWORK_SHAPE = "osgi.framework.shape"; //$NON-NLS-1$
-	private static final String PROP_LOGFILE = "osgi.logfile"; //$NON-NLS-1$
-	private static final String PROP_REQUIRED_JAVA_VERSION = "osgi.requiredJavaVersion"; //$NON-NLS-1$
-	private static final String PROP_PARENT_CLASSLOADER = "osgi.parentClassloader"; //$NON-NLS-1$
-	private static final String PROP_FRAMEWORK_PARENT_CLASSLOADER = "osgi.frameworkParentClassloader"; //$NON-NLS-1$
-	private static final String PROP_NL = "osgi.nl"; //$NON-NLS-1$
-	static final String PROP_NOSHUTDOWN = "osgi.noShutdown"; //$NON-NLS-1$
-	private static final String PROP_DEBUG = "osgi.debug"; //$NON-NLS-1$	
-	private static final String PROP_OS = "osgi.os"; //$NON-NLS-1$
-	private static final String PROP_WS = "osgi.ws"; //$NON-NLS-1$
-	private static final String PROP_ARCH = "osgi.arch"; //$NON-NLS-1$
-
-	private static final String PROP_EXITCODE = "eclipse.exitcode"; //$NON-NLS-1$
-	private static final String PROP_EXITDATA = "eclipse.exitdata"; //$NON-NLS-1$
-	private static final String PROP_LAUNCHER = "eclipse.launcher"; //$NON-NLS-1$
-	private static final String PROP_LAUNCHER_NAME = "eclipse.launcher.name"; //$NON-NLS-1$
-
-	private static final String PROP_VM = "eclipse.vm"; //$NON-NLS-1$
-	private static final String PROP_VMARGS = "eclipse.vmargs"; //$NON-NLS-1$
-	private static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-	private static final String PROP_ECLIPSESECURITY = "eclipse.security"; //$NON-NLS-1$
-
-	// Suffix for location properties - see LocationManager.
-	private static final String READ_ONLY_AREA_SUFFIX = ".readOnly"; //$NON-NLS-1$
-
-	// Data mode constants for user, configuration and data locations.
-	private static final String NONE = "@none"; //$NON-NLS-1$
-	private static final String NO_DEFAULT = "@noDefault"; //$NON-NLS-1$
-	private static final String USER_HOME = "@user.home"; //$NON-NLS-1$
-	private static final String USER_DIR = "@user.dir"; //$NON-NLS-1$
-
-	// types of parent classloaders the framework can have
-	private static final String PARENT_CLASSLOADER_APP = "app"; //$NON-NLS-1$
-	private static final String PARENT_CLASSLOADER_EXT = "ext"; //$NON-NLS-1$
-	private static final String PARENT_CLASSLOADER_BOOT = "boot"; //$NON-NLS-1$
-	private static final String PARENT_CLASSLOADER_CURRENT = "current"; //$NON-NLS-1$
-
-	// log file handling
-	protected static final String SESSION = "!SESSION"; //$NON-NLS-1$
-	protected static final String ENTRY = "!ENTRY"; //$NON-NLS-1$
-	protected static final String MESSAGE = "!MESSAGE"; //$NON-NLS-1$
-	protected static final String STACK = "!STACK"; //$NON-NLS-1$
-	protected static final int ERROR = 4;
-	protected static final String PLUGIN_ID = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-	protected File logFile = null;
-	protected BufferedWriter log = null;
-	protected boolean newSession = true;
-
-	/**
-	 * A structured form for a version identifier.
-	 * 
-	 * @see "http://java.sun.com/j2se/versioning_naming.html for information on valid version strings"
-	 */
-	static class Identifier {
-		private static final String DELIM = ". _-"; //$NON-NLS-1$
-		private int major, minor, service;
-
-		Identifier(int major, int minor, int service) {
-			super();
-			this.major = major;
-			this.minor = minor;
-			this.service = service;
-		}
-
-		/**
-		 * @throws NumberFormatException if cannot parse the major and minor version components
-		 */
-		Identifier(String versionString) {
-			super();
-			StringTokenizer tokenizer = new StringTokenizer(versionString, DELIM);
-
-			// major
-			if (tokenizer.hasMoreTokens())
-				major = Integer.parseInt(tokenizer.nextToken());
-
-			// minor
-			if (tokenizer.hasMoreTokens())
-				minor = Integer.parseInt(tokenizer.nextToken());
-
-			try {
-				// service
-				if (tokenizer.hasMoreTokens())
-					service = Integer.parseInt(tokenizer.nextToken());
-			} catch (NumberFormatException nfe) {
-				// ignore the service qualifier in that case and default to 0
-				// this will allow us to tolerate other non-conventional version numbers 
-			}
-		}
-
-		/**
-		 * Returns true if this id is considered to be greater than or equal to the given baseline.
-		 * e.g. 
-		 * 1.2.9 >= 1.3.1 -> false
-		 * 1.3.0 >= 1.3.1 -> false
-		 * 1.3.1 >= 1.3.1 -> true
-		 * 1.3.2 >= 1.3.1 -> true
-		 * 2.0.0 >= 1.3.1 -> true
-		 */
-		boolean isGreaterEqualTo(Identifier minimum) {
-			if (major < minimum.major)
-				return false;
-			if (major > minimum.major)
-				return true;
-			// major numbers are equivalent so check minor
-			if (minor < minimum.minor)
-				return false;
-			if (minor > minimum.minor)
-				return true;
-			// minor numbers are equivalent so check service
-			return service >= minimum.service;
-		}
-	}
-
-	private String getWS() {
-		if (ws != null)
-			return ws;
-
-		String osgiWs = System.getProperty(PROP_WS);
-		if (osgiWs != null) {
-			ws = osgiWs;
-			return ws;
-		}
-
-		String osName = getOS();
-		if (osName.equals(Constants.OS_WIN32))
-			return Constants.WS_WIN32;
-		if (osName.equals(Constants.OS_LINUX))
-			return Constants.WS_GTK;
-		if (osName.equals(Constants.OS_MACOSX))
-			return Constants.WS_COCOA;
-		if (osName.equals(Constants.OS_HPUX))
-			return Constants.WS_MOTIF;
-		if (osName.equals(Constants.OS_AIX))
-			return Constants.WS_MOTIF;
-		if (osName.equals(Constants.OS_SOLARIS))
-			return Constants.WS_GTK;
-		if (osName.equals(Constants.OS_QNX))
-			return Constants.WS_PHOTON;
-		return Constants.WS_UNKNOWN;
-	}
-
-	private String getAlternateWS(String defaultWS) {
-		// We'll have already tried the default, so we only need to map
-		// in one direction. (default -> alternate)
-		if (Constants.WS_COCOA.equals(defaultWS))
-			return Constants.WS_CARBON;
-		if (Constants.WS_GTK.equals(defaultWS))
-			return Constants.WS_MOTIF;
-		if (Constants.WS_WIN32.equals(defaultWS))
-			return Constants.WS_WPF;
-		return Constants.WS_UNKNOWN;
-	}
-
-	private String getOS() {
-		if (os != null)
-			return os;
-		String osgiOs = System.getProperty(PROP_OS);
-		if (osgiOs != null) {
-			os = osgiOs;
-			return os;
-		}
-		String osName = System.getProperties().getProperty("os.name"); //$NON-NLS-1$
-		if (osName.regionMatches(true, 0, Constants.OS_WIN32, 0, 3))
-			return Constants.OS_WIN32;
-		// EXCEPTION: All mappings of SunOS convert to Solaris
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_SUNOS))
-			return Constants.OS_SOLARIS;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_LINUX))
-			return Constants.OS_LINUX;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_QNX))
-			return Constants.OS_QNX;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_AIX))
-			return Constants.OS_AIX;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_HPUX))
-			return Constants.OS_HPUX;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_OS400))
-			return Constants.OS_OS400;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_OS390))
-			return Constants.OS_OS390;
-		if (osName.equalsIgnoreCase(Constants.INTERNAL_OS_ZOS))
-			return Constants.OS_ZOS;
-		// os.name on Mac OS can be either Mac OS or Mac OS X
-		if (osName.regionMatches(true, 0, Constants.INTERNAL_OS_MACOSX, 0, Constants.INTERNAL_OS_MACOSX.length()))
-			return Constants.OS_MACOSX;
-		return Constants.OS_UNKNOWN;
-	}
-
-	private String getArch() {
-		if (arch != null)
-			return arch;
-		String osgiArch = System.getProperty(PROP_ARCH);
-		if (osgiArch != null) {
-			arch = osgiArch;
-			return arch;
-		}
-		String name = System.getProperties().getProperty("os.arch");//$NON-NLS-1$
-		// Map i386 architecture to x86
-		if (name.equalsIgnoreCase(Constants.INTERNAL_ARCH_I386))
-			return Constants.ARCH_X86;
-		// Map amd64 architecture to x86_64
-		else if (name.equalsIgnoreCase(Constants.INTERNAL_AMD64))
-			return Constants.ARCH_X86_64;
-
-		return name;
-	}
-
-	private String getFragmentString(String fragmentOS, String fragmentWS, String fragmentArch) {
-		StringBuffer buffer = new StringBuffer(PLUGIN_ID);
-		buffer.append('.');
-		buffer.append(fragmentWS);
-		buffer.append('.');
-		buffer.append(fragmentOS);
-		if (!(fragmentOS.equals(Constants.OS_MACOSX) && !Constants.ARCH_X86_64.equals(fragmentArch))) {
-			buffer.append('.');
-			buffer.append(fragmentArch);
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 *  Sets up the JNI bridge to native calls
-	 */
-	private void setupJNI(URL[] defaultPath) {
-		String libPath = null;
-
-		if (library != null) {
-			File lib = new File(library);
-			if (lib.isDirectory()) {
-				libPath = searchFor("eclipse", lib.getAbsolutePath()); //$NON-NLS-1$
-			} else if (lib.exists()) {
-				libPath = lib.getAbsolutePath();
-			}
-		}
-		if (libPath == null) {
-			//find our fragment name
-			String fragmentOS = getOS();
-			String fragmentWS = getWS();
-			String fragmentArch = getArch();
-
-			libPath = getLibraryPath(getFragmentString(fragmentOS, fragmentWS, fragmentArch), defaultPath);
-			if (libPath == null && ws == null) {
-				// no ws was specified and we didn't find the default fragment, try an alternate ws
-				String alternateWS = getAlternateWS(fragmentWS);
-				libPath = getLibraryPath(getFragmentString(fragmentOS, alternateWS, fragmentArch), defaultPath);
-				if (libPath != null) {
-					System.getProperties().put(PROP_WS, alternateWS);
-				}
-			}
-		}
-		library = libPath;
-		if (library != null)
-			bridge = new JNIBridge(library);
-	}
-
-	private String getLibraryPath(String fragmentName, URL[] defaultPath) {
-		String libPath = null;
-		String fragment = null;
-		if (inDevelopmentMode && devClassPathProps != null) {
-			String devPathList = devClassPathProps.getProperty(PLUGIN_ID);
-			String[] locations = getArrayFromList(devPathList);
-			if (locations.length > 0) {
-				File location = new File(locations[0]);
-				if (location.isAbsolute()) {
-					String dir = location.getParent();
-					fragment = searchFor(fragmentName, dir);
-					if (fragment != null)
-						libPath = getLibraryFromFragment(fragment);
-				}
-			}
-		}
-		if (libPath == null && bootLocation != null) {
-			URL[] urls = defaultPath;
-			if (urls != null && urls.length > 0) {
-				//the last one is most interesting
-				for (int i = urls.length - 1; i >= 0 && libPath == null; i--) {
-					File entryFile = new File(urls[i].getFile());
-					String dir = entryFile.getParent();
-					if (inDevelopmentMode) {
-						String devDir = dir + "/" + PLUGIN_ID + "/fragments"; //$NON-NLS-1$ //$NON-NLS-2$
-						fragment = searchFor(fragmentName, devDir);
-					}
-					if (fragment == null)
-						fragment = searchFor(fragmentName, dir);
-					if (fragment != null)
-						libPath = getLibraryFromFragment(fragment);
-				}
-			}
-		}
-		if (libPath == null) {
-			URL install = getInstallLocation();
-			String location = install.getFile();
-			location += "/plugins/"; //$NON-NLS-1$
-			fragment = searchFor(fragmentName, location);
-			if (fragment != null)
-				libPath = getLibraryFromFragment(fragment);
-		}
-		return libPath;
-	}
-
-	private String getLibraryFromFragment(String fragment) {
-		if (fragment.startsWith(FILE_SCHEME))
-			fragment = fragment.substring(5);
-
-		File frag = new File(fragment);
-		if (!frag.exists())
-			return null;
-
-		if (frag.isDirectory())
-			return searchFor("eclipse", fragment); //$NON-NLS-1$;
-
-		ZipFile fragmentJar = null;
-		try {
-			fragmentJar = new ZipFile(frag);
-		} catch (IOException e) {
-			log("Exception opening JAR file: " + fragment); //$NON-NLS-1$
-			log(e);
-			return null;
-		}
-
-		Enumeration entries = fragmentJar.entries();
-		String entry = null;
-		while (entries.hasMoreElements()) {
-			ZipEntry zipEntry = (ZipEntry) entries.nextElement();
-			if (zipEntry.getName().startsWith("eclipse_")) { //$NON-NLS-1$
-				entry = zipEntry.getName();
-				try {
-					fragmentJar.close();
-				} catch (IOException e) {
-					//ignore
-				}
-				break;
-			}
-		}
-		if (entry != null) {
-			String lib = extractFromJAR(fragment, entry);
-			if (!getOS().equals("win32")) { //$NON-NLS-1$
-				try {
-					Runtime.getRuntime().exec(new String[] {"chmod", "755", lib}).waitFor(); //$NON-NLS-1$ //$NON-NLS-2$
-				} catch (Throwable e) {
-					//ignore
-				}
-			}
-			return lib;
-		}
-		return null;
-	}
-
-	/**
-	 * Executes the launch.
-	 * 
-	 * @param args command-line arguments
-	 * @exception Exception thrown if a problem occurs during the launch
-	 */
-	protected void basicRun(String[] args) throws Exception {
-		System.getProperties().put("eclipse.startTime", Long.toString(System.currentTimeMillis())); //$NON-NLS-1$
-		commands = args;
-		String[] passThruArgs = processCommandLine(args);
-
-		if (!debug)
-			// debug can be specified as system property as well
-			debug = System.getProperty(PROP_DEBUG) != null;
-		setupVMProperties();
-		processConfiguration();
-
-		// need to ensure that getInstallLocation is called at least once to initialize the value.
-		// Do this AFTER processing the configuration to allow the configuration to set
-		// the install location.  
-		getInstallLocation();
-
-		// locate boot plugin (may return -dev mode variations)
-		URL[] bootPath = getBootPath(bootLocation);
-
-		//Set up the JNI bridge.  We need to know the install location to find the shared library
-		setupJNI(bootPath);
-
-		//ensure minimum Java version, do this after JNI is set up so that we can write an error message 
-		//with exitdata if we fail.
-		if (!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION))) //$NON-NLS-1$
-			return;
-
-		// verify configuration location is writable
-		if (!checkConfigurationLocation(configurationLocation))
-			return;
-
-		setSecurityPolicy(bootPath);
-		// splash handling is done here, because the default case needs to know
-		// the location of the boot plugin we are going to use
-		handleSplash(bootPath);
-
-		beforeFwkInvocation();
-		invokeFramework(passThruArgs, bootPath);
-	}
-
-	protected void beforeFwkInvocation() {
-		//Nothing to do.
-	}
-
-	protected void setSecurityPolicy(URL[] bootPath) {
-		String eclipseSecurity = System.getProperty(PROP_ECLIPSESECURITY);
-		if (eclipseSecurity != null) {
-			// setup a policy that grants the launcher and path for the framework AllPermissions.
-			// Do not set the security manager, this will be done by the framework itself.
-			ProtectionDomain domain = Main.class.getProtectionDomain();
-			CodeSource source = null;
-			if (domain != null)
-				source = Main.class.getProtectionDomain().getCodeSource();
-			if (domain == null || source == null) {
-				log("Can not automatically set the security manager. Please use a policy file."); //$NON-NLS-1$
-				return;
-			}
-			// get the list of codesource URLs to grant AllPermission to
-			URL[] rootURLs = new URL[bootPath.length + 1];
-			rootURLs[0] = source.getLocation();
-			System.arraycopy(bootPath, 0, rootURLs, 1, bootPath.length);
-			// replace the security policy
-			Policy eclipsePolicy = new EclipsePolicy(Policy.getPolicy(), rootURLs);
-			Policy.setPolicy(eclipsePolicy);
-		}
-	}
-
-	private void invokeFramework(String[] passThruArgs, URL[] bootPath) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, Error, Exception, InvocationTargetException {
-		String type = System.getProperty(PROP_FRAMEWORK_PARENT_CLASSLOADER, System.getProperty(PROP_PARENT_CLASSLOADER, PARENT_CLASSLOADER_BOOT));
-		ClassLoader parent = null;
-		if (PARENT_CLASSLOADER_APP.equalsIgnoreCase(type))
-			parent = ClassLoader.getSystemClassLoader();
-		else if (PARENT_CLASSLOADER_EXT.equalsIgnoreCase(type)) {
-			ClassLoader appCL = ClassLoader.getSystemClassLoader();
-			if (appCL != null)
-				parent = appCL.getParent();
-		} else if (PARENT_CLASSLOADER_CURRENT.equalsIgnoreCase(type))
-			parent = this.getClass().getClassLoader();
-		URLClassLoader loader = new StartupClassLoader(bootPath, parent);
-		Class clazz = loader.loadClass(STARTER);
-		Method method = clazz.getDeclaredMethod("run", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
-		try {
-			method.invoke(clazz, new Object[] {passThruArgs, splashHandler});
-		} catch (InvocationTargetException e) {
-			if (e.getTargetException() instanceof Error)
-				throw (Error) e.getTargetException();
-			else if (e.getTargetException() instanceof Exception)
-				throw (Exception) e.getTargetException();
-			else
-				//could be a subclass of Throwable!
-				throw e;
-		}
-	}
-
-	/**
-	 * Checks whether the given available version is greater or equal to the 
-	 * given required version.
-	 * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-	 *   
-	 * @return a boolean indicating whether the checking passed 
-	 */
-	private boolean checkVersion(String availableVersion, String requiredVersion) {
-		if (requiredVersion == null || availableVersion == null)
-			return true;
-		try {
-			Identifier required = new Identifier(requiredVersion);
-			Identifier available = new Identifier(availableVersion);
-			boolean compatible = available.isGreaterEqualTo(required);
-			if (!compatible) {
-				// any non-zero value should do it - 14 used to be used for version incompatibility in Eclipse 2.1 
-				System.getProperties().put(PROP_EXITCODE, "14"); //$NON-NLS-1$
-				System.getProperties().put(PROP_EXITDATA, "<title>Incompatible JVM</title>Version " + availableVersion + " of the JVM is not suitable for this product. Version: " + requiredVersion + " or greater is required."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			return compatible;
-		} catch (SecurityException e) {
-			// If the security manager won't allow us to get the system property, continue for
-			// now and let things fail later on their own if necessary.
-			return true;
-		} catch (NumberFormatException e) {
-			// If the version string was in a format that we don't understand, continue and
-			// let things fail later on their own if necessary.
-			return true;
-		}
-	}
-
-	/**
-	 * Checks whether the given location can be created and is writable.
-	 * If the system property "osgi.configuration.area.readOnly" is set
-	 * the check always succeeds.
-	 * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-	 * 
-	 * @param locationUrl  configuration area URL, may be <code>null</code>
-	 * @return a boolean indicating whether the checking passed 
-	 */
-	private boolean checkConfigurationLocation(URL locationUrl) {
-		if (locationUrl == null || !"file".equals(locationUrl.getProtocol())) //$NON-NLS-1$
-			return true;
-		if (Boolean.valueOf(System.getProperty(PROP_CONFIG_AREA + READ_ONLY_AREA_SUFFIX)).booleanValue()) {
-			// user wants readonly config area
-			return true;
-		}
-		File configDir = new File(locationUrl.getFile()).getAbsoluteFile();
-		if (!configDir.exists()) {
-			configDir.mkdirs();
-			if (!configDir.exists()) {
-				System.getProperties().put(PROP_EXITCODE, "15"); //$NON-NLS-1$
-				System.getProperties().put(PROP_EXITDATA, "<title>Invalid Configuration Location</title>The configuration area at '" + configDir + //$NON-NLS-1$
-						"' could not be created.  Please choose a writable location using the '-configuration' command line option."); //$NON-NLS-1$
-				return false;
-			}
-		}
-		if (!canWrite(configDir)) {
-			System.getProperties().put(PROP_EXITCODE, "15"); //$NON-NLS-1$
-			System.getProperties().put(PROP_EXITDATA, "<title>Invalid Configuration Location</title>The configuration area at '" + configDir + //$NON-NLS-1$
-					"' is not writable.  Please choose a writable location using the '-configuration' command line option."); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Returns a string representation of the given URL String.  This converts
-	 * escaped sequences (%..) in the URL into the appropriate characters.
-	 * NOTE: due to class visibility there is a copy of this method
-	 *       in InternalBootLoader
-	 */
-	protected String decode(String urlString) {
-		//try to use Java 1.4 method if available
-		try {
-			Class clazz = URLDecoder.class;
-			Method method = clazz.getDeclaredMethod("decode", new Class[] {String.class, String.class}); //$NON-NLS-1$
-			//first encode '+' characters, because URLDecoder incorrectly converts 
-			//them to spaces on certain class library implementations.
-			if (urlString.indexOf('+') >= 0) {
-				int len = urlString.length();
-				StringBuffer buf = new StringBuffer(len);
-				for (int i = 0; i < len; i++) {
-					char c = urlString.charAt(i);
-					if (c == '+')
-						buf.append("%2B"); //$NON-NLS-1$
-					else
-						buf.append(c);
-				}
-				urlString = buf.toString();
-			}
-			Object result = method.invoke(null, new Object[] {urlString, "UTF-8"}); //$NON-NLS-1$
-			if (result != null)
-				return (String) result;
-		} catch (Exception e) {
-			//JDK 1.4 method not found -- fall through and decode by hand
-		}
-		//decode URL by hand
-		boolean replaced = false;
-		byte[] encodedBytes = urlString.getBytes();
-		int encodedLength = encodedBytes.length;
-		byte[] decodedBytes = new byte[encodedLength];
-		int decodedLength = 0;
-		for (int i = 0; i < encodedLength; i++) {
-			byte b = encodedBytes[i];
-			if (b == '%') {
-				if (i + 2 >= encodedLength)
-					throw new IllegalArgumentException("Malformed URL (\"" + urlString + "\"): % must be followed by 2 digits."); //$NON-NLS-1$//$NON-NLS-2$
-				byte enc1 = encodedBytes[++i];
-				byte enc2 = encodedBytes[++i];
-				b = (byte) ((hexToByte(enc1) << 4) + hexToByte(enc2));
-				replaced = true;
-			}
-			decodedBytes[decodedLength++] = b;
-		}
-		if (!replaced)
-			return urlString;
-		try {
-			return new String(decodedBytes, 0, decodedLength, "UTF-8"); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e) {
-			//use default encoding
-			return new String(decodedBytes, 0, decodedLength);
-		}
-	}
-
-	/**
-	 * Returns the result of converting a list of comma-separated tokens into an array
-	 * 
-	 * @return the array of string tokens
-	 * @param prop the initial comma-separated string
-	 */
-	protected String[] getArrayFromList(String prop) {
-		if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		Vector list = new Vector();
-		StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				list.addElement(token);
-		}
-		return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[list.size()]);
-	}
-
-	/**
-	 * Returns the <code>URL</code>-based class path describing where the boot classes
-	 * are located when running in development mode.
-	 * 
-	 * @return the url-based class path
-	 * @param base the base location
-	 * @exception MalformedURLException if a problem occurs computing the class path
-	 */
-	private URL[] getDevPath(URL base) throws IOException {
-		ArrayList result = new ArrayList(5);
-		if (inDevelopmentMode)
-			addDevEntries(base, result, OSGI);
-		//The jars from the base always need to be added, even when running in dev mode (bug 46772)
-		addBaseJars(base, result);
-		return (URL[]) result.toArray(new URL[result.size()]);
-	}
-
-	URL constructURL(URL url, String name) {
-		//Recognize the following URLs
-		//url: file:foo/dir/
-		//url: file:foo/file.jar
-
-		String externalForm = url.toExternalForm();
-		if (externalForm.endsWith(".jar")) { //$NON-NLS-1$
-			try {
-				return new URL(JAR_SCHEME + url + "!/" + name); //$NON-NLS-1$
-			} catch (MalformedURLException e) {
-				//Ignore
-			}
-		}
-
-		try {
-			return new URL(url, name);
-		} catch (MalformedURLException e) {
-			//Ignore
-			return null;
-		}
-	}
-
-	private void readFrameworkExtensions(URL base, ArrayList result) throws IOException {
-		String[] extensions = getArrayFromList(System.getProperties().getProperty(PROP_EXTENSIONS));
-		String parent = new File(base.getFile()).getParent().toString();
-		ArrayList extensionResults = new ArrayList(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			//Search the extension relatively to the osgi plugin 
-			String path = searchForBundle(extensions[i], parent);
-			if (path == null) {
-				log("Could not find extension: " + extensions[i]); //$NON-NLS-1$
-				continue;
-			}
-			if (debug)
-				System.out.println("Loading extension: " + extensions[i]); //$NON-NLS-1$
-
-			URL extensionURL = null;
-			if (installLocation.getProtocol().equals("file")) { //$NON-NLS-1$
-				extensionResults.add(path);
-				extensionURL = new File(path).toURL();
-			} else
-				extensionURL = new URL(installLocation.getProtocol(), installLocation.getHost(), installLocation.getPort(), path);
-
-			//Load a property file of the extension, merge its content, and in case of dev mode add the bin entries
-			Properties extensionProperties = null;
-			try {
-				extensionProperties = loadProperties(constructURL(extensionURL, ECLIPSE_PROPERTIES));
-			} catch (IOException e) {
-				if (debug)
-					System.out.println("\t" + ECLIPSE_PROPERTIES + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			String extensionClassPath = null;
-			if (extensionProperties != null)
-				extensionClassPath = extensionProperties.getProperty(PROP_CLASSPATH);
-			else
-				// this is a "normal" RFC 101 framework extension bundle just put the base path on the classpath
-				extensionProperties = new Properties();
-			String[] entries = extensionClassPath == null || extensionClassPath.length() == 0 ? new String[] {""} : getArrayFromList(extensionClassPath); //$NON-NLS-1$
-			String qualifiedPath;
-			if (System.getProperty(PROP_CLASSPATH) == null)
-				qualifiedPath = "."; //$NON-NLS-1$
-			else
-				qualifiedPath = ""; //$NON-NLS-1$
-			for (int j = 0; j < entries.length; j++)
-				qualifiedPath += ", " + FILE_SCHEME + path + entries[j]; //$NON-NLS-1$
-			extensionProperties.put(PROP_CLASSPATH, qualifiedPath);
-			mergeProperties(System.getProperties(), extensionProperties);
-			if (inDevelopmentMode) {
-				String name = extensions[i];
-				if (name.startsWith(REFERENCE_SCHEME)) {
-					// need to extract the BSN from the path
-					name = new File(path).getName();
-					// Note that we do not extract any version information.
-					// We assume the extension is located in the workspace in a project
-					// that has the same name as the BSN.
-					// We could add more logic here to support versions in project folder names
-					// but it will likely be complicated and error prone.
-				}
-				addDevEntries(extensionURL, result, name);
-			}
-		}
-		extensionPaths = (String[]) extensionResults.toArray(new String[extensionResults.size()]);
-	}
-
-	private void addBaseJars(URL base, ArrayList result) throws IOException {
-		String baseJarList = System.getProperty(PROP_CLASSPATH);
-		if (baseJarList == null) {
-			readFrameworkExtensions(base, result);
-			baseJarList = System.getProperties().getProperty(PROP_CLASSPATH);
-		}
-
-		File fwkFile = new File(base.getFile());
-		boolean fwkIsDirectory = fwkFile.isDirectory();
-		//We found where the fwk is, remember it and its shape
-		if (fwkIsDirectory) {
-			System.getProperties().put(PROP_FRAMEWORK_SHAPE, "folder");//$NON-NLS-1$
-		} else {
-			System.getProperties().put(PROP_FRAMEWORK_SHAPE, "jar");//$NON-NLS-1$
-		}
-		String fwkPath = new File(new File(base.getFile()).getParent()).getAbsolutePath();
-		if (Character.isUpperCase(fwkPath.charAt(0))) {
-			char[] chars = fwkPath.toCharArray();
-			chars[0] = Character.toLowerCase(chars[0]);
-			fwkPath = new String(chars);
-		}
-		System.getProperties().put(PROP_FRAMEWORK_SYSPATH, fwkPath);
-
-		String[] baseJars = getArrayFromList(baseJarList);
-		if (baseJars.length == 0) {
-			if (!inDevelopmentMode && new File(base.getFile()).isDirectory())
-				throw new IOException("Unable to initialize " + PROP_CLASSPATH); //$NON-NLS-1$
-			addEntry(base, result);
-			return;
-		}
-		for (int i = 0; i < baseJars.length; i++) {
-			String string = baseJars[i];
-			try {
-				// if the string is a file: URL then *carefully* construct the
-				// URL. Otherwisejust try to build a URL. In either case, if we fail, use
-				// string as something to tack on the end of the base.
-
-				if (string.equals(".")) { //$NON-NLS-1$
-					addEntry(base, result);
-				}
-				URL url = null;
-				if (string.startsWith(FILE_SCHEME))
-					url = new File(string.substring(5)).toURL();
-				else
-					url = new URL(string);
-				addEntry(url, result);
-			} catch (MalformedURLException e) {
-				addEntry(new URL(base, string), result);
-			}
-		}
-	}
-
-	protected void addEntry(URL url, List result) {
-		if (new File(url.getFile()).exists())
-			result.add(url);
-	}
-
-	private void addDevEntries(URL base, List result, String symbolicName) throws MalformedURLException {
-		if (devClassPathProps == null)
-			return; // do nothing
-		String devPathList = devClassPathProps.getProperty(symbolicName);
-		if (devPathList == null)
-			devPathList = devClassPathProps.getProperty("*"); //$NON-NLS-1$
-		String[] locations = getArrayFromList(devPathList);
-		for (int i = 0; i < locations.length; i++) {
-			String location = locations[i];
-			File path = new File(location);
-			URL url;
-			if (path.isAbsolute())
-				url = path.toURL();
-			else {
-				// dev path is relative, combine with base location
-				char lastChar = location.charAt(location.length() - 1);
-				if ((location.endsWith(".jar") || (lastChar == '/' || lastChar == '\\'))) //$NON-NLS-1$
-					url = new URL(base, location);
-				else
-					url = new URL(base, location + "/"); //$NON-NLS-1$
-			}
-			addEntry(url, result);
-		}
-	}
-
-	/**
-	 * Returns the <code>URL</code>-based class path describing where the boot classes are located.
-	 * 
-	 * @return the url-based class path
-	 * @param base the base location
-	 * @exception MalformedURLException if a problem occurs computing the class path
-	 */
-	protected URL[] getBootPath(String base) throws IOException {
-		URL url = null;
-		if (base != null) {
-			url = buildURL(base, true);
-		} else {
-			// search in the root location
-			url = getInstallLocation();
-			String path = new File(url.getFile(), "plugins").toString(); //$NON-NLS-1$
-			path = searchFor(framework, path);
-			if (path == null)
-				throw new RuntimeException("Could not find framework"); //$NON-NLS-1$
-			if (url.getProtocol().equals("file")) //$NON-NLS-1$
-				url = new File(path).toURL();
-			else
-				url = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
-		}
-		if (System.getProperty(PROP_FRAMEWORK) == null)
-			System.getProperties().put(PROP_FRAMEWORK, url.toExternalForm());
-		if (debug)
-			System.out.println("Framework located:\n    " + url.toExternalForm()); //$NON-NLS-1$
-		// add on any dev path elements
-		URL[] result = getDevPath(url);
-		if (debug) {
-			System.out.println("Framework classpath:"); //$NON-NLS-1$
-			for (int i = 0; i < result.length; i++)
-				System.out.println("    " + result[i].toExternalForm()); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * Searches for the given target directory starting in the "plugins" subdirectory
-	 * of the given location.  If one is found then this location is returned; 
-	 * otherwise an exception is thrown.
-	 * 
-	 * @return the location where target directory was found
-	 * @param start the location to begin searching
-	 */
-	protected String searchFor(final String target, String start) {
-		return searchFor(target, null, start);
-	}
-
-	protected String searchFor(final String target, final String targetSuffix, String start) {
-		File root = resolveFile(new File(start));
-
-		// Note that File.list only gives you file names not the complete path from start
-		String[] candidates = root.list();
-		if (candidates == null)
-			return null;
-
-		ArrayList matches = new ArrayList(2);
-		for (int i = 0; i < candidates.length; i++) {
-			if (isMatchingCandidate(target, candidates[i], root))
-				matches.add(candidates[i]);
-		}
-		String[] names = (String[]) matches.toArray(new String[matches.size()]);
-		int result = findMax(target, names);
-		if (result == -1)
-			return null;
-		File candidate = new File(start, names[result]);
-		return candidate.getAbsolutePath().replace(File.separatorChar, '/') + (candidate.isDirectory() ? "/" : ""); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	private boolean isMatchingCandidate(String target, String candidate, File root) {
-		if (candidate.equals(target))
-			return true;
-		if (!candidate.startsWith(target + "_")) //$NON-NLS-1$
-			return false;
-		int targetLength = target.length();
-		int lastUnderscore = candidate.lastIndexOf('_');
-
-		//do we have a second '_', version (foo_1.0.0.v1_123) or id (foo.x86_64) ?
-		//files are assumed to have an extension (zip or jar only), remove it
-		//NOTE: we only remove .zip and .jar extensions because we still need to accept libraries with
-		//simple versions (e.g. eclipse_1234.dll)
-		File candidateFile = new File(root, candidate);
-		if (candidateFile.isFile() && (candidate.endsWith(".jar") || candidate.endsWith(".zip"))) { //$NON-NLS-1$//$NON-NLS-2$
-			int extension = candidate.lastIndexOf('.');
-			candidate = candidate.substring(0, extension);
-		}
-
-		int lastDot = candidate.lastIndexOf('.');
-		if (lastDot < targetLength) {
-			// no dots after target, the '_' is not in a version (foo.x86_64 case), not a match
-			return false;
-		}
-
-		//get past all '_' that are part of the qualifier
-		while (lastUnderscore > lastDot)
-			lastUnderscore = candidate.lastIndexOf('_', lastUnderscore - 1);
-
-		if (lastUnderscore == targetLength)
-			return true; //underscore at the end of target (foo_1.0.0.v1_123 case)
-		return false; //another underscore between target and version (foo_64_1.0.0.v1_123 case)
-	}
-
-	private String searchForBundle(String target, String start) {
-		//Only handle "reference:file:" urls, and not simple "file:" because we will be using the jar wherever it is.
-		if (target.startsWith(REFERENCE_SCHEME)) {
-			target = target.substring(REFERENCE_SCHEME.length());
-			if (!target.startsWith(FILE_SCHEME))
-				throw new IllegalArgumentException("Bundle URL is invalid: " + target); //$NON-NLS-1$
-			target = target.substring(FILE_SCHEME.length());
-			File child = new File(target);
-			File fileLocation = child;
-			if (!child.isAbsolute()) {
-				File parent = resolveFile(new File(start));
-				fileLocation = new File(parent, child.getPath());
-			}
-			return searchFor(fileLocation.getName(), fileLocation.getParentFile().getAbsolutePath());
-		}
-		return searchFor(target, start);
-	}
-
-	protected int findMax(String prefix, String[] candidates) {
-		int result = -1;
-		Object maxVersion = null;
-		for (int i = 0; i < candidates.length; i++) {
-			String name = (candidates[i] != null) ? candidates[i] : ""; //$NON-NLS-1$
-			String version = ""; //$NON-NLS-1$ // Note: directory with version suffix is always > than directory without version suffix
-			if (prefix == null)
-				version = name; //webstart just passes in versions
-			else if (name.startsWith(prefix + "_")) //$NON-NLS-1$
-				version = name.substring(prefix.length() + 1); //prefix_version
-			Object currentVersion = getVersionElements(version);
-			if (maxVersion == null) {
-				result = i;
-				maxVersion = currentVersion;
-			} else {
-				if (compareVersion((Object[]) maxVersion, (Object[]) currentVersion) < 0) {
-					result = i;
-					maxVersion = currentVersion;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Compares version strings. 
-	 * @return result of comparison, as integer;
-	 * <code><0</code> if left < right;
-	 * <code>0</code> if left == right;
-	 * <code>>0</code> if left > right;
-	 */
-	private int compareVersion(Object[] left, Object[] right) {
-
-		int result = ((Integer) left[0]).compareTo((Integer) right[0]); // compare major
-		if (result != 0)
-			return result;
-
-		result = ((Integer) left[1]).compareTo((Integer) right[1]); // compare minor
-		if (result != 0)
-			return result;
-
-		result = ((Integer) left[2]).compareTo((Integer) right[2]); // compare service
-		if (result != 0)
-			return result;
-
-		return ((String) left[3]).compareTo((String) right[3]); // compare qualifier
-	}
-
-	/**
-	 * Do a quick parse of version identifier so its elements can be correctly compared.
-	 * If we are unable to parse the full version, remaining elements are initialized
-	 * with suitable defaults.
-	 * @return an array of size 4; first three elements are of type Integer (representing
-	 * major, minor and service) and the fourth element is of type String (representing
-	 * qualifier). Note, that returning anything else will cause exceptions in the caller.
-	 */
-	private Object[] getVersionElements(String version) {
-		if (version.endsWith(".jar")) //$NON-NLS-1$
-			version = version.substring(0, version.length() - 4);
-		Object[] result = {new Integer(0), new Integer(0), new Integer(0), ""}; //$NON-NLS-1$
-		StringTokenizer t = new StringTokenizer(version, "."); //$NON-NLS-1$
-		String token;
-		int i = 0;
-		while (t.hasMoreTokens() && i < 4) {
-			token = t.nextToken();
-			if (i < 3) {
-				// major, minor or service ... numeric values
-				try {
-					result[i++] = new Integer(token);
-				} catch (Exception e) {
-					// invalid number format - use default numbers (0) for the rest
-					break;
-				}
-			} else {
-				// qualifier ... string value
-				result[i++] = token;
-			}
-		}
-		return result;
-	}
-
-	private static URL buildURL(String spec, boolean trailingSlash) {
-		if (spec == null)
-			return null;
-		boolean isFile = spec.startsWith(FILE_SCHEME);
-		try {
-			if (isFile) {
-				File toAdjust = new File(spec.substring(5));
-				toAdjust = resolveFile(toAdjust);
-				if (toAdjust.isDirectory())
-					return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-				return toAdjust.toURL();
-			}
-			return new URL(spec);
-		} catch (MalformedURLException e) {
-			// if we failed and it is a file spec, there is nothing more we can do
-			// otherwise, try to make the spec into a file URL.
-			if (isFile)
-				return null;
-			try {
-				File toAdjust = new File(spec);
-				if (toAdjust.isDirectory())
-					return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-				return toAdjust.toURL();
-			} catch (MalformedURLException e1) {
-				return null;
-			}
-		}
-	}
-
-	/**
-	 * Resolve the given file against  osgi.install.area.
-	 * If osgi.install.area is not set, or the file is not relative, then
-	 * the file is returned as is. 
-	 */
-	private static File resolveFile(File toAdjust) {
-		if (!toAdjust.isAbsolute()) {
-			String installArea = System.getProperties().getProperty(PROP_INSTALL_AREA);
-			if (installArea != null) {
-				if (installArea.startsWith(FILE_SCHEME))
-					toAdjust = new File(installArea.substring(5), toAdjust.getPath());
-				else if (new File(installArea).exists())
-					toAdjust = new File(installArea, toAdjust.getPath());
-			}
-		}
-		return toAdjust;
-	}
-
-	private static URL adjustTrailingSlash(URL url, boolean trailingSlash) throws MalformedURLException {
-		String file = url.getFile();
-		if (trailingSlash == (file.endsWith("/"))) //$NON-NLS-1$
-			return url;
-		file = trailingSlash ? file + "/" : file.substring(0, file.length() - 1); //$NON-NLS-1$
-		return new URL(url.getProtocol(), url.getHost(), file);
-	}
-
-	private URL buildLocation(String property, URL defaultLocation, String userDefaultAppendage) {
-		URL result = null;
-		String location = System.getProperty(property);
-		System.getProperties().remove(property);
-		// if the instance location is not set, predict where the workspace will be and 
-		// put the instance area inside the workspace meta area.
-		try {
-			if (location == null)
-				result = defaultLocation;
-			else if (location.equalsIgnoreCase(NONE))
-				return null;
-			else if (location.equalsIgnoreCase(NO_DEFAULT))
-				result = buildURL(location, true);
-			else {
-				if (location.startsWith(USER_HOME)) {
-					String base = substituteVar(location, USER_HOME, PROP_USER_HOME);
-					location = new File(base, userDefaultAppendage).getAbsolutePath();
-				} else if (location.startsWith(USER_DIR)) {
-					String base = substituteVar(location, USER_DIR, PROP_USER_DIR);
-					location = new File(base, userDefaultAppendage).getAbsolutePath();
-				}
-				result = buildURL(location, true);
-			}
-		} finally {
-			if (result != null)
-				System.getProperties().put(property, result.toExternalForm());
-		}
-		return result;
-	}
-
-	private String substituteVar(String source, String var, String prop) {
-		String value = System.getProperty(prop, ""); //$NON-NLS-1$
-		return value + source.substring(var.length());
-	}
-
-	/** 
-	 * Retuns the default file system path for the configuration location.
-	 * By default the configuration information is in the installation directory
-	 * if this is writeable.  Otherwise it is located somewhere in the user.home
-	 * area relative to the current product. 
-	 * @return the default file system path for the configuration information
-	 */
-	private String computeDefaultConfigurationLocation() {
-		// 1) We store the config state relative to the 'eclipse' directory if possible
-		// 2) If this directory is read-only 
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
-		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
-		//    exist, use "eclipse" as the application-id.
-
-		URL install = getInstallLocation();
-		// TODO a little dangerous here.  Basically we have to assume that it is a file URL.
-		if (install.getProtocol().equals("file")) { //$NON-NLS-1$
-			File installDir = new File(install.getFile());
-			if (canWrite(installDir))
-				return installDir.getAbsolutePath() + File.separator + CONFIG_DIR;
-		}
-		// We can't write in the eclipse install dir so try for some place in the user's home dir
-		return computeDefaultUserAreaLocation(CONFIG_DIR);
-	}
-
-	private static boolean canWrite(File installDir) {
-		if (installDir.canWrite() == false)
-			return false;
-
-		if (!installDir.isDirectory())
-			return false;
-
-		File fileTest = null;
-		try {
-			// we use the .dll suffix to properly test on Vista virtual directories
-			// on Vista you are not allowed to write executable files on virtual directories like "Program Files"
-			fileTest = File.createTempFile("writtableArea", ".dll", installDir); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (IOException e) {
-			//If an exception occured while trying to create the file, it means that it is not writtable
-			return false;
-		} finally {
-			if (fileTest != null)
-				fileTest.delete();
-		}
-		return true;
-	}
-
-	/**
-	 * Returns a files system path for an area in the user.home region related to the
-	 * current product.  The given appendage is added to this base location
-	 * @param pathAppendage the path segments to add to computed base
-	 * @return a file system location in the user.home area related the the current
-	 *   product and the given appendage
-	 */
-	private String computeDefaultUserAreaLocation(String pathAppendage) {
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
-		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
-		//    exist, use "eclipse" as the application-id.
-		URL installURL = getInstallLocation();
-		if (installURL == null)
-			return null;
-		File installDir = new File(installURL.getFile());
-		// compute an install dir hash to prevent configuration area collisions with other eclipse installs
-		int hashCode;
-		try {
-			hashCode = installDir.getCanonicalPath().hashCode();
-		} catch (IOException ioe) {
-			// fall back to absolute path
-			hashCode = installDir.getAbsolutePath().hashCode();
-		}
-		if (hashCode < 0)
-			hashCode = -(hashCode);
-		String installDirHash = String.valueOf(hashCode);
-
-		String appName = "." + ECLIPSE; //$NON-NLS-1$
-		File eclipseProduct = new File(installDir, PRODUCT_SITE_MARKER);
-		if (eclipseProduct.exists()) {
-			Properties props = new Properties();
-			try {
-				props.load(new FileInputStream(eclipseProduct));
-				String appId = props.getProperty(PRODUCT_SITE_ID);
-				if (appId == null || appId.trim().length() == 0)
-					appId = ECLIPSE;
-				String appVersion = props.getProperty(PRODUCT_SITE_VERSION);
-				if (appVersion == null || appVersion.trim().length() == 0)
-					appVersion = ""; //$NON-NLS-1$
-				appName += File.separator + appId + "_" + appVersion + "_" + installDirHash; //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (IOException e) {
-				// Do nothing if we get an exception.  We will default to a standard location 
-				// in the user's home dir.
-				// add the hash to help prevent collisions
-				appName += File.separator + installDirHash;
-			}
-		} else {
-			// add the hash to help prevent collisions
-			appName += File.separator + installDirHash;
-		}
-		String userHome = System.getProperty(PROP_USER_HOME);
-		return new File(userHome, appName + "/" + pathAppendage).getAbsolutePath(); //$NON-NLS-1$
-	}
-
-	/**
-	 * Runs this launcher with the arguments specified in the given string.
-	 * 
-	 * @param argString the arguments string
-	 */
-	public static void main(String argString) {
-		Vector list = new Vector(5);
-		for (StringTokenizer tokens = new StringTokenizer(argString, " "); tokens.hasMoreElements();) //$NON-NLS-1$
-			list.addElement(tokens.nextElement());
-		main((String[]) list.toArray(new String[list.size()]));
-	}
-
-	/**
-	 * Runs the platform with the given arguments.  The arguments must identify
-	 * an application to run (e.g., <code>-application com.example.application</code>).
-	 * After running the application <code>System.exit(N)</code> is executed.
-	 * The value of N is derived from the value returned from running the application.
-	 * If the application's return value is an <code>Integer</code>, N is this value.
-	 * In all other cases, N = 0.
-	 * <p>
-	 * Clients wishing to run the platform without a following <code>System.exit</code>
-	 * call should use <code>run()</code>.
-	 * </p>
-	 * 
-	 * @param args the command line arguments
-	 * @see #run(String[])
-	 */
-	public static void main(String[] args) {
-		int result = 0;
-		try {
-			result = new Main().run(args);
-		} catch (Throwable t) {
-			// This is *really* unlikely to happen - run() takes care of exceptional situations.
-			// In case something weird happens, just dump stack - logging is not available at this point
-			t.printStackTrace();
-		} finally {
-			if (!Boolean.getBoolean(PROP_NOSHUTDOWN))
-				// make sure we always terminate the VM
-				System.exit(result);
-		}
-	}
-
-	/**
-	 * Runs the platform with the given arguments.  The arguments must identify
-	 * an application to run (e.g., <code>-application com.example.application</code>).
-	 * Returns the value returned from running the application.
-	 * If the application's return value is an <code>Integer</code>, N is this value.
-	 * In all other cases, N = 0.
-	 *
-	 * @param args the command line arguments
-	 */
-	public int run(String[] args) {
-		int result = 0;
-		try {
-			basicRun(args);
-			String exitCode = System.getProperty(PROP_EXITCODE);
-			try {
-				result = exitCode == null ? 0 : Integer.parseInt(exitCode);
-			} catch (NumberFormatException e) {
-				result = 17;
-			}
-		} catch (Throwable e) {
-			// only log the exceptions if they have not been caught by the 
-			// EclipseStarter (i.e., if the exitCode is not 13) 
-			if (!"13".equals(System.getProperty(PROP_EXITCODE))) { //$NON-NLS-1$
-				log("Exception launching the Eclipse Platform:"); //$NON-NLS-1$
-				log(e);
-				String message = "An error has occurred"; //$NON-NLS-1$
-				if (logFile == null)
-					message += " and could not be logged: \n" + e.getMessage(); //$NON-NLS-1$
-				else
-					message += ".  See the log file\n" + logFile.getAbsolutePath(); //$NON-NLS-1$
-				System.getProperties().put(PROP_EXITDATA, message);
-			}
-			// Return "unlucky" 13 as the exit code. The executable will recognize
-			// this constant and display a message to the user telling them that
-			// there is information in their log file.
-			result = 13;
-		} finally {
-			// always try putting down the splash screen just in case the application failed to do so
-			takeDownSplash();
-			if (bridge != null)
-				bridge.uninitialize();
-		}
-		// Return an int exit code and ensure the system property is set.
-		System.getProperties().put(PROP_EXITCODE, Integer.toString(result));
-		setExitData();
-		return result;
-	}
-
-	private void setExitData() {
-		String data = System.getProperty(PROP_EXITDATA);
-		if (data == null)
-			return;
-		//if the bridge is null then we have nothing to send the data to;
-		//exitData is a shared memory id, if we loaded the library from java, we need a non-null exitData
-		//if the executable loaded the library, then we don't need the exitData id
-		if (bridge == null || (bridge.isLibraryLoadedByJava() && exitData == null))
-			System.out.println(data);
-		else
-			bridge.setExitData(exitData, data);
-	}
-
-	/**
-	 * Processes the command line arguments.  The general principle is to NOT
-	 * consume the arguments and leave them to be processed by Eclipse proper.
-	 * There are a few args which are directed towards main() and a few others
-	 * which we need to know about. Very few should actually be consumed here.
-	 * 
-	 * @return the arguments to pass through to the launched application
-	 * @param args the command line arguments
-	 */
-	protected String[] processCommandLine(String[] args) {
-		if (args.length == 0)
-			return args;
-		int[] configArgs = new int[args.length];
-		configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
-		int configArgIndex = 0;
-		for (int i = 0; i < args.length; i++) {
-			boolean found = false;
-			// check for args without parameters (i.e., a flag arg)
-			// check if debug should be enabled for the entire platform
-			if (args[i].equalsIgnoreCase(DEBUG)) {
-				debug = true;
-				// passed thru this arg (i.e., do not set found = true)
-				continue;
-			}
-
-			// look for and consume the nosplash directive.  This supercedes any
-			// -showsplash command that might be present.
-			if (args[i].equalsIgnoreCase(NOSPLASH)) {
-				splashDown = true;
-				found = true;
-			}
-
-			if (args[i].equalsIgnoreCase(NOEXIT)) {
-				System.getProperties().put(PROP_NOSHUTDOWN, "true"); //$NON-NLS-1$
-				found = true;
-			}
-
-			// check if this is initialization pass
-			if (args[i].equalsIgnoreCase(INITIALIZE)) {
-				initialize = true;
-				// passed thru this arg (i.e., do not set found = true)
-				continue;
-			}
-
-			// check if development mode should be enabled for the entire platform
-			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
-			// simply enable development mode.  Otherwise, assume that that the following arg is
-			// actually some additional development time class path entries.  This will be processed below.
-			if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
-				inDevelopmentMode = true;
-				// do not mark the arg as found so it will be passed through
-				continue;
-			}
-
-			// look for the command to use to show the splash screen
-			if (args[i].equalsIgnoreCase(SHOWSPLASH)) {
-				showSplash = true;
-				found = true;
-				//consume optional parameter for showsplash
-				if (i + 1 < args.length && !args[i + 1].startsWith("-")) { //$NON-NLS-1$
-					configArgs[configArgIndex++] = i++;
-					splashLocation = args[i];
-				}
-			}
-
-			// done checking for args.  Remember where an arg was found 
-			if (found) {
-				configArgs[configArgIndex++] = i;
-				continue;
-			}
-
-			// look for the VM args arg.  We have to do that before looking to see
-			// if the next element is a -arg as the thing following -vmargs may in
-			// fact be another -arg.
-			if (args[i].equalsIgnoreCase(VMARGS)) {
-				// consume the -vmargs arg itself
-				args[i] = null;
-				i++;
-				vmargs = new String[args.length - i];
-				for (int j = 0; i < args.length; i++) {
-					vmargs[j++] = args[i];
-					args[i] = null;
-				}
-				continue;
-			}
-
-			// check for args with parameters. If we are at the last argument or if the next one
-			// has a '-' as the first character, then we can't have an arg with a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			// look for the development mode and class path entries.  
-			if (args[i - 1].equalsIgnoreCase(DEV)) {
-				inDevelopmentMode = true;
-				devClassPathProps = processDevArg(arg);
-				if (devClassPathProps != null) {
-					devClassPath = devClassPathProps.getProperty(OSGI);
-					if (devClassPath == null)
-						devClassPath = devClassPathProps.getProperty("*"); //$NON-NLS-1$
-				}
-				continue;
-			}
-
-			// look for the framework to run
-			if (args[i - 1].equalsIgnoreCase(FRAMEWORK)) {
-				framework = arg;
-				found = true;
-			}
-
-			if (args[i - 1].equalsIgnoreCase(OS)) {
-				os = arg;
-				// passed thru this arg 
-				continue;
-			}
-
-			if (args[i - 1].equalsIgnoreCase(WS)) {
-				ws = arg;
-				continue;
-			}
-
-			if (args[i - 1].equalsIgnoreCase(ARCH)) {
-				arch = arg;
-				continue;
-			}
-
-			// look for explicitly set install root
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
-			if (args[i - 1].equalsIgnoreCase(INSTALL)) {
-				System.getProperties().put(PROP_INSTALL_AREA, arg);
-				found = true;
-			}
-
-			// look for the configuration to use.  
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
-			if (args[i - 1].equalsIgnoreCase(CONFIGURATION)) {
-				System.getProperties().put(PROP_CONFIG_AREA, arg);
-				found = true;
-			}
-
-			if (args[i - 1].equalsIgnoreCase(EXITDATA)) {
-				exitData = arg;
-				found = true;
-			}
-
-			// look for the name to use by the launcher
-			if (args[i - 1].equalsIgnoreCase(NAME)) {
-				System.getProperties().put(PROP_LAUNCHER_NAME, arg);
-				found = true;
-			}
-
-			// look for the startup jar used 
-			if (args[i - 1].equalsIgnoreCase(STARTUP)) {
-				//not doing anything with this right now, but still consume it
-				//startup = arg;
-				found = true;
-			}
-
-			// look for the launcher location
-			if (args[i - 1].equalsIgnoreCase(LAUNCHER)) {
-				//not doing anything with this right now, but still consume it
-				//launcher = arg;
-				System.getProperties().put(PROP_LAUNCHER, arg);
-				found = true;
-			}
-
-			if (args[i - 1].equalsIgnoreCase(LIBRARY)) {
-				library = arg;
-				found = true;
-			}
-
-			// look for the command to use to end the splash screen
-			if (args[i - 1].equalsIgnoreCase(ENDSPLASH)) {
-				endSplash = arg;
-				found = true;
-			}
-
-			// look for the VM location arg
-			if (args[i - 1].equalsIgnoreCase(VM)) {
-				vm = arg;
-				found = true;
-			}
-
-			//look for the nl setting
-			if (args[i - 1].equalsIgnoreCase(NL)) {
-				System.getProperties().put(PROP_NL, arg);
-				found = true;
-			}
-
-			// done checking for args.  Remember where an arg was found 
-			if (found) {
-				configArgs[configArgIndex++] = i - 1;
-				configArgs[configArgIndex++] = i;
-			}
-		}
-		// remove all the arguments consumed by this argument parsing
-		String[] passThruArgs = new String[args.length - configArgIndex - (vmargs == null ? 0 : vmargs.length + 1)];
-		configArgIndex = 0;
-		int j = 0;
-		for (int i = 0; i < args.length; i++) {
-			if (i == configArgs[configArgIndex])
-				configArgIndex++;
-			else if (args[i] != null)
-				passThruArgs[j++] = args[i];
-		}
-		return passThruArgs;
-	}
-
-	private Properties processDevArg(String arg) {
-		if (arg == null)
-			return null;
-		try {
-			URL location = new URL(arg);
-			return load(location, null);
-		} catch (MalformedURLException e) {
-			// the arg was not a URL so use it as is.
-			Properties result = new Properties();
-			result.put("*", arg); //$NON-NLS-1$
-			return result;
-		} catch (IOException e) {
-			// TODO consider logging here
-			return null;
-		}
-	}
-
-	private URL getConfigurationLocation() {
-		if (configurationLocation != null)
-			return configurationLocation;
-		configurationLocation = buildLocation(PROP_CONFIG_AREA, null, ""); //$NON-NLS-1$
-		if (configurationLocation == null) {
-			configurationLocation = buildLocation(PROP_CONFIG_AREA_DEFAULT, null, ""); //$NON-NLS-1$
-			if (configurationLocation == null)
-				configurationLocation = buildURL(computeDefaultConfigurationLocation(), true);
-		}
-		if (configurationLocation != null)
-			System.getProperties().put(PROP_CONFIG_AREA, configurationLocation.toExternalForm());
-		if (debug)
-			System.out.println("Configuration location:\n    " + configurationLocation); //$NON-NLS-1$
-		return configurationLocation;
-	}
-
-	private void processConfiguration() {
-		// if the configuration area is not already defined, discover the config area by
-		// trying to find a base config area.  This is either defined in a system property or
-		// is computed relative to the install location.
-		// Note that the config info read here is only used to determine a value 
-		// for the user configuration area
-		URL baseConfigurationLocation = null;
-		Properties baseConfiguration = null;
-		if (System.getProperty(PROP_CONFIG_AREA) == null) {
-			String baseLocation = System.getProperty(PROP_BASE_CONFIG_AREA);
-			if (baseLocation != null)
-				// here the base config cannot have any symbolic (e..g, @xxx) entries.  It must just
-				// point to the config file.
-				baseConfigurationLocation = buildURL(baseLocation, true);
-			if (baseConfigurationLocation == null)
-				try {
-					// here we access the install location but this is very early.  This case will only happen if
-					// the config area is not set and the base config area is not set (or is bogus).
-					// In this case we compute based on the install location.
-					baseConfigurationLocation = new URL(getInstallLocation(), CONFIG_DIR);
-				} catch (MalformedURLException e) {
-					// leave baseConfigurationLocation null
-				}
-			baseConfiguration = loadConfiguration(baseConfigurationLocation);
-			if (baseConfiguration != null) {
-				// if the base sets the install area then use that value if the property.  We know the 
-				// property is not already set.
-				String location = baseConfiguration.getProperty(PROP_CONFIG_AREA);
-				if (location != null)
-					System.getProperties().put(PROP_CONFIG_AREA, location);
-				// if the base sets the install area then use that value if the property is not already set.
-				// This helps in selfhosting cases where you cannot easily compute the install location
-				// from the code base.
-				location = baseConfiguration.getProperty(PROP_INSTALL_AREA);
-				if (location != null && System.getProperty(PROP_INSTALL_AREA) == null)
-					System.getProperties().put(PROP_INSTALL_AREA, location);
-			}
-		}
-
-		// Now we know where the base configuration is supposed to be.  Go ahead and load
-		// it and merge into the System properties.  Then, if cascaded, read the parent configuration
-		// Note that the parent may or may not be the same parent as we read above since the 
-		// base can define its parent.  The first parent we read was either defined by the user
-		// on the command line or was the one in the install dir.  
-		// if the config or parent we are about to read is the same as the base config we read above,
-		// just reuse the base
-		Properties configuration = baseConfiguration;
-		if (configuration == null || !getConfigurationLocation().equals(baseConfigurationLocation))
-			configuration = loadConfiguration(getConfigurationLocation());
-		mergeProperties(System.getProperties(), configuration);
-		if ("false".equalsIgnoreCase(System.getProperty(PROP_CONFIG_CASCADED))) //$NON-NLS-1$
-			// if we are not cascaded then remove the parent property even if it was set.
-			System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-		else {
-			ensureAbsolute(PROP_SHARED_CONFIG_AREA);
-			URL sharedConfigURL = buildLocation(PROP_SHARED_CONFIG_AREA, null, ""); //$NON-NLS-1$
-			if (sharedConfigURL == null)
-				try {
-					// there is no shared config value so compute one
-					sharedConfigURL = new URL(getInstallLocation(), CONFIG_DIR);
-				} catch (MalformedURLException e) {
-					// leave sharedConfigurationLocation null
-				}
-			// if the parent location is different from the config location, read it too.
-			if (sharedConfigURL != null) {
-				if (sharedConfigURL.equals(getConfigurationLocation()))
-					// remove the property to show that we do not have a parent.
-					System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-				else {
-					// if the parent we are about to read is the same as the base config we read above,
-					// just reuse the base
-					configuration = baseConfiguration;
-					if (!sharedConfigURL.equals(baseConfigurationLocation))
-						configuration = loadConfiguration(sharedConfigURL);
-					mergeProperties(System.getProperties(), configuration);
-					System.getProperties().put(PROP_SHARED_CONFIG_AREA, sharedConfigURL.toExternalForm());
-					if (debug)
-						System.out.println("Shared configuration location:\n    " + sharedConfigURL.toExternalForm()); //$NON-NLS-1$
-				}
-			}
-		}
-		// setup the path to the framework
-		String urlString = System.getProperty(PROP_FRAMEWORK, null);
-		if (urlString != null) {
-			urlString = resolve(urlString);
-			//ensure that the install location is set before resolving framework
-			getInstallLocation();
-			URL url = buildURL(urlString, true);
-			urlString = url.toExternalForm();
-			System.getProperties().put(PROP_FRAMEWORK, urlString);
-			bootLocation = urlString;
-		}
-	}
-
-	/**
-	 * Ensures the value for a system property is an absolute URL. Relative URLs are translated to
-	 * absolute URLs by taking the install URL as reference.
-	 *   
-	 * @param locationProperty the key for a system property containing a URL
-	 */
-	private void ensureAbsolute(String locationProperty) {
-		String propertyValue = System.getProperty(locationProperty);
-		if (propertyValue == null)
-			// property not defined
-			return;
-		URL locationURL = null;
-		try {
-			locationURL = new URL(propertyValue);
-		} catch (MalformedURLException e) {
-			// property is not a valid URL
-			return;
-		}
-		String locationPath = locationURL.getPath();
-		if (locationPath.startsWith("/")) //$NON-NLS-1$
-			// property value is absolute
-			return;
-		URL installURL = getInstallLocation();
-		if (!locationURL.getProtocol().equals(installURL.getProtocol()))
-			// not same protocol
-			return;
-		try {
-			URL absoluteURL = new URL(installURL, locationPath);
-			System.getProperties().put(locationProperty, absoluteURL.toExternalForm());
-		} catch (MalformedURLException e) {
-			// should not happen - the relative URL is known to be valid
-		}
-	}
-
-	/**
-	 * Returns url of the location this class was loaded from
-	 */
-	private URL getInstallLocation() {
-		if (installLocation != null)
-			return installLocation;
-
-		// value is not set so compute the default and set the value
-		String installArea = System.getProperty(PROP_INSTALL_AREA);
-		if (installArea != null) {
-			installLocation = buildURL(installArea, true);
-			if (installLocation == null)
-				throw new IllegalStateException("Install location is invalid: " + installArea); //$NON-NLS-1$
-			System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-			if (debug)
-				System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-			return installLocation;
-		}
-
-		ProtectionDomain domain = Main.class.getProtectionDomain();
-		CodeSource source = null;
-		URL result = null;
-		if (domain != null)
-			source = domain.getCodeSource();
-		if (source == null || domain == null) {
-			if (debug)
-				System.out.println("CodeSource location is null. Defaulting the install location to file:startup.jar"); //$NON-NLS-1$
-			try {
-				result = new URL("file:startup.jar"); //$NON-NLS-1$
-			} catch (MalformedURLException e2) {
-				//Ignore
-			}
-		}
-		if (source != null)
-			result = source.getLocation();
-
-		String path = decode(result.getFile());
-		// normalize to not have leading / so we can check the form
-		File file = new File(path);
-		path = file.toString().replace('\\', '/');
-		// TODO need a better test for windows
-		// If on Windows then canonicalize the drive letter to be lowercase.
-		// remember that there may be UNC paths 
-		if (File.separatorChar == '\\')
-			if (Character.isUpperCase(path.charAt(0))) {
-				char[] chars = path.toCharArray();
-				chars[0] = Character.toLowerCase(chars[0]);
-				path = new String(chars);
-			}
-		if (path.toLowerCase().endsWith(".jar")) //$NON-NLS-1$
-			path = path.substring(0, path.lastIndexOf("/") + 1); //$NON-NLS-1$
-		if (path.toLowerCase().endsWith("/plugins/")) //$NON-NLS-1$ 
-			path = path.substring(0, path.length() - "/plugins/".length()); //$NON-NLS-1$
-		try {
-			try {
-				// create a file URL (via File) to normalize the form (e.g., put 
-				// the leading / on if necessary)
-				path = new File(path).toURL().getFile();
-			} catch (MalformedURLException e1) {
-				// will never happen.  The path is straight from a URL.  
-			}
-			installLocation = new URL(result.getProtocol(), result.getHost(), result.getPort(), path);
-			System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-		} catch (MalformedURLException e) {
-			// TODO Very unlikely case.  log here.  
-		}
-		if (debug)
-			System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-		return installLocation;
-	}
-
-	/*
-	 * Load the given configuration file
-	 */
-	private Properties loadConfiguration(URL url) {
-		Properties result = null;
-		try {
-			url = new URL(url, CONFIG_FILE);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-		try {
-			if (debug)
-				System.out.print("Configuration file:\n    " + url.toString()); //$NON-NLS-1$
-			result = loadProperties(url);
-			if (debug)
-				System.out.println(" loaded"); //$NON-NLS-1$
-		} catch (IOException e) {
-			if (debug)
-				System.out.println(" not found or not read"); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	private Properties loadProperties(URL url) throws IOException {
-		// try to load saved configuration file (watch for failed prior save())
-		if (url == null)
-			return null;
-		Properties result = null;
-		IOException originalException = null;
-		try {
-			result = load(url, null); // try to load config file
-		} catch (IOException e1) {
-			originalException = e1;
-			try {
-				result = load(url, CONFIG_FILE_TEMP_SUFFIX); // check for failures on save
-			} catch (IOException e2) {
-				try {
-					result = load(url, CONFIG_FILE_BAK_SUFFIX); // check for failures on save
-				} catch (IOException e3) {
-					throw originalException; // we tried, but no config here ...
-				}
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Load the configuration  
-	 */
-	private Properties load(URL url, String suffix) throws IOException {
-		// figure out what we will be loading
-		if (suffix != null && !suffix.equals("")) //$NON-NLS-1$
-			url = new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + suffix);
-
-		// try to load saved configuration file
-		Properties props = new Properties();
-		InputStream is = null;
-		try {
-			is = url.openStream();
-			props.load(is);
-		} finally {
-			if (is != null)
-				try {
-					is.close();
-				} catch (IOException e) {
-					//ignore failure to close
-				}
-		}
-		return props;
-	}
-
-	/*
-	 * Handle splash screen.
-	 *  The splash screen is displayed natively.  Whether or not the splash screen
-	 *  was displayed by the launcher, we invoke JNIBridge.showSplash() and the 
-	 *  native code handles the case of the splash screen already existing.
-	 * 
-	 * The -showsplash argument may indicate the bitmap used by the native launcher,
-	 * or the bitmap location may be extracted from the config.ini
-	 * 
-	 * We pass a handler (Runnable) to the platform which is called as a result of the
-	 * launched application calling Platform.endSplash(). This handle calls 
-	 * JNIBridge.takeDownSplash and the native code will close the splash screen.
-	 * 
-	 * The -endsplash argument is longer used and has the same result as -nosplash
-	 * 
-	 * @param defaultPath search path for the boot plugin
-	 */
-	private void handleSplash(URL[] defaultPath) {
-		// run without splash if we are initializing or nosplash 
-		// was specified (splashdown = true)
-		if (initialize || splashDown || bridge == null) {
-			showSplash = false;
-			endSplash = null;
-			return;
-		}
-
-		if (showSplash || endSplash != null) {
-			// Register the endSplashHandler to be run at VM shutdown. This hook will be 
-			// removed once the splash screen has been taken down.
-			try {
-				Runtime.getRuntime().addShutdownHook(splashHandler);
-			} catch (Throwable ex) {
-				// Best effort to register the handler
-			}
-		}
-
-		// if -endsplash is specified, use it and ignore any -showsplash command
-		if (endSplash != null) {
-			showSplash = false;
-			return;
-		}
-
-		// check if we are running without a splash screen
-		if (!showSplash)
-			return;
-
-		// determine the splash location
-		splashLocation = getSplashLocation(defaultPath);
-		if (debug)
-			System.out.println("Splash location:\n    " + splashLocation); //$NON-NLS-1$
-		if (splashLocation == null)
-			return;
-
-		bridge.setLauncherInfo(System.getProperty(PROP_LAUNCHER), System.getProperty(PROP_LAUNCHER_NAME));
-		bridge.showSplash(splashLocation);
-		long handle = bridge.getSplashHandle();
-		if (handle != 0 && handle != -1) {
-			System.getProperties().put(SPLASH_HANDLE, String.valueOf(handle));
-			System.getProperties().put(SPLASH_LOCATION, splashLocation);
-			bridge.updateSplash();
-		} else {
-			// couldn't show the splash screen for some reason
-			splashDown = true;
-		}
-	}
-
-	/*
-	 * Take down the splash screen. 
-	 */
-	protected void takeDownSplash() {
-		if (splashDown || bridge == null) // splash is already down
-			return;
-
-		splashDown = bridge.takeDownSplash();
-		System.getProperties().remove(SPLASH_HANDLE);
-
-		try {
-			Runtime.getRuntime().removeShutdownHook(splashHandler);
-		} catch (Throwable e) {
-			// OK to ignore this, happens when the VM is already shutting down
-		}
-	}
-
-	/*
-	 * Return path of the splash image to use.  First search the defined splash path.
-	 * If that does not work, look for a default splash.  Currently the splash must be in the file system
-	 * so the return value here is the file system path.
-	 */
-	private String getSplashLocation(URL[] bootPath) {
-		//check the path passed in from -showsplash first.  The old launcher passed a timeout value
-		//as the argument, so only use it if it isn't a number and the file exists.
-		if (splashLocation != null && !Character.isDigit(splashLocation.charAt(0)) && new File(splashLocation).exists()) {
-			System.getProperties().put(PROP_SPLASHLOCATION, splashLocation);
-			return splashLocation;
-		}
-		String result = System.getProperty(PROP_SPLASHLOCATION);
-		if (result != null)
-			return result;
-		String splashPath = System.getProperty(PROP_SPLASHPATH);
-		if (splashPath != null) {
-			String[] entries = getArrayFromList(splashPath);
-			ArrayList path = new ArrayList(entries.length);
-			for (int i = 0; i < entries.length; i++) {
-				String entry = resolve(entries[i]);
-				if (entry != null && entry.startsWith(FILE_SCHEME)) {
-					File entryFile = new File(entry.substring(5).replace('/', File.separatorChar));
-					entry = searchFor(entryFile.getName(), entryFile.getParent());
-					if (entry != null)
-						path.add(entry);
-				} else
-					log("Invalid splash path entry: " + entries[i]); //$NON-NLS-1$
-			}
-			// see if we can get a splash given the splash path
-			result = searchForSplash((String[]) path.toArray(new String[path.size()]));
-			if (result != null) {
-				System.getProperties().put(PROP_SPLASHLOCATION, result);
-				return result;
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Do a locale-sensitive lookup of splash image
-	 */
-	private String searchForSplash(String[] searchPath) {
-		if (searchPath == null)
-			return null;
-
-		// Get the splash screen for the specified locale
-		String locale = (String) System.getProperties().get(PROP_NL);
-		if (locale == null)
-			locale = Locale.getDefault().toString();
-		String[] nlVariants = buildNLVariants(locale);
-
-		for (int i = 0; i < nlVariants.length; i++) {
-			for (int j = 0; j < searchPath.length; j++) {
-				String path = searchPath[j];
-				if (path.startsWith(FILE_SCHEME))
-					path = path.substring(5);
-				// do we have a JAR?
-				if (isJAR(path)) {
-					String result = extractFromJAR(path, nlVariants[i]);
-					if (result != null)
-						return result;
-				} else {
-					// we have a file or a directory
-					if (!path.endsWith(File.separator))
-						path += File.separator;
-					path += nlVariants[i];
-					File result = new File(path);
-					if (result.exists())
-						return result.getAbsolutePath(); // return the first match found [20063]
-				}
-			}
-		}
-
-		// sorry, could not find splash image
-		return null;
-	}
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given output stream. 
-	 * Regardless of failure, this method closes both streams.
-	 */
-	private static void transferStreams(InputStream source, OutputStream destination) {
-		byte[] buffer = new byte[8096];
-		try {
-			while (true) {
-				int bytesRead = -1;
-				try {
-					bytesRead = source.read(buffer);
-				} catch (IOException e) {
-					return;
-				}
-				if (bytesRead == -1)
-					break;
-				try {
-					destination.write(buffer, 0, bytesRead);
-				} catch (IOException e) {
-					return;
-				}
-			}
-		} finally {
-			try {
-				source.close();
-			} catch (IOException e) {
-				// ignore
-			} finally {
-				//close destination in finally in case source.close fails
-				try {
-					destination.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/*
-	 * Look for the specified spash file in the given JAR and extract it to the config 
-	 * area for caching purposes.
-	 */
-	private String extractFromJAR(String jarPath, String jarEntry) {
-		String configLocation = System.getProperty(PROP_CONFIG_AREA);
-		if (configLocation == null) {
-			log("Configuration area not set yet. Unable to extract " + jarEntry + " from JAR'd plug-in: " + jarPath); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-		URL configURL = buildURL(configLocation, false);
-		if (configURL == null)
-			return null;
-		// cache the splash in the equinox launcher sub-dir in the config area
-		File splash = new File(configURL.getPath(), PLUGIN_ID);
-		//include the name of the jar in the cache location
-		File jarFile = new File(jarPath);
-		String cache = jarFile.getName();
-		if (cache.endsWith(".jar")) //$NON-NLS-1$
-			cache = cache.substring(0, cache.length() - 4);
-		splash = new File(splash, cache);
-		splash = new File(splash, jarEntry);
-		// if we have already extracted this file before, then return
-		if (splash.exists()) {
-			// if we are running with -clean then delete the cached splash file
-			boolean clean = false;
-			for (int i = 0; i < commands.length; i++) {
-				if (CLEAN.equalsIgnoreCase(commands[i])) {
-					clean = true;
-					splash.delete();
-					break;
-				}
-			}
-			if (!clean)
-				return splash.getAbsolutePath();
-		}
-		ZipFile file;
-		try {
-			file = new ZipFile(jarPath);
-		} catch (IOException e) {
-			log("Exception looking for " + jarEntry + " in JAR file: " + jarPath); //$NON-NLS-1$ //$NON-NLS-2$
-			log(e);
-			return null;
-		}
-		ZipEntry entry = file.getEntry(jarEntry.replace(File.separatorChar, '/'));
-		if (entry == null)
-			return null;
-		InputStream input = null;
-		try {
-			input = file.getInputStream(entry);
-		} catch (IOException e) {
-			log("Exception opening splash: " + entry.getName() + " in JAR file: " + jarPath); //$NON-NLS-1$ //$NON-NLS-2$
-			log(e);
-			return null;
-		}
-		new File(splash.getParent()).mkdirs();
-		OutputStream output;
-		try {
-			output = new BufferedOutputStream(new FileOutputStream(splash));
-		} catch (FileNotFoundException e) {
-			try {
-				input.close();
-			} catch (IOException e1) {
-				// ignore
-			}
-			return null;
-		}
-		transferStreams(input, output);
-		return splash.exists() ? splash.getAbsolutePath() : null;
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given
-	 * path represents a JAR file.
-	 */
-	private boolean isJAR(String path) {
-		return new File(path).isFile();
-	}
-
-	/*
-	 * Build an array of path suffixes based on the given NL which is suitable
-	 * for splash path searching.  The returned array contains paths in order 
-	 * from most specific to most generic. So, in the FR_fr locale, it will return 
-	 * "nl/fr/FR/splash.bmp", then "nl/fr/splash.bmp", and finally "splash.bmp". 
-	 * (we always search the root)
-	 */
-	private static String[] buildNLVariants(String locale) {
-		//build list of suffixes for loading resource bundles
-		String nl = locale;
-		ArrayList result = new ArrayList(4);
-		int lastSeparator;
-		while (true) {
-			result.add("nl" + File.separatorChar + nl.replace('_', File.separatorChar) + File.separatorChar + SPLASH_IMAGE); //$NON-NLS-1$
-			lastSeparator = nl.lastIndexOf('_');
-			if (lastSeparator == -1)
-				break;
-			nl = nl.substring(0, lastSeparator);
-		}
-		//add the empty suffix last (most general)
-		result.add(SPLASH_IMAGE);
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/*
-	 * resolve platform:/base/ URLs
-	 */
-	private String resolve(String urlString) {
-		// handle the case where people mistakenly spec a refererence: url.
-		if (urlString.startsWith(REFERENCE_SCHEME))
-			urlString = urlString.substring(10);
-		if (urlString.startsWith(PLATFORM_URL)) {
-			String path = urlString.substring(PLATFORM_URL.length());
-			return getInstallLocation() + path;
-		}
-		return urlString;
-	}
-
-	/*
-	 * Entry point for logging.
-	 */
-	protected synchronized void log(Object obj) {
-		if (obj == null)
-			return;
-		try {
-			openLogFile();
-			try {
-				if (newSession) {
-					log.write(SESSION);
-					log.write(' ');
-					String timestamp = new Date().toString();
-					log.write(timestamp);
-					log.write(' ');
-					for (int i = SESSION.length() + timestamp.length(); i < 78; i++)
-						log.write('-');
-					log.newLine();
-					newSession = false;
-				}
-				write(obj);
-			} finally {
-				if (logFile == null) {
-					if (log != null)
-						log.flush();
-				} else
-					closeLogFile();
-			}
-		} catch (Exception e) {
-			System.err.println("An exception occurred while writing to the platform log:"); //$NON-NLS-1$
-			e.printStackTrace(System.err);
-			System.err.println("Logging to the console instead."); //$NON-NLS-1$
-			//we failed to write, so dump log entry to console instead
-			try {
-				log = logForStream(System.err);
-				write(obj);
-				log.flush();
-			} catch (Exception e2) {
-				System.err.println("An exception occurred while logging to the console:"); //$NON-NLS-1$
-				e2.printStackTrace(System.err);
-			}
-		} finally {
-			log = null;
-		}
-	}
-
-	/*
-	 * This should only be called from #log()
-	 */
-	private void write(Object obj) throws IOException {
-		if (obj == null)
-			return;
-		if (obj instanceof Throwable) {
-			log.write(STACK);
-			log.newLine();
-			((Throwable) obj).printStackTrace(new PrintWriter(log));
-		} else {
-			log.write(ENTRY);
-			log.write(' ');
-			log.write(PLUGIN_ID);
-			log.write(' ');
-			log.write(String.valueOf(ERROR));
-			log.write(' ');
-			log.write(String.valueOf(0));
-			log.write(' ');
-			log.write(getDate(new Date()));
-			log.newLine();
-			log.write(MESSAGE);
-			log.write(' ');
-			log.write(String.valueOf(obj));
-		}
-		log.newLine();
-	}
-
-	protected String getDate(Date date) {
-		Calendar c = Calendar.getInstance();
-		c.setTime(date);
-		StringBuffer sb = new StringBuffer();
-		appendPaddedInt(c.get(Calendar.YEAR), 4, sb).append('-');
-		appendPaddedInt(c.get(Calendar.MONTH) + 1, 2, sb).append('-');
-		appendPaddedInt(c.get(Calendar.DAY_OF_MONTH), 2, sb).append(' ');
-		appendPaddedInt(c.get(Calendar.HOUR_OF_DAY), 2, sb).append(':');
-		appendPaddedInt(c.get(Calendar.MINUTE), 2, sb).append(':');
-		appendPaddedInt(c.get(Calendar.SECOND), 2, sb).append('.');
-		appendPaddedInt(c.get(Calendar.MILLISECOND), 3, sb);
-		return sb.toString();
-	}
-
-	private StringBuffer appendPaddedInt(int value, int pad, StringBuffer buffer) {
-		pad = pad - 1;
-		if (pad == 0)
-			return buffer.append(Integer.toString(value));
-		int padding = (int) Math.pow(10, pad);
-		if (value >= padding)
-			return buffer.append(Integer.toString(value));
-		while (padding > value && padding > 1) {
-			buffer.append('0');
-			padding = padding / 10;
-		}
-		buffer.append(value);
-		return buffer;
-	}
-
-	private void computeLogFileLocation() {
-		String logFileProp = System.getProperty(PROP_LOGFILE);
-		if (logFileProp != null) {
-			if (logFile == null || !logFileProp.equals(logFile.getAbsolutePath())) {
-				logFile = new File(logFileProp);
-				new File(logFile.getParent()).mkdirs();
-			}
-			return;
-		}
-
-		// compute the base location and then append the name of the log file
-		URL base = buildURL(System.getProperty(PROP_CONFIG_AREA), false);
-		if (base == null)
-			return;
-		logFile = new File(base.getPath(), Long.toString(System.currentTimeMillis()) + ".log"); //$NON-NLS-1$
-		new File(logFile.getParent()).mkdirs();
-		System.getProperties().put(PROP_LOGFILE, logFile.getAbsolutePath());
-	}
-
-	/**
-	 * Converts an ASCII character representing a hexadecimal
-	 * value into its integer equivalent.
-	 */
-	private int hexToByte(byte b) {
-		switch (b) {
-			case '0' :
-				return 0;
-			case '1' :
-				return 1;
-			case '2' :
-				return 2;
-			case '3' :
-				return 3;
-			case '4' :
-				return 4;
-			case '5' :
-				return 5;
-			case '6' :
-				return 6;
-			case '7' :
-				return 7;
-			case '8' :
-				return 8;
-			case '9' :
-				return 9;
-			case 'A' :
-			case 'a' :
-				return 10;
-			case 'B' :
-			case 'b' :
-				return 11;
-			case 'C' :
-			case 'c' :
-				return 12;
-			case 'D' :
-			case 'd' :
-				return 13;
-			case 'E' :
-			case 'e' :
-				return 14;
-			case 'F' :
-			case 'f' :
-				return 15;
-			default :
-				throw new IllegalArgumentException("Switch error decoding URL"); //$NON-NLS-1$
-		}
-	}
-
-	private void openLogFile() throws IOException {
-		computeLogFileLocation();
-		try {
-			log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8")); //$NON-NLS-1$
-		} catch (IOException e) {
-			logFile = null;
-			throw e;
-		}
-	}
-
-	private BufferedWriter logForStream(OutputStream output) {
-		try {
-			return new BufferedWriter(new OutputStreamWriter(output, "UTF-8")); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e) {
-			return new BufferedWriter(new OutputStreamWriter(output));
-		}
-	}
-
-	private void closeLogFile() throws IOException {
-		try {
-			if (log != null) {
-				log.flush();
-				log.close();
-			}
-		} finally {
-			log = null;
-		}
-	}
-
-	private void mergeProperties(Properties destination, Properties source) {
-		if (destination == null || source == null)
-			return;
-		for (Enumeration e = source.keys(); e.hasMoreElements();) {
-			String key = (String) e.nextElement();
-			if (key.equals(PROP_CLASSPATH)) {
-				String destinationClasspath = destination.getProperty(PROP_CLASSPATH);
-				String sourceClasspath = source.getProperty(PROP_CLASSPATH);
-				if (destinationClasspath == null)
-					destinationClasspath = sourceClasspath;
-				else
-					destinationClasspath = destinationClasspath + sourceClasspath;
-				destination.put(PROP_CLASSPATH, destinationClasspath);
-				continue;
-			}
-			String value = source.getProperty(key);
-			if (destination.getProperty(key) == null)
-				destination.put(key, value);
-		}
-	}
-
-	private void setupVMProperties() {
-		if (vm != null)
-			System.getProperties().put(PROP_VM, vm);
-		setMultiValueProperty(PROP_VMARGS, vmargs);
-		setMultiValueProperty(PROP_COMMANDS, commands);
-	}
-
-	private void setMultiValueProperty(String property, String[] value) {
-		if (value != null) {
-			StringBuffer result = new StringBuffer(300);
-			for (int i = 0; i < value.length; i++) {
-				if (value[i] != null) {
-					result.append(value[i]);
-					result.append('\n');
-				}
-			}
-			System.getProperties().put(property, result.toString());
-		}
-	}
-
-	/*
-	 * NOTE: It is ok here for EclipsePolicy to use 1.4 methods because the methods
-	 * that it calls them from don't exist in Foundation so they will never be called. A more
-	 * detailed explanation from Tom:
-	 * 
-	 * They will never get called because in a pre 1.4 VM the methods 
-	 * getPermissions(CodeSource) and implies(ProtectionDomain, Permission) are 
-	 * undefined on the Policy class which is what EclipsePolicy extends.  EclipsePolicy 
-	 * implements these two methods so it can proxy them to the parent Policy.  
-	 * But since these methods are not actually defined on Policy in a pre-1.4 VM 
-	 * nobody will actually call them (unless they casted the policy to EclipsePolicy and 
-	 * called our methods)
-	 */
-	private class EclipsePolicy extends Policy {
-		// The policy that this EclipsePolicy is replacing
-		private Policy policy;
-
-		// The set of URLs to give AllPermissions to; this is the set of bootURLs
-		private URL[] urls;
-
-		// The AllPermissions collection
-		private PermissionCollection allPermissions;
-
-		// The AllPermission permission
-		Permission allPermission = new AllPermission();
-
-		EclipsePolicy(Policy policy, URL[] urls) {
-			this.policy = policy;
-			this.urls = urls;
-			allPermissions = new PermissionCollection() {
-				private static final long serialVersionUID = 3258131349494708277L;
-
-				// A simple PermissionCollection that only has AllPermission
-				public void add(Permission permission) {
-					//no adding to this policy
-				}
-
-				public boolean implies(Permission permission) {
-					return true;
-				}
-
-				public Enumeration elements() {
-					return new Enumeration() {
-						int cur = 0;
-
-						public boolean hasMoreElements() {
-							return cur < 1;
-						}
-
-						public Object nextElement() {
-							if (cur == 0) {
-								cur = 1;
-								return allPermission;
-							}
-							throw new NoSuchElementException();
-						}
-					};
-				}
-			};
-		}
-
-		public PermissionCollection getPermissions(CodeSource codesource) {
-			if (contains(codesource))
-				return allPermissions;
-			return policy == null ? allPermissions : policy.getPermissions(codesource);
-		}
-
-		public PermissionCollection getPermissions(ProtectionDomain domain) {
-			if (contains(domain.getCodeSource()))
-				return allPermissions;
-			return policy == null ? allPermissions : policy.getPermissions(domain);
-		}
-
-		public boolean implies(ProtectionDomain domain, Permission permission) {
-			if (contains(domain.getCodeSource()))
-				return true;
-			return policy == null ? true : policy.implies(domain, permission);
-		}
-
-		public void refresh() {
-			if (policy != null)
-				policy.refresh();
-		}
-
-		private boolean contains(CodeSource codeSource) {
-			if (codeSource == null)
-				return false;
-			URL url = codeSource.getLocation();
-			if (url == null)
-				return false;
-			// Check to see if this URL is in our set of URLs to give AllPermissions to.
-			for (int i = 0; i < urls.length; i++) {
-				// We do simple equals test here because we assume the URLs will be the same objects.
-				if (urls[i] == url)
-					return true;
-			}
-			return false;
-		}
-	}
-
-	private class StartupClassLoader extends URLClassLoader {
-
-		public StartupClassLoader(URL[] urls) {
-			super(urls);
-		}
-
-		public StartupClassLoader(URL[] urls, ClassLoader parent) {
-			super(urls, parent);
-		}
-
-		public StartupClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) {
-			super(urls, parent, factory);
-		}
-
-		protected String findLibrary(String name) {
-			if (extensionPaths == null)
-				return super.findLibrary(name);
-			String libName = System.mapLibraryName(name);
-			for (int i = 0; i < extensionPaths.length; i++) {
-				File libFile = new File(extensionPaths[i], libName);
-				if (libFile.isFile())
-					return libFile.getAbsolutePath();
-			}
-			return super.findLibrary(name);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
deleted file mode 100644
index c4c7440..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.launcher;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.net.*;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import java.util.zip.ZipFile;
-
-/**
- * The launcher to start eclipse using webstart. To use this launcher, the client 
- * must accept to give all security permissions.
- * <p>
- * <b>Note:</b> This class should not be referenced programmatically by
- * other Java code. This class exists only for the purpose of launching Eclipse
- * using Java webstart. To launch Eclipse programmatically, use 
- * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
- * on this class are not API.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-//The bundles are discovered by finding all the jars on the classpath. Then they are added with their full path to the osgi.bundles list.
-public class WebStartMain extends Main {
-	private static final String PROP_WEBSTART_AUTOMATIC_INSTALLATION = "eclipse.webstart.automaticInstallation"; //$NON-NLS-1$
-	private static final String DEFAULT_OSGI_BUNDLES = "org.eclipse.equinox.common@2:start, org.eclipse.core.runtime@start"; //$NON-NLS-1$
-	private static final String PROP_OSGI_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
-	private static final String PROP_CHECK_CONFIG = "osgi.checkConfiguration"; //$NON-NLS-1$
-
-	private Map allBundles = null; // Map of all the bundles found on the classpath. Id -> ArrayList of BundleInfo
-	private List bundleList = null; //The list of bundles found on the osgi.bundle list 
-
-	protected class BundleInfo {
-		String bsn;
-		String version;
-		String startData;
-		String location;
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public static void main(String[] args) {
-		System.setSecurityManager(null); //TODO Hack so that when the classloader loading the fwk is created we don't have funny permissions. This should be revisited. 
-		int result = new WebStartMain().run(args);
-		if (!Boolean.getBoolean(PROP_NOSHUTDOWN))
-			System.exit(result);
-	}
-
-	private void setDefaultBundles() {
-		if (System.getProperty(PROP_OSGI_BUNDLES) != null)
-			return;
-		System.getProperties().put(PROP_OSGI_BUNDLES, DEFAULT_OSGI_BUNDLES);
-	}
-
-	protected void basicRun(String[] args) throws Exception {
-		setDefaultBundles();
-		initializeBundleListStructure();
-		discoverBundles();
-		//Set the fwk location since the regular lookup would not find it
-		String fwkURL = searchFor(framework, null);
-		if (fwkURL == null) {
-			//MESSAGE CAN"T FIND THE FWK
-		}
-		allBundles.remove(framework);
-		System.getProperties().put(PROP_FRAMEWORK, fwkURL);
-		super.basicRun(args);
-	}
-
-	protected void beforeFwkInvocation() {
-		// set the check config option so we pick up modified bundle jars (bug 152825)
-		if (System.getProperty(PROP_CHECK_CONFIG) == null)
-			System.getProperties().put(PROP_CHECK_CONFIG, "true"); //$NON-NLS-1$
-		buildOSGiBundleList();
-		cleanup();
-	}
-
-	/*
-	 * Null out all the fields containing data 
-	 */
-	private void cleanup() {
-		allBundles = null;
-		bundleList = null;
-	}
-
-	/*
-	 * Find the target bundle among all the bundles that are on the classpath.
-	 * The start parameter is not used in this context
-	 */
-	protected String searchFor(final String target, String start) {
-		ArrayList matches = (ArrayList) allBundles.get(target);
-		if (matches == null)
-			return null;
-		int numberOfMatches = matches.size();
-		if (numberOfMatches == 1) {
-			return ((BundleInfo) matches.get(0)).location;
-		}
-		if (numberOfMatches == 0)
-			return null;
-
-		String[] versions = new String[numberOfMatches];
-		int highest = 0;
-		for (int i = 0; i < versions.length; i++) {
-			versions[i] = ((BundleInfo) matches.get(i)).version;
-		}
-		highest = findMax(null, versions);
-		return ((BundleInfo) matches.get(highest)).location;
-	}
-
-	private BundleInfo findBundle(final String target, String version, boolean removeMatch) {
-		ArrayList matches = (ArrayList) allBundles.get(target);
-		int numberOfMatches = matches != null ? matches.size() : 0;
-		if (numberOfMatches == 1) {
-			//TODO Need to check the version
-			return (BundleInfo) (removeMatch ? matches.remove(0) : matches.get(0));
-		}
-		if (numberOfMatches == 0)
-			return null;
-
-		if (version != null) {
-			for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-				BundleInfo bi = (BundleInfo) iterator.next();
-				if (bi.version.equals(version)) {
-					if (removeMatch)
-						iterator.remove();
-					return bi;
-				}
-			}
-			//TODO Need to log the fact that we could not find the version mentioned
-			return null;
-		}
-		String[] versions = new String[numberOfMatches];
-		int highest = 0;
-		for (int i = 0; i < versions.length; i++) {
-			versions[i] = ((BundleInfo) matches.get(i)).version;
-		}
-		highest = findMax(null, versions);
-		return (BundleInfo) (removeMatch ? matches.remove(highest) : matches.get(highest));
-	}
-
-	/* 
-	 * Get all the bundles available on the webstart classpath
-	 */
-	private void discoverBundles() {
-		allBundles = new HashMap();
-		try {
-			Enumeration resources = WebStartMain.class.getClassLoader().getResources(JarFile.MANIFEST_NAME);
-			while (resources.hasMoreElements()) {
-				BundleInfo found = getBundleInfo((URL) resources.nextElement());
-				if (found == null)
-					continue;
-				ArrayList matching = (ArrayList) allBundles.get(found.bsn);
-				if (matching == null) {
-					matching = new ArrayList(1);
-					allBundles.put(found.bsn, matching);
-				}
-				matching.add(found);
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	private String extractInnerURL(URL url) {
-		try {
-			URLConnection connection = null;
-			try {
-				connection = url.openConnection();
-				if (connection instanceof JarURLConnection) {
-					JarFile jarFile = ((JarURLConnection) connection).getJarFile();
-					String name = jarFile.getName();
-					// Some VMs may not return a jar name as a security precaution
-					if (name == null || name.length() == 0)
-						name = getJarNameByReflection(jarFile);
-
-					if (name != null && name.length() > 0)
-						return "file:" + name; //$NON-NLS-1$
-				}
-			} finally {
-				if (connection != null)
-					connection.getInputStream().close();
-			}
-		} catch (IOException e) {
-			//Ignore and return the external form
-		}
-		return url.toExternalForm();
-	}
-
-	/*
-	 *  Get a value of the ZipFile.name field using reflection.
-	 *  For this to succeed, we need the "suppressAccessChecks" permission.
-	 */
-	private String getJarNameByReflection(JarFile jarFile) {
-		if (jarFile == null)
-			return null;
-
-		Field nameField = null;
-		try {
-			nameField = ZipFile.class.getDeclaredField("name"); //$NON-NLS-1$
-		} catch (NoSuchFieldException e1) {
-			try {
-				nameField = ZipFile.class.getDeclaredField("fileName"); //$NON-NLS-1$
-			} catch (NoSuchFieldException e) {
-				//ignore
-			}
-		}
-
-		if (nameField == null || Modifier.isStatic(nameField.getModifiers()) || nameField.getType() != String.class)
-			return null;
-
-		try {
-			nameField.setAccessible(true);
-			return (String) nameField.get(jarFile);
-		} catch (SecurityException e) {
-			// Don't have permissions, ignore
-		} catch (IllegalArgumentException e) {
-			// Shouldn't happen
-		} catch (IllegalAccessException e) {
-			// Shouldn't happen
-		}
-
-		return null;
-	}
-
-	/*
-	 * Construct bundle info objects from items found on the osgi.bundles list
-	 */
-	private void initializeBundleListStructure() {
-		final char STARTLEVEL_SEPARATOR = '@';
-
-		//In webstart the bundles list can only contain bundle names with or without a version.
-		String prop = System.getProperty(PROP_OSGI_BUNDLES);
-		if (prop == null || prop.trim().equals("")) { //$NON-NLS-1$
-			bundleList = new ArrayList(0);
-			return;
-		}
-
-		bundleList = new ArrayList(10);
-		StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken().trim();
-			String bundleId = token;
-			if (token.equals("")) //$NON-NLS-1$
-				continue;
-			int startLevelSeparator;
-			BundleInfo toAdd = new BundleInfo();
-			toAdd.bsn = bundleId;
-			if ((startLevelSeparator = token.lastIndexOf(STARTLEVEL_SEPARATOR)) != -1) {
-				toAdd.bsn = token.substring(0, startLevelSeparator);
-				toAdd.startData = token.substring(startLevelSeparator);
-				//Note that here we don't try to parse the start attribute since this info is then used to recompose the value for osgi.bundles
-			}
-			bundleList.add(toAdd);
-		}
-	}
-
-	private BundleInfo getBundleInfo(URL manifestURL) {
-		final String BUNDLE_SYMBOLICNAME = "Bundle-SymbolicName"; //$NON-NLS-1$
-		final String BUNDLE_VERSION = "Bundle-Version"; //$NON-NLS-1$
-		final String DEFAULT_VERSION = "0.0.0"; //$NON-NLS-1$
-
-		Manifest mf;
-		try {
-			mf = new Manifest(manifestURL.openStream());
-			String symbolicNameString = mf.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME);
-			if (symbolicNameString == null)
-				return null;
-
-			BundleInfo result = new BundleInfo();
-			String version = mf.getMainAttributes().getValue(BUNDLE_VERSION);
-			result.version = (version != null) ? version : DEFAULT_VERSION;
-			result.location = extractInnerURL(manifestURL);
-			int pos = symbolicNameString.lastIndexOf(';');
-			if (pos != -1) {
-				result.bsn = symbolicNameString.substring(0, pos);
-				return result;
-			}
-			result.bsn = symbolicNameString;
-			return result;
-		} catch (IOException e) {
-			if (debug)
-				e.printStackTrace();
-		}
-		return null;
-	}
-
-	//Build the osgi bundle list. The allbundles data structure is changed during the process. 
-	private void buildOSGiBundleList() {
-		StringBuffer finalBundleList = new StringBuffer(allBundles.size() * 30);
-		//First go through all the bundles of the bundle
-		for (Iterator iterator = bundleList.iterator(); iterator.hasNext();) {
-			BundleInfo searched = (BundleInfo) iterator.next();
-			BundleInfo found = findBundle(searched.bsn, searched.version, true);
-			if (found != null)
-				finalBundleList.append(REFERENCE_SCHEME).append(found.location).append(searched.startData).append(',');
-		}
-
-		if (!Boolean.FALSE.toString().equalsIgnoreCase(System.getProperties().getProperty(PROP_WEBSTART_AUTOMATIC_INSTALLATION))) {
-			for (Iterator iterator = allBundles.values().iterator(); iterator.hasNext();) {
-				ArrayList toAdd = (ArrayList) iterator.next();
-				for (Iterator iterator2 = toAdd.iterator(); iterator2.hasNext();) {
-					BundleInfo bi = (BundleInfo) iterator2.next();
-					finalBundleList.append(REFERENCE_SCHEME).append(bi.location).append(',');
-				}
-			}
-		}
-		System.getProperties().put(PROP_OSGI_BUNDLES, finalBundleList.toString());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/package.html b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/package.html
deleted file mode 100644
index cecfa72..0000000
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Launches the Eclipse Platform.
-<h2>
-Package Specification</h2>
-
-This package contains classes for launching the Eclipse Platform from a command
-line or through Java web start. To start the platform, specify the Main class in this package
-when invoking the Java VM.
-<p>
-This package is not intended to be used by other Java code. The methods
-and fields in these classes are not API.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.osgi.services/.classpath b/bundles/org.eclipse.osgi.services/.classpath
deleted file mode 100644
index 6b1debc..0000000
--- a/bundles/org.eclipse.osgi.services/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry path="" kind="lib" exported="true" sourcepath="src.zip"/>
-	<classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OSGi%Minimum-1.2" kind="con"/>
-	<classpathentry path="org.eclipse.pde.core.requiredPlugins" kind="con"/>
-	<classpathentry path="bin" kind="output"/>
-</classpath>
diff --git a/bundles/org.eclipse.osgi.services/.cvsignore b/bundles/org.eclipse.osgi.services/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.osgi.services/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.osgi.services/.project b/bundles/org.eclipse.osgi.services/.project
deleted file mode 100644
index 65a2a5f..0000000
--- a/bundles/org.eclipse.osgi.services/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.osgi.services</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.osgi.services/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.osgi.services/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 17f5ec5..0000000
--- a/bundles/org.eclipse.osgi.services/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue May 25 15:00:14 EDT 2004
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.osgi.services/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.osgi.services/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8e730b0..0000000
--- a/bundles/org.eclipse.osgi.services/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,76 +0,0 @@
-#Tue Dec 02 09:03:08 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.osgi.services/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.services/META-INF/MANIFEST.MF
deleted file mode 100644
index e8090ec..0000000
--- a/bundles/org.eclipse.osgi.services/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,43 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %osgiServices
-Bundle-SymbolicName: org.eclipse.osgi.services
-Bundle-Version: 3.2.100.qualifier
-Bundle-Description: %osgiServicesDes
-Bundle-Localization: plugin
-Bundle-Vendor: %eclipse.org
-Bundle-DocUrl: http://www.eclipse.org
-Bundle-ContactAddress: www.eclipse.org
-Bundle-Copyright: %copyright
-Export-Package: org.osgi.service.cm; version="1.2.1",
- org.osgi.service.component; version="1.1",
- org.osgi.service.device; version="1.1",
- org.osgi.service.event; version="1.2",
- org.osgi.service.http; version="1.2.1",
- org.osgi.service.io; version="1.0",
- org.osgi.service.log; version="1.3",
- org.osgi.service.metatype; version="1.1",
- org.osgi.service.provisioning; version="1.2",
- org.osgi.service.upnp; version="1.1",
- org.osgi.service.useradmin; version="1.1",
- org.osgi.service.wireadmin; version="1.0"
-Import-Package: org.osgi.framework; version=1.2,
- org.osgi.service.cm; version="[1.2.1, 1.3)",
- org.osgi.service.component; version="[1.1, 1.2)",
- org.osgi.service.device; version="[1.1, 1.2)",
- org.osgi.service.event; version="[1.2, 1.3)",
- org.osgi.service.http; version="[1.2.1, 1.3)",
- org.osgi.service.io; version="[1.0, 1.1)",
- org.osgi.service.log; version="[1.3, 1.4)",
- org.osgi.service.metatype; version="[1.1, 1.2)",
- org.osgi.service.provisioning; version="[1.2, 1.3)",
- org.osgi.service.upnp; version="[1.1, 1.2)",
- org.osgi.service.useradmin; version="[1.1, 1.2)",
- org.osgi.service.wireadmin; version="[1.0, 1.1)",
- javax.servlet; resolution:="optional",
- javax.servlet.http; resolution:="optional"
-DynamicImport-Package: javax.servlet,
- javax.servlet.http
-Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.2,
- CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.osgi.services/about.html b/bundles/org.eclipse.osgi.services/about.html
deleted file mode 100644
index c57db22..0000000
--- a/bundles/org.eclipse.osgi.services/about.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>August 25, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>OSGi Materials</h4>
-
-<p>All files in the following sub-directories (and their sub-directories):</p>
-
-<ul>
-	<li>org/osgi</li>
-</ul>
-
-<p>and the following files (which may not be present in all cases):</p>
-
-<ul>
-	<li>osgi/ee.foundation.jar</li>
-	<li>osgi/ee.minimum.jar</li>	
-</ul>
-
-<p>shall be defined as the &quot;OSGi Materials.&quot;  The OSGi Materials are:</p>
-
-<blockquote>
-Copyright (c) 2000, 2006
-<br /><br />
-OSGi Alliance
-Bishop Ranch 6<br/>
-2400 Camino Ramon, Suite 375<br/>
-San Ramon, CA 94583 USA
-<br /><br />
-All Rights Reserved.
-</blockquote>
-
-<p>The OSGi Materials are provided to you under the terms and conditions of the Apache License, Version 2.0.  A copy of the license is contained
-in the file <a href="about_files/LICENSE-2.0.txt" target="_blank">LICENSE-2.0.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>.</p>
-
-<p>Implementation of certain elements of the OSGi Materials may be subject to third party intellectual property rights, including without limitation, patent rights (such a third party may
-or may not be a member of the OSGi Alliance).  The OSGi Alliance and its members are not responsible and shall not be held responsible in any manner for identifying or failing to identify any or all such third party
-intellectual property rights.</p>
-
-<small>OSGi&trade; is a trademark, registered trademark, or service mark of The OSGi Alliance in the US and other countries. Java is a trademark,
-registered trademark, or service mark of Sun Microsystems, Inc. in the US and other countries. All other trademarks, registered trademarks, or
-service marks used in the Content are the property of their respective owners and are hereby recognized.</small>
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.services/about_files/LICENSE-2.0.txt b/bundles/org.eclipse.osgi.services/about_files/LICENSE-2.0.txt
deleted file mode 100644
index d645695..0000000
--- a/bundles/org.eclipse.osgi.services/about_files/LICENSE-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/bundles/org.eclipse.osgi.services/build.properties b/bundles/org.eclipse.osgi.services/build.properties
deleted file mode 100644
index 7962dc5..0000000
--- a/bundles/org.eclipse.osgi.services/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               about.html,\
-               META-INF/,\
-               org/,\
-               about_files/
-src.includes = src.zip,\
-               about.html,\
-               about_files/
-source.. = .
-output.. = .
-customBuildCallbacks=customBuildCallbacks.xml
diff --git a/bundles/org.eclipse.osgi.services/customBuildCallbacks.xml b/bundles/org.eclipse.osgi.services/customBuildCallbacks.xml
deleted file mode 100644
index 9187112..0000000
--- a/bundles/org.eclipse.osgi.services/customBuildCallbacks.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the compilation target <name>                      -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="pre.name">
-	</target>
-
-	<target name="pre.@dot">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do during the compilation target <name>, after the compile   -->
-	<!-- but before jaring.  Substitute "name" with the name of the compilation-->
-	<!-- target, eg @dot                                                       -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="post.compile.name">
-	</target>
-
-	<target name="post.compile.@dot">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the compilation target <name>                       -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   jar.location - the location of the compilation results              -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="post.name">
-	</target>
-
-	<target name="post.@dot">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.bin.parts">
-	</target>
-		
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-		<unzip src="${target.folder}/src.zip" dest="${target.folder}" overwrite="false"/>
-		<delete file="${destination.temp.folder}/src.zip" />	
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">  
-		<move  file="src.zip" tofile="services_src.zip"/>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">
-		<move file="services_src.zip" tofile="src.zip"/>
-	</target>
-</project>
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/Configuration.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/Configuration.class
deleted file mode 100644
index 4dcf2e1..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/Configuration.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationAdmin.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationAdmin.class
deleted file mode 100644
index 77da123..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationAdmin.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationEvent.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationEvent.class
deleted file mode 100644
index e7ac7c0..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationEvent.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationException.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationException.class
deleted file mode 100644
index b59ea82..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationException.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationListener.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationListener.class
deleted file mode 100644
index 13b5e93..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationListener.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermission.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermission.class
deleted file mode 100644
index d88c04a..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermission.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection$1.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection$1.class
deleted file mode 100644
index ae1c8cd..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection$1.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection.class
deleted file mode 100644
index a6f831d..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPermissionCollection.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPlugin.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPlugin.class
deleted file mode 100644
index d1c7824..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ConfigurationPlugin.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedService.class
deleted file mode 100644
index 60094c6..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedServiceFactory.class b/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedServiceFactory.class
deleted file mode 100644
index 60c4afc..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/cm/ManagedServiceFactory.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentConstants.class b/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentConstants.class
deleted file mode 100644
index 61732d1..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentConstants.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentContext.class b/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentContext.class
deleted file mode 100644
index 31a8381..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentContext.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentException.class b/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentException.class
deleted file mode 100644
index 7e229e2..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentException.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentFactory.class b/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentFactory.class
deleted file mode 100644
index 6a27a81..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentFactory.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentInstance.class b/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentInstance.class
deleted file mode 100644
index 7c615df..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/component/ComponentInstance.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Constants.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/Constants.class
deleted file mode 100644
index 3aa7d2a..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Constants.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Device.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/Device.class
deleted file mode 100644
index c74de60..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Device.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Driver.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/Driver.class
deleted file mode 100644
index f19b903..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Driver.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverLocator.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverLocator.class
deleted file mode 100644
index 211bda8..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverLocator.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverSelector.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverSelector.class
deleted file mode 100644
index d0eb4d5..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/DriverSelector.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Match.class b/bundles/org.eclipse.osgi.services/org/osgi/service/device/Match.class
deleted file mode 100644
index aa75085..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/device/Match.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event$UnmodifiableDictionary.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event$UnmodifiableDictionary.class
deleted file mode 100644
index f243594..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event$UnmodifiableDictionary.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event.class
deleted file mode 100644
index 5856c5c..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/Event.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventAdmin.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventAdmin.class
deleted file mode 100644
index ba765dd..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventAdmin.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventConstants.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventConstants.class
deleted file mode 100644
index e84161c..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventConstants.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventHandler.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventHandler.class
deleted file mode 100644
index 6747ad2..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/EventHandler.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermission.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermission.class
deleted file mode 100644
index b1534be..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermission.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermissionCollection.class b/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermissionCollection.class
deleted file mode 100644
index 15a19b9..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/event/TopicPermissionCollection.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpContext.class b/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpContext.class
deleted file mode 100644
index 758cf73..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpContext.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpService.class
deleted file mode 100644
index 09e7e86..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/http/HttpService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/http/NamespaceException.class b/bundles/org.eclipse.osgi.services/org/osgi/service/http/NamespaceException.class
deleted file mode 100644
index afa9683..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/http/NamespaceException.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectionFactory.class b/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectionFactory.class
deleted file mode 100644
index fd11291..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectionFactory.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectorService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectorService.class
deleted file mode 100644
index 795596e..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/io/ConnectorService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogEntry.class b/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogEntry.class
deleted file mode 100644
index 70daca1..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogEntry.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogListener.class b/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogListener.class
deleted file mode 100644
index da9a415..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogListener.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogReaderService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogReaderService.class
deleted file mode 100644
index 75177cc..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogReaderService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogService.class
deleted file mode 100644
index 7b853c5..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/log/LogService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/AttributeDefinition.class b/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/AttributeDefinition.class
deleted file mode 100644
index 1027886..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/AttributeDefinition.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeInformation.class b/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeInformation.class
deleted file mode 100644
index a4f3fdf..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeInformation.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeProvider.class b/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeProvider.class
deleted file mode 100644
index d74b54c..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeProvider.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeService.class
deleted file mode 100644
index fd62288..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/MetaTypeService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/ObjectClassDefinition.class b/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/ObjectClassDefinition.class
deleted file mode 100644
index 372f43b..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/metatype/ObjectClassDefinition.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/provisioning/ProvisioningService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/provisioning/ProvisioningService.class
deleted file mode 100644
index 0855ca2..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/provisioning/ProvisioningService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPAction.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPAction.class
deleted file mode 100644
index a9e4e2a..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPAction.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPDevice.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPDevice.class
deleted file mode 100644
index b7445d9..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPDevice.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPEventListener.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPEventListener.class
deleted file mode 100644
index 784d1c3..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPEventListener.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPException.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPException.class
deleted file mode 100644
index c2e2ebe..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPException.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPIcon.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPIcon.class
deleted file mode 100644
index 820e4a4..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPIcon.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPLocalStateVariable.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPLocalStateVariable.class
deleted file mode 100644
index 406ff02..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPLocalStateVariable.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPService.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPService.class
deleted file mode 100644
index 140f87d..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPService.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPStateVariable.class b/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPStateVariable.class
deleted file mode 100644
index 133b723..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/upnp/UPnPStateVariable.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Authorization.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Authorization.class
deleted file mode 100644
index 07fa739..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Authorization.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Group.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Group.class
deleted file mode 100644
index 77553f7..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Group.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Role.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Role.class
deleted file mode 100644
index 5c74098..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/Role.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/User.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/User.class
deleted file mode 100644
index 2dcd183..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/User.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdmin.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdmin.class
deleted file mode 100644
index 4c73226..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdmin.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminEvent.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminEvent.class
deleted file mode 100644
index 42e5028..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminEvent.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminListener.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminListener.class
deleted file mode 100644
index 2ace020..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminListener.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermission.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermission.class
deleted file mode 100644
index 2a3e70b..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermission.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermissionCollection.class b/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermissionCollection.class
deleted file mode 100644
index 71d464c..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/useradmin/UserAdminPermissionCollection.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/BasicEnvelope.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/BasicEnvelope.class
deleted file mode 100644
index 3c0ca38..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/BasicEnvelope.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Consumer.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Consumer.class
deleted file mode 100644
index d6065fb..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Consumer.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Envelope.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Envelope.class
deleted file mode 100644
index 2dcdb02..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Envelope.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Producer.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Producer.class
deleted file mode 100644
index d817796..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Producer.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Wire.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Wire.class
deleted file mode 100644
index cd0ef13..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/Wire.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdmin.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdmin.class
deleted file mode 100644
index 09752e7..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdmin.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminEvent.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminEvent.class
deleted file mode 100644
index c6297f6..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminEvent.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminListener.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminListener.class
deleted file mode 100644
index a8bbb86..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireAdminListener.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireConstants.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireConstants.class
deleted file mode 100644
index 5b05529..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WireConstants.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermission.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermission.class
deleted file mode 100644
index 45e1483..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermission.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermissionCollection.class b/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermissionCollection.class
deleted file mode 100644
index b11a24f..0000000
--- a/bundles/org.eclipse.osgi.services/org/osgi/service/wireadmin/WirePermissionCollection.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.services/plugin.properties b/bundles/org.eclipse.osgi.services/plugin.properties
deleted file mode 100644
index fafc623..0000000
--- a/bundles/org.eclipse.osgi.services/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-osgiServices = OSGi Release 4.2.0 Services
-eclipse.org = Eclipse.org - Equinox
-osgiServicesDes = OSGi Service Platform Release 4.2.0 Service Interfaces and Classes
-copyright = Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the accompanying materials  are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
diff --git a/bundles/org.eclipse.osgi.services/src.zip b/bundles/org.eclipse.osgi.services/src.zip
deleted file mode 100644
index fe4cdfa..0000000
--- a/bundles/org.eclipse.osgi.services/src.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/.classpath b/bundles/org.eclipse.osgi.tests/.classpath
deleted file mode 100644
index 26a9249..0000000
--- a/bundles/org.eclipse.osgi.tests/.classpath
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bundle_tests/test" path="bundles_src/test"/>
-	<classpathentry kind="src" output="bundle_tests/test2" path="bundles_src/test2"/>
-	<classpathentry kind="src" output="bundle_tests/chain.test" path="bundles_src/chain.test"/>
-	<classpathentry kind="src" output="bundle_tests/chain.test.a" path="bundles_src/chain.test.a"/>
-	<classpathentry kind="src" output="bundle_tests/chain.test.b" path="bundles_src/chain.test.b"/>
-	<classpathentry kind="src" output="bundle_tests/chain.test.c" path="bundles_src/chain.test.c"/>
-	<classpathentry kind="src" output="bundle_tests/chain.test.d" path="bundles_src/chain.test.d"/>
-	<classpathentry kind="src" output="bundle_tests/circularity.test" path="bundles_src/circularity.test"/>
-	<classpathentry kind="src" output="bundle_tests/circularity.test.a" path="bundles_src/circularity.test.a"/>
-	<classpathentry kind="src" output="bundle_tests/fragment.test.attach.host.a" path="bundles_src/fragment.test.attach.host.a"/>
-	<classpathentry kind="src" output="bundle_tests/fragment.test.attach.host.a.v2" path="bundles_src/fragment.test.attach.host.a.v2"/>
-	<classpathentry kind="src" output="bundle_tests/fragment.test.attach.host.a.require" path="bundles_src/fragment.test.attach.host.a.require"/>
-	<classpathentry kind="src" output="bundle_tests/fragment.test.attach.frag.a" path="bundles_src/fragment.test.attach.frag.a"/>
-	<classpathentry kind="src" output="bundle_tests/fragment.test.attach.frag.b" path="bundles_src/fragment.test.attach.frag.b"/>
-	<classpathentry kind="src" output="bundle_tests/legacy.lazystart" path="bundles_src/legacy.lazystart"/>
-	<classpathentry kind="src" output="bundle_tests/legacy.lazystart.a" path="bundles_src/legacy.lazystart.a"/>
-	<classpathentry kind="src" output="bundle_tests/legacy.lazystart.b" path="bundles_src/legacy.lazystart.b"/>
-	<classpathentry kind="src" output="bundle_tests/legacy.lazystart.c" path="bundles_src/legacy.lazystart.c"/>
-	<classpathentry kind="src" output="bundle_tests/osgi.lazystart" path="bundles_src/osgi.lazystart"/>
-	<classpathentry kind="src" output="bundle_tests/osgi.lazystart.a" path="bundles_src/osgi.lazystart.a"/>
-	<classpathentry kind="src" output="bundle_tests/osgi.lazystart.b" path="bundles_src/osgi.lazystart.b"/>
-	<classpathentry kind="src" output="bundle_tests/osgi.lazystart.c" path="bundles_src/osgi.lazystart.c"/>
-	<classpathentry kind="src" output="bundle_tests/thread.locktest" path="bundles_src/thread.locktest"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.registered.a" path="bundles_src/buddy.registered.a"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.registered.a.test1" path="bundles_src/buddy.registered.a.test1"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.registered.a.test2" path="bundles_src/buddy.registered.a.test2"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.dependent.a" path="bundles_src/buddy.dependent.a"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.dependent.a.test1" path="bundles_src/buddy.dependent.a.test1"/>
-	<classpathentry kind="src" output="bundle_tests/buddy.dependent.a.test2" path="bundles_src/buddy.dependent.a.test2"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.a1" path="bundles_src/nativetest.a1"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.a2" path="bundles_src/nativetest.a2"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.b1" path="bundles_src/nativetest.b1"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.b2" path="bundles_src/nativetest.b2"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.c" path="bundles_src/nativetest.c"/>
-	<classpathentry kind="src" output="bundle_tests/nativetest.d" path="bundles_src/nativetest.d"/>
-	<classpathentry kind="src" output="bundle_tests/host.multiple.exports" path="bundles_src/host.multiple.exports"/>
-	<classpathentry kind="src" output="bundle_tests/frag.multiple.exports" path="bundles_src/frag.multiple.exports"/>
-	<classpathentry kind="src" output="bundle_tests/client1.multiple.exports" path="bundles_src/client1.multiple.exports"/>
-	<classpathentry kind="src" output="bundle_tests/client2.multiple.exports" path="bundles_src/client2.multiple.exports"/>
-	<classpathentry kind="src" output="bundle_tests/xfriends.test1" path="bundles_src/xfriends.test1"/>
-	<classpathentry kind="src" output="bundle_tests/xfriends.test2" path="bundles_src/xfriends.test2"/>
-	<classpathentry kind="src" output="bundle_tests/xfriends.test3" path="bundles_src/xfriends.test3"/>
-	<classpathentry kind="src" output="bundle_tests/ext.framework.a" path="bundles_src/ext.framework.a"/>
-	<classpathentry kind="src" output="bundle_tests/ext.framework.a.importer" path="bundles_src/ext.framework.a.importer"/>
-	<classpathentry kind="src" output="bundle_tests/ext.framework.a.requires" path="bundles_src/ext.framework.a.requires"/>
-	<classpathentry kind="src" output="bundle_tests/ext.framework.b" path="bundles_src/ext.framework.b"/>
-	<classpathentry kind="src" output="bundle_tests/ext.extclasspath.a" path="bundles_src/ext.extclasspath.a"/>
-	<classpathentry kind="src" output="bundle_tests/ext.extclasspath.a.importer" path="bundles_src/ext.extclasspath.a.importer"/>
-	<classpathentry kind="src" output="bundle_tests/exporter.importer1" path="bundles_src/exporter.importer1"/>
-	<classpathentry kind="src" output="bundle_tests/exporter.importer2" path="bundles_src/exporter.importer2"/>
-	<classpathentry kind="src" output="bundle_tests/exporter.importer3" path="bundles_src/exporter.importer3"/>
-	<classpathentry kind="src" output="bundle_tests/exporter.importer4" path="bundles_src/exporter.importer4"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug235958.x" path="bundles_src/test.bug235958.x"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug235958.y" path="bundles_src/test.bug235958.y"/>
-	<classpathentry kind="src" output="bundle_tests/test.fragment1" path="bundles_src/test.fragment1"/>
-	<classpathentry kind="src" output="bundle_tests/test.fragment2" path="bundles_src/test.fragment2"/>
-	<classpathentry kind="src" output="bundle_tests/test.fragment3" path="bundles_src/test.fragment3"/>
-	<classpathentry kind="src" output="bundle_tests/test.fragment4" path="bundles_src/test.fragment4"/>
-	<classpathentry kind="src" output="bundle_tests/test.fragment5" path="bundles_src/test.fragment5"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.a" path="bundles_src/substitutes.a"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.a.frag" path="bundles_src/substitutes.a.frag"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.b" path="bundles_src/substitutes.b"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.b.frag" path="bundles_src/substitutes.b.frag"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.c" path="bundles_src/substitutes.c"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.d" path="bundles_src/substitutes.d"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.e" path="bundles_src/substitutes.e"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.f" path="bundles_src/substitutes.f"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.g" path="bundles_src/substitutes.g"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.h" path="bundles_src/substitutes.h"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.i" path="bundles_src/substitutes.i"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.j" path="bundles_src/substitutes.j"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.k" path="bundles_src/substitutes.k"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.l" path="bundles_src/substitutes.l"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.m" path="bundles_src/substitutes.m"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.n" path="bundles_src/substitutes.n"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.p" path="bundles_src/substitutes.p"/>
-	<classpathentry kind="src" output="bundle_tests/substitutes.q" path="bundles_src/substitutes.q"/>
-	<classpathentry kind="src" output="bundle_tests/activator.error1" path="bundles_src/activator.error1"/>
-	<classpathentry kind="src" output="bundle_tests/activator.error2" path="bundles_src/activator.error2"/>
-	<classpathentry kind="src" output="bundle_tests/activator.error3" path="bundles_src/activator.error3"/>
-	<classpathentry kind="src" output="bundle_tests/activator.error4" path="bundles_src/activator.error4"/>
-	<classpathentry kind="src" output="bundle_tests/security.a" path="bundles_src/security.a"/>
-	<classpathentry kind="src" output="bundle_tests/security.a.frag.a" path="bundles_src/security.a.frag.a"/>
-	<classpathentry kind="src" output="bundle_tests/security.b" path="bundles_src/security.b"/>
-	<classpathentry kind="src" output="bundle_tests/test.filter.a" path="bundles_src/test.filter.a"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.a" path="bundles_src/test.link.a"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.a.client" path="bundles_src/test.link.a.client"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.b" path="bundles_src/test.link.b"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.b.client" path="bundles_src/test.link.b.client"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.c" path="bundles_src/test.link.c"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.c.client" path="bundles_src/test.link.c.client"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.d" path="bundles_src/test.link.d"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.e" path="bundles_src/test.link.e"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.e.client" path="bundles_src/test.link.e.client"/>
-	<classpathentry kind="src" output="bundle_tests/test.link.postponed" path="bundles_src/test.link.postponed"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug259903.a" path="bundles_src/test.bug259903.a"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug259903.a.update" path="bundles_src/test.bug259903.a.update"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug259903.b" path="bundles_src/test.bug259903.b"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug259903.c" path="bundles_src/test.bug259903.c"/>
-	<classpathentry kind="src" output="bundle_tests/test.tccl" path="bundles_src/test.tccl"/>
-	<classpathentry kind="src" output="bundle_tests/test.manifestpackage" path="bundles_src/test.manifestpackage"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug286307" path="bundles_src/test.bug286307"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug287636.a1" path="bundles_src/test.bug287636.a1"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug287636.a2" path="bundles_src/test.bug287636.a2"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug287636.b" path="bundles_src/test.bug287636.b"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug287750" path="bundles_src/test.bug287750"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug306181a" path="bundles_src/test.bug306181a"/>
-	<classpathentry kind="src" output="bundle_tests/test.bug306181b" path="bundles_src/test.bug306181b"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.osgi.tests/.cvsignore b/bundles/org.eclipse.osgi.tests/.cvsignore
deleted file mode 100644
index e1951f8..0000000
--- a/bundles/org.eclipse.osgi.tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-bundle_tests
diff --git a/bundles/org.eclipse.osgi.tests/.project b/bundles/org.eclipse.osgi.tests/.project
deleted file mode 100644
index 3daf4e7..0000000
--- a/bundles/org.eclipse.osgi.tests/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.osgi.tests</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.core.tests.harness</project>
-		<project>org.eclipse.osgi</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index e8c8a79..0000000
--- a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue May 25 15:00:27 EDT 2004
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3ad8b24..0000000
--- a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,350 +0,0 @@
-#Wed Feb 10 08:41:26 CST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d56ae86..0000000
--- a/bundles/org.eclipse.osgi.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Tue Aug 21 11:33:29 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.osgi.tests/All OSGi Tests.launch b/bundles/org.eclipse.osgi.tests/All OSGi Tests.launch
deleted file mode 100644
index ebb0a67..0000000
--- a/bundles/org.eclipse.osgi.tests/All OSGi Tests.launch
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/All OSGi Tests"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/All OSGi Tests/test-workspaces"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/AutomatedTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;org.eclipse.osgi.tests&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.osgi.tests.AutomatedTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osgi.tests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:MaxPermSize=256m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value=""/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 67a59c2..0000000
--- a/bundles/org.eclipse.osgi.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Core OSGi Tests
-Bundle-SymbolicName: org.eclipse.osgi.tests;singleton:=true
-Bundle-Version: 3.6.0
-Bundle-ClassPath: osgitests.jar
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.core.tests.harness,
- org.eclipse.test.performance,
- org.junit
-Eclipse-LazyStart: true
-Bundle-Activator: org.eclipse.osgi.tests.OSGiTestsActivator
-Export-Package: org.eclipse.osgi.tests.bundles,
- org.eclipse.osgi.tests.appadmin
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-DynamicImport-Package: ext.framework.b
diff --git a/bundles/org.eclipse.osgi.tests/about.html b/bundles/org.eclipse.osgi.tests/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.osgi.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/build.properties b/bundles/org.eclipse.osgi.tests/build.properties
deleted file mode 100644
index 278b774..0000000
--- a/bundles/org.eclipse.osgi.tests/build.properties
+++ /dev/null
@@ -1,345 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = *.jar,\
-               test_files/,\
-               about.html,\
-               META-INF/,\
-               test.xml,\
-               bundle_tests/*.jar,\
-               plugin.xml
-
-source.osgitests.jar = src/
-source.bundle_tests/test.jar = bundles_src/test/
-manifest.bundle_tests/test.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test2.jar = bundles_src/test2/
-manifest.bundle_tests/test2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/chain.test.jar = bundles_src/chain.test/
-manifest.bundle_tests/chain.test.jar = META-INF/MANIFEST.MF
-source.bundle_tests/chain.test.a.jar = bundles_src/chain.test.a/
-manifest.bundle_tests/chain.test.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/chain.test.b.jar = bundles_src/chain.test.b/
-manifest.bundle_tests/chain.test.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/chain.test.c.jar = bundles_src/chain.test.c/
-manifest.bundle_tests/chain.test.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/chain.test.d.jar = bundles_src/chain.test.d/
-manifest.bundle_tests/chain.test.d.jar = META-INF/MANIFEST.MF
-source.bundle_tests/circularity.test.jar = bundles_src/circularity.test/
-manifest.bundle_tests/circularity.test.jar = META-INF/MANIFEST.MF
-source.bundle_tests/circularity.test.a.jar = bundles_src/circularity.test.a/
-manifest.bundle_tests/circularity.test.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/fragment.test.attach.host.a.jar = bundles_src/fragment.test.attach.host.a/
-manifest.bundle_tests/fragment.test.attach.host.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/fragment.test.attach.host.a.v2.jar = bundles_src/fragment.test.attach.host.a.v2/
-manifest.bundle_tests/fragment.test.attach.host.a.v2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/fragment.test.attach.host.a.require.jar = bundles_src/fragment.test.attach.host.a.require/
-manifest.bundle_tests/fragment.test.attach.host.a.require.jar = META-INF/MANIFEST.MF
-source.bundle_tests/fragment.test.attach.frag.a.jar = bundles_src/fragment.test.attach.frag.a/
-manifest.bundle_tests/fragment.test.attach.frag.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/fragment.test.attach.frag.b.jar = bundles_src/fragment.test.attach.frag.b/
-manifest.bundle_tests/fragment.test.attach.frag.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/legacy.lazystart.jar = bundles_src/legacy.lazystart/
-manifest.bundle_tests/legacy.lazystart.jar = META-INF/MANIFEST.MF
-source.bundle_tests/legacy.lazystart.a.jar = bundles_src/legacy.lazystart.a/
-manifest.bundle_tests/legacy.lazystart.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/legacy.lazystart.b.jar = bundles_src/legacy.lazystart.b/
-manifest.bundle_tests/legacy.lazystart.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/legacy.lazystart.c.jar = bundles_src/legacy.lazystart.c/
-manifest.bundle_tests/legacy.lazystart.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/osgi.lazystart.jar = bundles_src/osgi.lazystart/
-manifest.bundle_tests/osgi.lazystart.jar = META-INF/MANIFEST.MF
-source.bundle_tests/osgi.lazystart.a.jar = bundles_src/osgi.lazystart.a/
-manifest.bundle_tests/osgi.lazystart.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/osgi.lazystart.b.jar = bundles_src/osgi.lazystart.b/
-manifest.bundle_tests/osgi.lazystart.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/osgi.lazystart.c.jar = bundles_src/osgi.lazystart.c/
-manifest.bundle_tests/osgi.lazystart.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/thread.locktest.jar = bundles_src/thread.locktest/
-manifest.bundle_tests/thread.locktest.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.registered.a.jar = bundles_src/buddy.registered.a/
-manifest.bundle_tests/buddy.registered.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.registered.a.test1.jar = bundles_src/buddy.registered.a.test1/
-manifest.bundle_tests/buddy.registered.a.test1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.registered.a.test2.jar = bundles_src/buddy.registered.a.test2/
-manifest.bundle_tests/buddy.registered.a.test2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.dependent.a.jar = bundles_src/buddy.dependent.a/
-manifest.bundle_tests/buddy.dependent.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.dependent.a.test1.jar = bundles_src/buddy.dependent.a.test1/
-manifest.bundle_tests/buddy.dependent.a.test1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/buddy.dependent.a.test2.jar = bundles_src/buddy.dependent.a.test2/
-manifest.bundle_tests/buddy.dependent.a.test2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.a1.jar = bundles_src/nativetest.a1/
-manifest.bundle_tests/nativetest.a1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.a2.jar = bundles_src/nativetest.a2/
-manifest.bundle_tests/nativetest.a2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.b1.jar = bundles_src/nativetest.b1/
-manifest.bundle_tests/nativetest.b1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.b2.jar = bundles_src/nativetest.b2/
-manifest.bundle_tests/nativetest.b2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.c.jar = bundles_src/nativetest.c/
-manifest.bundle_tests/nativetest.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/nativetest.d.jar = bundles_src/nativetest.d/
-manifest.bundle_tests/nativetest.d.jar = META-INF/MANIFEST.MF
-source.bundle_tests/host.multiple.exports.jar = bundles_src/host.multiple.exports/
-manifest.bundle_tests/host.multiple.exports.jar = META-INF/MANIFEST.MF
-source.bundle_tests/frag.multiple.exports.jar = bundles_src/frag.multiple.exports/
-manifest.bundle_tests/frag.multiple.exports.jar = META-INF/MANIFEST.MF
-source.bundle_tests/client1.multiple.exports.jar =bundles_src/client1.multiple.exports/
-manifest.bundle_tests/client1.multiple.exports.jar = META-INF/MANIFEST.MF
-source.bundle_tests/client2.multiple.exports.jar = bundles_src/client2.multiple.exports/
-manifest.bundle_tests/client2.multiple.exports.jar = META-INF/MANIFEST.MF
-source.bundle_tests/xfriends.test1.jar = bundles_src/xfriends.test1/
-manifest.bundle_tests/xfriends.test1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/xfriends.test2.jar = bundles_src/xfriends.test2/
-manifest.bundle_tests/xfriends.test2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/xfriends.test3.jar = bundles_src/xfriends.test3/
-manifest.bundle_tests/xfriends.test3.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.framework.a.jar = bundles_src/ext.framework.a/
-manifest.bundle_tests/ext.framework.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.framework.a.importer.jar = bundles_src/ext.framework.a.importer/
-manifest.bundle_tests/ext.framework.a.importer.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.framework.a.requires.jar = bundles_src/ext.framework.a.requires/
-manifest.bundle_tests/ext.framework.a.requires.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.framework.b.jar = bundles_src/ext.framework.b/
-manifest.bundle_tests/ext.framework.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.extclasspath.a.jar = bundles_src/ext.extclasspath.a/
-manifest.bundle_tests/ext.extclasspath.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/ext.extclasspath.a.importer.jar = bundles_src/ext.extclasspath.a.importer/
-manifest.bundle_tests/ext.extclasspath.a.importer.jar = META-INF/MANIFEST.MF
-source.bundle_tests/exporter.importer1.jar = bundles_src/exporter.importer1/
-manifest.bundle_tests/exporter.importer1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/exporter.importer2.jar = bundles_src/exporter.importer2/
-manifest.bundle_tests/exporter.importer2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/exporter.importer3.jar = bundles_src/exporter.importer3/
-manifest.bundle_tests/exporter.importer3.jar = META-INF/MANIFEST.MF
-source.bundle_tests/exporter.importer4.jar = bundles_src/exporter.importer4/
-manifest.bundle_tests/exporter.importer4.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug235958.x.jar = bundles_src/test.bug235958.x/
-manifest.bundle_tests/test.bug235958.x.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug235958.y.jar = bundles_src/test.bug235958.y/
-manifest.bundle_tests/test.bug235958.y.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.fragment1.jar = bundles_src/test.fragment1/
-manifest.bundle_tests/test.fragment1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.fragment2.jar = bundles_src/test.fragment2/
-manifest.bundle_tests/test.fragment2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.fragment3.jar = bundles_src/test.fragment3/
-manifest.bundle_tests/test.fragment3.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.fragment4.jar = bundles_src/test.fragment4/
-manifest.bundle_tests/test.fragment4.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.fragment5.jar = bundles_src/test.fragment5/
-manifest.bundle_tests/test.fragment5.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.a.jar = bundles_src/substitutes.a/
-manifest.bundle_tests/substitutes.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.a.frag.jar = bundles_src/substitutes.a.frag/
-manifest.bundle_tests/substitutes.a.frag.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.b.jar = bundles_src/substitutes.b/
-manifest.bundle_tests/substitutes.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.b.frag.jar = bundles_src/substitutes.b.frag/
-manifest.bundle_tests/substitutes.b.frag.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.c.jar = bundles_src/substitutes.c/
-manifest.bundle_tests/substitutes.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.d.jar = bundles_src/substitutes.d/
-manifest.bundle_tests/substitutes.d.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.e.jar = bundles_src/substitutes.e/
-manifest.bundle_tests/substitutes.e.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.f.jar = bundles_src/substitutes.f/
-manifest.bundle_tests/substitutes.f.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.g.jar = bundles_src/substitutes.g/
-manifest.bundle_tests/substitutes.g.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.h.jar = bundles_src/substitutes.h/
-manifest.bundle_tests/substitutes.h.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.i.jar = bundles_src/substitutes.i/
-manifest.bundle_tests/substitutes.i.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.j.jar = bundles_src/substitutes.j/
-manifest.bundle_tests/substitutes.j.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.k.jar = bundles_src/substitutes.k/
-manifest.bundle_tests/substitutes.k.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.l.jar = bundles_src/substitutes.l/
-manifest.bundle_tests/substitutes.l.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.m.jar = bundles_src/substitutes.m/
-manifest.bundle_tests/substitutes.m.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.n.jar = bundles_src/substitutes.n/
-manifest.bundle_tests/substitutes.n.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.p.jar = bundles_src/substitutes.p/
-manifest.bundle_tests/substitutes.p.jar = META-INF/MANIFEST.MF
-source.bundle_tests/substitutes.q.jar = bundles_src/substitutes.q/
-manifest.bundle_tests/substitutes.q.jar = META-INF/MANIFEST.MF
-source.bundle_tests/activator.error1.jar = bundles_src/activator.error1/
-manifest.bundle_tests/activator.error1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/activator.error2.jar = bundles_src/activator.error2/
-manifest.bundle_tests/activator.error2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/activator.error3.jar = bundles_src/activator.error3/
-manifest.bundle_tests/activator.error3.jar = META-INF/MANIFEST.MF
-source.bundle_tests/activator.error4.jar = bundles_src/activator.error4/
-manifest.bundle_tests/activator.error4.jar = META-INF/MANIFEST.MF
-source.bundle_tests/security.a.jar = bundles_src/security.a/
-manifest.bundle_tests/security.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/security.a.frag.a.jar = bundles_src/security.a.frag.a/
-manifest.bundle_tests/security.a.frag.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/security.b.jar = bundles_src/security.b/
-manifest.bundle_tests/security.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.filter.a.jar = bundles_src/test.filter.a/
-manifest.bundle_tests/test.filter.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.a.jar = bundles_src/test.link.a/
-manifest.bundle_tests/test.link.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.a.client.jar = bundles_src/test.link.a.client/
-manifest.bundle_tests/test.link.a.client.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.b.jar = bundles_src/test.link.b/
-manifest.bundle_tests/test.link.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.b.client.jar = bundles_src/test.link.b.client/
-manifest.bundle_tests/test.link.b.client.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.c.jar = bundles_src/test.link.c/
-manifest.bundle_tests/test.link.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.c.client.jar = bundles_src/test.link.c.client/
-manifest.bundle_tests/test.link.c.client.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.d.jar = bundles_src/test.link.d/
-manifest.bundle_tests/test.link.d.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.e.jar = bundles_src/test.link.e/
-manifest.bundle_tests/test.link.e.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.e.client.jar = bundles_src/test.link.e.client/
-manifest.bundle_tests/test.link.e.client.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.link.postponed.jar = bundles_src/test.link.postponed/
-manifest.bundle_tests/test.link.postponed.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug259903.a.jar = bundles_src/test.bug259903.a/
-manifest.bundle_tests/test.bug259903.a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug259903.a.update.jar = bundles_src/test.bug259903.a.update/
-manifest.bundle_tests/test.bug259903.a.update.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug259903.b.jar = bundles_src/test.bug259903.b/
-manifest.bundle_tests/test.bug259903.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug259903.c.jar = bundles_src/test.bug259903.c/
-manifest.bundle_tests/test.bug259903.c.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.tccl.jar = bundles_src/test.tccl/
-manifest.bundle_tests/test.tccl.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.manifestpackage.jar = bundles_src/test.manifestpackage/
-manifest.bundle_tests/test.manifestpackage.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug286307.jar = bundles_src/test.bug286307/
-manifest.bundle_tests/test.bug286307.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug287636.a1.jar = bundles_src/test.bug287636.a1/
-manifest.bundle_tests/test.bug287636.a1.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug287636.a2.jar = bundles_src/test.bug287636.a2/
-manifest.bundle_tests/test.bug287636.a2.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug287636.b.jar = bundles_src/test.bug287636.b/
-manifest.bundle_tests/test.bug287636.b.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug287750.jar = bundles_src/test.bug287750/
-manifest.bundle_tests/test.bug287750.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug306181a.jar = bundles_src/test.bug306181a/
-manifest.bundle_tests/test.bug306181a.jar = META-INF/MANIFEST.MF
-source.bundle_tests/test.bug306181b.jar = bundles_src/test.bug306181b/
-manifest.bundle_tests/test.bug306181b.jar = META-INF/MANIFEST.MF
-
-jars.compile.order = bundle_tests/ext.framework.b.jar,\
-                     osgitests.jar,\
-                     bundle_tests/test.jar,\
-                     bundle_tests/test2.jar,\
-                     bundle_tests/chain.test.d.jar,\
-                     bundle_tests/chain.test.c.jar,\
-                     bundle_tests/chain.test.b.jar,\
-                     bundle_tests/chain.test.a.jar,\
-                     bundle_tests/chain.test.jar,\
-                     bundle_tests/circularity.test.a.jar,\
-                     bundle_tests/circularity.test.jar,\
-                     bundle_tests/fragment.test.attach.host.a.jar,\
-                     bundle_tests/fragment.test.attach.host.a.v2.jar,\
-                     bundle_tests/fragment.test.attach.host.a.require.jar,\
-                     bundle_tests/fragment.test.attach.frag.a.jar,\
-                     bundle_tests/fragment.test.attach.frag.b.jar,\
-                     bundle_tests/legacy.lazystart.a.jar,\
-                     bundle_tests/legacy.lazystart.b.jar,\
-                     bundle_tests/legacy.lazystart.c.jar,\
-                     bundle_tests/legacy.lazystart.jar,\
-                     bundle_tests/osgi.lazystart.a.jar,\
-                     bundle_tests/osgi.lazystart.b.jar,\
-                     bundle_tests/osgi.lazystart.c.jar,\
-                     bundle_tests/osgi.lazystart.jar,\
-                     bundle_tests/thread.locktest.jar,\
-                     bundle_tests/buddy.registered.a.jar,\
-                     bundle_tests/buddy.registered.a.test1.jar,\
-                     bundle_tests/buddy.registered.a.test2.jar,\
-                     bundle_tests/buddy.dependent.a.jar,\
-                     bundle_tests/buddy.dependent.a.test1.jar,\
-                     bundle_tests/buddy.dependent.a.test2.jar,\
-                     bundle_tests/nativetest.a1.jar,\
-                     bundle_tests/nativetest.a2.jar,\
-                     bundle_tests/nativetest.b1.jar,\
-                     bundle_tests/nativetest.b2.jar,\
-                     bundle_tests/nativetest.c.jar,\
-                     bundle_tests/nativetest.d.jar,\
-                     bundle_tests/host.multiple.exports.jar,\
-                     bundle_tests/frag.multiple.exports.jar,\
-                     bundle_tests/client1.multiple.exports.jar,\
-                     bundle_tests/client2.multiple.exports.jar,\
-                     bundle_tests/xfriends.test1.jar,\
-                     bundle_tests/xfriends.test2.jar,\
-                     bundle_tests/xfriends.test3.jar,\
-                     bundle_tests/ext.framework.a.jar,\
-                     bundle_tests/ext.framework.a.importer.jar,\
-                     bundle_tests/ext.framework.a.requires.jar,\
-                     bundle_tests/ext.extclasspath.a.jar,\
-                     bundle_tests/ext.extclasspath.a.importer.jar,\
-                     bundle_tests/exporter.importer1.jar,\
-                     bundle_tests/exporter.importer2.jar,\
-                     bundle_tests/exporter.importer3.jar,\
-                     bundle_tests/exporter.importer4.jar,\
-                     bundle_tests/test.fragment1.jar,\
-                     bundle_tests/test.fragment2.jar,\
-                     bundle_tests/test.fragment3.jar,\
-                     bundle_tests/test.fragment4.jar,\
-                     bundle_tests/test.fragment5.jar,\
-                     bundle_tests/test.bug235958.x,\
-                     bundle_tests/test.bug235958.y,\
-                     bundle_tests/substitutes.a.jar,\
-                     bundle_tests/substitutes.a.frag.jar,\
-                     bundle_tests/substitutes.b.jar,\
-                     bundle_tests/substitutes.b.frag.jar,\
-                     bundle_tests/substitutes.c.jar,\
-                     bundle_tests/substitutes.d.jar,\
-                     bundle_tests/substitutes.e.jar,\
-                     bundle_tests/substitutes.f.jar,\
-                     bundle_tests/substitutes.g.jar,\
-                     bundle_tests/substitutes.h.jar,\
-                     bundle_tests/substitutes.i.jar,\
-                     bundle_tests/substitutes.j.jar,\
-                     bundle_tests/substitutes.k.jar,\
-                     bundle_tests/substitutes.l.jar,\
-                     bundle_tests/substitutes.m.jar,\
-                     bundle_tests/substitutes.n.jar,\
-                     bundle_tests/substitutes.p.jar,\
-                     bundle_tests/substitutes.q.jar,\
-                     bundle_tests/activator.error1,\
-                     bundle_tests/activator.error2,\
-                     bundle_tests/activator.error3,\
-                     bundle_tests/activator.error4,\
-                     bundle_tests/security.a.jar,\
-                     bundle_tests/security.a.frag.a.jar,\
-                     bundle_tests/security.b.jar,\
-                     bundle_tests/test.filter.a.jar,\
-                     bundle_tests/test.link.a.jar,\
-                     bundle_tests/test.link.a.client.jar,\
-                     bundle_tests/test.link.b.jar,\
-                     bundle_tests/test.link.b.client.jar,\
-                     bundle_tests/test.link.c.jar,\
-                     bundle_tests/test.link.c.client.jar,\
-                     bundle_tests/test.link.d.jar,\
-                     bundle_tests/test.link.e.jar,\
-                     bundle_tests/test.link.e.client.jar,\
-                     bundle_tests/test.link.postponed.jar,\
-                     bundle_tests/test.bug259903.a.jar,\
-                     bundle_tests/test.bug259903.a.update.jar,\
-                     bundle_tests/test.bug259903.b.jar,\
-                     bundle_tests/test.bug259903.c.jar,\
-                     bundle_tests/test.tccl.jar,\
-                     bundle_tests/test.manifestpackage.jar,\
-                     bundle_tests/test.bug286307.jar,\
-                     bundle_tests/test.bug287636.a1.jar,\
-                     bundle_tests/test.bug287636.a2.jar,\
-                     bundle_tests/test.bug287636.b.jar,\
-                     bundle_tests/test.bug287750.jar,\
-                     bundle_tests/test.bug306181a.jar,\
-                     bundle_tests/test.bug306181b.jar
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/META-INF/MANIFEST.MF
deleted file mode 100644
index 01f39f2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  activator.error1
-Bundle-SymbolicName: activator.error1
-Bundle-Version: 1.0.0
-Bundle-Activator: activator.error1.Activator
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/activator/error1/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/activator/error1/Activator.java
deleted file mode 100644
index 3ccacc2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error1/activator/error1/Activator.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package activator.error1;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public Activator() {
-		throw new RuntimeException();
-	}
-
-	public void start(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/META-INF/MANIFEST.MF
deleted file mode 100644
index a21e36e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  activator.error2
-Bundle-SymbolicName: activator.error2
-Bundle-Version: 1.0.0
-Bundle-Activator: activator.error2.Activator
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/activator/error2/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/activator/error2/Activator.java
deleted file mode 100644
index 68e5a6c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error2/activator/error2/Activator.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package activator.error2;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		throw new RuntimeException();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/META-INF/MANIFEST.MF
deleted file mode 100644
index 8bb4325..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  activator.error3
-Bundle-SymbolicName: activator.error3
-Bundle-Version: 1.0.0
-Bundle-Activator: activator.error3.Activator
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/activator/error3/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/activator/error3/Activator.java
deleted file mode 100644
index 95ad1a0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error3/activator/error3/Activator.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package activator.error3;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		// nothing
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		throw new RuntimeException();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error4/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/activator.error4/META-INF/MANIFEST.MF
deleted file mode 100644
index dcaf6a4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/activator.error4/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  activator.error1
-Bundle-SymbolicName: activator.error1
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/META-INF/MANIFEST.MF
deleted file mode 100644
index ebb3b22..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.dependent.a.test1
-Bundle-SymbolicName: buddy.dependent.a.test1
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Require-Bundle: buddy.dependent.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/buddy/dependent/a/test1/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/buddy/dependent/a/test1/ATest.java
deleted file mode 100644
index 6709bc4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/buddy/dependent/a/test1/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package buddy.dependent.a.test1;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test.txt
deleted file mode 100644
index 6bddbfe..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.dependent.a.test1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test1.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test1.txt
deleted file mode 100644
index 6bddbfe..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test1/resources/test1.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.dependent.a.test1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/META-INF/MANIFEST.MF
deleted file mode 100644
index c6dc34a..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.dependent.a.test2
-Bundle-SymbolicName: buddy.dependent.a.test2
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Require-Bundle: buddy.dependent.a.test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/buddy/dependent/a/test2/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/buddy/dependent/a/test2/ATest.java
deleted file mode 100644
index 6eac558..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/buddy/dependent/a/test2/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package buddy.dependent.a.test2;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test.txt
deleted file mode 100644
index d629a67..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.dependent.a.test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test2.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test2.txt
deleted file mode 100644
index d629a67..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a.test2/resources/test2.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.dependent.a.test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/META-INF/MANIFEST.MF
deleted file mode 100644
index a3470ad..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.dependent.a
-Bundle-SymbolicName: buddy.dependent.a
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Eclipse-BuddyPolicy: dependent
-Export-Package: resources
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/resources/test.txt
deleted file mode 100644
index 6648bd1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.dependent.a/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.dependent.a
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/META-INF/MANIFEST.MF
deleted file mode 100644
index 6221703..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.registered.a.test1
-Bundle-SymbolicName: buddy.registered.a.test1
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Require-Bundle: buddy.registered.a
-Eclipse-RegisterBuddy: buddy.registered.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/buddy/registered/a/test1/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/buddy/registered/a/test1/ATest.java
deleted file mode 100644
index 195d553..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/buddy/registered/a/test1/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package buddy.registered.a.test1;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test.txt
deleted file mode 100644
index ac6c013..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.registered.a.test1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test1.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test1.txt
deleted file mode 100644
index ac6c013..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test1/resources/test1.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.registered.a.test1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/META-INF/MANIFEST.MF
deleted file mode 100644
index 4b0fed0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.registered.a.test2
-Bundle-SymbolicName: buddy.registered.a.test2
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Require-Bundle: buddy.registered.a
-Eclipse-RegisterBuddy: buddy.registered.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/buddy/registered/a/test2/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/buddy/registered/a/test2/ATest.java
deleted file mode 100644
index 14e3e3c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/buddy/registered/a/test2/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package buddy.registered.a.test2;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test.txt
deleted file mode 100644
index b233054..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.registered.a.test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test2.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test2.txt
deleted file mode 100644
index b233054..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a.test2/resources/test2.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.registered.a.test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 386caf5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: buddy.registered.a
-Bundle-SymbolicName: buddy.registered.a
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Eclipse-BuddyPolicy: registered
-Export-Package: resources
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/resources/test.txt b/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/resources/test.txt
deleted file mode 100644
index 9b8414b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/buddy.registered.a/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-buddy.registered.a
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 756ea91..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chain test b
-Bundle-SymbolicName: chain.test.a
-Bundle-Version: 1.0.0
-Bundle-Activator: chain.test.a.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- chain.test.b,
- chain.test.c
-Export-Package: chain.test.a
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AChain.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AChain.java
deleted file mode 100644
index b045bf5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AChain.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.a;
-
-import chain.test.b.BChain;
-
-public class AChain extends BChain{
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain1.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain1.java
deleted file mode 100644
index af1dd19..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain1.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.a;
-
-import chain.test.b.BMultiChain1;
-import chain.test.c.CMultipleChain1;
-
-public interface AMultiChain1 extends AMultiChain2, CMultipleChain1, BMultiChain1 {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain2.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain2.java
deleted file mode 100644
index a923e71..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/AMultiChain2.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.a;
-
-
-public interface AMultiChain2 {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/Activator.java
deleted file mode 100644
index 98f2da3..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.a/chain/test/a/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/META-INF/MANIFEST.MF
deleted file mode 100644
index d8c70c4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chain test b
-Bundle-SymbolicName: chain.test.b
-Bundle-Version: 1.0.0
-Bundle-Activator: chain.test.b.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- chain.test.c,
- chain.test.d
-Export-Package: chain.test.b
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/Activator.java
deleted file mode 100644
index 366b33b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.b;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BChain.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BChain.java
deleted file mode 100644
index 1ee6262..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BChain.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.b;
-
-public class BChain {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain1.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain1.java
deleted file mode 100644
index 12226f6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain1.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.b;
-
-
-public interface BMultiChain1 {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain2.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain2.java
deleted file mode 100644
index e87e869..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.b/chain/test/b/BMultiChain2.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.b;
-
-import chain.test.c.CMultipleChain2;
-import chain.test.d.DMultipleChain1;
-
-public interface BMultiChain2 extends CMultipleChain2, DMultipleChain1{
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/META-INF/MANIFEST.MF
deleted file mode 100644
index ce19453..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chain test
-Bundle-SymbolicName: chain.test.c
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Bundle-Activator: chain.test.c.Activator
-Export-Package: chain.test.c
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- chain.test.d
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/Activator.java
deleted file mode 100644
index cc108ac..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.c;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain1.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain1.java
deleted file mode 100644
index d93bd6b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.c;
-
-public interface CMultipleChain1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain2.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain2.java
deleted file mode 100644
index a81b787..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.c/chain/test/c/CMultipleChain2.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.c;
-
-public interface CMultipleChain2 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/META-INF/MANIFEST.MF
deleted file mode 100644
index a8ff5fb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chain test
-Bundle-SymbolicName: chain.test.d
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Bundle-Activator: chain.test.d.Activator
-Export-Package: chain.test.d
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/Activator.java
deleted file mode 100644
index efe9996..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.d;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/DMultipleChain1.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/DMultipleChain1.java
deleted file mode 100644
index 2b389d6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test.d/chain/test/d/DMultipleChain1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test.d;
-
-public interface DMultipleChain1 {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/META-INF/MANIFEST.MF
deleted file mode 100644
index 4dfa9ef..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chain test
-Bundle-SymbolicName: chain.test
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: chain.test.a,
- chain.test.b,
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: chain.test.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/Activator.java
deleted file mode 100644
index a6296a1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test;
-
-import chain.test.b.BMultiChain1;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator, SynchronousBundleListener {
-
-	public void start(BundleContext context) throws Exception {
-		if (context.getProperty("test.bug300692") == null)
-			return;
-		if (context.getProperty("test.bug300692.listener") != null) {
-			context.addBundleListener(this);
-		}
-
-		new TestMultiChain();
-		context.removeBundleListener(this);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// Nothing
-	}
-
-	public void bundleChanged(BundleEvent event) {
-		if (event.getType() != BundleEvent.LAZY_ACTIVATION)
-			return;
-		Class clazz = BMultiChain1.class;
-		System.out.println(clazz.getName());
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestMultiChain.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestMultiChain.java
deleted file mode 100644
index bf2b425..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestMultiChain.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test;
-
-import chain.test.a.AMultiChain1;
-import chain.test.b.BMultiChain2;
-
-public class TestMultiChain implements AMultiChain1, BMultiChain2 {
-//
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestSingleChain.java b/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestSingleChain.java
deleted file mode 100644
index 0c13142..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/chain.test/chain/test/TestSingleChain.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package chain.test;
-
-import chain.test.a.AChain;
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-
-public class TestSingleChain implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new AChain();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/META-INF/MANIFEST.MF
deleted file mode 100644
index ed87c2e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Circularity Test A
-Bundle-SymbolicName: circularity.test.a
-Bundle-Version: 1.0.0
-Bundle-Activator: circularity.test.a.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Export-Package: circularity.test.a
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/Activator.java
deleted file mode 100644
index 3cc302d..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package circularity.test.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) {
-		try {
-			AbstractBundleTests.installer.getBundle("circularity.test").loadClass("circularity.test.TestCircularity");
-			AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/ICircularity.java b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/ICircularity.java
deleted file mode 100644
index 0528bab..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test.a/circularity/test/a/ICircularity.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package circularity.test.a;
-
-public interface ICircularity {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/META-INF/MANIFEST.MF
deleted file mode 100644
index 1f6b8ef..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Circularity Test
-Bundle-SymbolicName: circularity.test
-Bundle-Version: 1.0.0
-Bundle-Activator: circularity.test.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- circularity.test.a
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/Activator.java
deleted file mode 100644
index 154109b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package circularity.test;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/TestCircularity.java b/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/TestCircularity.java
deleted file mode 100644
index 4f938bf..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/circularity.test/circularity/test/TestCircularity.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package circularity.test;
-
-import circularity.test.a.ICircularity;
-
-public class TestCircularity implements ICircularity {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/META-INF/MANIFEST.MF
deleted file mode 100644
index 72374db..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: client1.multiple.exports
-Bundle-SymbolicName: client1.multiple.exports
-Bundle-Version: 1.0.0
-Bundle-Activator: client1.multiple.exports.Activator
-Import-Package: host.multiple.exports,
- host.multiple.exports.onlyone,
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/client1/multiple/exports/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/client1/multiple/exports/Activator.java
deleted file mode 100644
index ff63534..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/client1.multiple.exports/client1/multiple/exports/Activator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package client1.multiple.exports;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PublicClass1").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PublicClass2").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PrivateClass1").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent("success"); //$NON-NLS-1$
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PrivateClass2").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent("success"); //$NON-NLS-1$
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/META-INF/MANIFEST.MF
deleted file mode 100644
index 0bf4b97..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: client2.multiple.exports
-Bundle-SymbolicName: client2.multiple.exports
-Bundle-Version: 1.0.0
-Bundle-Activator: client2.multiple.exports.Activator
-Import-Package: host.multiple.exports; scope="private",
- host.multiple.exports.onlyone,
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/client2/multiple/exports/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/client2/multiple/exports/Activator.java
deleted file mode 100644
index 35db4f4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/client2.multiple.exports/client2/multiple/exports/Activator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package client2.multiple.exports;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PublicClass1").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PublicClass2").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PrivateClass1").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("host.multiple.exports.PrivateClass2").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/META-INF/MANIFEST.MF
deleted file mode 100644
index 9ddeeb5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  exporter.importer1
-Bundle-SymbolicName: exporter.importer1
-Bundle-Version: 1.0.0
-Export-Package: exporter.importer.test; version=1.0
-Import-Package: exporter.importer.test; version=1.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/exporter/importer/test/Test1.java b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/exporter/importer/test/Test1.java
deleted file mode 100644
index 7312de5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer1/exporter/importer/test/Test1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package exporter.importer.test;
-
-public class Test1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/META-INF/MANIFEST.MF
deleted file mode 100644
index 5724b050..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  exporter.importer2
-Bundle-SymbolicName: exporter.importer2
-Bundle-Version: 1.0.0
-Export-Package: exporter.importer.test; version=1.0
-Import-Package: exporter.importer.test; version=1.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/exporter/importer/test/Test2.java b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/exporter/importer/test/Test2.java
deleted file mode 100644
index 5e61679..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer2/exporter/importer/test/Test2.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package exporter.importer.test;
-
-public class Test2 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/META-INF/MANIFEST.MF
deleted file mode 100644
index 625a10a..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  exporter.importer3
-Bundle-SymbolicName: exporter.importer3
-Bundle-Version: 1.0.0
-Export-Package: exporter.importer.test; version=1.0
-Import-Package: exporter.importer.test; version=1.0,
- org.osgi.framework
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: exporter.importer.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/Activator.java
deleted file mode 100644
index d8f33f1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/Activator.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package exporter.importer;
-import exporter.importer.test.Test3;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		new Test3();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/test/Test3.java b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/test/Test3.java
deleted file mode 100644
index 3606f99..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer3/exporter/importer/test/Test3.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package exporter.importer.test;
-
-public class Test3 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer4/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer4/META-INF/MANIFEST.MF
deleted file mode 100644
index b09ef2a..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/exporter.importer4/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  exporter.importer4
-Bundle-SymbolicName: exporter.importer4
-Bundle-Version: 1.0.0
-Import-Package: exporter.importer.test; version=1.0
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/META-INF/MANIFEST.MF
deleted file mode 100644
index 10f2e2e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  ext.extclasspath.a.importer
-Bundle-SymbolicName: ext.extclasspath.a.importer
-Bundle-Version: 1.0.0
-Import-Package: org.osgi.framework,
- org.eclipse.osgi.tests.bundles,
- ext.extclasspath.a
-Bundle-Activator: ext.extclasspath.a.importer.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/ext/extclasspath/a/importer/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/ext/extclasspath/a/importer/Activator.java
deleted file mode 100644
index 59a6ca9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a.importer/ext/extclasspath/a/importer/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.extclasspath.a.importer;
-
-import ext.extclasspath.a.ExtClasspathExtTest;
-import java.io.*;
-import java.net.URL;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new ExtClasspathExtTest().toString());
-		AbstractBundleTests.simpleResults.addEvent(getURLContent(this.getClass().getResource("/ext/extclasspath/a/extresource.txt"))); //$NON-NLS-1$
-	}
-
-	private String getURLContent(URL resource) throws IOException {
-		BufferedReader br = new BufferedReader(new InputStreamReader(resource.openStream()));
-		try {
-			return br.readLine();
-		} finally {
-			br.close();
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/META-INF/MANIFEST.MF
deleted file mode 100644
index f230f0c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  ext.extclasspath.a
-Bundle-SymbolicName: ext.extclasspath.a
-Bundle-Version: 1.0.0
-Fragment-Host: system.bundle; extension:=extclasspath
-Export-Package: ext.extclasspath.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/ExtClasspathExtTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/ExtClasspathExtTest.java
deleted file mode 100644
index 4c1550e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/ExtClasspathExtTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.extclasspath.a;
-
-public class ExtClasspathExtTest {
-	public String toString() {
-		return "success";
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/extresource.txt b/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/extresource.txt
deleted file mode 100644
index 2e9ba47..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.extclasspath.a/ext/extclasspath/a/extresource.txt
+++ /dev/null
@@ -1 +0,0 @@
-success
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/META-INF/MANIFEST.MF
deleted file mode 100644
index e0f78c7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  ext.framework.a.importer
-Bundle-SymbolicName: ext.framework.a.importer
-Bundle-Version: 1.0.0
-Import-Package: org.osgi.framework,
- ext.framework.a,
- org.eclipse.osgi.tests.bundles
-Bundle-Activator: ext.framework.a.importer.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/ext/framework/a/importer/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/ext/framework/a/importer/Activator.java
deleted file mode 100644
index b821d56..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.importer/ext/framework/a/importer/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.framework.a.importer;
-
-import ext.framework.a.FrameworkExtTest;
-import java.io.*;
-import java.net.URL;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new FrameworkExtTest().testIt("success")); //$NON-NLS-1$
-		AbstractBundleTests.simpleResults.addEvent(getURLContent(this.getClass().getResource("/ext/framework/a/fwkresource.txt"))); //$NON-NLS-1$
-	}
-
-	private String getURLContent(URL resource) throws IOException {
-		BufferedReader br = new BufferedReader(new InputStreamReader(resource.openStream()));
-		try {
-			return br.readLine();
-		} finally {
-			br.close();
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/META-INF/MANIFEST.MF
deleted file mode 100644
index 2544b3b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  ext.framework.a.requires
-Bundle-SymbolicName: ext.framework.a.requires
-Bundle-Version: 1.0.0
-Import-Package: org.eclipse.osgi.tests.bundles
-Require-Bundle: org.eclipse.osgi
-Bundle-Activator: ext.framework.a.requires.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/ext/framework/a/requires/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/ext/framework/a/requires/Activator.java
deleted file mode 100644
index 8f8041d..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a.requires/ext/framework/a/requires/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.framework.a.requires;
-
-import ext.framework.a.FrameworkExtTest;
-import java.io.*;
-import java.net.URL;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new FrameworkExtTest().testIt("success")); //$NON-NLS-1$
-		AbstractBundleTests.simpleResults.addEvent(getURLContent(this.getClass().getResource("/ext/framework/a/fwkresource.txt"))); //$NON-NLS-1$
-	}
-
-	private String getURLContent(URL resource) throws IOException {
-		BufferedReader br = new BufferedReader(new InputStreamReader(resource.openStream()));
-		try {
-			return br.readLine();
-		} finally {
-			br.close();
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 346e725..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  ext.framework.a
-Bundle-SymbolicName: ext.framework.a
-Bundle-Version: 1.0.0
-Fragment-Host: system.bundle; extension:=framework
-Export-Package: ext.framework.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/FrameworkExtTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/FrameworkExtTest.java
deleted file mode 100644
index c33e7a1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/FrameworkExtTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.framework.a;
-
-public class FrameworkExtTest {
-	public String testIt(String value) {
-		return value;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/fwkresource.txt b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/fwkresource.txt
deleted file mode 100644
index 2e9ba47..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.a/ext/framework/a/fwkresource.txt
+++ /dev/null
@@ -1 +0,0 @@
-success
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/META-INF/MANIFEST.MF
deleted file mode 100644
index ad385a9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: ext.framework.b
-Bundle-SymbolicName: ext.framework.b
-Bundle-Version: 1.0.0
-Fragment-Host: system.bundle; extension:=framework
-Export-Package: ext.framework.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
deleted file mode 100644
index 3ea5acb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package ext.framework.b;
-
-import java.util.Dictionary;
-import java.util.HashMap;
-import org.osgi.framework.Bundle;
-import org.osgi.service.condpermadmin.Condition;
-import org.osgi.service.condpermadmin.ConditionInfo;
-
-public class TestCondition implements Condition {
-
-	private final String id;
-	private final boolean mutable;
-	private boolean curMutable;
-	private final boolean postponed;
-	private boolean curPostponed;
-	private final boolean satisfied;
-	private boolean curSatisfied;
-	private final Bundle bundle;
-
-	private static final HashMap conditionIDs = new HashMap();
-
-	private TestCondition(String id, boolean mutable, boolean postponed, boolean satisfied, Bundle bundle) {
-		this.id = id;
-		this.mutable = this.curMutable = mutable;
-		this.postponed = this.curPostponed = postponed;
-		this.satisfied = this.curSatisfied = satisfied;
-		this.bundle = bundle;
-	}
-
-	static public Condition getCondition(final Bundle bundle, ConditionInfo info) {
-		if (!TestCondition.class.getName().equals(info.getType()))
-			throw new IllegalArgumentException("ConditionInfo must be of type \"" + TestCondition.class.getName() + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		String[] args = info.getArgs();
-		if (args.length != 4)
-			throw new IllegalArgumentException("Illegal number of args: " + args.length); //$NON-NLS-1$
-		String identity = args[0] + '_' + bundle.getBundleId();
-		boolean mut = Boolean.valueOf(args[1]).booleanValue();
-		boolean post = Boolean.valueOf(args[2]).booleanValue();
-		boolean sat = Boolean.valueOf(args[3]).booleanValue();
-		synchronized (conditionIDs) {
-			TestCondition condition = (TestCondition) conditionIDs.get(identity);
-			if (condition == null) {
-				condition = new TestCondition(identity, mut, post, sat, bundle);
-				conditionIDs.put(identity, condition);
-			}
-			return condition;
-		}
-	}
-
-	static public TestCondition getTestCondition(String id) {
-		synchronized (conditionIDs) {
-			return (TestCondition) conditionIDs.get(id);
-		}
-	}
-
-	static public void clearConditions() {
-		synchronized (conditionIDs) {
-			conditionIDs.clear();
-		}
-	}
-
-	public boolean isMutable() {
-		return curMutable;
-	}
-
-	public boolean isPostponed() {
-		return curPostponed;
-	}
-
-	public boolean isSatisfied() {
-		return curSatisfied;
-	}
-
-	public boolean isSatisfied(Condition[] conditions, Dictionary context) {
-		if (!isPostponed())
-			throw new IllegalStateException("Should not call isSatisfied(Condition[] conditions, Dictionary context)"); //$NON-NLS-1$
-		for (int i = 0; i < conditions.length; i++) {
-			Boolean isSatisfied = (Boolean) context.get(conditions[i]);
-			if (isSatisfied == null) {
-				isSatisfied = new Boolean(conditions[i].isSatisfied());
-				context.put(conditions[i], isSatisfied);
-			}
-			if (!isSatisfied.booleanValue())
-				return false;
-		}
-		return true;
-	}
-
-	public int hashCode() {
-		return id.hashCode();
-	}
-
-	public boolean equals(Object o) {
-		if (!(o instanceof TestCondition))
-			return false;
-		TestCondition otherCondition = (TestCondition) o;
-		return id.equals(otherCondition.id) && postponed == otherCondition.postponed && satisfied == otherCondition.satisfied && mutable == otherCondition.mutable && bundle == otherCondition.bundle;
-	}
-
-	public void setMutable(boolean mutable) {
-		this.curMutable = mutable;
-	}
-
-	public void setPostponed(boolean isPostponed) {
-		this.curPostponed = isPostponed;
-	}
-
-	public void setSatisfied(boolean isSatisfied) {
-		this.curSatisfied = isSatisfied;
-	}
-
-	public Bundle getBundle() {
-		return bundle;
-	}
-
-	public String toString() {
-		return id + '-' + postponed + '-' + mutable + '-' + satisfied;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/META-INF/MANIFEST.MF
deleted file mode 100644
index cab82b9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: frag.multiple.exports
-Bundle-SymbolicName: frag.multiple.exports
-Bundle-Version: 1.0.0
-Fragment-Host: host.multiple.exports
-Export-Package: host.multiple.exports; mandatory:="scope"; scope="private",
- host.multiple.exports.onlyone;
-  version=1.0.0;
-  include:="Public*"; 
-  exclude:="PublicExclude*";
-  uses:="host.multiple.exports";
-  mantatory:="test1";
-  test1=value;
-  test2=value
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass1.java b/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass1.java
deleted file mode 100644
index 8011da7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package host.multiple.exports;
-
-public class PrivateClass1 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass2.java b/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass2.java
deleted file mode 100644
index 286d0e0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/frag.multiple.exports/host/multiple/exports/PrivateClass2.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package host.multiple.exports;
-
-public class PrivateClass2 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/META-INF/MANIFEST.MF
deleted file mode 100644
index b5ca89c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: fragment test frag a
-Bundle-SymbolicName: fragment.test.attach.frag.a
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Fragment-Host: fragment.test.attach.host.a; multiple-hosts:=true
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess.java
deleted file mode 100644
index a633da8..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a.internal.test;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-
-public class TestPackageAccess implements ITestRunner{
-
-	public Object testIt() throws Exception {
-		new PackageAccessTest().packageLevelAccess(TestPackageAccess.class.getName());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess2.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess2.java
deleted file mode 100644
index 0f9edb7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.a/fragment/test/attach/host/a/internal/test/TestPackageAccess2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a.internal.test;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-
-public class TestPackageAccess2 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		new PackageAccessTest2().packageLevelAccess(TestPackageAccess2.class.getName());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/META-INF/MANIFEST.MF
deleted file mode 100644
index b167ab0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: fragment test frag a
-Bundle-SymbolicName: fragment.test.attach.frag.b
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Fragment-Host: fragment.test.attach.host.a
-Bundle-ActivationPolicy: lazy
-Export-Package: fragment.test.attach.frag.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/fragment/test/attach/frag/b/Test.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/fragment/test/attach/frag/b/Test.java
deleted file mode 100644
index c693748..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.frag.b/fragment/test/attach/frag/b/Test.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.frag.b;
-
-
-public class Test {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.require/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.require/META-INF/MANIFEST.MF
deleted file mode 100644
index 2f122ba..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.require/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: fragment test host a
-Bundle-SymbolicName: fragment.test.attach.host.a.require
-Bundle-Version: 1.0.0
-Bundle-ActivationPolicy: lazy
-Require-Bundle: fragment.test.attach.host.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/META-INF/MANIFEST.MF
deleted file mode 100755
index b189bf4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: fragment test host a
-Bundle-SymbolicName: fragment.test.attach.host.a
-Bundle-Version: 1.0.1
-Bundle-Activator: fragment.test.attach.host.a.Activator2
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/Activator2.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/Activator2.java
deleted file mode 100755
index 610e600..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/Activator2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator2 implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/internal/test/PackageAccessTest2.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/internal/test/PackageAccessTest2.java
deleted file mode 100755
index e91ea73..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a.v2/fragment/test/attach/host/a/internal/test/PackageAccessTest2.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a.internal.test;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-
-public class PackageAccessTest2 {
-	void packageLevelAccess(String className) {
-		AbstractBundleTests.simpleResults.addEvent(className);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 78b10d6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: fragment test host a
-Bundle-SymbolicName: fragment.test.attach.host.a
-Bundle-Version: 1.0.0
-Bundle-Activator: fragment.test.attach.host.a.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/Activator.java
deleted file mode 100644
index fac099b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/internal/test/PackageAccessTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/internal/test/PackageAccessTest.java
deleted file mode 100644
index 0c03996..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/fragment.test.attach.host.a/fragment/test/attach/host/a/internal/test/PackageAccessTest.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package fragment.test.attach.host.a.internal.test;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-
-public class PackageAccessTest {
-	void packageLevelAccess(String className) {
-		AbstractBundleTests.simpleResults.addEvent(className);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/META-INF/MANIFEST.MF
deleted file mode 100644
index 47670f8..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: host.multiple.exports
-Bundle-SymbolicName: host.multiple.exports
-Bundle-Version: 1.0.0
-Export-Package: host.multiple.exports; include:="Public*",
- host.multiple.exports.onlyone;
-  version=1.0.0;
-  include:="Public*"; 
-  exclude:="PublicExclude*";
-  uses:="host.multiple.exports";
-  mantatory:="test1";
-  test1=value;
-  test2=value
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass1.java b/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass1.java
deleted file mode 100644
index e701713..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package host.multiple.exports;
-
-public class PublicClass1 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass2.java b/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass2.java
deleted file mode 100644
index 7776307..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/PublicClass2.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package host.multiple.exports;
-
-public class PublicClass2 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/onlyone/PublicClass1.java b/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/onlyone/PublicClass1.java
deleted file mode 100644
index f7df082..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/host.multiple.exports/host/multiple/exports/onlyone/PublicClass1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package host.multiple.exports.onlyone;
-
-public class PublicClass1 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/META-INF/MANIFEST.MF
deleted file mode 100644
index fee1e22..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Legacy test
-Bundle-SymbolicName: legacy.lazystart.a
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Eclipse-LazyStart: true
-Export-Package: legacy.lazystart.a
-Bundle-Activator: legacy.lazystart.a.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/ATest.java
deleted file mode 100644
index 58f30cf..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.a;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/Activator.java
deleted file mode 100644
index 4a5ed5d..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.a/legacy/lazystart/a/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/META-INF/MANIFEST.MF
deleted file mode 100644
index 9ce5e90..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Legacy test
-Bundle-SymbolicName: legacy.lazystart.b
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Eclipse-LazyStart: true; exceptions="legacy.lazystart.b.excluded.a, legacy.lazystart.b.excluded.b"
-Export-Package: legacy.lazystart.b,
- legacy.lazystart.b.excluded.a,
- legacy.lazystart.b.excluded.b
-Bundle-Activator: legacy.lazystart.b.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/Activator.java
deleted file mode 100644
index 34d0992..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.b;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/BTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/BTest.java
deleted file mode 100644
index 56cb9fd..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/BTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.b;
-
-public class BTest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/a/BAExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/a/BAExcluded.java
deleted file mode 100644
index 69233c9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/a/BAExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.b.excluded.a;
-
-public class BAExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/b/BBExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/b/BBExcluded.java
deleted file mode 100644
index bcef7d9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.b/legacy/lazystart/b/excluded/b/BBExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.b.excluded.b;
-
-public class BBExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/META-INF/MANIFEST.MF
deleted file mode 100644
index a830eca..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Legacy test
-Bundle-SymbolicName: legacy.lazystart.c
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Eclipse-LazyStart: false; exceptions="legacy.lazystart.c"
-Export-Package: legacy.lazystart.c,
- legacy.lazystart.c.excluded.a,
- legacy.lazystart.c.excluded.b
-Bundle-Activator: legacy.lazystart.c.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/Activator.java
deleted file mode 100644
index bf8497b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.c;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/CTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/CTest.java
deleted file mode 100644
index 3619d68..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/CTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.c;
-
-public class CTest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/a/CAExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/a/CAExcluded.java
deleted file mode 100644
index ec8ebff..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/a/CAExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.c.excluded.a;
-
-public class CAExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/b/CBExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/b/CBExcluded.java
deleted file mode 100644
index 08d3aec..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart.c/legacy/lazystart/c/excluded/b/CBExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart.c.excluded.b;
-
-public class CBExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/META-INF/MANIFEST.MF
deleted file mode 100644
index fadb991..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Legacy test
-Bundle-SymbolicName: legacy.lazystart
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- legacy.lazystart.a,
- legacy.lazystart.b,
- legacy.lazystart.b.excluded.a,
- legacy.lazystart.b.excluded.b,
- legacy.lazystart.c,
- legacy.lazystart.c.excluded.a,
- legacy.lazystart.c.excluded.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy1.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy1.java
deleted file mode 100644
index 66a77d9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart;
-
-import legacy.lazystart.c.excluded.a.CAExcluded;
-import legacy.lazystart.c.excluded.b.CBExcluded;
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-
-public class FalseExceptionLegacy1 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		new CAExcluded();
-		return new CBExcluded();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy2.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy2.java
deleted file mode 100644
index 0c04441..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/FalseExceptionLegacy2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import legacy.lazystart.c.CTest;
-public class FalseExceptionLegacy2 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new CTest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/SimpleLegacy.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/SimpleLegacy.java
deleted file mode 100644
index 5c4325a..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/SimpleLegacy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import legacy.lazystart.a.ATest;
-
-public class SimpleLegacy implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new ATest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy1.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy1.java
deleted file mode 100644
index 1b03fda..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy1.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import legacy.lazystart.b.excluded.a.BAExcluded;
-import legacy.lazystart.b.excluded.b.BBExcluded;
-public class TrueExceptionLegacy1 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		new BAExcluded();
-		return new BBExcluded();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy2.java b/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy2.java
deleted file mode 100644
index d6f76d4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/legacy.lazystart/legacy/lazystart/TrueExceptionLegacy2.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package legacy.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import legacy.lazystart.b.BTest;
-
-public class TrueExceptionLegacy2 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new BTest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
deleted file mode 100644
index 9a6ea26..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,53 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: NativeBundle
-Bundle-Version: 1.0.0
-Bundle-Activator: nativetest.a1.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: nativefile1.txt;
- processor=ppc64;
- processor=ppc;
- osname=AIX,
- nativefile1.txt;
- processor=PA_RISC;
- processor=PA_RISC2.0;
- osname=HP-UX,
- nativefile1.txt;
- processor=IA64N;
- osname=HP-UX,
- nativefile1.txt;
- processor=x86;
- processor=x86_64;
- osname=Linux,
- nativefile1.txt;
- processor=ppc64;
- processor=ppc;
- osname=Linux,
- nativefile1.txt;
- processor=s390;
- processor=s390x;
- osname=Linux,
- nativefile1.txt;
- processor=Sparc;
- osname=Solaris;
- osname=SunOS,
- nativefile1.txt;
- processor=x86;
- processor=x86_64;
- osname=Windows2000;
- osname="Windows 2003";
- osname=Windows95;
- osname=Windows98;
- osname=WindowsNT;
- osname=WindowsXP;
- osname="Windows NT (unknown)";
- osname="Windows Vista";
- osname=Win32,
- nativefile1.txt;
- processor=x86;
- processor=x86_64;
- processor=ppc;
- osname=macosx
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativefile1.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativefile1.txt
deleted file mode 100644
index 56a6051..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativefile1.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativetest/a1/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativetest/a1/Activator.java
deleted file mode 100644
index 65e1929..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/nativetest/a1/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.a1;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativefile1.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
deleted file mode 100644
index bac9f7f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,53 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: NativeBundle
-Bundle-Version: 1.1.0
-Bundle-Activator: nativetest.a2.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: nativefile2.txt;
- processor=ppc64;
- processor=ppc;
- osname=AIX,
- nativefile2.txt;
- processor=PA_RISC;
- processor=PA_RISC2.0;
- osname=HP-UX,
- nativefile2.txt;
- processor=IA64N;
- osname=HP-UX,
- nativefile2.txt;
- processor=x86;
- processor=x86_64;
- osname=Linux,
- nativefile2.txt;
- processor=ppc64;
- processor=ppc;
- osname=Linux,
- nativefile2.txt;
- processor=s390;
- processor=s390x;
- osname=Linux,
- nativefile2.txt;
- processor=Sparc;
- osname=Solaris;
- osname=SunOS,
- nativefile2.txt;
- processor=x86;
- processor=x86_64;
- osname=Windows2000;
- osname="Windows 2003";
- osname=Windows95;
- osname=Windows98;
- osname=WindowsNT;
- osname=WindowsXP;
- osname="Windows NT (unknown)";
- osname="Windows Vista";
- osname=Win32,
- nativefile2.txt;
- processor=x86;
- processor=x86_64;
- processor=ppc;
- osname=macosx
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativefile2.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativefile2.txt
deleted file mode 100644
index 56a6051..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativefile2.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativetest/a2/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativetest/a2/Activator.java
deleted file mode 100644
index 142bcd2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/nativetest/a2/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.a2;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativefile2.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
deleted file mode 100644
index e7e2ec9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,53 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: NativeBundle
-Bundle-Version: 2.0.0
-Bundle-Activator: nativetest.b1.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: nativefile.txt;
- processor=ppc64;
- processor=ppc;
- osname=AIX,
- nativefile.txt;
- processor=PA_RISC;
- processor=PA_RISC2.0;
- osname=HP-UX,
- nativefile.txt;
- processor=IA64N;
- osname=HP-UX,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- osname=Linux,
- nativefile.txt;
- processor=ppc64;
- processor=ppc;
- osname=Linux,
- nativefile.txt;
- processor=s390;
- processor=s390x;
- osname=Linux,
- nativefile.txt;
- processor=Sparc;
- osname=Solaris;
- osname=SunOS,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- osname=Windows2000;
- osname="Windows 2003";
- osname=Windows95;
- osname=Windows98;
- osname=WindowsNT;
- osname=WindowsXP;
- osname="Windows NT (unknown)";
- osname="Windows Vista";
- osname=Win32,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- processor=ppc;
- osname=macosx
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativefile.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativefile.txt
deleted file mode 100644
index 56a6051..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativefile.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativetest/b1/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativetest/b1/Activator.java
deleted file mode 100644
index 8fd7c66..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/nativetest/b1/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.b1;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativefile.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
deleted file mode 100644
index 8b7fd1f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,53 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: NativeBundle
-Bundle-Version: 2.1.0
-Bundle-Activator: nativetest.b2.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: nativefile.txt;
- processor=ppc64;
- processor=ppc;
- osname=AIX,
- nativefile.txt;
- processor=PA_RISC;
- processor=PA_RISC2.0;
- osname=HP-UX,
- nativefile.txt;
- processor=IA64N;
- osname=HP-UX,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- osname=Linux,
- nativefile.txt;
- processor=ppc64;
- processor=ppc;
- osname=Linux,
- nativefile.txt;
- processor=s390;
- processor=s390x;
- osname=Linux,
- nativefile.txt;
- processor=Sparc;
- osname=Solaris;
- osname=SunOS,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- osname=Windows2000;
- osname="Windows 2003";
- osname=Windows95;
- osname=Windows98;
- osname=WindowsNT;
- osname=WindowsXP;
- osname="Windows NT (unknown)";
- osname="Windows Vista";
- osname=Win32,
- nativefile.txt;
- processor=x86;
- processor=x86_64;
- processor=ppc;
- osname=macosx
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativefile.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativefile.txt
deleted file mode 100644
index 56a6051..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativefile.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativetest/b2/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativetest/b2/Activator.java
deleted file mode 100644
index 03610a1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/nativetest/b2/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.b2;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativefile.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/META-INF/MANIFEST.MF
deleted file mode 100644
index 22b492c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,35 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: nativetest.c
-Bundle-Version: 1.0.0
-Bundle-Activator: nativetest.c.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: 
- libs/test1/nativecode.txt;
-  selection-filter="(nativecodetest=1)",
- libs/test2/nativecode.txt;
-  selection-filter="(nativecodetest=1)",
- libs/test3/nativecode.txt;
-  selection-filter="(nativecodetest=1)",
- libs/test1/nativecode.txt;
-  selection-filter="(nativecodetest=2)",
- libs/test2/nativecode.txt;
-  selection-filter="(nativecodetest=2)",
- libs/test3/nativecode.txt;
-  osversion="0.0.1";
-  selection-filter="(nativecodetest=2)",
- libs/test1/nativecode.txt;
-  selection-filter="(nativecodetest=3)",
- libs/test2/nativecode.txt;
-  osversion="0.0.1";
-  language="en";
-  selection-filter="(nativecodetest=3)",
- libs/test3/nativecode.txt;
-  osversion="0.0.1";
-  language="en";
-  selection-filter="(nativecodetest=3)",
- libs/test4/nativecode.txt;
-  selection-filter="(nativecodetest=4)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test1/nativecode.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test1/nativecode.txt
deleted file mode 100644
index 8c4e7bb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test1/nativecode.txt
+++ /dev/null
@@ -1 +0,0 @@
-libs.test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test2/nativecode.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test2/nativecode.txt
deleted file mode 100644
index 4bc17ea..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test2/nativecode.txt
+++ /dev/null
@@ -1 +0,0 @@
-libs.test2
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test3/nativecode.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test3/nativecode.txt
deleted file mode 100644
index e3643f3..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/libs/test3/nativecode.txt
+++ /dev/null
@@ -1 +0,0 @@
-libs.test3
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/nativetest/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/nativetest/c/Activator.java
deleted file mode 100644
index 1377780..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.c/nativetest/c/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.c;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativecode.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/META-INF/MANIFEST.MF
deleted file mode 100644
index 9e5bd4e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: NativeBundle Plug-in
-Bundle-SymbolicName: nativetest.d
-Bundle-Version: 1.0.0
-Bundle-Activator: nativetest.d.Activator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.eclipse.osgi.tests.bundles
-Bundle-NativeCode: 
- libs/test1/nativecode.txt;
-  selection-filter="(nativecodetest=willnotresolve)",
- *
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/libs/test1/nativecode.txt b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/libs/test1/nativecode.txt
deleted file mode 100644
index 8c4e7bb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/libs/test1/nativecode.txt
+++ /dev/null
@@ -1 +0,0 @@
-libs.test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/nativetest/d/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/nativetest/d/Activator.java
deleted file mode 100644
index 129c2b1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.d/nativetest/d/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package nativetest.d;
-
-import java.lang.reflect.Method;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Method findLibrary = ClassLoader.class.getDeclaredMethod("findLibrary", new Class[] {String.class});
-		findLibrary.setAccessible(true);
-		AbstractBundleTests.simpleResults.addEvent(findLibrary.invoke(this.getClass().getClassLoader(), new Object[] {"nativecode.txt"}));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 1efc106..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: osgi test
-Bundle-SymbolicName: osgi.lazystart.a
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Export-Package: osgi.lazystart.a
-Bundle-Activator: osgi.lazystart.a.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/ATest.java
deleted file mode 100644
index a4fc515..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.a;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/Activator.java
deleted file mode 100644
index ded1d41..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.a/osgi/lazystart/a/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.a;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/META-INF/MANIFEST.MF
deleted file mode 100644
index e9ed6af..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: osgi test
-Bundle-SymbolicName: osgi.lazystart.b
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy; exclude:="osgi.lazystart.b.excluded.a, osgi.lazystart.b.excluded.b"
-Export-Package: osgi.lazystart.b,
- osgi.lazystart.b.excluded.a,
- osgi.lazystart.b.excluded.b
-Bundle-Activator: osgi.lazystart.b.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/Activator.java
deleted file mode 100644
index 5ec97c8..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.b;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/BTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/BTest.java
deleted file mode 100644
index 55ff033..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/BTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.b;
-
-public class BTest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/a/BAExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/a/BAExcluded.java
deleted file mode 100644
index e04bf93..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/a/BAExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.b.excluded.a;
-
-public class BAExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/b/BBExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/b/BBExcluded.java
deleted file mode 100644
index 131df8f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.b/osgi/lazystart/b/excluded/b/BBExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.b.excluded.b;
-
-public class BBExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/META-INF/MANIFEST.MF
deleted file mode 100644
index 98891ce..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: osgi test
-Bundle-SymbolicName: osgi.lazystart.c
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy; include:="osgi.lazystart.c"
-Export-Package: osgi.lazystart.c,
- osgi.lazystart.c.excluded.a,
- osgi.lazystart.c.excluded.b
-Bundle-Activator: osgi.lazystart.c.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/Activator.java
deleted file mode 100644
index 0026b77..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.c;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/CTest.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/CTest.java
deleted file mode 100644
index eec1261..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/CTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.c;
-
-public class CTest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/a/CAExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/a/CAExcluded.java
deleted file mode 100644
index c1055ed..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/a/CAExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.c.excluded.a;
-
-public class CAExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/b/CBExcluded.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/b/CBExcluded.java
deleted file mode 100644
index 256404f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart.c/osgi/lazystart/c/excluded/b/CBExcluded.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart.c.excluded.b;
-
-public class CBExcluded {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/META-INF/MANIFEST.MF
deleted file mode 100644
index d78cf41..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: osgi lazy test
-Bundle-SymbolicName: osgi.lazystart
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0",
- osgi.lazystart.a,
- osgi.lazystart.b,
- osgi.lazystart.b.excluded.a,
- osgi.lazystart.b.excluded.b,
- osgi.lazystart.c,
- osgi.lazystart.c.excluded.a,
- osgi.lazystart.c.excluded.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude1.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude1.java
deleted file mode 100644
index 4a3f7f8..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude1.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import osgi.lazystart.b.excluded.a.BAExcluded;
-import osgi.lazystart.b.excluded.b.BBExcluded;
-public class LazyExclude1 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		new BAExcluded();
-		return new BBExcluded();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude2.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude2.java
deleted file mode 100644
index 42102dd..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyExclude2.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import osgi.lazystart.b.BTest;
-
-public class LazyExclude2 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new BTest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude1.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude1.java
deleted file mode 100644
index d746fbb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart;
-
-import osgi.lazystart.c.excluded.a.CAExcluded;
-import osgi.lazystart.c.excluded.b.CBExcluded;
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-
-public class LazyInclude1 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		new CAExcluded();
-		return new CBExcluded();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude2.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude2.java
deleted file mode 100644
index 3896053..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazyInclude2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import osgi.lazystart.c.CTest;
-public class LazyInclude2 implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new CTest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazySimple.java b/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazySimple.java
deleted file mode 100644
index edd98ef..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/osgi.lazystart/osgi/lazystart/LazySimple.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package osgi.lazystart;
-
-import org.eclipse.osgi.tests.bundles.ITestRunner;
-import osgi.lazystart.a.ATest;
-
-public class LazySimple implements ITestRunner {
-
-	public Object testIt() throws Exception {
-		return new ATest();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 737ea01..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  security.a.frag.a
-Bundle-SymbolicName: security.a.frag.a
-Fragment-Host: security.a
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/HostManifest_en_US.properties b/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/HostManifest_en_US.properties
deleted file mode 100644
index e00317d..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/HostManifest_en_US.properties
+++ /dev/null
@@ -1 +0,0 @@
-security.a=en_US
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/frag.a.txt b/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/frag.a.txt
deleted file mode 100644
index 854152b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a.frag.a/resources/frag.a.txt
+++ /dev/null
@@ -1 +0,0 @@
-security.a.frag.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/security.a/META-INF/MANIFEST.MF
deleted file mode 100644
index de6661c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  %security.a
-Bundle-SymbolicName: security.a
-Bundle-Version: 1.0.0
-Import-Package: org.osgi.framework
-Bundle-Activator: security.a.Activator
-Bundle-Localization: resources/HostManifest
-Export-Package: security.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/resources/HostManifest.properties b/bundles/org.eclipse.osgi.tests/bundles_src/security.a/resources/HostManifest.properties
deleted file mode 100644
index 43c11c1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/resources/HostManifest.properties
+++ /dev/null
@@ -1 +0,0 @@
-security.a=default
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/security/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/security.a/security/a/Activator.java
deleted file mode 100644
index d181096..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.a/security/a/Activator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package security.a;
-
-import java.net.URL;
-import java.util.Enumeration;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Enumeration urls = context.getBundle().findEntries("resources", "frag.a.txt", false); //$NON-NLS-1$//$NON-NLS-2$
-		if (urls == null || !urls.hasMoreElements())
-			throw new Exception("Did not find any resources"); //$NON-NLS-1$
-		while (urls.hasMoreElements()) {
-			URL url = (URL) urls.nextElement();
-			if (url == null)
-				throw new Exception("The URL is null"); //$NON-NLS-1$
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		//nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/security.b/META-INF/MANIFEST.MF
deleted file mode 100644
index 8b455aa..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: security.b
-Bundle-SymbolicName: security.b
-Bundle-Version: 1.0.0
-Bundle-Activator: security.b.Activator
-Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/OSGI-INF/permissions.perm b/bundles/org.eclipse.osgi.tests/bundles_src/security.b/OSGI-INF/permissions.perm
deleted file mode 100644
index de62205..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/OSGI-INF/permissions.perm
+++ /dev/null
@@ -1,2 +0,0 @@
-(org.osgi.framework.PackagePermission "org.osgi.framework" "import")
-(org.osgi.framework.AdminPermission "*" "*")
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/security/b/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/security.b/security/b/Activator.java
deleted file mode 100644
index 2288b75..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/security.b/security/b/Activator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     ProSyst Software GmbH - initial API and implementation
- *******************************************************************************/
-
-package security.b;
-
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	private BundleContext bc;
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		System.out.println("Starting bundle Test2!!"); //$NON-NLS-1$
-		System.out.println("Security manager: " + System.getSecurityManager()); //$NON-NLS-1$
-		this.bc = context;
-		doTestAction();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		System.out.println("Stopping bundle Test2!!"); //$NON-NLS-1$
-	}
-
-	private void doTestAction() {
-		Bundle[] bundles = bc.getBundles();
-		Bundle thisBundle = bc.getBundle();
-		for (int i = 0; i < bundles.length; i++) {
-			if (thisBundle.getBundleId() != bundles[i].getBundleId()) {
-				checkBundle(bundles[i]);
-			}
-		}
-	}
-
-	private void checkBundle(Bundle bundle) {
-		bundle.getHeaders();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/META-INF/MANIFEST.MF
deleted file mode 100644
index 74b3da4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.a.frag
-Bundle-SymbolicName: substitutes.a.frag
-Bundle-Version: 1.0.0
-Fragment-Host: substitutes.a
-Export-Package: substitutes.q; version=1.0
-Import-Package: substitutes.q; version="[1.0,2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/substitutes/q/AFq.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/substitutes/q/AFq.java
deleted file mode 100644
index cd6837c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a.frag/substitutes/q/AFq.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.q;
-
-public class AFq {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 0ec6eb6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.a
-Bundle-SymbolicName: substitutes.a
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/data/resource1 b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/data/resource1
deleted file mode 100644
index 73d047f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/data/resource1
+++ /dev/null
@@ -1 +0,0 @@
-root classpath
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/x/Ax.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/x/Ax.java
deleted file mode 100644
index b1c6e90..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/x/Ax.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Ax {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/y/Ay.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/y/Ay.java
deleted file mode 100644
index 261bb81..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.a/substitutes/y/Ay.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Ay {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/META-INF/MANIFEST.MF
deleted file mode 100644
index ab318b1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.b.frag
-Bundle-SymbolicName: substitutes.b.frag
-Bundle-Version: 1.0.0
-Fragment-Host: substitutes.b
-Export-Package: substitutes.q; version=1.0
-Import-Package: substitutes.q; version="[1.0,2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/substitutes/q/BFq.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/substitutes/q/BFq.java
deleted file mode 100644
index 6b1e3f0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b.frag/substitutes/q/BFq.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.q;
-
-public class BFq {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/META-INF/MANIFEST.MF
deleted file mode 100644
index b1b37b3..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.b
-Bundle-SymbolicName: substitutes.b
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/x/Bx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/x/Bx.java
deleted file mode 100644
index a4d2f0b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/x/Bx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Bx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/y/By.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/y/By.java
deleted file mode 100644
index 3266e8c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.b/substitutes/y/By.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class By {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.c/META-INF/MANIFEST.MF
deleted file mode 100644
index b8fb60f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.c
-Bundle-SymbolicName: substitutes.c
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.a
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.d/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.d/META-INF/MANIFEST.MF
deleted file mode 100644
index 19e1bfc..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.d/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.d
-Bundle-SymbolicName: substitutes.d
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/META-INF/MANIFEST.MF
deleted file mode 100644
index fd7e3a7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.e
-Bundle-SymbolicName: substitutes.e
-Bundle-Version: 1.0.0
-Export-Package: substitutes.z
-Require-Bundle: substitutes.a; visibility:=reexport
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/substitutes/z/Ez.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/substitutes/z/Ez.java
deleted file mode 100644
index 9ab36bb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.e/substitutes/z/Ez.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.z;
-
-public class Ez {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/META-INF/MANIFEST.MF
deleted file mode 100644
index 79ff9b7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.f
-Bundle-SymbolicName: substitutes.f
-Bundle-Version: 1.0.0
-Export-Package: substitutes.z
-Require-Bundle: substitutes.b; visibility:=reexport
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/substitutes/z/Fz.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/substitutes/z/Fz.java
deleted file mode 100644
index c3032d8..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.f/substitutes/z/Fz.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.z;
-
-public class Fz {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.g/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.g/META-INF/MANIFEST.MF
deleted file mode 100644
index 23c78af..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.g/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.g
-Bundle-SymbolicName: substitutes.g
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.e
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.h/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.h/META-INF/MANIFEST.MF
deleted file mode 100644
index 3e156bc..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.h/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.h
-Bundle-SymbolicName: substitutes.h
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.f
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/META-INF/MANIFEST.MF
deleted file mode 100644
index 5e8f3ea..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.i
-Bundle-SymbolicName: substitutes.i
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0; mandatory:=a; a=split
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"; a=split
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/x/Ix.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/x/Ix.java
deleted file mode 100644
index a4d6067..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/x/Ix.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Ix {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/y/Iy.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/y/Iy.java
deleted file mode 100644
index 207d65c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.i/substitutes/y/Iy.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Iy {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/META-INF/MANIFEST.MF
deleted file mode 100644
index e920cdf..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.j
-Bundle-SymbolicName: substitutes.j
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0; mandatory:=a; a=split
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"; a=split
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/x/Jx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/x/Jx.java
deleted file mode 100644
index 8457532..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/x/Jx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Jx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/y/Jy.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/y/Jy.java
deleted file mode 100644
index f8d4900..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.j/substitutes/y/Jy.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Jy {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/META-INF/MANIFEST.MF
deleted file mode 100644
index 489a273..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.k
-Bundle-SymbolicName: substitutes.k
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0; mandatory:=b; b=split
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"; b=split
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/x/Kx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/x/Kx.java
deleted file mode 100644
index 19e6bc7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/x/Kx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Kx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/y/Ky.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/y/Ky.java
deleted file mode 100644
index a3d88a7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.k/substitutes/y/Ky.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Ky {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/META-INF/MANIFEST.MF
deleted file mode 100644
index 272a12a..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.l
-Bundle-SymbolicName: substitutes.l
-Bundle-Version: 1.0.0
-Export-Package: substitutes.x; substitutes.y; version=1.0; mandatory:=b; b=split
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"; b=split
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/x/Lx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/x/Lx.java
deleted file mode 100644
index 7013459..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/x/Lx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Lx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/y/Ly.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/y/Ly.java
deleted file mode 100644
index 4bbfcfe..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.l/substitutes/y/Ly.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Ly {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/META-INF/MANIFEST.MF
deleted file mode 100644
index 524ed25..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.m
-Bundle-SymbolicName: substitutes.m
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.i, substitutes.k
-Export-Package: substitutes.x; substitutes.y; version=1.0
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/x/Mx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/x/Mx.java
deleted file mode 100644
index 0bf131f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/x/Mx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Mx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/y/My.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/y/My.java
deleted file mode 100644
index ed9b601..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.m/substitutes/y/My.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class My {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/META-INF/MANIFEST.MF
deleted file mode 100644
index 2a5b558..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.n
-Bundle-SymbolicName: substitutes.n
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.j, substitutes.l
-Export-Package: substitutes.x; substitutes.y; version=1.0
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/x/Nx.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/x/Nx.java
deleted file mode 100644
index 319a35e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/x/Nx.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.x;
-
-public class Nx {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/y/Ny.java b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/y/Ny.java
deleted file mode 100644
index 238a9c9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.n/substitutes/y/Ny.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package substitutes.y;
-
-public class Ny {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.p/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.p/META-INF/MANIFEST.MF
deleted file mode 100644
index 6b6bad0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.p/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.p
-Bundle-SymbolicName: substitutes.p
-Bundle-Version: 1.0.0
-Import-Package: substitutes.x; substitutes.y; version="[1.0, 2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.q/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.q/META-INF/MANIFEST.MF
deleted file mode 100644
index 711bb90..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/substitutes.q/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  substitutes.q
-Bundle-SymbolicName: substitutes.q
-Bundle-Version: 1.0.0
-Require-Bundle: substitutes.n
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/META-INF/MANIFEST.MF
deleted file mode 100644
index 346a933..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: X Plug-in
-Bundle-SymbolicName: test.bug235958.x
-Bundle-Version: 1.0.0
-Bundle-Activator: test.bug235958.x.internal.Activator
-Bundle-ActivationPolicy: lazy
-Import-Package: org.osgi.framework;version="1.3.0"
-Export-Package: test.bug235958.x; version=1.1
-Require-Bundle: test.bug235958.y
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/X1.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/X1.java
deleted file mode 100644
index 6986235..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/X1.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package test.bug235958.x;
-
-public class X1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/internal/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/internal/Activator.java
deleted file mode 100644
index 6708c0e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.x/test/bug235958/x/internal/Activator.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package test.bug235958.x.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.bug235958.x.X1;
-
-public class Activator implements BundleActivator {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		new X1();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/META-INF/MANIFEST.MF
deleted file mode 100644
index 823306c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Y Plug-in
-Bundle-SymbolicName: test.bug235958.y
-Bundle-Version: 1.0.0
-Bundle-Activator: test.bug235958.y.internal.Activator
-Bundle-ActivationPolicy: lazy
-Import-Package: org.osgi.framework;version="1.3.0",
- test.bug235958.x; version="[1.0,2.0)"
-Export-Package: test.bug235958.x; version=1.0,
- test.bug235958.y; version=1.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/x/X.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/x/X.java
deleted file mode 100644
index 2edc491..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/x/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package test.bug235958.x;
-
-public class X {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/Y.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/Y.java
deleted file mode 100644
index 7191061..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/Y.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package test.bug235958.y;
-
-public class Y {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/internal/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/internal/Activator.java
deleted file mode 100644
index fb271d4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug235958.y/test/bug235958/y/internal/Activator.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package test.bug235958.y.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a.update/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a.update/META-INF/MANIFEST.MF
deleted file mode 100644
index 8510426..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a.update/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug259903.a
-Bundle-SymbolicName: test.bug259903.a
-Bundle-Version: 1.0.1
-Export-Package: test.bug259903.a, test.bug259903.a.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/META-INF/MANIFEST.MF
deleted file mode 100644
index cc63972..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug259903.a
-Bundle-SymbolicName: test.bug259903.a
-Bundle-Version: 1.0.0
-Export-Package: test.bug259903.a, test.bug259903.a.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/Service1.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/Service1.java
deleted file mode 100644
index 30c7c41..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/Service1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug259903.a;
-
-public interface Service1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/b/Service2.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/b/Service2.java
deleted file mode 100644
index 64a65af..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.a/test/bug259903/a/b/Service2.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug259903.a.b;
-
-public interface Service2 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/META-INF/MANIFEST.MF
deleted file mode 100644
index 7c30223..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug259903.b
-Bundle-SymbolicName: test.bug259903.b
-Bundle-Version: 1.0.0
-Import-Package: test.bug259903.a,
- test.bug259903.a.b
-Export-Package: test.bug259903.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/test/bug259903/b/Service3.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/test/bug259903/b/Service3.java
deleted file mode 100644
index 093450e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.b/test/bug259903/b/Service3.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug259903.b;
-
-import test.bug259903.a.Service1;
-import test.bug259903.a.b.Service2;
-
-public interface Service3 extends Service1, Service2 {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/META-INF/MANIFEST.MF
deleted file mode 100644
index f6646ef..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug259903.c
-Bundle-SymbolicName: test.bug259903.c
-Bundle-Version: 1.0.0
-Bundle-Activator: test.bug259903.c.Activator
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework,
- test.bug259903.a,
- test.bug259903.a.b,
- test.bug259903.b
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/test/bug259903/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/test/bug259903/c/Activator.java
deleted file mode 100644
index 14d5989..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug259903.c/test/bug259903/c/Activator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug259903.c;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-import test.bug259903.b.Service3;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		// nothing
-	}
-
-	public void stop(BundleContext context) throws Exception {
-
-		new Service3() {/* nothing*/};
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/META-INF/MANIFEST.MF
deleted file mode 100644
index bcc28e2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug286307
-Bundle-SymbolicName: test.bug286307
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/OSGI-INF/permissions.perm b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/OSGI-INF/permissions.perm
deleted file mode 100644
index 7490eca..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug286307/OSGI-INF/permissions.perm
+++ /dev/null
@@ -1 +0,0 @@
-(java.io.FilePermission "<<ALL FILES>>" "read")
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a1/META-INF/MANIFEST.MF
deleted file mode 100644
index 0626a67..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug287636.a
-Bundle-SymbolicName: test.bug287636.a
-Bundle-Version: 1.0.0
-Export-Package: test.bug287636.a; version=1.0
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a2/META-INF/MANIFEST.MF
deleted file mode 100644
index 80880c6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.a2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug287636.a
-Bundle-SymbolicName: test.bug287636.a
-Bundle-Version: 1.1.0
-Export-Package: test.bug287636.a; version=1.1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.b/META-INF/MANIFEST.MF
deleted file mode 100644
index d91b211..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287636.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug287636.b
-Bundle-SymbolicName: test.bug287636.b
-Bundle-Version: 2.0.0
-Import-Package: test.bug287636.a; version="[1.0,2.0)"
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/META-INF/MANIFEST.MF
deleted file mode 100644
index df77958..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug287750
-Bundle-SymbolicName: test.bug287750
-Bundle-Version: 1.0.0
-Bundle-Activator: test.bug287750.Activator
-Import-Package: org.osgi.framework,
- org.osgi.service.startlevel
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/OSGI-INF/permissions.perm b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/OSGI-INF/permissions.perm
deleted file mode 100644
index f58c1a6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/OSGI-INF/permissions.perm
+++ /dev/null
@@ -1,3 +0,0 @@
-(org.osgi.framework.PackagePermission "*" "import")
-(org.osgi.framework.ServicePermission "*" "GET")
-(org.osgi.framework.AdminPermission "*" "*")
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/test/bug287750/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/test/bug287750/Activator.java
deleted file mode 100644
index b423ddb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug287750/test/bug287750/Activator.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package test.bug287750;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.startlevel.StartLevel;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		StartLevel sl = (StartLevel) context.getService(context.getServiceReference(StartLevel.class.getName()));
-		sl.setStartLevel(10);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/META-INF/MANIFEST.MF
deleted file mode 100644
index 3dcf733..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug306181a
-Bundle-SymbolicName: test.bug306181a
-Bundle-Version: 1.0.0
-Bundle-Activator: test.bug306181a.Activator
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/test/bug306181a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/test/bug306181a/Activator.java
deleted file mode 100644
index 03496cb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181a/test/bug306181a/Activator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug306181a;
-
-import java.util.Hashtable;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		ServiceReference[] refs = context.getServiceReferences(Runnable.class.getName(), "(test=bug306181)");
-		String error = null;
-		if (refs == null)
-			error = "Did not find expected service";
-		else if (refs.length != 1)
-			error = "Found wrong number of services: " + refs.length;
-		if (error != null) {
-			Hashtable props = new Hashtable();
-			props.put("test", "bug306181");
-			context.registerService(String.class.getName(), error, props);
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/META-INF/MANIFEST.MF
deleted file mode 100644
index 2bf1bba..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.bug306181b
-Bundle-SymbolicName: test.bug306181b
-Bundle-Version: 1.0.0
-Service-Component: component.xml
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/component.xml b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/component.xml
deleted file mode 100644
index a7e4ee4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osgi.tests">
-   <implementation class="test.bug306181b.Component"/>
-   <property name="test" type="String" value="bug306181"/>
-   <service>
-      <provide interface="java.lang.Runnable"/>
-   </service>
-   
-</scr:component>
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/test/bug306181b/Component.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/test/bug306181b/Component.java
deleted file mode 100644
index 17f4234..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.bug306181b/test/bug306181b/Component.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 20010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.bug306181b;
-
-public class Component implements Runnable {
-
-	public void run() {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 0f42f8d..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  test.filter.a
-Bundle-SymbolicName: test.filter.a
-Bundle-Version: 1.0.0
-Bundle-Activator: test.filter.a.Activator
-Import-Package: org.osgi.framework,
- org.osgi.util.tracker
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/test/filter/a/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/test/filter/a/Activator.java
deleted file mode 100644
index 7c0cb0b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.filter.a/test/filter/a/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.filter.a;
-
-import java.util.Hashtable;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		final boolean[] serviceChanged = {false};
-		ServiceListener listener = new ServiceListener() {
-			public void serviceChanged(ServiceEvent event) {
-				serviceChanged[0] = true;
-			}
-		};
-		context.addServiceListener(listener, "(&(objectClass=java.lang.String)(test=*))");
-		final boolean[] modifiedService = {false};
-		ServiceTracker tracker = new ServiceTracker(context, FrameworkUtil.createFilter("(&(objectClass=java.lang.String)(test=*))"), new ServiceTrackerCustomizer() {
-
-			public Object addingService(ServiceReference reference) {
-				return reference;
-			}
-
-			public void modifiedService(ServiceReference reference, Object service) {
-				modifiedService[0] = true;
-			}
-
-			public void removedService(ServiceReference reference, Object service) {
-				// TODO Auto-generated method stub
-
-			}
-
-		});
-		tracker.open();
-		Hashtable props = new Hashtable();
-		props.put("test", "value1");
-		ServiceRegistration registration = context.registerService(String.class.getName(), "test", props);
-		props.put("test", "value2");
-		registration.setProperties(props);
-		if (!serviceChanged[0])
-			throw new Exception("did not call service listener");
-		if (!modifiedService[0])
-			throw new Exception("did not call tracker customer");
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		//nothing; framework will clean up our listeners
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment1/META-INF/MANIFEST.MF
deleted file mode 100644
index 1b5383b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.fragment1
-Bundle-SymbolicName: test.fragment1
-Bundle-Version: 1.0.0
-Fragment-Host: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment2/META-INF/MANIFEST.MF
deleted file mode 100644
index 06029a2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.fragment2
-Bundle-SymbolicName: test.fragment2
-Bundle-Version: 1.0.0
-Fragment-Host: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment3/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment3/META-INF/MANIFEST.MF
deleted file mode 100644
index 5eb286e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.fragment3
-Bundle-SymbolicName: test.fragment3
-Bundle-Version: 1.0.0
-Fragment-Host: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment4/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment4/META-INF/MANIFEST.MF
deleted file mode 100644
index c0768c4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment4/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.fragment4
-Bundle-SymbolicName: test.fragment4
-Bundle-Version: 1.0.0
-Fragment-Host: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment5/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment5/META-INF/MANIFEST.MF
deleted file mode 100644
index 8afa4a4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.fragment5/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.fragment5
-Bundle-SymbolicName: test.fragment5
-Bundle-Version: 1.0.0
-Fragment-Host: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/META-INF/MANIFEST.MF
deleted file mode 100644
index 24cf9ab..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  test.link.a.client
-Bundle-SymbolicName: test.link.a.client
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.a.client.Activator
-Import-Package: org.osgi.framework, test.link.a, test.link.a.params
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/test/link/a/client/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/test/link/a/client/Activator.java
deleted file mode 100644
index 700d13b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a.client/test/link/a/client/Activator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.a.client;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.URL;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.link.a.SomeAPI;
-import test.link.a.params.AParam;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		SomeAPI api = new SomeAPI();
-		api.getBundleID(context.getBundle());
-		api.getString(new AParam());
-		// test class that does not exist
-		try {
-			getClass().getClassLoader().loadClass("test.link.a.DoesNotExist"); //$NON-NLS-1$
-			throw new RuntimeException("Unexpected class load success"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		// test resource
-		URL resource = this.getClass().getResource("/test/link/a/resource.txt"); //$NON-NLS-1$
-		if (resource == null)
-			throw new RuntimeException("Did not find resource.txt"); //$NON-NLS-1$
-		BufferedReader reader = new BufferedReader(new InputStreamReader(resource.openStream()));
-		try {
-			String content = reader.readLine();
-			if (!"Test content".equals(content)) //$NON-NLS-1$
-				throw new RuntimeException("Unexpected content in resource.txt: " + content); //$NON-NLS-1$
-		} finally {
-			reader.close();
-		}
-		// test resource that does not exist
-		URL notExist = this.getClass().getResource("/test/link/b/DoesNotExist.txt"); //$NON-NLS-1$
-		if (notExist != null)
-			throw new RuntimeException("Should not have found resource: " + notExist.getPath()); //$NON-NLS-1$
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/META-INF/MANIFEST.MF
deleted file mode 100644
index 54ff1de..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  test.link.a
-Bundle-SymbolicName: test.link.a
-Bundle-Version: 1.0.0
-Export-Package: test.link.a; attr1="value1"; uses:="org.osgi.framework, test.link.a.params",
- test.link.a.params; attr2="value2" 
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/SomeAPI.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/SomeAPI.java
deleted file mode 100644
index 9a2483c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/SomeAPI.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.a;
-
-import org.osgi.framework.Bundle;
-import test.link.a.params.AParam;
-
-public class SomeAPI {
-	public Long getBundleID(Bundle bundle) {
-		return new Long(bundle.getBundleId());
-	}
-
-	public String getString(AParam arg0) {
-		return arg0.toString();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/params/AParam.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/params/AParam.java
deleted file mode 100644
index 56d2534..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/params/AParam.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.a.params;
-
-public class AParam {
-	public String toString() {
-		return "AParam"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/resource.txt b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/resource.txt
deleted file mode 100644
index 2eec599..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.a/test/link/a/resource.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test content
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/META-INF/MANIFEST.MF
deleted file mode 100644
index 0b5d38f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.b.client
-Bundle-SymbolicName: test.link.b.client
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.b.client.Activator
-Import-Package: org.osgi.framework, test.link.b, test.link.b.params
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/test/link/b/client/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/test/link/b/client/Activator.java
deleted file mode 100644
index 4266b3f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b.client/test/link/b/client/Activator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.b.client;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.URL;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.link.b.SomeAPI;
-import test.link.b.params.AParam;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		SomeAPI api = new SomeAPI();
-		api.getBundleID(context.getBundle());
-		api.getString(new AParam());
-		// test class that does not exist
-		try {
-			getClass().getClassLoader().loadClass("test.link.b.DoesNotExist"); //$NON-NLS-1$
-			throw new RuntimeException("Unexpected class load success"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		// test resource
-		URL resource = this.getClass().getResource("/test/link/b/resource.txt"); //$NON-NLS-1$
-		if (resource == null)
-			throw new RuntimeException("Did not find resource.txt"); //$NON-NLS-1$
-		BufferedReader reader = new BufferedReader(new InputStreamReader(resource.openStream()));
-		try {
-			String content = reader.readLine();
-			if (!"Test content".equals(content)) //$NON-NLS-1$
-				throw new RuntimeException("Unexpected content in resource.txt: " + content); //$NON-NLS-1$
-		} finally {
-			reader.close();
-		}
-		// test resource that does not exist
-		URL notExist = this.getClass().getResource("/test/link/b/DoesNotExist.txt"); //$NON-NLS-1$
-		if (notExist != null)
-			throw new RuntimeException("Should not have found resource: " + notExist.getPath()); //$NON-NLS-1$
-
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/META-INF/MANIFEST.MF
deleted file mode 100644
index 1329e3e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.b
-Bundle-SymbolicName: test.link.b
-Bundle-Version: 1.0.0
-Export-Package: test.link.b; attr1="value1"; uses:="org.osgi.framework, test.link.b.params",
- test.link.b.params; attr2="value2" 
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/SomeAPI.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/SomeAPI.java
deleted file mode 100644
index 3b29bd0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/SomeAPI.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.b;
-
-import org.osgi.framework.Bundle;
-import test.link.b.params.AParam;
-
-public class SomeAPI {
-	public Long getBundleID(Bundle bundle) {
-		return new Long(bundle.getBundleId());
-	}
-
-	public String getString(AParam arg0) {
-		return arg0.toString();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/params/AParam.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/params/AParam.java
deleted file mode 100644
index 6d8710c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/params/AParam.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.b.params;
-
-public class AParam {
-	public String toString() {
-		return "AParam"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/resource.txt b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/resource.txt
deleted file mode 100644
index 2eec599..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.b/test/link/b/resource.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test content
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/META-INF/MANIFEST.MF
deleted file mode 100644
index 90019f5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.c.client
-Bundle-SymbolicName: test.link.c.client
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.c.client.Activator
-Import-Package: test.link.c.service1, test.link.c.service2, test.link.c.service3, org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/test/link/c/client/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/test/link/c/client/Activator.java
deleted file mode 100644
index d849816..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c.client/test/link/c/client/Activator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.c.client;
-
-import org.osgi.framework.*;
-import test.link.c.service1.Service1;
-import test.link.c.service2.Service2;
-import test.link.c.service3.Service3;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Service1 service1 = (Service1) checkService(Service1.class.getName(), context);
-		if (service1 == null)
-			throw new Exception("missing Service1"); //$NON-NLS-1$
-		Service2 service2 = (Service2) checkService(Service2.class.getName(), context);
-		if (service2 == null)
-			throw new Exception("missing Service2"); //$NON-NLS-1$
-		Service3 service3 = (Service3) checkService(Service3.class.getName(), context);
-		if (service3 == null)
-			throw new Exception("missing Service3"); //$NON-NLS-1$
-	}
-
-	private Object checkService(String name, BundleContext context) throws BundleException {
-		ServiceReference ref = context.getServiceReference(name);
-		if (ref == null)
-			throw new BundleException("Missing service " + name); //$NON-NLS-1$
-		Object service = context.getService(ref);
-		if (service != null)
-			context.ungetService(ref);
-		return service;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/META-INF/MANIFEST.MF
deleted file mode 100644
index 4a15453..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.c
-Bundle-SymbolicName: test.link.c
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.c.Activator
-Export-Package: 
- test.link.c.service1; attr1="value1",
- test.link.c.service2; attr2="value2"; uses:="test.link.c.service1",
- test.link.c.service3; attr3="value3"; uses:="test.link.c.service2"
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/Activator.java
deleted file mode 100644
index ae6d199..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.c;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.link.c.service1.Service1;
-import test.link.c.service2.Service2;
-import test.link.c.service3.Service3;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		context.registerService(Service1.class.getName(), new Service1() {}, null);
-		context.registerService(new String[] {Service1.class.getName(), Service2.class.getName()}, new Service2() {}, null);
-		context.registerService(new String[] {Service1.class.getName(), Service2.class.getName(), Service3.class.getName()}, new Service3() {}, null);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service1/Service1.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service1/Service1.java
deleted file mode 100644
index 5286b6f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service1/Service1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.c.service1;
-
-public interface Service1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service2/Service2.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service2/Service2.java
deleted file mode 100644
index 5186e1e..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service2/Service2.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.c.service2;
-
-import test.link.c.service1.Service1;
-
-public interface Service2 extends Service1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service3/Service3.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service3/Service3.java
deleted file mode 100644
index 69c7bd0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.c/test/link/c/service3/Service3.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.c.service3;
-
-import test.link.c.service2.Service2;
-
-public interface Service3 extends Service2 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/META-INF/MANIFEST.MF
deleted file mode 100644
index 102d6ae..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.d
-Bundle-SymbolicName: test.link.d
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.d.Activator
-Import-Package: org.osgi.framework,
- org.eclipse.osgi.tests.bundles,
- org.osgi.service.framework,
- org.osgi.framework.launch,
- org.osgi.util.tracker
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/test/link/d/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/test/link/d/Activator.java
deleted file mode 100644
index 61de0e4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.d/test/link/d/Activator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package test.link.d;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.eclipse.osgi.tests.bundles.BundleInstaller;
-import org.osgi.framework.*;
-import org.osgi.service.framework.CompositeBundle;
-import org.osgi.service.framework.CompositeBundleFactory;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		ServiceReference installerRef = context.getServiceReference(BundleInstaller.class.getName());
-		if (installerRef == null)
-			throw new Exception("Missing Service Permission"); //$NON-NLS-1$
-		BundleInstaller installer = (BundleInstaller) context.getService(installerRef);
-		if (installer == null)
-			throw new Exception("Missing Service Permission"); //$NON-NLS-1$
-		context.ungetService(installerRef);
-
-		ServiceReference factoryRef = context.getServiceReference(CompositeBundleFactory.class.getName());
-		if (factoryRef == null)
-			throw new Exception("Missing Service Permission"); //$NON-NLS-1$
-		CompositeBundleFactory factory = (CompositeBundleFactory) context.getService(factoryRef);
-		if (factory == null)
-			throw new Exception("Missing Service Permission"); //$NON-NLS-1$
-
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "childComposite"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.eclipse.osgi.tests.bundles"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=org.eclipse.osgi.tests.bundles.BundleInstaller)"); //$NON-NLS-1$
-		CompositeBundle childComposite = null;
-		try {
-			childComposite = factory.installCompositeBundle(null, "childComposite", linkManifest); //$NON-NLS-1$
-		} catch (SecurityException e) {
-			throw new Exception("Missing AllPermissions"); //$NON-NLS-1$
-		}
-
-		Bundle test = childComposite.getCompositeFramework().getBundleContext().installBundle(installer.getBundleLocation("test")); //$NON-NLS-1$
-		if (test == null)
-			throw new Exception("Install of test bundle is null"); //$NON-NLS-1$
-
-		childComposite.start();
-
-		ServiceTracker trackInstaller = new ServiceTracker(childComposite.getBundleContext(), BundleInstaller.class.getName(), null);
-		trackInstaller.open();
-		BundleInstaller childInstaller = (BundleInstaller) trackInstaller.waitForService(5000);
-		if (childInstaller != installer)
-			throw new Exception("Unexpected childInstaller: " + childInstaller);
-		test.start();
-		Object[] expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, test);
-		AbstractBundleTests.compareResults(expectedEvents, AbstractBundleTests.simpleResults.getResults(1));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/META-INF/MANIFEST.MF
deleted file mode 100644
index 1de76b3..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.e.client
-Bundle-SymbolicName: test.link.e.client
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.e.client.Activator
-Import-Package: test.link.e.service1, test.link.e.service2, test.link.e.service3, org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/test/link/e/client/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/test/link/e/client/Activator.java
deleted file mode 100644
index 49b3e2c..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e.client/test/link/e/client/Activator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.e.client;
-
-import org.osgi.framework.*;
-import test.link.e.service1.Service1;
-import test.link.e.service2.Service2;
-import test.link.e.service3.Service3;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Service1 service1 = (Service1) checkService(Service1.class.getName(), context);
-		if (service1 == null)
-			throw new Exception("missing Service1"); //$NON-NLS-1$
-		Service2 service2 = (Service2) checkService(Service2.class.getName(), context);
-		if (service2 == null)
-			throw new Exception("missing Service2"); //$NON-NLS-1$
-		Service3 service3 = (Service3) checkService(Service3.class.getName(), context);
-		if (service3 == null)
-			throw new Exception("missing Service3"); //$NON-NLS-1$
-	}
-
-	private Object checkService(String name, BundleContext context) throws BundleException {
-		ServiceReference ref = context.getServiceReference(name);
-		if (ref == null)
-			throw new BundleException("Missing service " + name); //$NON-NLS-1$
-		Object service = context.getService(ref);
-		if (service != null)
-			context.ungetService(ref);
-		return service;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/META-INF/MANIFEST.MF
deleted file mode 100644
index 2370deb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.e
-Bundle-SymbolicName: test.link.e
-Bundle-Version: 1.0.0
-Bundle-Activator: test.link.e.Activator
-Export-Package: 
- test.link.e.service1; attr1="value1",
- test.link.e.service2; attr2="value2"; uses:="test.link.e.service1",
- test.link.e.service3; attr3="value3"; uses:="test.link.e.service2"
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/Activator.java
deleted file mode 100644
index b0c5aa0..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.e;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.link.e.service1.Service1;
-import test.link.e.service2.Service2;
-import test.link.e.service3.Service3;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		context.registerService(Service1.class.getName(), new Service1() {}, null);
-		context.registerService(new String[] {Service1.class.getName(), Service2.class.getName()}, new Service2() {}, null);
-		context.registerService(new String[] {Service1.class.getName(), Service2.class.getName(), Service3.class.getName()}, new Service3() {}, null);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service1/Service1.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service1/Service1.java
deleted file mode 100644
index 232152f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service1/Service1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.e.service1;
-
-public interface Service1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service2/Service2.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service2/Service2.java
deleted file mode 100644
index 39b9598..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service2/Service2.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.e.service2;
-
-import test.link.e.service1.Service1;
-
-public interface Service2 extends Service1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service3/Service3.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service3/Service3.java
deleted file mode 100644
index 525bcd2..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.e/test/link/e/service3/Service3.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.link.e.service3;
-
-import test.link.e.service2.Service2;
-
-public interface Service3 extends Service2 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/META-INF/MANIFEST.MF
deleted file mode 100644
index cb31d5b..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.link.postponed
-Bundle-SymbolicName: test.link.postponed
-Bundle-Version: 1.0.0
-Fragment-Host: system.bundle
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/test/link/postponed/PostPonedCondition.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/test/link/postponed/PostPonedCondition.java
deleted file mode 100644
index 79026a7..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.link.postponed/test/link/postponed/PostPonedCondition.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package test.link.postponed;
-
-import java.util.Dictionary;
-import org.osgi.framework.Bundle;
-import org.osgi.service.condpermadmin.Condition;
-import org.osgi.service.condpermadmin.ConditionInfo;
-
-public class PostPonedCondition implements Condition {
-
-	static public Condition getCondition(final Bundle bundle, final ConditionInfo info) {
-		return new PostPonedCondition();
-	}
-
-	public boolean isMutable() {
-		return true;
-	}
-
-	public boolean isPostponed() {
-		return true;
-	}
-
-	public boolean isSatisfied() {
-		return true;
-	}
-
-	public boolean isSatisfied(Condition[] conditions, Dictionary context) {
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/META-INF/MANIFEST.MF
deleted file mode 100644
index c1132cf..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.manifestpackage
-Bundle-SymbolicName: test.manifestpackage
-Bundle-Version: 1.0.0
-Bundle-Activator: test.manifestpackage.Activator
-Import-Package: org.osgi.framework
-
-Name: test/manifestpackage/a/
-Specification-Title: a
-Specification-Version: 1.1
-Specification-Vendor: equinox
-Implementation-Title: A
-Implementation-Version: 11.0
-Implementation-Vendor: equinox
-
-Name: test/manifestpackage/b/
-Specification-Title: b
-Specification-Version: 1.2
-Specification-Vendor: equinox
-Implementation-Title: B
-Implementation-Version: 12.0
-Implementation-Vendor: equinox
-
-Name: test/manifestpackage/c/
-Specification-Title: c
-Specification-Version: 1.3
-Specification-Vendor: equinox
-Implementation-Title: C
-Implementation-Version: 13.0
-Implementation-Vendor: equinox
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/Activator.java
deleted file mode 100644
index d939037..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/Activator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.manifestpackage;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import test.manifestpackage.a.A;
-import test.manifestpackage.b.B;
-import test.manifestpackage.c.C;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		Package aPkg = A.class.getPackage();
-		assertNotNull("aPkg", aPkg);
-		checkPackage(aPkg, "a", "1.1", "equinox", "A", "11.0", "equinox");
-		Package bPkg = B.class.getPackage();
-		assertNotNull("bPkg", bPkg);
-		checkPackage(bPkg, "b", "1.2", "equinox", "B", "12.0", "equinox");
-		Package cPkg = C.class.getPackage();
-		assertNotNull("cPkg", cPkg);
-		checkPackage(cPkg, "c", "1.3", "equinox", "C", "13.0", "equinox");
-	}
-
-	private void checkPackage(Package pkg, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor) {
-		assertEquals(specTitle, pkg.getSpecificationTitle());
-		assertEquals(specVersion, pkg.getSpecificationVersion());
-		assertEquals(specVendor, pkg.getSpecificationVendor());
-		assertEquals(implTitle, pkg.getImplementationTitle());
-		assertEquals(implVersion, pkg.getImplementationVersion());
-		assertEquals(implVendor, pkg.getImplementationVendor());
-	}
-
-	private void assertEquals(String expected, String actual) {
-		if (!expected.equals(actual))
-			throw new RuntimeException("Expected: \"" + expected + "\" but got: \"" + actual + "\"");
-	}
-
-	private void assertNotNull(String msg, Package pkg) {
-		if (pkg == null)
-			throw new RuntimeException(msg);
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/a/A.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/a/A.java
deleted file mode 100644
index 75a7acc..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/a/A.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.manifestpackage.a;
-
-public class A {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/b/B.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/b/B.java
deleted file mode 100644
index aa8ce57..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/b/B.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.manifestpackage.b;
-
-public class B {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/c/C.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/c/C.java
deleted file mode 100644
index f6e75ab..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.manifestpackage/test/manifestpackage/c/C.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.manifestpackage.c;
-
-public class C {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/META-INF/MANIFEST.MF
deleted file mode 100644
index 7510dfd..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test.tccl
-Bundle-SymbolicName: ttest.tccl
-Bundle-Version: 1.0.0
-Bundle-Activator: test.tccl.Activator
-Import-Package: org.osgi.framework
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/test/tccl/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/test/tccl/Activator.java
deleted file mode 100644
index 692e097..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test.tccl/test/tccl/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test.tccl;
-
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		ClassLoader tccl = Thread.currentThread().getContextClassLoader();
-		ClassLoader serviceTCCL = (ClassLoader) context.getService(context.getServiceReferences(ClassLoader.class.getName(), "(equinox.classloader.type=contextClassLoader)")[0]); //$NON-NLS-1$
-		if (tccl != serviceTCCL)
-			throw new BundleException("Wrong thread context class loader found"); //$NON-NLS-1$
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		ClassLoader tccl = Thread.currentThread().getContextClassLoader();
-		ClassLoader serviceTCCL = (ClassLoader) context.getService(context.getServiceReferences(ClassLoader.class.getName(), "(equinox.classloader.type=contextClassLoader)")[0]); //$NON-NLS-1$
-		if (tccl != serviceTCCL)
-			throw new BundleException("Wrong thread context class loader found"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test/META-INF/MANIFEST.MF
deleted file mode 100644
index c147086..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test1 bundle
-Bundle-SymbolicName: test1
-Bundle-Version: 1.0.0
-Bundle-Activator: test1.Activator
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ClassPath: ., stuff/
-Export-Package: data,
- org.eclipse.osgi.tests.appadmin
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test/a/b/c/d b/bundles/org.eclipse.osgi.tests/bundles_src/test/a/b/c/d
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test/a/b/c/d
+++ /dev/null
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test/data/resource1 b/bundles/org.eclipse.osgi.tests/bundles_src/test/data/resource1
deleted file mode 100644
index 73d047f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test/data/resource1
+++ /dev/null
@@ -1 +0,0 @@
-root classpath
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test/stuff/data/resource1 b/bundles/org.eclipse.osgi.tests/bundles_src/test/stuff/data/resource1
deleted file mode 100644
index aa082aa..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test/stuff/data/resource1
+++ /dev/null
@@ -1 +0,0 @@
-stuff classpath
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test/test1/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/test/test1/Activator.java
deleted file mode 100644
index dcee8d1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test/test1/Activator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package test1;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/test2/META-INF/MANIFEST.MF
deleted file mode 100644
index e4e57a4..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test2 bundle
-Bundle-SymbolicName: test2
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ClassPath: ., stuff/
-Require-Bundle: test1
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test2/data/resource1 b/bundles/org.eclipse.osgi.tests/bundles_src/test2/data/resource1
deleted file mode 100644
index 5928f1f..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test2/data/resource1
+++ /dev/null
@@ -1 +0,0 @@
-root classpath test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/test2/stuff/data/resource1 b/bundles/org.eclipse.osgi.tests/bundles_src/test2/stuff/data/resource1
deleted file mode 100644
index 0a8aef9..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/test2/stuff/data/resource1
+++ /dev/null
@@ -1 +0,0 @@
-stuff classpath test2
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/META-INF/MANIFEST.MF
deleted file mode 100644
index 7b415af..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: osgi test
-Bundle-SymbolicName: thread.locktest
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Import-Package: 
- org.eclipse.osgi.tests.bundles,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: thread.locktest.Activator
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/ATest.java b/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/ATest.java
deleted file mode 100644
index 9d822b6..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/ATest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package thread.locktest;
-
-public class ATest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Activator.java
deleted file mode 100644
index f9a7eea..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package thread.locktest;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator, Runnable {
-
-	public void start(BundleContext context) throws Exception {
-		Thread thread = new Thread(this, "thread.locktest");
-		System.out.println("about to start thread");
-		thread.start();
-		System.out.println("about to join the thread");
-		thread.join(10000);
-		System.out.println("after joining thread");
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STARTED, context.getBundle()));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		AbstractBundleTests.simpleResults.addEvent(new BundleEvent(BundleEvent.STOPPED, context.getBundle()));
-	}
-
-	public void run() {
-		long startTime = System.currentTimeMillis();
-		System.out.println("about to load Class1");
-		new Class1();
-		long totalTime = System.currentTimeMillis() - startTime;
-		System.out.println("loaded Class1 " + totalTime);
-		if (totalTime < 10000)
-			AbstractBundleTests.simpleResults.addEvent(new Long(5000));
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Class1.java b/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Class1.java
deleted file mode 100644
index 02203ca..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/thread.locktest/thread/locktest/Class1.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package thread.locktest;
-
-public class Class1 {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/META-INF/MANIFEST.MF
deleted file mode 100644
index f0d27c1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: xfriends.test1
-Bundle-SymbolicName: xfriends.test1
-Bundle-Version: 1.0.0
-Export-Package: xfriends.test1.onlyforfriends; x-friends:="xfriends.test2",
- xfriends.test1.external
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/external/TestFriends.java b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/external/TestFriends.java
deleted file mode 100644
index 31a14fd..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/external/TestFriends.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package xfriends.test1.external;
-
-public class TestFriends {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/onlyforfriends/TestFriends.java b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/onlyforfriends/TestFriends.java
deleted file mode 100644
index a7452bb..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test1/xfriends/test1/onlyforfriends/TestFriends.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package xfriends.test1.onlyforfriends;
-
-public class TestFriends {
-	// nothing
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/META-INF/MANIFEST.MF
deleted file mode 100644
index a87ad54..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: xfriends.test2
-Bundle-SymbolicName: xfriends.test2
-Bundle-Version: 1.0.0
-Bundle-Activator: xfriends.test2.Activator
-Require-Bundle: xfriends.test1
-Import-Package: org.osgi.framework,
- org.eclipse.osgi.tests.bundles
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/xfriends/test2/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/xfriends/test2/Activator.java
deleted file mode 100644
index 83649c1..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test2/xfriends/test2/Activator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package xfriends.test2;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("xfriends.test1.onlyforfriends.TestFriends").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("xfriends.test1.external.TestFriends").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/META-INF/MANIFEST.MF
deleted file mode 100644
index 5f0aca5..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: xfriends.test3
-Bundle-SymbolicName: xfriends.test3
-Bundle-Version: 1.0.0
-Bundle-Activator: xfriends.test3.Activator
-Require-Bundle: xfriends.test1
-Import-Package: org.osgi.framework,
- org.eclipse.osgi.tests.bundles
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/xfriends/test3/Activator.java b/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/xfriends/test3/Activator.java
deleted file mode 100644
index b03d452..0000000
--- a/bundles/org.eclipse.osgi.tests/bundles_src/xfriends.test3/xfriends/test3/Activator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package xfriends.test3;
-
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public void start(BundleContext context) throws Exception {
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("xfriends.test1.onlyforfriends.TestFriends").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent("success"); //$NON-NLS-1$
-		}
-		try {
-			AbstractBundleTests.simpleResults.addEvent(Class.forName("xfriends.test1.external.TestFriends").getName()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			AbstractBundleTests.simpleResults.addEvent(t);
-		}
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/plugin.xml b/bundles/org.eclipse.osgi.tests/plugin.xml
deleted file mode 100644
index 69e6db3..0000000
--- a/bundles/org.eclipse.osgi.tests/plugin.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         id="simpleApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="globalSingletonApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="testCardinality01"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="10"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="testCardinality02"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="*"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="testMainThreaded01"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="*"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-      <extension
-         id="testMainThreaded02"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="failedApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.FailedApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="exitValueApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.ExitValueApp">
-         </run>
-      </application>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/AutomatedTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/AutomatedTests.java
deleted file mode 100644
index ed368a2..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/AutomatedTests.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests;
-
-import junit.framework.*;
-import org.eclipse.osgi.tests.bundles.BundleTests;
-import org.eclipse.osgi.tests.composites.AllCompositeTests;
-import org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase;
-import org.eclipse.osgi.tests.eventmgr.EventManagerTests;
-import org.eclipse.osgi.tests.filter.FilterTests;
-import org.eclipse.osgi.tests.internal.plugins.InstallTests;
-import org.eclipse.osgi.tests.listeners.ExceptionHandlerTests;
-import org.eclipse.osgi.tests.misc.MiscTests;
-import org.eclipse.osgi.tests.permissions.PermissionTests;
-import org.eclipse.osgi.tests.serviceregistry.ServiceRegistryTests;
-
-public class AutomatedTests extends TestCase {
-	public final static String PI_OSGI_TESTS = "org.eclipse.osgi.tests"; //$NON-NLS-1$
-
-	/**
-	 * AllTests constructor.
-	 */
-	public AutomatedTests() {
-		super(null);
-	}
-
-	/**
-	 * AllTests constructor comment.
-	 * @param name java.lang.String
-	 */
-	public AutomatedTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AutomatedTests.class.getName());
-		//		suite.addTest(new TestSuite(SimpleTests.class));
-		suite.addTest(new TestSuite(InstallTests.class));
-		suite.addTest(org.eclipse.osgi.tests.eclipseadaptor.AllTests.suite());
-		suite.addTest(org.eclipse.osgi.tests.services.resolver.AllTests.suite());
-		suite.addTest(DebugOptionsTestCase.suite());
-		suite.addTest(org.eclipse.osgi.tests.security.SecurityTestSuite.suite());
-		suite.addTest(org.eclipse.osgi.tests.appadmin.AllTests.suite());
-		suite.addTest(new TestSuite(ExceptionHandlerTests.class));
-		suite.addTest(org.eclipse.osgi.tests.configuration.AllTests.suite());
-		suite.addTest(org.eclipse.osgi.tests.services.datalocation.AllTests.suite());
-		suite.addTest(org.eclipse.osgi.tests.util.AllTests.suite());
-		suite.addTest(MiscTests.suite());
-		suite.addTest(BundleTests.suite());
-		suite.addTest(ServiceRegistryTests.suite());
-		suite.addTest(EventManagerTests.suite());
-		suite.addTest(FilterTests.suite());
-		suite.addTest(PermissionTests.suite());
-		suite.addTest(AllCompositeTests.suite());
-		suite.addTest(org.eclipse.osgi.tests.securityadmin.AllSecurityAdminTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
deleted file mode 100644
index 0e3b144..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests;
-
-import org.eclipse.core.tests.harness.CoreTest;
-import org.osgi.framework.BundleContext;
-
-/**
- * @since 3.1
- */
-public class OSGiTest extends CoreTest {
-
-	public static final String PI_OSGI_TESTS = "org.eclipse.osgi.tests";
-
-	public OSGiTest() {
-		super();
-	}
-
-	public OSGiTest(String name) {
-		super(name);
-	}
-	
-	public BundleContext getContext() {
-		return OSGiTestsActivator.getContext();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
deleted file mode 100644
index 9b9a541..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class OSGiTestsActivator implements BundleActivator {
-	public static final String TEST_FILES_ROOT = "test_files/";
-
-	private static OSGiTestsActivator instance;
-	private BundleContext context;
-
-	public OSGiTestsActivator() {
-		instance = this;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		this.context = context;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		this.context = null;
-	}
-
-	public static BundleContext getContext() {
-		return instance != null ? instance.context : null;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
deleted file mode 100644
index 08e0bbb..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.appadmin;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(ApplicationAdminTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
deleted file mode 100644
index 0209d8c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
+++ /dev/null
@@ -1,1251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.appadmin;
-
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.core.tests.session.SetupManager.SetupException;
-import org.eclipse.osgi.tests.OSGiTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.BundleInstaller;
-import org.osgi.framework.*;
-import org.osgi.service.application.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class ApplicationAdminTest extends OSGiTest {
-	public static final String testRunnerApp = "org.eclipse.pde.junit.runtime.coretestapplicationnonmain"; //$NON-NLS-1$
-	public static final String testResults = "test.results"; //$NON-NLS-1$
-	public static final String SUCCESS = "success"; //$NON-NLS-1$
-	public static final String ADDED = "added"; //$NON-NLS-1$
-	public static final String MODIFIED = "modified"; //$NON-NLS-1$
-	public static final String REMOVED = "removed"; //$NON-NLS-1$
-	public static final String simpleResults = "test.simpleResults"; //$NON-NLS-1$
-	public static final String[] tests = new String[] {
-			"testSimpleApp", "testInvalidArgs", "testAsyncValue01", "testAsyncValue02", "testAsyncValue03", "testAsyncValue04", "testAsyncValue05", "testAsyncValue06", "testExitValue01", "testExitValue02", "testExitValue03", "testExitValue04", "testExitValue05", "testExitValue06", "testExitValue07", "testExitValue08", "testExitValue09", "testExitValue10", "testGlobalSingleton", "testCardinality01", "testCardinality02", "testMainThreaded01", "testMainThreaded02", "testHandleEvents01", "testDescriptorEvents01", "testPersistentLock01", "testPersistentLock02", "testPersistentLock03", "testPersistentSchedule01", "testPersistentSchedule02", "testPersistentSchedule03", "testPersistentSchedule04", "testPersistentSchedule05", "testPersistentSchedule06", "testPersistentSchedule07", "testPersistentSchedule08", "testFailedApplication01", "testDestroyBeforeStart01", "testDestroyBeforeStart02"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$ //$NON-NLS-15$ //$NON-NLS-16$ //$NON-NLS-17$ //$NON-NLS-18$ //$NON-NLS-19$ //$NON-NLS-20$ //$NON-NLS-21$ //$NON-NLS-22$ //$NON-NLS-23$ //$NON-NLS-24$ //$NON-NLS-25$ //$NON-NLS-26$ //$NON-NLS-27$ //$NON-NLS-28$ //$NON-NLS-29$
-	private static final String PI_OSGI_SERVICES = "org.eclipse.osgi.services"; //$NON-NLS-1$
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ApplicationAdminTest.class.getName());
-
-		ConfigurationSessionTestSuite appAdminSessionTest = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, ApplicationAdminTest.class.getName());
-		String[] ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++)
-			appAdminSessionTest.addBundle(ids[i]);
-		appAdminSessionTest.addBundle(PI_OSGI_SERVICES);
-		appAdminSessionTest.addBundle(PI_OSGI_TESTS);
-		appAdminSessionTest.setApplicationId(testRunnerApp);
-		try {
-			appAdminSessionTest.getSetup().setSystemProperty("eclipse.application.registerDescriptors", "true"); //$NON-NLS-1$//$NON-NLS-2$
-		} catch (SetupException e) {
-			throw new RuntimeException(e);
-		}
-		// we add tests the hard way so we can control the order of the tests.
-		for (int i = 0; i < tests.length; i++)
-			appAdminSessionTest.addTest(new ApplicationAdminTest(tests[i]));
-		suite.addTest(appAdminSessionTest);
-		return suite;
-	}
-
-	public ApplicationAdminTest(String name) {
-		super(name);
-	}
-
-	private ApplicationDescriptor getApplication(String appName) {
-		try {
-			BundleContext context = getContext();
-			assertNotNull("BundleContext is null!!", context); //$NON-NLS-1$
-			Class appDescClass = ApplicationDescriptor.class;
-			assertNotNull("ApplicationDescriptor.class is null!!", appDescClass); //$NON-NLS-1$
-			ServiceReference[] refs = context.getServiceReferences(appDescClass.getName(), "(" + ApplicationDescriptor.APPLICATION_PID + "=" + appName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			if (refs == null || refs.length == 0) {
-				refs = getContext().getServiceReferences(ApplicationDescriptor.class.getName(), null);
-				String availableApps = ""; //$NON-NLS-1$
-				if (refs != null) {
-					for (int i = 0; i < refs.length; i++) {
-						availableApps += refs[i].getProperty(ApplicationDescriptor.APPLICATION_PID);
-						if (i < refs.length - 1)
-							availableApps += ","; //$NON-NLS-1$
-					}
-				}
-				fail("Could not find app pid: " + appName + " available apps are: " + availableApps); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			ApplicationDescriptor result = (ApplicationDescriptor) getContext().getService(refs[0]);
-			if (result != null)
-				getContext().ungetService(refs[0]);
-			else
-				fail("Could not get application descriptor service: " + appName); //$NON-NLS-1$
-			return result;
-		} catch (InvalidSyntaxException e) {
-			fail("Could not create app filter", e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private HashMap getArguments() {
-		HashMap args = new HashMap();
-		args.put(testResults, new HashMap());
-		return args;
-	}
-
-	public void testSimpleApp() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		HashMap args = getArguments();
-		HashMap results = (HashMap) args.get(testResults);
-		try {
-			ApplicationHandle handle = app.launch(args);
-			handle.destroy();
-		} catch (Throwable e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		String result = (String) results.get(simpleResults);
-		assertEquals("Check application result", SUCCESS, result); //$NON-NLS-1$
-	}
-
-	private void doInvalidScheduleArgs(ApplicationDescriptor app, String id, Map invalidArgs, String topic, String eventFilter, boolean recurring, boolean invalidKeys, boolean invalidValues) {
-		ScheduledApplication sched = null;
-		try {
-			sched = app.schedule(id, invalidArgs, topic, eventFilter, recurring);
-			try {
-				sched.remove();
-			} catch (Throwable t) {
-				// nothing
-			}
-			if (invalidKeys || invalidValues)
-				fail("Should have failed with invalid arguments"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (IllegalArgumentException e) {
-			if (!invalidKeys)
-				fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			if (!invalidValues)
-				fail("Failed to schedule an application", e); //$NON-NLS-1$
-			if (e.getErrorCode() != ApplicationException.APPLICATION_INVALID_STARTUP_ARGUMENT)
-				fail("Failed to schedule an application", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testInvalidArgs() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		HashMap args = new HashMap();
-		args.put("test.arg1", Boolean.TRUE); //$NON-NLS-1$
-		args.put("test.arg2", new Integer(34)); //$NON-NLS-1$
-		args.put("test.arg3", new Long(34)); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		args.put("test.arg4", this); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		Collection list = new ArrayList();
-		args.put("test.arg4", list); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		list.add(this);
-		args.put("test.arg4", list); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		list.clear();
-		list.add("test"); //$NON-NLS-1$
-		list.add(new Integer(0));
-		list.add(new Long(0));
-		list.add(new Float(0));
-		list.add(new Double(0));
-		list.add(new Byte((byte) 0));
-		list.add(new Short((short) 1));
-		list.add(new Character((char) 0));
-		list.add(new Boolean(true));
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		args.put("test.arg5", new String[0]); //$NON-NLS-1$
-		args.put("test.arg6", new int[0]); //$NON-NLS-1$
-		args.put("test.arg7", new long[0]); //$NON-NLS-1$
-		args.put("test.arg8", new float[0]); //$NON-NLS-1$
-		args.put("test.arg9", new double[0]); //$NON-NLS-1$
-		args.put("test.arg10", new byte[0]); //$NON-NLS-1$
-		args.put("test.arg11", new short[0]); //$NON-NLS-1$
-		args.put("test.arg12", new char[0]); //$NON-NLS-1$
-		args.put("test.arg12", new boolean[0]); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		args.put("test.arg13", "test"); //$NON-NLS-1$ //$NON-NLS-2$
-		args.put("test.arg14", new Integer(0)); //$NON-NLS-1$
-		args.put("test.arg15", new Long(0)); //$NON-NLS-1$
-		args.put("test.arg16", new Float(0)); //$NON-NLS-1$
-		args.put("test.arg17", new Double(0)); //$NON-NLS-1$
-		args.put("test.arg18", new Byte((byte) 0)); //$NON-NLS-1$
-		args.put("test.arg19", new Short((short) 1)); //$NON-NLS-1$
-		args.put("test.arg20", new Character((char) 0)); //$NON-NLS-1$
-		args.put("test.arg21", new Boolean(true)); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		Map testMap = new HashMap();
-		args.put("test.arg22", testMap); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		args.clear();
-		args.put(new Long(0), "test"); //$NON-NLS-1$
-		doInvalidScheduleArgs(app, "schedule.testargs", args, "org/osgi/application/timer", "(minute=*)", true, true, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public void testExitValue01() {
-		// simple getExitValue test
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testExitValue02() {
-		// getExitValue test when called from a service listener during service unregistration
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		final Object[] result = new Object[1];
-		ServiceTrackerCustomizer trackerCustomizer = new ServiceTrackerCustomizer() {
-			public Object addingService(ServiceReference reference) {
-				return getContext().getService(reference);
-			}
-
-			public void modifiedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-
-			public void removedService(ServiceReference reference, Object service) {
-				try {
-					result[0] = ((ApplicationHandle) service).getExitValue(10000);
-				} catch (Exception e) {
-					result[0] = e;
-				}
-			}
-		};
-		ServiceTracker tracker = null;
-		try {
-			tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), trackerCustomizer); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		} catch (InvalidSyntaxException e) {
-			fail("unexpected syntax exception for tracker", e); //$NON-NLS-1$
-		}
-		tracker.open();
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-		assertEquals("value from service unregister is different", value, result[0]); //$NON-NLS-1$
-	}
-
-	public void testExitValue03() {
-		// getExitValue test when called from a service listener during service property modified (STOPPING)
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		final Object[] result = new Object[1];
-		ServiceTrackerCustomizer trackerCustomizer = new ServiceTrackerCustomizer() {
-			public Object addingService(ServiceReference reference) {
-				return getContext().getService(reference);
-			}
-
-			public void modifiedService(ServiceReference reference, Object service) {
-				if (!"org.eclipse.equinox.app.stopped".equals(reference.getProperty(ApplicationHandle.APPLICATION_STATE))) //$NON-NLS-1$
-					return;
-				try {
-					result[0] = ((ApplicationHandle) service).getExitValue(10000);
-				} catch (Exception e) {
-					result[0] = e;
-				}
-			}
-
-			public void removedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-		};
-		ServiceTracker tracker = null;
-		try {
-			tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), trackerCustomizer); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		} catch (InvalidSyntaxException e) {
-			fail("unexpected syntax exception for tracker", e); //$NON-NLS-1$
-		}
-		tracker.open();
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-		assertEquals("value from service unregister is different", value, result[0]); //$NON-NLS-1$
-	}
-
-	public void testExitValue04() {
-		// getExitValue test with destroy called while waiting for an exit value
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		final ApplicationHandle destroyHandle = handle;
-		new Thread(new Runnable() {
-			public void run() {
-				try {
-					Thread.sleep(1000);
-					destroyHandle.destroy();
-				} catch (InterruptedException e) {
-					// nothing
-				}
-
-			}
-		}).start();
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testExitValue05() {
-		// getExitValue test with destroy called before getting an exit value
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		handle.destroy();
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testExitValue06() {
-		// getExitValue test; expecting an ApplicationException because the exit value is not available
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		try {
-			handle.getExitValue(100);
-			fail("Expected an ApplicationException for exit value not available"); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("Unexpected error type", ApplicationException.APPLICATION_EXITVALUE_NOT_AVAILABLE, e.getErrorCode()); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception waiting for exit value", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testExitValue07() {
-		//getExitValue test; called with timeout 0
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launcher simpleApp", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(0);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testExitValue08() {
-		//getExitValue test; called with timeout -1
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launcher simpleApp", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-
-		try {
-			handle.getExitValue(-1);
-			fail("Expected an ApplicationException for exit value not available"); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("Unexpected error type", ApplicationException.APPLICATION_EXITVALUE_NOT_AVAILABLE, e.getErrorCode()); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception waiting for exit value", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testExitValue09() {
-		//getExitValue test; application returns null
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-
-		HashMap args = getArguments();
-		args.put(ExitValueApp.returnNullResult, Boolean.TRUE);
-
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launcher simpleApp", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-
-		try {
-			assertNull("expected null return value", handle.getExitValue(0));
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testExitValue10() {
-		//getExitValue test; called with timeout 0 after the result is available
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			// waiting for app to exit
-			handle.getExitValue(10000);
-			// app exited now get the result with 0 timeout
-			value = (String) handle.getExitValue(0);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-
-		try {
-			// app exited now get the result with -1 timeout; we know the value is ready from above
-			value = (String) handle.getExitValue(-1);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testAsyncValue01() {
-		//setValue test; called with timeout 0 after the result is available
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		Map args = new HashMap();
-		args.put(ExitValueApp.returnAsyncResult, Boolean.TRUE);
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			// waiting for app to exit
-			handle.getExitValue(10000);
-			// app exited now get the result with 0 timeout
-			value = (String) handle.getExitValue(0);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-
-		try {
-			// app exited now get the result with -1 timeout; we know the value is ready from above
-			value = (String) handle.getExitValue(-1);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testAsyncValue02() {
-		//setValue test; called with timeout -1
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-		Map args = new HashMap();
-		args.put(ExitValueApp.returnAsyncResult, Boolean.TRUE);
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launcher simpleApp", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-
-		try {
-			handle.getExitValue(-1);
-			fail("Expected an ApplicationException for exit value not available"); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("Unexpected error type", ApplicationException.APPLICATION_EXITVALUE_NOT_AVAILABLE, e.getErrorCode()); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception waiting for exit value", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAsyncValue03() {
-		//setValue test; application returns null
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		ApplicationHandle handle = null;
-
-		HashMap args = getArguments();
-		args.put(ExitValueApp.returnNullResult, Boolean.TRUE);
-		args.put(ExitValueApp.returnAsyncResult, Boolean.TRUE);
-
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launcher simpleApp", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-
-		try {
-			assertNull("expected null return value", handle.getExitValue(0));
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAsyncValue04() {
-		// setValue test with destroy called while waiting for an exit value
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		HashMap args = getArguments();
-		args.put(ExitValueApp.returnAsyncResult, Boolean.TRUE);
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(null);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		final ApplicationHandle destroyHandle = handle;
-		new Thread(new Runnable() {
-			public void run() {
-				try {
-					Thread.sleep(1000);
-					destroyHandle.destroy();
-				} catch (InterruptedException e) {
-					// nothing
-				}
-
-			}
-		}).start();
-		String value = null;
-		try {
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testAsyncValue05() {
-		// test calling setValue to early
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		Map args = new HashMap();
-		args.put(ExitValueApp.setAsyncEarly, Boolean.TRUE);
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			// waiting for app to exit
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testAsyncValue06() {
-		// test calling setValue with wrong application instance
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".exitValueApp"); //$NON-NLS-1$
-		Map args = new HashMap();
-		args.put(ExitValueApp.returnAsyncResult, Boolean.TRUE);
-		args.put(ExitValueApp.setAsyncWrongApp, Boolean.TRUE);
-		ApplicationHandle handle = null;
-		try {
-			handle = app.launch(args);
-		} catch (ApplicationException e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-		assertNotNull("app handle is null", handle); //$NON-NLS-1$
-		String value = null;
-		try {
-			// waiting for app to exit
-			value = (String) handle.getExitValue(10000);
-		} catch (Exception e) {
-			fail("unexpected exception waiting for exit value", e); //$NON-NLS-1$
-		}
-		assertNotNull("value is null", value); //$NON-NLS-1$
-		assertEquals("exit value is incorrect", ExitValueApp.exitValue, value); //$NON-NLS-1$
-	}
-
-	public void testGlobalSingleton() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".globalSingletonApp"); //$NON-NLS-1$
-		HashMap args = getArguments();
-		try {
-			ApplicationHandle handle = app.launch(args);
-			handle.destroy();
-			fail("should not be able to launch a global singleton app: " + app.getApplicationId()); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("check error code", ApplicationException.APPLICATION_NOT_LAUNCHABLE, e.getErrorCode()); //$NON-NLS-1$
-		}
-	}
-
-	private void doTestCardinality01(String appID, int cardinality, boolean hasMax) {
-		ApplicationDescriptor app = getApplication(appID);
-		ArrayList instances = new ArrayList();
-		int i = 0;
-		try {
-			for (; i <= cardinality; i++)
-				instances.add(app.launch(null));
-		} catch (ApplicationException e) {
-			if (!hasMax || i != cardinality)
-				fail("Unexpected ApplicationException", e); //$NON-NLS-1$
-			assertEquals("check error code", ApplicationException.APPLICATION_NOT_LAUNCHABLE, e.getErrorCode()); //$NON-NLS-1$
-		} finally {
-			for (Iterator handles = instances.iterator(); handles.hasNext();) {
-				((ApplicationHandle) handles.next()).destroy();
-			}
-		}
-		assertEquals("Did not launch the correct # of concurrent instances", instances.size(), cardinality + (hasMax ? 0 : 1)); //$NON-NLS-1$
-	}
-
-	public void testCardinality01() {
-		doTestCardinality01(PI_OSGI_TESTS + ".testCardinality01", 10, true); //$NON-NLS-1$
-	}
-
-	public void testCardinality02() {
-		doTestCardinality01(PI_OSGI_TESTS + ".testCardinality02", 20, false); //$NON-NLS-1$
-	}
-
-	private void doTestMainThreaded(String appID) {
-		ApplicationDescriptor app = getApplication(appID);
-		ArrayList instances = new ArrayList();
-		try {
-			instances.add(app.launch(null));
-			instances.add(app.launch(null));
-		} catch (ApplicationException e) {
-			if (instances.size() == 0)
-				fail("Unable to launch a main threaded application", e); //$NON-NLS-1$
-			assertEquals("check error code", ApplicationException.APPLICATION_NOT_LAUNCHABLE, e.getErrorCode()); //$NON-NLS-1$
-		} finally {
-			for (Iterator handles = instances.iterator(); handles.hasNext();) {
-				((ApplicationHandle) handles.next()).destroy();
-			}
-		}
-		assertEquals("Did not launch the correct # of main app instances", instances.size(), 1); //$NON-NLS-1$
-	}
-
-	public void testMainThreaded01() {
-		doTestMainThreaded(PI_OSGI_TESTS + ".testMainThreaded01"); //$NON-NLS-1$
-	}
-
-	public void testMainThreaded02() {
-		doTestMainThreaded(PI_OSGI_TESTS + ".testMainThreaded02"); //$NON-NLS-1$
-	}
-
-	public void testHandleEvents01() throws InvalidSyntaxException {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		ApplicationHandleTracker handleTracker = new ApplicationHandleTracker(getContext());
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), handleTracker); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			ApplicationHandle handle = app.launch(null);
-			handleTracker.waitForEvent(handle.getInstanceId(), ApplicationHandle.RUNNING);
-			handle.destroy();
-			handleTracker.waitForEvent(handle.getInstanceId(), REMOVED);
-			String[][] events = handleTracker.getEvents();
-			String[][] expected = new String[][] {new String[] {handle.getInstanceId(), "org.eclipse.equinox.app.starting"}, new String[] {handle.getInstanceId(), ApplicationHandle.RUNNING}, new String[] {handle.getInstanceId(), ApplicationHandle.STOPPING}, new String[] {handle.getInstanceId(), "org.eclipse.equinox.app.stopped"}, new String[] {handle.getInstanceId(), "removed"}}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertEquals("Check expected # events", expected.length, events.length); //$NON-NLS-1$
-			for (int i = 0; i < events.length; i++) {
-				assertEquals("Check expected event id for #" + i, expected[i][0], events[i][0]); //$NON-NLS-1$
-				assertEquals("Check expected event state for #" + i, expected[i][1], events[i][1]); //$NON-NLS-1$
-			}
-		} catch (ApplicationException e) {
-			fail("failed to launch application", e); //$NON-NLS-1$
-		} finally {
-			tracker.close();
-		}
-	}
-
-	public void testDescriptorEvents01() throws InvalidSyntaxException, BundleException {
-		BundleInstaller bundleInstaller = null;
-		try {
-			bundleInstaller = new BundleInstaller(OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/appAdminTests", getContext()); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to create bundle installer", e); //$NON-NLS-1$
-		}
-		String testAppPID = "appadmin.test01.simpleApp"; //$NON-NLS-1$
-		ApplicationDescriptorTracker descriptionTracker = new ApplicationDescriptorTracker(getContext());
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationDescriptor.class.getName() + ")(" + ApplicationDescriptor.APPLICATION_PID + "=" + testAppPID + "))"), descriptionTracker); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			Bundle test01 = bundleInstaller.installBundle("appadmin.test01"); //$NON-NLS-1$
-			assertTrue("Check if test bundle is resolved: " + test01.getSymbolicName(), bundleInstaller.resolveBundles(new Bundle[] {test01})); //$NON-NLS-1$
-			descriptionTracker.waitForEvent(testAppPID, ADDED, Boolean.FALSE, Boolean.TRUE);
-			ApplicationDescriptor app = getApplication(testAppPID);
-			app.lock();
-			Boolean locked = (Boolean) app.getProperties("").get(ApplicationDescriptor.APPLICATION_LOCKED); //$NON-NLS-1$
-			assertTrue("Application should be locked", locked.booleanValue()); //$NON-NLS-1$
-			descriptionTracker.waitForEvent(testAppPID, MODIFIED, Boolean.TRUE, Boolean.TRUE);
-			app.unlock();
-			descriptionTracker.waitForEvent(testAppPID, MODIFIED, Boolean.FALSE, Boolean.TRUE);
-			ApplicationHandle handle = null;
-			try {
-				handle = app.launch(null);
-			} catch (ApplicationException e) {
-				fail("failed to launch app: " + app.getApplicationId(), e); //$NON-NLS-1$
-			}
-			descriptionTracker.waitForEvent(testAppPID, MODIFIED, Boolean.FALSE, Boolean.FALSE);
-			handle.destroy();
-			descriptionTracker.waitForEvent(testAppPID, MODIFIED, Boolean.FALSE, Boolean.TRUE);
-			test01.uninstall();
-			descriptionTracker.waitForEvent(testAppPID, REMOVED, Boolean.FALSE, Boolean.TRUE);
-		} finally {
-			bundleInstaller.shutdown();
-			tracker.close();
-		}
-	}
-
-	public void testPersistentLock01() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		app.lock();
-	}
-
-	public void testPersistentLock02() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		try {
-			ApplicationHandle handle = app.launch(null);
-			handle.destroy();
-			fail("The application should be locked: " + app.getApplicationId()); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("check error code", ApplicationException.APPLICATION_LOCKED, e.getErrorCode()); //$NON-NLS-1$
-		}
-		app.unlock();
-		try {
-			ApplicationHandle handle = app.launch(null);
-			handle.destroy();
-		} catch (Throwable e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentLock03() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		try {
-			ApplicationHandle handle = app.launch(null);
-			handle.destroy();
-		} catch (Throwable e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule01() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		try {
-			HashMap args = new HashMap();
-			args.put("test.arg1", Boolean.TRUE); //$NON-NLS-1$
-			args.put("test.arg2", new Integer(34)); //$NON-NLS-1$
-			args.put("test.arg3", new Long(34)); //$NON-NLS-1$
-			app.schedule("schedule.1", args, "org/osgi/application/timer", "(minute=*)", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule02() throws InvalidSyntaxException {
-		ScheduledApplication scheduledApp = getScheduleApplication("schedule.1", true); //$NON-NLS-1$
-		ApplicationHandleTracker handleTracker = new ApplicationHandleTracker(getContext());
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + scheduledApp.getApplicationDescriptor().getApplicationId() + "))"), handleTracker); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			ApplicationHandle handle = (ApplicationHandle) tracker.waitForService(61000);
-			assertNotNull("Should find an application handle", handle); //$NON-NLS-1$
-			handleTracker.waitForEvent(handle.getInstanceId(), ApplicationHandle.RUNNING);
-			handle.destroy();
-			handleTracker.waitForEvent(handle.getInstanceId(), REMOVED);
-			HashMap results = null;
-			try {
-				results = (HashMap) handle.getExitValue(1000);
-			} catch (ApplicationException e) {
-				fail("Unexpected application exception waiting for an exit value", e); //$NON-NLS-1$
-			}
-			assertNotNull("Null results", results); //$NON-NLS-1$
-			HashMap args = new HashMap();
-			args.put("test.arg1", Boolean.TRUE); //$NON-NLS-1$
-			args.put("test.arg2", new Integer(34)); //$NON-NLS-1$
-			args.put("test.arg3", new Long(34)); //$NON-NLS-1$
-			for (Iterator iEntries = args.entrySet().iterator(); iEntries.hasNext();) {
-				Map.Entry entry = (Map.Entry) iEntries.next();
-				assertEquals("key: " + entry.getKey(), entry.getValue(), results.get(entry.getKey())); //$NON-NLS-1$
-			}
-		} catch (InterruptedException e) {
-			fail("got interupted", e); //$NON-NLS-1$
-		} finally {
-			tracker.close();
-			scheduledApp.remove();
-		}
-	}
-
-	public void testPersistentSchedule03() {
-		ScheduledApplication scheduledApp = getScheduleApplication("schedule.1", false); //$NON-NLS-1$
-		if (scheduledApp != null) {
-			scheduledApp.remove();
-			fail("Scheduled application should not be found: " + scheduledApp.getScheduleId()); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule04() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		try {
-			// lock the app so that it cannot be launched with a scheduled
-			app.lock();
-			HashMap args = new HashMap();
-			args.put("test.arg1", Boolean.TRUE); //$NON-NLS-1$
-			args.put("test.arg2", new Integer(34)); //$NON-NLS-1$
-			args.put("test.arg3", new Long(34)); //$NON-NLS-1$
-			// make it non-recurring
-			app.schedule("schedule.2", args, "org/osgi/application/timer", "(minute=*)", false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule05() throws InvalidSyntaxException {
-		ScheduledApplication scheduledApp = getScheduleApplication("schedule.2", true); //$NON-NLS-1$
-		ApplicationHandleTracker handleTracker = new ApplicationHandleTracker(getContext());
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + scheduledApp.getApplicationDescriptor().getApplicationId() + "))"), handleTracker); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		ApplicationHandle badHandle = null;
-		try {
-			badHandle = (ApplicationHandle) tracker.waitForService(61000);
-			assertNull("Should not find an application handle", badHandle); //$NON-NLS-1$
-			// unlock app then try again
-			scheduledApp.getApplicationDescriptor().unlock();
-			ApplicationHandle handle = (ApplicationHandle) tracker.waitForService(61000);
-			assertNotNull("Should find an application handle", handle); //$NON-NLS-1$
-			handleTracker.waitForEvent(handle.getInstanceId(), ApplicationHandle.RUNNING);
-			handle.destroy();
-			handleTracker.waitForEvent(handle.getInstanceId(), REMOVED);
-			HashMap results = null;
-			try {
-				results = (HashMap) handle.getExitValue(1000);
-			} catch (ApplicationException e) {
-				fail("Unexpected application exception waiting for an exit value", e); //$NON-NLS-1$
-			}
-			assertNotNull("Null results", results); //$NON-NLS-1$
-			HashMap args = new HashMap();
-			args.put("test.arg1", Boolean.TRUE); //$NON-NLS-1$
-			args.put("test.arg2", new Integer(34)); //$NON-NLS-1$
-			args.put("test.arg3", new Long(34)); //$NON-NLS-1$
-			for (Iterator iEntries = args.entrySet().iterator(); iEntries.hasNext();) {
-				Map.Entry entry = (Map.Entry) iEntries.next();
-				assertEquals("key: " + entry.getKey(), entry.getValue(), results.get(entry.getKey())); //$NON-NLS-1$
-			}
-			// should not find the scheduled app anymore
-			// sleeping here to allow for the scheduled app to disappear; could use service events instead
-			Thread.sleep(1000);
-			scheduledApp = getScheduleApplication("schedule.2", false); //$NON-NLS-1$
-			if (scheduledApp != null) {
-				fail("Scheduled application should not be found: " + scheduledApp.getScheduleId()); //$NON-NLS-1$
-			}
-		} catch (InterruptedException e) {
-			fail("got interupted", e); //$NON-NLS-1$
-		} finally {
-			if (badHandle != null)
-				badHandle.destroy();
-			tracker.close();
-			if (scheduledApp != null)
-				scheduledApp.remove();
-		}
-	}
-
-	public void testPersistentSchedule06() {
-		ScheduledApplication scheduledApp = getScheduleApplication("schedule.2", false); //$NON-NLS-1$
-		if (scheduledApp != null) {
-			scheduledApp.remove();
-			fail("Scheduled application should not be found: " + scheduledApp.getScheduleId()); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule07() {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		try {
-			app.schedule("schedule.duplicate1", null, "org/osgi/application/timer", "(minute=*)", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		}
-		try {
-			app.schedule("schedule.duplicate1", null, "org/osgi/application/timer", "(minute=*)", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			fail("should not be able to create a duplicate scheduled application id"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("check error code", ApplicationException.APPLICATION_DUPLICATE_SCHEDULE_ID, e.getErrorCode()); //$NON-NLS-1$
-		}
-	}
-
-	public void testPersistentSchedule08() {
-		ScheduledApplication scheduledApp = getScheduleApplication("schedule.duplicate1", true); //$NON-NLS-1$
-		try {
-			scheduledApp.getApplicationDescriptor().schedule("schedule.duplicate1", null, "org/osgi/application/timer", "(minute=*)", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			fail("should not be able to create a duplicate scheduled application id"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Failed to schedule an application", e); //$NON-NLS-1$
-		} catch (ApplicationException e) {
-			assertEquals("check error code", ApplicationException.APPLICATION_DUPLICATE_SCHEDULE_ID, e.getErrorCode()); //$NON-NLS-1$
-		} finally {
-			scheduledApp.remove();
-		}
-	}
-
-	public void testFailedApplication01() throws InvalidSyntaxException {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".failedApp"); //$NON-NLS-1$
-		ApplicationHandleTracker handleTracker = new ApplicationHandleTracker(getContext());
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), handleTracker); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			ApplicationHandle handle = app.launch(null);
-			handleTracker.waitForEvent(handle.getInstanceId(), REMOVED);
-			String[][] events = handleTracker.getEvents();
-			String[][] expected = new String[][] {new String[] {handle.getInstanceId(), "org.eclipse.equinox.app.starting"}, new String[] {handle.getInstanceId(), ApplicationHandle.STOPPING}, new String[] {handle.getInstanceId(), "org.eclipse.equinox.app.stopped"}, new String[] {handle.getInstanceId(), "removed"}}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertEquals("Check expected # events", expected.length, events.length); //$NON-NLS-1$
-			for (int i = 0; i < events.length; i++) {
-				assertEquals("Check expected event id for #" + i, expected[i][0], events[i][0]); //$NON-NLS-1$
-				assertEquals("Check expected event state for #" + i, expected[i][1], events[i][1]); //$NON-NLS-1$
-			}
-		} catch (ApplicationException e) {
-			fail("failed to launch application", e); //$NON-NLS-1$
-		} finally {
-			tracker.close();
-		}
-	}
-
-	public void testDestroyBeforeStart01() throws InvalidSyntaxException {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".simpleApp"); //$NON-NLS-1$
-		HashMap args = getArguments();
-		HashMap results = (HashMap) args.get(testResults);
-		ServiceTrackerCustomizer trackerCustomizer = new ServiceTrackerCustomizer() {
-			public Object addingService(ServiceReference reference) {
-				ApplicationHandle handle = (ApplicationHandle) getContext().getService(reference);
-				handle.destroy();
-				return handle;
-			}
-
-			public void modifiedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-
-			public void removedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-		};
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), trackerCustomizer); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			ApplicationHandle handle = app.launch(args);
-			handle.destroy();
-		} catch (Throwable e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		} finally {
-			tracker.close();
-		}
-		String result = (String) results.get(simpleResults);
-		assertNull("Check application result", result); //$NON-NLS-1$
-	}
-
-	public void testDestroyBeforeStart02() throws InvalidSyntaxException {
-		ApplicationDescriptor app = getApplication(PI_OSGI_TESTS + ".testMainThreaded01"); //$NON-NLS-1$
-		HashMap args = getArguments();
-		HashMap results = (HashMap) args.get(testResults);
-		ServiceTrackerCustomizer trackerCustomizer = new ServiceTrackerCustomizer() {
-			public Object addingService(ServiceReference reference) {
-				ApplicationHandle handle = (ApplicationHandle) getContext().getService(reference);
-				handle.destroy();
-				return handle;
-			}
-
-			public void modifiedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-
-			public void removedService(ServiceReference reference, Object service) {
-				// nothing
-			}
-		};
-		ServiceTracker tracker = new ServiceTracker(getContext(), FrameworkUtil.createFilter("(&(objectClass=" + ApplicationHandle.class.getName() + ")(" + ApplicationHandle.APPLICATION_DESCRIPTOR + "=" + app.getApplicationId() + "))"), trackerCustomizer); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		tracker.open();
-		try {
-			ApplicationHandle handle = app.launch(args);
-			handle.destroy();
-		} catch (Throwable e) {
-			fail("failed to launch simpleApp", e); //$NON-NLS-1$
-		} finally {
-			tracker.close();
-		}
-		String result = (String) results.get(simpleResults);
-		assertNull("Check application result", result); //$NON-NLS-1$
-	}
-
-	private ScheduledApplication getScheduleApplication(String scheduleID, boolean failOnMissing) {
-		try {
-			BundleContext context = getContext();
-			assertNotNull("BundleContext is null!!", context); //$NON-NLS-1$
-			Class schedAppClass = ScheduledApplication.class;
-			assertNotNull("ScheduledApplication.class is null!!", schedAppClass); //$NON-NLS-1$
-			ServiceReference[] refs = getContext().getServiceReferences(schedAppClass.getName(), "(" + ScheduledApplication.SCHEDULE_ID + "=" + scheduleID + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			if (refs == null || refs.length == 0) {
-				if (!failOnMissing)
-					return null;
-				refs = getContext().getServiceReferences(ScheduledApplication.class.getName(), null);
-				String availableScheds = ""; //$NON-NLS-1$
-				if (refs != null) {
-					for (int i = 0; i < refs.length; i++) {
-						availableScheds += refs[i].getProperty(ScheduledApplication.SCHEDULE_ID);
-						if (i < refs.length - 1)
-							availableScheds += ","; //$NON-NLS-1$
-					}
-				}
-				fail("Could not find schedule: " + scheduleID + " available apps are: " + availableScheds); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			ScheduledApplication result = (ScheduledApplication) getContext().getService(refs[0]);
-			if (result != null)
-				getContext().ungetService(refs[0]);
-			else
-				fail("Could not get scheduled application: " + scheduleID); //$NON-NLS-1$
-			return result;
-		} catch (InvalidSyntaxException e) {
-			fail("Could not create app filter", e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	public static class ApplicationHandleTracker implements ServiceTrackerCustomizer {
-		private ArrayList events = new ArrayList();
-		private BundleContext bc;
-
-		public ApplicationHandleTracker(BundleContext bc) {
-			this.bc = bc;
-		}
-
-		public synchronized Object addingService(ServiceReference reference) {
-			String instance = (String) reference.getProperty(ApplicationHandle.APPLICATION_PID);
-			String state = (String) reference.getProperty(ApplicationHandle.APPLICATION_STATE);
-			events.add(new String[] {instance, state});
-			Object result = bc.getService(reference);
-			notifyAll();
-			return result;
-		}
-
-		public synchronized void modifiedService(ServiceReference reference, Object service) {
-			String instance = (String) reference.getProperty(ApplicationHandle.APPLICATION_PID);
-			String state = (String) reference.getProperty(ApplicationHandle.APPLICATION_STATE);
-			events.add(new String[] {instance, state});
-			notifyAll();
-		}
-
-		public synchronized void removedService(ServiceReference reference, Object service) {
-			String instance = (String) reference.getProperty(ApplicationHandle.APPLICATION_PID);
-			events.add(new String[] {instance, REMOVED});
-			notifyAll();
-		}
-
-		// Note that this method assumes you call it before the event actually gets posted.
-		// It only looks at the last event that was saved.
-		public synchronized void waitForEvent(String instance, String state) {
-			long delay = 5000;
-			long startTime = System.currentTimeMillis();
-			boolean found = eventFound(instance, state);
-			while (delay > 0 && !found) {
-				try {
-					wait(5000);
-					delay -= System.currentTimeMillis() - startTime;
-				} catch (InterruptedException e) {
-					// do nothing
-				}
-				found = eventFound(instance, state);
-			}
-			if (!found) {
-				Object[][] foundEvents = getEvents();
-				String foundEventsMsg;
-				if (foundEvents.length > 0) {
-					StringBuffer eventsBuffer = new StringBuffer();
-					eventsBuffer.append("\nFound the following events: \n"); //$NON-NLS-1$
-					for (int i = 0; i < foundEvents.length; i++)
-						eventsBuffer.append(" handle event: ").append(foundEvents[i][0]).append(" ").append(foundEvents[i][1]).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					foundEventsMsg = eventsBuffer.toString();
-				} else {
-					foundEventsMsg = "\nNo events recorded"; //$NON-NLS-1$
-				}
-				fail("failed waiting for handle event: " + instance + " " + state + foundEventsMsg); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-
-		public synchronized String[][] getEvents() {
-			return (String[][]) events.toArray(new String[events.size()][]);
-		}
-
-		private boolean eventFound(String instance, String state) {
-			if (events.size() == 0)
-				return false;
-			String[] event = (String[]) events.get(events.size() - 1);
-			if (instance.equals(event[0]) && state.equals(event[1]))
-				return true;
-			return false;
-		}
-	}
-
-	public static class ApplicationDescriptorTracker implements ServiceTrackerCustomizer {
-		private BundleContext bc;
-		private ArrayList events = new ArrayList();
-
-		public ApplicationDescriptorTracker(BundleContext bc) {
-			this.bc = bc;
-		}
-
-		public synchronized Object addingService(ServiceReference reference) {
-			String pid = (String) reference.getProperty(ApplicationDescriptor.APPLICATION_PID);
-			Boolean locked = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LOCKED);
-			Boolean launchable = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LAUNCHABLE);
-			events.add(new Object[] {pid, ADDED, locked, launchable});
-			Object result = bc.getService(reference);
-			notifyAll();
-			return result;
-		}
-
-		public synchronized void modifiedService(ServiceReference reference, Object service) {
-			String pid = (String) reference.getProperty(ApplicationDescriptor.APPLICATION_PID);
-			Boolean locked = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LOCKED);
-			Boolean launchable = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LAUNCHABLE);
-			events.add(new Object[] {pid, MODIFIED, locked, launchable});
-			notifyAll();
-		}
-
-		public synchronized void removedService(ServiceReference reference, Object service) {
-			String pid = (String) reference.getProperty(ApplicationDescriptor.APPLICATION_PID);
-			Boolean locked = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LOCKED);
-			Boolean launchable = (Boolean) reference.getProperty(ApplicationDescriptor.APPLICATION_LAUNCHABLE);
-			events.add(new Object[] {pid, REMOVED, locked, launchable});
-			notifyAll();
-		}
-
-		// Note that this method assumes you call it before the event actually gets posted.
-		// It only looks at the last event that was saved.
-		public synchronized void waitForEvent(String pid, String type, Boolean locked, Boolean launchable) {
-			long delay = 5000;
-			long startTime = System.currentTimeMillis();
-			boolean found = eventFound(pid, type, locked, launchable);
-			while (delay > 0 && !found) {
-				try {
-					wait(5000);
-					delay -= System.currentTimeMillis() - startTime;
-				} catch (InterruptedException e) {
-					// do nothing
-				}
-				found = eventFound(pid, type, locked, launchable);
-			}
-			if (!found) {
-				Object[][] foundEvents = getEvents();
-				String foundEventsMsg;
-				if (foundEvents.length > 0) {
-					StringBuffer eventsBuffer = new StringBuffer();
-					eventsBuffer.append("\nFound the following events: \n"); //$NON-NLS-1$
-					for (int i = 0; i < foundEvents.length; i++)
-						eventsBuffer.append(" descriptor event: ").append(foundEvents[i][0]).append(" ").append(foundEvents[i][1]).append(" ").append(foundEvents[i][2]).append(" ").append(foundEvents[i][3]).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-					foundEventsMsg = eventsBuffer.toString();
-				} else {
-					foundEventsMsg = "\nNo events recorded"; //$NON-NLS-1$
-				}
-				fail("failed waiting for descriptor event: " + pid + " " + type + " " + locked + " " + launchable + foundEventsMsg); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			}
-		}
-
-		public synchronized Object[][] getEvents() {
-			return (Object[][]) events.toArray(new Object[events.size()][]);
-		}
-
-		private boolean eventFound(String pid, String type, Boolean locked, Boolean launchable) {
-			if (events.size() == 0)
-				return false;
-			Object[] event = (Object[]) events.get(events.size() - 1);
-			if (pid.equals(event[0]) && type.equals(event[1]) && locked.equals(event[2]) && launchable.equals(event[3]))
-				return true;
-			return false;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
deleted file mode 100644
index 809fcbf..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.appadmin;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class ExitValueApp implements IApplication, Runnable {
-	public static final String returnNullResult = "return.null"; //$NON-NLS-1$
-	public static final String returnAsyncResult = "return.async";
-	public static final String setAsyncEarly = "set.async.early";
-	public static final String setAsyncWrongApp = "set.async.wrongApp";
-	public static final String exitValue = "Exit Value"; //$NON-NLS-1$
-
-	private boolean active = true;
-	private boolean stopped = false;
-	private boolean useAsync = false;
-	private boolean returnNull = false;
-	private boolean setWrongApp = false;
-	private IApplicationContext appContext;
-	final Object guardObj = new Object();
-
-	public synchronized Object start(IApplicationContext context) {
-		appContext = context;
-		context.applicationRunning();
-		Boolean nullValue = (Boolean) context.getArguments().get(returnNullResult);
-		returnNull = nullValue == null ? false : nullValue.booleanValue();
-		Boolean asyncValue = (Boolean) context.getArguments().get(returnAsyncResult);
-		useAsync = asyncValue == null ? false : asyncValue.booleanValue();
-
-		Boolean asyncEarlyValue = (Boolean) context.getArguments().get(setAsyncEarly);
-		boolean setEarly = asyncEarlyValue == null ? false : asyncEarlyValue.booleanValue();
-		Boolean wrongAppValue = (Boolean) context.getArguments().get(setAsyncWrongApp);
-		setWrongApp = wrongAppValue == null ? false : wrongAppValue.booleanValue();
-		if (setEarly) {
-			try {
-				context.setResult("failed", this);
-				// failed
-			} catch (IllegalStateException e) {
-				// passed
-				return exitValue;
-			}
-		}
-		if (useAsync) {
-			System.out.println("async result");
-			new Thread(this, "ExitValueApp Test").start();
-			return IApplicationContext.EXIT_ASYNC_RESULT;
-		}
-		run();
-		return returnNull ? null : exitValue;
-	}
-
-	public synchronized void stop() {
-		active = false;
-		notifyAll();
-		while (!stopped)
-			try {
-				wait(100);
-			} catch (InterruptedException e) {
-				// do nothing
-			}
-	}
-
-	public synchronized void run() {
-		if (active) {
-			try {
-				wait(5000); // only run for 5 seconds at most
-			} catch (InterruptedException e) {
-				// do nothing
-			}
-		}
-		stopped = true;
-		if (useAsync) {
-			IApplication app = this;
-			Object result = returnNull ? null : exitValue;
-			if (setWrongApp) {
-				result = "failed";
-				app = new IApplication() {
-
-					public void stop() {
-						// nothing
-					}
-
-					public Object start(IApplicationContext context) throws Exception {
-						return null;
-					}
-				};
-			}
-			try {
-				appContext.setResult(result, app);
-				// failed
-			} catch (IllegalArgumentException e) {
-				// passed
-				appContext.setResult(returnNull ? null : exitValue, this);
-			}
-		}
-		notifyAll();
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
deleted file mode 100644
index 524935c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.appadmin;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class FailedApp implements IApplication {
-
-	public Object start(IApplicationContext context) throws Exception {
-		throw new Exception("Generated Exception"); //$NON-NLS-1$
-	}
-
-	public void stop() {
-		// nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
deleted file mode 100644
index 8a24748..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.appadmin;
-
-import java.util.HashMap;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class SimpleApp implements IApplication {
-
-	private boolean active = true;
-	private boolean stopped = false;
-
-	public synchronized Object start(IApplicationContext context) {
-		System.out.println("started simple app");
-		System.out.flush();
-		HashMap results = (HashMap) context.getArguments().get(ApplicationAdminTest.testResults);
-		if (results != null)
-			results.put(ApplicationAdminTest.simpleResults, ApplicationAdminTest.SUCCESS);
-		context.applicationRunning();
-		while (active) {
-			try {
-				wait(100);
-			} catch (InterruptedException e) {
-				// do nothing
-			}
-		}
-		stopped = true;
-		notifyAll();
-		System.out.println("stopped simple app");
-		System.out.flush();
-		return context.getArguments();
-	}
-
-	public synchronized void stop() {
-		active = false;
-		notifyAll();
-		while (!stopped)
-			try {
-				wait(100);
-			} catch (InterruptedException e) {
-				// do nothing
-			}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/AbstractBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/AbstractBundleTests.java
deleted file mode 100644
index 4b1125e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/AbstractBundleTests.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 20010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.internal.baseadaptor.StateManager;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-
-public class AbstractBundleTests extends CoreTest {
-	public static int BUNDLE_LISTENER = 0x01;
-	public static int SYNC_BUNDLE_LISTENER = 0x02;
-	public static int SIMPLE_RESULTS = 0x04;
-	public static final String BUNDLES_ROOT = "bundle_tests";
-	public static TestResults simpleResults;
-	public static EventListenerTestResults listenerResults;
-	public static SyncEventListenerTestResults syncListenerResults;
-	public static EventListenerTestResults frameworkListenerResults;
-	public static BundleInstaller installer;
-
-	protected void setUp() throws Exception {
-		installer = new BundleInstaller(BUNDLES_ROOT, OSGiTestsActivator.getContext());
-		installer.refreshPackages(null);
-		listenerResults = new EventListenerTestResults();
-		OSGiTestsActivator.getContext().addBundleListener(listenerResults);
-		syncListenerResults = new SyncEventListenerTestResults();
-		OSGiTestsActivator.getContext().addBundleListener(syncListenerResults);
-		simpleResults = new TestResults();
-		frameworkListenerResults = new EventListenerTestResults();
-		OSGiTestsActivator.getContext().addFrameworkListener(frameworkListenerResults);
-	}
-
-	protected void tearDown() throws Exception {
-		installer.shutdown();
-		installer = null;
-		OSGiTestsActivator.getContext().removeBundleListener(listenerResults);
-		OSGiTestsActivator.getContext().removeBundleListener(syncListenerResults);
-		OSGiTestsActivator.getContext().removeFrameworkListener(frameworkListenerResults);
-		listenerResults = null;
-		syncListenerResults = null;
-		simpleResults = null;
-		frameworkListenerResults = null;
-	}
-
-	public BundleContext getContext() {
-		return OSGiTestsActivator.getContext();
-	}
-
-	static public void compareResults(Object[] expectedEvents, Object[] actualEvents) {
-		assertEquals("compareResults length", expectedEvents.length, actualEvents.length);
-		for (int i = 0; i < expectedEvents.length; i++) {
-			assertEquals("compareResults " + i, expectedEvents[i], actualEvents[i]);
-		}
-	}
-
-	static public void assertEquals(String message, Object expected, Object actual) {
-		if (expected == null && actual == null)
-			return;
-		if ((expected == null || actual == null) && expected != actual)
-			failNotEquals(message, toString(expected), toString(actual));
-		if (isEqual(expected, actual))
-			return;
-		failNotEquals(message, toString(expected), toString(actual));
-	}
-
-	static public void assertEquals(String message, int[] expected, int[] actual) {
-		if (expected == null && actual == null)
-			return;
-		if ((expected == null || actual == null) && expected != actual)
-			failNotEquals(message, toString(expected), toString(actual));
-		if (expected.length != actual.length)
-			failNotEquals(message, toString(expected), toString(actual));
-		for (int i = 0; i < expected.length; i++)
-			if (expected[i] != actual[i])
-				failNotEquals(message, toString(expected), toString(actual));
-	}
-
-	private static boolean isEqual(Object expected, Object actual) {
-		if (!expected.getClass().isAssignableFrom(actual.getClass()))
-			return false;
-		if (expected instanceof BundleEvent)
-			return isEqual((BundleEvent) expected, (BundleEvent) actual);
-		else if (expected instanceof FrameworkEvent)
-			return isEqual((FrameworkEvent) expected, (FrameworkEvent) actual);
-		return expected.equals(actual);
-	}
-
-	private static boolean isEqual(BundleEvent expected, BundleEvent actual) {
-		return expected.getSource() == actual.getSource() && expected.getType() == actual.getType();
-	}
-
-	private static boolean isEqual(FrameworkEvent expected, FrameworkEvent actual) {
-		return expected.getSource() == actual.getSource() && expected.getType() == actual.getType();
-	}
-
-	private static String toString(int[] array) {
-		if (array == null)
-			return "null"; //$NON-NLS-1$
-		String result = "["; //$NON-NLS-1$
-		for (int i = 0; i < array.length; i++) {
-			if (i != 0)
-				result += ',';
-			result += array[i];
-		}
-		result += "]"; //$NON-NLS-1$
-		return result;
-	}
-
-	private static Object toString(Object object) {
-		if (object instanceof BundleEvent)
-			return toString((BundleEvent) object);
-		else if (object instanceof FrameworkEvent)
-			return toString((FrameworkEvent) object);
-		return object.toString();
-	}
-
-	private static Object toString(FrameworkEvent event) {
-		StringBuffer result = new StringBuffer("FrameworkEvent [");
-		switch (event.getType()) {
-			case FrameworkEvent.ERROR :
-				result.append("ERROR");
-				break;
-			case FrameworkEvent.INFO :
-				result.append("INFO");
-				break;
-			case FrameworkEvent.PACKAGES_REFRESHED :
-				result.append("PACKAGES_REFRESHED");
-				break;
-			case FrameworkEvent.STARTED :
-				result.append("STARTED");
-				break;
-			case FrameworkEvent.STARTLEVEL_CHANGED :
-				result.append("STARTLEVEL_CHANGED");
-				break;
-			case FrameworkEvent.WARNING :
-				result.append("WARNING");
-				break;
-			default :
-				break;
-		}
-		result.append("] ").append(event.getSource());
-		return result.toString();
-	}
-
-	private static Object toString(BundleEvent event) {
-		StringBuffer result = new StringBuffer("BundleEvent [");
-		switch (event.getType()) {
-			case BundleEvent.INSTALLED :
-				result.append("INSTALLED");
-				break;
-			case BundleEvent.LAZY_ACTIVATION :
-				result.append("LAZY_ACTIVATION");
-				break;
-			case BundleEvent.RESOLVED :
-				result.append("RESOLVED");
-				break;
-			case BundleEvent.STARTED :
-				result.append("STARTED");
-				break;
-			case BundleEvent.STARTING :
-				result.append("STARTING");
-				break;
-			case BundleEvent.STOPPED :
-				result.append("STOPPED");
-				break;
-			case BundleEvent.STOPPING :
-				result.append("STOPPING");
-				break;
-			case BundleEvent.UNINSTALLED :
-				result.append("UNINSTALLED");
-				break;
-			case BundleEvent.UNRESOLVED :
-				result.append("UNRESOLVED");
-				break;
-			case BundleEvent.UPDATED :
-				result.append("UPDATED");
-				break;
-			default :
-				break;
-		}
-		result.append("] ").append(event.getSource());
-		return result.toString();
-	}
-
-	public void setPlatformProperties() {
-		StateManager stateManager = (StateManager) installer.getPlatformAdmin();
-		stateManager.getSystemState().setPlatformProperties(System.getProperties());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ArrayTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ArrayTest.java
deleted file mode 100644
index e4ce55f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ArrayTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-public class ArrayTest {
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleExceptionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleExceptionTests.java
deleted file mode 100644
index 813ee71..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleExceptionTests.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class BundleExceptionTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(BundleExceptionTests.class);
-	}
-
-	// test throwing exception from activator constructor
-	public void testInvalidBundleActivator01() throws BundleException {
-		Bundle error1 = installer.installBundle("activator.error1"); //$NON-NLS-1$
-		try {
-			error1.start();
-			fail("Expected a start failure on invalid activator"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected activator error", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-		}
-	}
-
-	// test throwing exception from activator start
-	public void testInvalidBundleActivator02() throws BundleException {
-		Bundle error1 = installer.installBundle("activator.error2"); //$NON-NLS-1$
-		try {
-			error1.start();
-			fail("Expected a start failure on invalid activator"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected activator error", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-		}
-	}
-
-	// test throwing exception from activator stop
-	public void testInvalidBundleActivator03() throws BundleException {
-		Bundle error1 = installer.installBundle("activator.error3"); //$NON-NLS-1$
-		error1.start();
-		try {
-			error1.stop();
-			fail("Expected a stop failure on invalid activator"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected activator error", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-		}
-	}
-
-	// test throwing exception when installing duplicate bundles
-	public void testDuplicateError01() throws BundleException {
-		installer.installBundle("activator.error1"); //$NON-NLS-1$
-		try {
-			installer.installBundle("activator.error4"); //$NON-NLS-1$;
-			fail("Expected an install failure on duplicate bundle"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected duplicate error", BundleException.DUPLICATE_BUNDLE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-	}
-
-	// test throwing exception when updating to a duplicate bundle
-	public void testDuplicateError02() throws BundleException {
-		installer.installBundle("activator.error1"); //$NON-NLS-1$
-		Bundle error2 = installer.installBundle("activator.error2"); //$NON-NLS-1$
-		try {
-			URL updateURL = new URL(installer.getBundleLocation("activator.error4")); //$NON-NLS-1$
-			error2.update(updateURL.openStream());
-			fail("Expected an update failure on duplicate bundle"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected duplicate error", BundleException.DUPLICATE_BUNDLE_ERROR, e.getType()); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Unexpected io exception updating", e); //$NON-NLS-1$
-		}
-	}
-
-	// test uninstalling the system bundle
-	public void testUninstallSystemBundle() throws BundleException {
-		Bundle systemBundle = OSGiTestsActivator.getContext().getBundle(0);
-		assertNotNull("System Bundle is null!!", systemBundle); //$NON-NLS-1$
-		try {
-			systemBundle.uninstall();
-			fail("Expected error on uninstall of system bundle"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected invalid error", BundleException.INVALID_OPERATION, e.getType()); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
deleted file mode 100644
index cd21c17..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstallUpdateTests.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.File;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.internal.baseadaptor.AdaptorUtil;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class BundleInstallUpdateTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(BundleInstallUpdateTests.class);
-	}
-
-	// test installing with location
-	public void testInstallWithLocation01() {
-		Bundle test = null;
-		try {
-			String location = installer.getBundleLocation("test"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BundleException e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test installing with location and null stream
-	public void testInstallWithLocation02() {
-		Bundle test = null;
-		try {
-			String location = installer.getBundleLocation("test"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location, null);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BundleException e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test installing with location and non-null stream
-	public void testInstallWithStream03() {
-		Bundle test = null;
-		try {
-			String location1 = installer.getBundleLocation("test"); //$NON-NLS-1$
-			String location2 = installer.getBundleLocation("test2"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location1, new URL(location2).openStream());
-			assertEquals("Wrong BSN", "test2", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Exception e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test update with null stream
-	public void testUpdateNoStream01() {
-		Bundle test = null;
-		try {
-			String location = installer.getBundleLocation("test"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			test.update();
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BundleException e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test update with null stream
-	public void testUpdateNoStream02() {
-		Bundle test = null;
-		try {
-			String location = installer.getBundleLocation("test"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			test.update(null);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BundleException e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test update with null stream
-	public void testUpdateWithStream01() {
-		Bundle test = null;
-		try {
-			String location1 = installer.getBundleLocation("test"); //$NON-NLS-1$
-			String location2 = installer.getBundleLocation("test2"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location1);
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			test.update(new URL(location2).openStream());
-			assertEquals("Wrong BSN", "test2", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Exception e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	// test update with null stream
-	public void testUpdateWithStream02() {
-		Bundle test = null;
-		try {
-			String location1 = installer.getBundleLocation("test"); //$NON-NLS-1$
-			String location2 = installer.getBundleLocation("test2"); //$NON-NLS-1$
-			test = OSGiTestsActivator.getContext().installBundle(location1);
-			Bundle b1 = installer.installBundle("chain.test"); //$NON-NLS-1$
-			assertEquals("Wrong BSN", "test1", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			test.update(new URL(location2).openStream());
-			assertEquals("Wrong BSN", "test2", test.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			// make sure b1 is still last bundle in bundles list
-			Bundle[] bundles = OSGiTestsActivator.getContext().getBundles();
-			assertTrue("Wrong bundle at the end: " + bundles[bundles.length - 1], bundles[bundles.length - 1] == b1); //$NON-NLS-1$
-			Bundle[] tests = installer.getPackageAdmin().getBundles(test.getSymbolicName(), null);
-			assertNotNull("null tests", tests); //$NON-NLS-1$
-			assertEquals("Wrong number", 1, tests.length); //$NON-NLS-1$
-			assertTrue("Wrong bundle: " + tests[0], tests[0] == test); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-
-	public void testBug290193() {
-		Bundle test = null;
-		try {
-			URL testBundle = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/bundles/signed.jar");
-			File testFile = OSGiTestsActivator.getContext().getDataFile("test with space/test.jar");
-			assertTrue(testFile.getParentFile().mkdirs());
-			AdaptorUtil.readFile(testBundle.openStream(), testFile);
-			test = OSGiTestsActivator.getContext().installBundle("reference:" + testFile.toURI().toString());
-		} catch (Exception e) {
-			fail("Unexpected failure", e); //$NON-NLS-1$
-		} finally {
-			try {
-				if (test != null)
-					test.uninstall();
-			} catch (BundleException e) {
-				// nothing
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstaller.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstaller.java
deleted file mode 100644
index 5996403..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleInstaller.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.IOException;
-import java.net.URL;
-import java.security.*;
-import java.util.*;
-import org.eclipse.osgi.service.resolver.PlatformAdmin;
-import org.eclipse.osgi.service.urlconversion.URLConverter;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.service.startlevel.StartLevel;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class BundleInstaller {
-	private BundleContext context;
-	private String rootLocation;
-	private HashMap bundles = new HashMap();
-	private ServiceTracker packageAdmin;
-	private ServiceTracker startlevel;
-	private ServiceTracker converter;
-	private ServiceTracker platformAdmin;
-
-	public BundleInstaller(String bundlesRoot, BundleContext context) throws InvalidSyntaxException {
-		this.context = context;
-		rootLocation = bundlesRoot;
-		converter = new ServiceTracker(context, context.createFilter("(&(objectClass=" + URLConverter.class.getName() + ")(protocol=bundleentry))"), null);
-		converter.open();
-		startlevel = new ServiceTracker(context, StartLevel.class.getName(), null);
-		startlevel.open();
-		packageAdmin = new ServiceTracker(context, PackageAdmin.class.getName(), null);
-		packageAdmin.open();
-		platformAdmin = new ServiceTracker(context, PlatformAdmin.class.getName(), null);
-		platformAdmin.open();
-	}
-
-	synchronized public Bundle installBundle(String name) throws BundleException {
-		return installBundle(name, true);
-	}
-
-	synchronized public Bundle installBundle(String name, boolean track) throws BundleException {
-		if (bundles == null && track)
-			return null;
-		String location = getBundleLocation(name);
-		Bundle bundle = context.installBundle(location);
-		if (track)
-			bundles.put(name, bundle);
-		return bundle;
-	}
-
-	public String getBundleLocation(final String name) throws BundleException {
-		if (System.getSecurityManager() == null)
-			return getBundleLocation0(name);
-		try {
-			return (String) AccessController.doPrivileged(new PrivilegedExceptionAction() {
-				public Object run() throws Exception {
-					return getBundleLocation0(name);
-				}
-			});
-		} catch (PrivilegedActionException e) {
-			throw (BundleException) e.getException();
-		}
-	}
-
-	String getBundleLocation0(String name) throws BundleException {
-		String bundleFileName = rootLocation + "/" + name;
-		URL bundleURL = context.getBundle().getEntry(bundleFileName);
-		if (bundleURL == null)
-			bundleURL = context.getBundle().getEntry(bundleFileName + ".jar");
-		if (bundleURL == null)
-			throw new BundleException("Could not find bundle to install at: " + name);
-		try {
-			bundleURL = ((URLConverter) converter.getService()).resolve(bundleURL);
-		} catch (IOException e) {
-			throw new BundleException("Converter error", e);
-		}
-		String location = bundleURL.toExternalForm();
-		if ("file".equals(bundleURL.getProtocol()))
-			location = "reference:" + location;
-		return location;
-	}
-
-	synchronized public Bundle updateBundle(String fromName, String toName) throws BundleException {
-		if (bundles == null)
-			return null;
-		Bundle fromBundle = (Bundle) bundles.get(fromName);
-		if (fromBundle == null)
-			throw new BundleException("The bundle to update does not exist!! " + fromName);
-		String bundleFileName = rootLocation + "/" + toName;
-		URL bundleURL = context.getBundle().getEntry(bundleFileName);
-		if (bundleURL == null)
-			bundleURL = context.getBundle().getEntry(bundleFileName + ".jar");
-		try {
-			bundleURL = ((URLConverter) converter.getService()).resolve(bundleURL);
-		} catch (IOException e) {
-			throw new BundleException("Converter error", e);
-		}
-		String location = bundleURL.toExternalForm();
-		if ("file".equals(bundleURL.getProtocol()))
-			location = "reference:" + location;
-		try {
-			fromBundle.update(new URL(location).openStream());
-		} catch (Exception e) {
-			throw new BundleException("Errors when updating bundle " + fromBundle, e);
-		}
-		bundles.remove(fromName);
-		bundles.put(toName, fromBundle);
-		return fromBundle;
-	}
-
-	synchronized public Bundle uninstallBundle(String name) throws BundleException {
-		if (bundles == null)
-			return null;
-		Bundle bundle = (Bundle) bundles.remove(name);
-		if (bundle == null)
-			return null;
-		bundle.uninstall();
-		return bundle;
-	}
-
-	synchronized public Bundle[] uninstallAllBundles() throws BundleException {
-		if (bundles == null)
-			return null;
-		ArrayList result = new ArrayList(bundles.size());
-		for (Iterator iter = bundles.values().iterator(); iter.hasNext();) {
-			Bundle bundle = (Bundle) iter.next();
-			try {
-				bundle.uninstall();
-			} catch (IllegalStateException e) {
-				// ignore; bundle probably already uninstalled
-			}
-			result.add(bundle);
-		}
-		bundles.clear();
-		return (Bundle[]) result.toArray(new Bundle[result.size()]);
-	}
-
-	synchronized public Bundle[] shutdown() throws BundleException {
-		if (bundles == null)
-			return null;
-		Bundle[] result = uninstallAllBundles();
-		refreshPackages(result);
-		packageAdmin.close();
-		startlevel.close();
-		converter.close();
-		platformAdmin.close();
-		bundles = null;
-		return result;
-	}
-
-	synchronized public Bundle[] refreshPackages(Bundle[] refresh) {
-		if (bundles == null)
-			return null;
-		PackageAdmin pa = (PackageAdmin) packageAdmin.getService();
-		final boolean[] flag = new boolean[] {false};
-		FrameworkListener listener = new FrameworkListener() {
-			public void frameworkEvent(FrameworkEvent event) {
-				if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED)
-					synchronized (flag) {
-						flag[0] = true;
-						flag.notifyAll();
-					}
-			}
-		};
-		context.addFrameworkListener(listener);
-		final HashSet refreshed = new HashSet();
-		BundleListener refreshBundleListener = new SynchronousBundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				refreshed.add(event.getBundle());
-			}
-		};
-		context.addBundleListener(refreshBundleListener);
-		try {
-			pa.refreshPackages(refresh);
-			synchronized (flag) {
-				while (!flag[0]) {
-					try {
-						flag.wait(5000);
-					} catch (InterruptedException e) {
-						// do nothing
-					}
-				}
-			}
-		} finally {
-			context.removeFrameworkListener(listener);
-			context.removeBundleListener(refreshBundleListener);
-		}
-		return (Bundle[]) refreshed.toArray(new Bundle[refreshed.size()]);
-	}
-
-	synchronized public boolean resolveBundles(Bundle[] resolve) {
-		if (bundles == null)
-			return false;
-		PackageAdmin pa = (PackageAdmin) packageAdmin.getService();
-		return pa.resolveBundles(resolve);
-	}
-
-	synchronized public Bundle getBundle(String name) {
-		if (bundles == null)
-			return null;
-		return (Bundle) bundles.get(name);
-	}
-
-	public StartLevel getStartLevel() {
-		return (StartLevel) startlevel.getService();
-	}
-
-	public PackageAdmin getPackageAdmin() {
-		return (PackageAdmin) packageAdmin.getService();
-	}
-
-	public PlatformAdmin getPlatformAdmin() {
-		return (PlatformAdmin) platformAdmin.getService();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleTests.java
deleted file mode 100644
index e0bb723..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/BundleTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class BundleTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(BundleTests.class.getName());
-		suite.addTest(BundleInstallUpdateTests.suite());
-		suite.addTest(SystemBundleTests.suite());
-		suite.addTest(BundleExceptionTests.suite());
-		suite.addTest(SubstituteExportsBundleTests.suite());
-		suite.addTest(PackageAdminBundleTests.suite());
-		suite.addTest(PlatformAdminBundleTests.suite());
-		suite.addTest(ExtensionBundleTests.suite());
-		suite.addTest(ClassLoadingBundleTests.suite());
-		suite.addTest(NativeCodeBundleTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
deleted file mode 100644
index ec9308e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ClassLoadingBundleTests.java
+++ /dev/null
@@ -1,1633 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.*;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.ExportedPackage;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.service.startlevel.StartLevel;
-
-public class ClassLoadingBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(ClassLoadingBundleTests.class);
-	}
-
-	public void testSimple() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		test.start();
-		installer.shutdown();
-
-		Object[] expectedEvents = new Object[6];
-		expectedEvents[0] = new BundleEvent(BundleEvent.INSTALLED, test);
-		expectedEvents[1] = new BundleEvent(BundleEvent.RESOLVED, test);
-		expectedEvents[2] = new BundleEvent(BundleEvent.STARTED, test);
-		expectedEvents[3] = new BundleEvent(BundleEvent.STOPPED, test);
-		expectedEvents[4] = new BundleEvent(BundleEvent.UNRESOLVED, test);
-		expectedEvents[5] = new BundleEvent(BundleEvent.UNINSTALLED, test);
-
-		Object[] actualEvents = listenerResults.getResults(expectedEvents.length);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testLoadTriggerClass() throws Exception {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		assertTrue("Did not resolve chainTest", installer.resolveBundles(new Bundle[] {chainTest})); //$NON-NLS-1$
-		chainTest.start(Bundle.START_ACTIVATION_POLICY);
-		chainTestA.start(Bundle.START_ACTIVATION_POLICY);
-		assertEquals("Wrong state", Bundle.STARTING, chainTest.getState()); //$NON-NLS-1$
-		chainTest.loadClass("org.osgi.framework.BundleActivator"); //$NON-NLS-1$
-		assertEquals("Wrong state", Bundle.STARTING, chainTest.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state", Bundle.STARTING, chainTestA.getState()); //$NON-NLS-1$
-		chainTest.loadClass("chain.test.a.AChain"); //$NON-NLS-1$
-		assertEquals("Wrong state", Bundle.STARTING, chainTest.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state", Bundle.ACTIVE, chainTestA.getState()); //$NON-NLS-1$
-	}
-
-	public void testChainDepedencies() throws Exception {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		((ITestRunner) chainTest.loadClass("chain.test.TestSingleChain").newInstance()).testIt(); //$NON-NLS-1$
-
-		Object[] expectedEvents = new Object[6];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-		expectedEvents[1] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-		expectedEvents[2] = new BundleEvent(BundleEvent.STOPPED, chainTestA);
-		expectedEvents[3] = new BundleEvent(BundleEvent.STOPPED, chainTestB);
-		expectedEvents[4] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-		expectedEvents[5] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-
-		installer.refreshPackages(new Bundle[] {chainTestB});
-
-		((ITestRunner) chainTest.loadClass("chain.test.TestSingleChain").newInstance()).testIt(); //$NON-NLS-1$
-
-		Object[] actualEvents = simpleResults.getResults(6);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testMultiChainDepedencies01() throws Exception {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		chainTest.loadClass("chain.test.TestMultiChain").newInstance(); //$NON-NLS-1$
-
-		Object[] expectedEvents = new Object[12];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, chainTestD);
-		expectedEvents[1] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-		expectedEvents[2] = new BundleEvent(BundleEvent.STARTED, chainTestC);
-		expectedEvents[3] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-		expectedEvents[4] = new BundleEvent(BundleEvent.STOPPED, chainTestA);
-		expectedEvents[5] = new BundleEvent(BundleEvent.STOPPED, chainTestB);
-		expectedEvents[6] = new BundleEvent(BundleEvent.STOPPED, chainTestC);
-		expectedEvents[7] = new BundleEvent(BundleEvent.STOPPED, chainTestD);
-		expectedEvents[8] = new BundleEvent(BundleEvent.STARTED, chainTestD);
-		expectedEvents[9] = new BundleEvent(BundleEvent.STARTED, chainTestC);
-		expectedEvents[10] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-		expectedEvents[11] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-
-		installer.refreshPackages(new Bundle[] {chainTestC, chainTestD});
-
-		Object[] actualEvents = simpleResults.getResults(8);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testMultiChainDepedencies02() throws Exception {
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		syncListenerResults.getResults(0);
-		installer.resolveBundles(new Bundle[] {chainTestA, chainTestB, chainTestC, chainTestD});
-
-		Object[] expectedEvents = new Object[8];
-		expectedEvents[0] = new BundleEvent(BundleEvent.RESOLVED, chainTestD);
-		expectedEvents[1] = new BundleEvent(BundleEvent.RESOLVED, chainTestC);
-		expectedEvents[2] = new BundleEvent(BundleEvent.RESOLVED, chainTestB);
-		expectedEvents[3] = new BundleEvent(BundleEvent.RESOLVED, chainTestA);
-		expectedEvents[4] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestD);
-		expectedEvents[5] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestC);
-		expectedEvents[6] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestB);
-		expectedEvents[7] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestA);
-
-		Object[] actualEvents = syncListenerResults.getResults(8);
-		compareResults(expectedEvents, actualEvents);
-
-		installer.refreshPackages(new Bundle[] {chainTestC, chainTestD});
-
-		expectedEvents = new Object[20];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPING, chainTestA);
-		expectedEvents[1] = new BundleEvent(BundleEvent.STOPPED, chainTestA);
-		expectedEvents[2] = new BundleEvent(BundleEvent.STOPPING, chainTestB);
-		expectedEvents[3] = new BundleEvent(BundleEvent.STOPPED, chainTestB);
-		expectedEvents[4] = new BundleEvent(BundleEvent.STOPPING, chainTestC);
-		expectedEvents[5] = new BundleEvent(BundleEvent.STOPPED, chainTestC);
-		expectedEvents[6] = new BundleEvent(BundleEvent.STOPPING, chainTestD);
-		expectedEvents[7] = new BundleEvent(BundleEvent.STOPPED, chainTestD);
-		expectedEvents[8] = new BundleEvent(BundleEvent.UNRESOLVED, chainTestA);
-		expectedEvents[9] = new BundleEvent(BundleEvent.UNRESOLVED, chainTestB);
-		expectedEvents[10] = new BundleEvent(BundleEvent.UNRESOLVED, chainTestC);
-		expectedEvents[11] = new BundleEvent(BundleEvent.UNRESOLVED, chainTestD);
-		expectedEvents[12] = new BundleEvent(BundleEvent.RESOLVED, chainTestD);
-		expectedEvents[13] = new BundleEvent(BundleEvent.RESOLVED, chainTestC);
-		expectedEvents[14] = new BundleEvent(BundleEvent.RESOLVED, chainTestB);
-		expectedEvents[15] = new BundleEvent(BundleEvent.RESOLVED, chainTestA);
-		expectedEvents[16] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestD);
-		expectedEvents[17] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestC);
-		expectedEvents[18] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestB);
-		expectedEvents[19] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestA);
-
-		actualEvents = syncListenerResults.getResults(12);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testBug300692_01() throws BundleException {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		syncListenerResults.getResults(0);
-
-		StartLevel sl = installer.getStartLevel();
-		int currentSL = sl.getStartLevel();
-		int testSL = currentSL + 1;
-		sl.setBundleStartLevel(chainTest, testSL);
-		sl.setBundleStartLevel(chainTestA, testSL);
-		sl.setBundleStartLevel(chainTestB, testSL);
-		sl.setBundleStartLevel(chainTestC, testSL);
-		sl.setBundleStartLevel(chainTestD, testSL);
-		installer.resolveBundles(new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD});
-
-		Object[] expectedEvents = new Object[5];
-		expectedEvents[0] = new BundleEvent(BundleEvent.RESOLVED, chainTestD);
-		expectedEvents[1] = new BundleEvent(BundleEvent.RESOLVED, chainTestC);
-		expectedEvents[2] = new BundleEvent(BundleEvent.RESOLVED, chainTestB);
-		expectedEvents[3] = new BundleEvent(BundleEvent.RESOLVED, chainTestA);
-		expectedEvents[4] = new BundleEvent(BundleEvent.RESOLVED, chainTest);
-
-		Object[] actualEvents = syncListenerResults.getResults(5);
-		compareResults(expectedEvents, actualEvents);
-		try {
-			System.setProperty("test.bug300692", "true");
-			chainTest.start();
-			sl.setStartLevel(testSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-			expectedEvents = new Object[14];
-			int i = 0;
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTest);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTest);
-
-			actualFrameworkEvents = syncListenerResults.getResults(14);
-			compareResults(expectedEvents, actualFrameworkEvents);
-		} finally {
-			System.getProperties().remove("test.bug300692");
-			sl.setStartLevel(currentSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-		}
-	}
-
-	public void testBug300692_02() throws BundleException {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		syncListenerResults.getResults(0);
-
-		StartLevel sl = installer.getStartLevel();
-		int currentSL = sl.getStartLevel();
-		int testSL = currentSL + 1;
-		sl.setBundleStartLevel(chainTest, testSL);
-		sl.setBundleStartLevel(chainTestA, testSL);
-		sl.setBundleStartLevel(chainTestB, testSL);
-		sl.setBundleStartLevel(chainTestC, testSL);
-		sl.setBundleStartLevel(chainTestD, testSL);
-		installer.resolveBundles(new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD});
-
-		Object[] expectedEvents = new Object[5];
-		expectedEvents[0] = new BundleEvent(BundleEvent.RESOLVED, chainTestD);
-		expectedEvents[1] = new BundleEvent(BundleEvent.RESOLVED, chainTestC);
-		expectedEvents[2] = new BundleEvent(BundleEvent.RESOLVED, chainTestB);
-		expectedEvents[3] = new BundleEvent(BundleEvent.RESOLVED, chainTestA);
-		expectedEvents[4] = new BundleEvent(BundleEvent.RESOLVED, chainTest);
-
-		Object[] actualEvents = syncListenerResults.getResults(5);
-		compareResults(expectedEvents, actualEvents);
-		try {
-			System.setProperty("test.bug300692", "true");
-			System.setProperty("test.bug300692.listener", "true");
-			chainTest.start();
-			sl.setStartLevel(testSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-			expectedEvents = new Object[14];
-			int i = 0;
-
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.LAZY_ACTIVATION, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTest);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestB);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestC);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestA);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTING, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTestD);
-			expectedEvents[i++] = new BundleEvent(BundleEvent.STARTED, chainTest);
-
-			actualFrameworkEvents = syncListenerResults.getResults(14);
-			compareResults(expectedEvents, actualFrameworkEvents);
-		} finally {
-			System.getProperties().remove("test.bug300692");
-			System.getProperties().remove("test.bug300692.listener");
-			sl.setStartLevel(currentSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-		}
-	}
-
-	public void testClassCircularityError() throws Exception {
-		Bundle circularityTest = installer.installBundle("circularity.test"); //$NON-NLS-1$
-		Bundle circularityTestA = installer.installBundle("circularity.test.a"); //$NON-NLS-1$
-		circularityTest.loadClass("circularity.test.TestCircularity"); //$NON-NLS-1$
-
-		Object[] expectedEvents = new Object[2];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, circularityTest);
-		expectedEvents[1] = new BundleEvent(BundleEvent.STARTED, circularityTestA);
-		Object[] actualEvents = simpleResults.getResults(2);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testFragmentPackageAccess() throws Exception {
-		Bundle hostA = installer.installBundle("fragment.test.attach.host.a"); //$NON-NLS-1$
-		Bundle fragA = installer.installBundle("fragment.test.attach.frag.a"); //$NON-NLS-1$
-		assertTrue("Host/Frag resolve", installer.resolveBundles(new Bundle[] {hostA, fragA})); //$NON-NLS-1$
-
-		ITestRunner testRunner = (ITestRunner) hostA.loadClass("fragment.test.attach.host.a.internal.test.TestPackageAccess").newInstance(); //$NON-NLS-1$
-		try {
-			testRunner.testIt();
-		} catch (Exception e) {
-			fail("Failed package access test: " + e.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	public void testFragmentMultiHost() throws Exception {
-		Bundle hostA1 = installer.installBundle("fragment.test.attach.host.a"); //$NON-NLS-1$
-		Bundle hostA2 = installer.installBundle("fragment.test.attach.host.a.v2"); //$NON-NLS-1$
-		Bundle fragA = installer.installBundle("fragment.test.attach.frag.a"); //$NON-NLS-1$
-		assertTrue("Host/Frag resolve", installer.resolveBundles(new Bundle[] {hostA1, hostA2, fragA})); //$NON-NLS-1$
-
-		assertEquals("Wrong number of hosts", 2, installer.getPackageAdmin().getHosts(fragA).length); //$NON-NLS-1$
-		runTestRunner(hostA1, "fragment.test.attach.host.a.internal.test.TestPackageAccess"); //$NON-NLS-1$
-		runTestRunner(hostA2, "fragment.test.attach.host.a.internal.test.TestPackageAccess2"); //$NON-NLS-1$
-	}
-
-	private void runTestRunner(Bundle host, String classname) {
-		try {
-			ITestRunner testRunner = (ITestRunner) host.loadClass(classname).newInstance();
-			testRunner.testIt();
-		} catch (Exception e) {
-			fail("Failed package access test", e); //$NON-NLS-1$
-		}
-
-	}
-
-	public void testFragmentExportPackage() throws Exception {
-		Bundle hostA = installer.installBundle("fragment.test.attach.host.a"); //$NON-NLS-1$
-		assertTrue("Host resolve", installer.resolveBundles(new Bundle[] {hostA})); //$NON-NLS-1$
-
-		// make sure class loader for hostA is initialized
-		hostA.loadClass("fragment.test.attach.host.a.internal.test.PackageAccessTest"); //$NON-NLS-1$
-
-		Bundle fragB = installer.installBundle("fragment.test.attach.frag.b"); //$NON-NLS-1$
-		Bundle hostARequire = installer.installBundle("fragment.test.attach.host.a.require"); //$NON-NLS-1$
-		assertTrue("RequireA/Frag", installer.resolveBundles(new Bundle[] {hostARequire, fragB})); //$NON-NLS-1$
-		try {
-			hostARequire.loadClass("fragment.test.attach.frag.b.Test"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected class loading exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testLegacyLazyStart() throws Exception {
-		Bundle legacy = installer.installBundle("legacy.lazystart"); //$NON-NLS-1$
-		Bundle legacyA = installer.installBundle("legacy.lazystart.a"); //$NON-NLS-1$
-		Bundle legacyB = installer.installBundle("legacy.lazystart.b"); //$NON-NLS-1$
-		Bundle legacyC = installer.installBundle("legacy.lazystart.c"); //$NON-NLS-1$
-		assertTrue("legacy lazy start resolve", installer.resolveBundles(new Bundle[] {legacy, legacyA, legacyB, legacyC})); //$NON-NLS-1$
-
-		((ITestRunner) legacy.loadClass("legacy.lazystart.SimpleLegacy").newInstance()).testIt(); //$NON-NLS-1$
-		Object[] expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, legacyA);
-		Object[] actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		((ITestRunner) legacy.loadClass("legacy.lazystart.TrueExceptionLegacy1").newInstance()).testIt(); //$NON-NLS-1$
-		assertTrue("exceptions no event", simpleResults.getResults(0).length == 0); //$NON-NLS-1$
-		((ITestRunner) legacy.loadClass("legacy.lazystart.TrueExceptionLegacy2").newInstance()).testIt(); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, legacyB);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		((ITestRunner) legacy.loadClass("legacy.lazystart.FalseExceptionLegacy1").newInstance()).testIt(); //$NON-NLS-1$
-		assertTrue("exceptions no event", simpleResults.getResults(0).length == 0); //$NON-NLS-1$
-		((ITestRunner) legacy.loadClass("legacy.lazystart.FalseExceptionLegacy2").newInstance()).testIt(); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, legacyC);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testLegacyLoadActivation() throws Exception {
-		// test that calling loadClass from a non-lazy start bundle does not activate the bundle
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		try {
-			test.loadClass("does.not.exist.Test"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		Object[] expectedEvents = new Object[0];
-		Object[] actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		// test that calling loadClass from a lazy start bundle activates a bundle
-		Bundle legacyA = installer.installBundle("legacy.lazystart.a"); //$NON-NLS-1$
-		try {
-			legacyA.loadClass("does.not.exist.Test"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, legacyA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testOSGiLazyStart() throws Exception {
-		Bundle osgi = installer.installBundle("osgi.lazystart"); //$NON-NLS-1$
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		Bundle osgiB = installer.installBundle("osgi.lazystart.b"); //$NON-NLS-1$
-		Bundle osgiC = installer.installBundle("osgi.lazystart.c"); //$NON-NLS-1$
-		assertTrue("osgi lazy start resolve", installer.resolveBundles(new Bundle[] {osgi, osgiA, osgiB, osgiC})); //$NON-NLS-1$
-
-		((ITestRunner) osgi.loadClass("osgi.lazystart.LazySimple").newInstance()).testIt(); //$NON-NLS-1$
-		Object[] expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		Object[] actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		((ITestRunner) osgi.loadClass("osgi.lazystart.LazyExclude1").newInstance()).testIt(); //$NON-NLS-1$
-		assertTrue("exceptions no event", simpleResults.getResults(0).length == 0); //$NON-NLS-1$
-		((ITestRunner) osgi.loadClass("osgi.lazystart.LazyExclude2").newInstance()).testIt(); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiB);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		((ITestRunner) osgi.loadClass("osgi.lazystart.LazyInclude1").newInstance()).testIt(); //$NON-NLS-1$
-		assertTrue("exceptions no event", simpleResults.getResults(0).length == 0); //$NON-NLS-1$
-		((ITestRunner) osgi.loadClass("osgi.lazystart.LazyInclude2").newInstance()).testIt(); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiC);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testStartTransientByLoadClass() throws Exception {
-		// install a bundle and set its start-level high, then crank up the framework start-level.  This should result in no events
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {osgiA});
-		StartLevel startLevel = installer.getStartLevel();
-		startLevel.setBundleStartLevel(osgiA, startLevel.getStartLevel() + 10);
-
-		// test transient start by loadClass
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		Object[] expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		Object[] expectedEvents = new Object[0];
-		Object[] actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		// now load a class from it before the start-level is met.  This should result in no events
-		osgiA.loadClass("osgi.lazystart.a.ATest"); //$NON-NLS-1$
-		expectedEvents = new Object[0];
-		actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		// now load a class while start-level is met.
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		osgiA.loadClass("osgi.lazystart.a.ATest"); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testStartTransient() throws Exception {
-		// install a bundle and set its start-level high, then crank up the framework start-level.  This should result in no events
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {osgiA});
-		StartLevel startLevel = installer.getStartLevel();
-		startLevel.setBundleStartLevel(osgiA, startLevel.getStartLevel() + 10);
-
-		// test transient start Bundle.start(START_TRANSIENT)
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		Object[] expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		Object[] expectedEvents = new Object[0];
-		Object[] actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		// now call start(START_TRANSIENT) before the start-level is met.  This should result in no events
-		try {
-			osgiA.start(Bundle.START_TRANSIENT);
-			assertFalse("Bundle is started!!", osgiA.getState() == Bundle.ACTIVE); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Expected invalid operation", BundleException.INVALID_OPERATION, e.getType()); //$NON-NLS-1$
-		}
-		expectedEvents = new Object[0];
-		actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[0];
-		actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		// now call start(START_TRANSIENT) while start-level is met.
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		osgiA.start(Bundle.START_TRANSIENT);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testStartResolve() throws Exception {
-		// install a bundle and set its start-level high, then crank up the framework start-level.  This should result in no events
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		StartLevel startLevel = installer.getStartLevel();
-		startLevel.setBundleStartLevel(test, startLevel.getStartLevel() + 10);
-		try {
-			test.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state", Bundle.INSTALLED, test.getState()); //$NON-NLS-1$
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		Object[] expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-		assertEquals("Wrong state", Bundle.ACTIVE, test.getState()); //$NON-NLS-1$
-	}
-
-	public void testStopTransient() throws Exception {
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {osgiA});
-		StartLevel startLevel = installer.getStartLevel();
-		startLevel.setBundleStartLevel(osgiA, startLevel.getStartLevel() + 10);
-		// persistently start the bundle
-		osgiA.start();
-
-		// test that the bundle is started when start-level is met
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		Object[] expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		Object[] expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		Object[] actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		// now call stop(STOP_TRANSIENT) while the start-level is met.
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		osgiA.stop(Bundle.STOP_TRANSIENT);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		// now make sure the bundle still restarts when start-level is met
-		startLevel.setStartLevel(startLevel.getStartLevel() + 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-		startLevel.setStartLevel(startLevel.getStartLevel() - 15);
-		expectedFrameworkEvents = new Object[1];
-		expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-		actualFrameworkEvents = frameworkListenerResults.getResults(1);
-		compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testBug258659_01() throws Exception {
-		// install a bundle
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		SynchronousBundleListener testLoadClassListener = new SynchronousBundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				if (event.getType() == BundleEvent.LAZY_ACTIVATION)
-					try {
-						event.getBundle().loadClass("osgi.lazystart.a.ATest"); //$NON-NLS-1$
-					} catch (ClassNotFoundException e) {
-						simpleResults.addEvent(e);
-					}
-			}
-
-		};
-		OSGiTestsActivator.getContext().addBundleListener(testLoadClassListener);
-		try {
-			osgiA.start(Bundle.START_ACTIVATION_POLICY);
-			Object[] expectedEvents = new Object[1];
-			expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-			Object[] actualEvents = simpleResults.getResults(1);
-			compareResults(expectedEvents, actualEvents);
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testLoadClassListener);
-		}
-	}
-
-	public void testBug258659_02() throws Exception {
-		// install a bundle
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		osgiA.start(Bundle.START_ACTIVATION_POLICY);
-		SynchronousBundleListener testLoadClassListener = new SynchronousBundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				if (event.getType() == BundleEvent.LAZY_ACTIVATION)
-					try {
-						event.getBundle().loadClass("osgi.lazystart.a.ATest"); //$NON-NLS-1$
-					} catch (ClassNotFoundException e) {
-						simpleResults.addEvent(e);
-					}
-			}
-
-		};
-		OSGiTestsActivator.getContext().addBundleListener(testLoadClassListener);
-		try {
-			installer.refreshPackages(new Bundle[] {osgiA});
-			Object[] expectedEvents = new Object[1];
-			expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-			Object[] actualEvents = simpleResults.getResults(1);
-			compareResults(expectedEvents, actualEvents);
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testLoadClassListener);
-		}
-	}
-
-	public void testBug258659_03() throws Exception {
-		// install a bundle
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		SynchronousBundleListener testLoadClassListener = new SynchronousBundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				if (event.getType() == BundleEvent.STARTED)
-					try {
-						event.getBundle().stop();
-					} catch (BundleException e) {
-						simpleResults.addEvent(e);
-					}
-			}
-
-		};
-		OSGiTestsActivator.getContext().addBundleListener(testLoadClassListener);
-		try {
-			test.start();
-			Object[] expectedEvents = new Object[2];
-			expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, test);
-			expectedEvents[1] = new BundleEvent(BundleEvent.STOPPED, test);
-			Object[] actualEvents = simpleResults.getResults(2);
-			compareResults(expectedEvents, actualEvents);
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testLoadClassListener);
-		}
-	}
-
-	public void testBug258659_04() throws Exception {
-		// install a bundle
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		test.start();
-		SynchronousBundleListener testLoadClassListener = new SynchronousBundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				if (event.getType() == BundleEvent.STARTED)
-					try {
-						event.getBundle().stop();
-					} catch (BundleException e) {
-						simpleResults.addEvent(e);
-					}
-			}
-
-		};
-		// clear the results from the initial start
-		simpleResults.getResults(0);
-		// listen for the events from refreshing
-		OSGiTestsActivator.getContext().addBundleListener(testLoadClassListener);
-		try {
-			installer.refreshPackages(new Bundle[] {test});
-			Object[] expectedEvents = new Object[3];
-			expectedEvents[0] = new BundleEvent(BundleEvent.STOPPED, test);
-			expectedEvents[1] = new BundleEvent(BundleEvent.STARTED, test);
-			expectedEvents[2] = new BundleEvent(BundleEvent.STOPPED, test);
-			Object[] actualEvents = simpleResults.getResults(3);
-			compareResults(expectedEvents, actualEvents);
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testLoadClassListener);
-		}
-	}
-
-	public void testBug213791() throws Exception {
-		// install a bundle and call start(START_ACTIVATION_POLICY) twice
-		Bundle osgiA = installer.installBundle("osgi.lazystart.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {osgiA});
-		if (osgiA.getState() == Bundle.STARTING)
-			osgiA.stop();
-		osgiA.start(Bundle.START_ACTIVATION_POLICY);
-		Object[] expectedEvents = new Object[0];
-		Object[] actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		osgiA.start(Bundle.START_ACTIVATION_POLICY);
-		expectedEvents = new Object[0];
-		actualEvents = simpleResults.getResults(0);
-		compareResults(expectedEvents, actualEvents);
-
-		osgiA.loadClass("osgi.lazystart.a.ATest"); //$NON-NLS-1$
-		expectedEvents = new Object[1];
-		expectedEvents[0] = new BundleEvent(BundleEvent.STARTED, osgiA);
-		actualEvents = simpleResults.getResults(1);
-		compareResults(expectedEvents, actualEvents);
-
-	}
-
-	public void testThreadLock() throws Exception {
-		Bundle threadLockTest = installer.installBundle("thread.locktest"); //$NON-NLS-1$
-		threadLockTest.loadClass("thread.locktest.ATest"); //$NON-NLS-1$
-
-		Object[] expectedEvents = new Object[2];
-		expectedEvents[0] = new Long(5000);
-		expectedEvents[1] = new BundleEvent(BundleEvent.STARTED, threadLockTest);
-		Object[] actualEvents = simpleResults.getResults(2);
-		compareResults(expectedEvents, actualEvents);
-
-	}
-
-	public void testURLsBug164077() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		URL[] urls = new URL[2];
-		urls[0] = test.getResource("a/b/c/d"); //$NON-NLS-1$
-		urls[1] = test.getEntry("a/b/c/d"); //$NON-NLS-1$
-		assertNotNull("resource", urls[0]); //$NON-NLS-1$
-		assertNotNull("entry", urls[1]); //$NON-NLS-1$
-		for (int i = 0; i < urls.length; i++) {
-			URL testURL = new URL(urls[i], "g"); //$NON-NLS-1$
-			assertEquals("g", "/a/b/c/g", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "./g"); //$NON-NLS-1$
-			assertEquals("./g", "/a/b/c/g", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "g/"); //$NON-NLS-1$
-			assertEquals("g/", "/a/b/c/g/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "/g"); //$NON-NLS-1$
-			assertEquals("/g", "/g", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "?y"); //$NON-NLS-1$
-			assertEquals("?y", "/a/b/c/?y", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "g?y"); //$NON-NLS-1$
-			assertEquals("g?y", "/a/b/c/g?y", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "g#s"); //$NON-NLS-1$
-			assertEquals("g#s", "/a/b/c/g#s", testURL.getPath() + "#s"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			testURL = new URL(urls[i], "g?y#s"); //$NON-NLS-1$
-			assertEquals("g?y#s", "/a/b/c/g?y#s", testURL.getPath() + "#s"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			testURL = new URL(urls[i], ";x"); //$NON-NLS-1$
-			assertEquals(";x", "/a/b/c/;x", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "g;x"); //$NON-NLS-1$
-			assertEquals("g;x", "/a/b/c/g;x", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "g;x?y#s"); //$NON-NLS-1$
-			assertEquals("g;x?y#s", "/a/b/c/g;x?y#s", testURL.getPath() + "#s"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			testURL = new URL(urls[i], "."); //$NON-NLS-1$
-			assertEquals(".", "/a/b/c/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "./"); //$NON-NLS-1$
-			assertEquals("./", "/a/b/c/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], ".."); //$NON-NLS-1$
-			assertEquals("..", "/a/b/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "../"); //$NON-NLS-1$
-			assertEquals("../", "/a/b/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "../g"); //$NON-NLS-1$
-			assertEquals("../g", "/a/b/g", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "../.."); //$NON-NLS-1$
-			assertEquals("../..", "/a/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "../../"); //$NON-NLS-1$
-			assertEquals("../../", "/a/", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			testURL = new URL(urls[i], "../../g"); //$NON-NLS-1$
-			assertEquals("../../g", "/a/g", testURL.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	public void testEntryURLEqualsHashCode() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		URL testEntry1 = test.getEntry("a/b/c/d"); //$NON-NLS-1$
-		URL testEntry2 = test.getEntry("a/b/c/d"); //$NON-NLS-1$
-		assertEquals("url equals 1.0", testEntry1, testEntry2); //$NON-NLS-1$
-		assertEquals("hashcode equals 1.1", testEntry1.hashCode(), testEntry2.hashCode()); //$NON-NLS-1$
-
-		URL testEntry3 = new URL(testEntry1, "./d"); //$NON-NLS-1$
-		assertEquals("url equals 2.0", testEntry1, testEntry3); //$NON-NLS-1$
-		assertEquals("hashcode equals 2.1", testEntry1.hashCode(), testEntry3.hashCode()); //$NON-NLS-1$
-
-		URL testEntry4 = new URL(testEntry3.toString());
-		assertEquals("url equals 3.0", testEntry4, testEntry3); //$NON-NLS-1$
-		assertEquals("hashcode equals 3.1", testEntry4.hashCode(), testEntry3.hashCode()); //$NON-NLS-1$
-	}
-
-	public void testResourceURLEqualsHashCode() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		URL testResource1 = test.getResource("a/b/c/d"); //$NON-NLS-1$
-		URL testResource2 = test.getResource("a/b/c/d"); //$NON-NLS-1$
-		assertEquals("url equals 1.0", testResource1, testResource2); //$NON-NLS-1$
-		assertEquals("hashcode equals 1.1", testResource1.hashCode(), testResource2.hashCode()); //$NON-NLS-1$
-
-		URL testResource3 = new URL(testResource1, "./d"); //$NON-NLS-1$
-		assertEquals("url equals 2.0", testResource1, testResource3); //$NON-NLS-1$
-		assertEquals("hashcode equals 2.1", testResource1.hashCode(), testResource3.hashCode()); //$NON-NLS-1$
-
-		URL testResource4 = new URL(testResource3.toString());
-		assertEquals("url equals 3.0", testResource4, testResource3); //$NON-NLS-1$
-		assertEquals("hashcode equals 3.1", testResource4.hashCode(), testResource3.hashCode()); //$NON-NLS-1$
-	}
-
-	public void testGetEntryDir01() throws BundleException {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		URL aDir = test.getEntry("a"); //$NON-NLS-1$
-		assertNotNull("aDir", aDir); //$NON-NLS-1$
-		assertTrue(aDir.toExternalForm(), aDir.getFile().endsWith("/")); //$NON-NLS-1$
-		URL bDir = test.getEntry("a/b"); //$NON-NLS-1$
-		assertNotNull("bDir", bDir); //$NON-NLS-1$
-		assertTrue(bDir.toExternalForm(), bDir.getFile().endsWith("/")); //$NON-NLS-1$
-
-		aDir = test.getEntry("a/"); //$NON-NLS-1$
-		assertNotNull("aDir", aDir); //$NON-NLS-1$
-		assertTrue(aDir.toExternalForm(), aDir.getFile().endsWith("/")); //$NON-NLS-1$
-		bDir = test.getEntry("a/b/"); //$NON-NLS-1$
-		assertNotNull("bDir", bDir); //$NON-NLS-1$
-		assertTrue(bDir.toExternalForm(), bDir.getFile().endsWith("/")); //$NON-NLS-1$
-
-		URL dResource = test.getEntry("a/b/c/d"); //$NON-NLS-1$
-		assertNotNull("dResource", dResource); //$NON-NLS-1$
-		assertFalse(dResource.toExternalForm(), dResource.getFile().endsWith("/")); //$NON-NLS-1$
-
-		dResource = test.getEntry("a/b/c/d/"); //$NON-NLS-1$
-		if (dResource != null) // note that File bundles will return non-null whilc jar'ed bundles will return null
-			assertFalse(dResource.toExternalForm(), dResource.getFile().endsWith("/")); //$NON-NLS-1$
-
-	}
-
-	public void testGetResourceDir01() throws BundleException {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		URL aDir = test.getResource("a"); //$NON-NLS-1$
-		assertNotNull("aDir", aDir); //$NON-NLS-1$
-		assertTrue(aDir.toExternalForm(), aDir.getFile().endsWith("/")); //$NON-NLS-1$
-		URL bDir = test.getResource("a/b"); //$NON-NLS-1$
-		assertNotNull("bDir", bDir); //$NON-NLS-1$
-		assertTrue(bDir.toExternalForm(), bDir.getFile().endsWith("/")); //$NON-NLS-1$
-
-		aDir = test.getResource("a/"); //$NON-NLS-1$
-		assertNotNull("aDir", aDir); //$NON-NLS-1$
-		assertTrue(aDir.toExternalForm(), aDir.getFile().endsWith("/")); //$NON-NLS-1$
-		bDir = test.getResource("a/b/"); //$NON-NLS-1$
-		assertNotNull("bDir", bDir); //$NON-NLS-1$
-		assertTrue(bDir.toExternalForm(), bDir.getFile().endsWith("/")); //$NON-NLS-1$
-
-		URL dResource = test.getResource("a/b/c/d"); //$NON-NLS-1$
-		assertNotNull("dResource", dResource); //$NON-NLS-1$
-		assertFalse(dResource.toExternalForm(), dResource.getFile().endsWith("/")); //$NON-NLS-1$
-
-		dResource = test.getResource("a/b/c/d/"); //$NON-NLS-1$
-		if (dResource != null) // note that File bundles will return non-null whilc jar'ed bundles will return null
-			assertFalse(dResource.toExternalForm(), dResource.getFile().endsWith("/")); //$NON-NLS-1$
-
-	}
-
-	public void testBootGetResources() throws Exception {
-		if (System.getProperty(Constants.FRAMEWORK_BOOTDELEGATION) != null)
-			return; // cannot really test this if this property is set
-		// make sure there is only one manifest found
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		Enumeration manifests = test.getResources("META-INF/MANIFEST.MF"); //$NON-NLS-1$
-		assertNotNull("manifests", manifests); //$NON-NLS-1$
-		ArrayList manifestURLs = new ArrayList();
-		while (manifests.hasMoreElements())
-			manifestURLs.add(manifests.nextElement());
-		assertEquals("manifest number", 1, manifestURLs.size()); //$NON-NLS-1$
-		URL manifest = (URL) manifestURLs.get(0);
-		int dotIndex = manifest.getHost().indexOf('.');
-		long bundleId = dotIndex >= 0 && dotIndex < manifest.getHost().length() - 1 ? Long.parseLong(manifest.getHost().substring(0, dotIndex)) : Long.parseLong(manifest.getHost());
-		assertEquals("host id", test.getBundleId(), bundleId); //$NON-NLS-1$
-	}
-
-	public void testMultipleGetResources01() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		// test that we can get multiple resources from a bundle
-		Enumeration resources = test.getResources("data/resource1"); //$NON-NLS-1$
-		assertNotNull("resources", resources); //$NON-NLS-1$
-		ArrayList resourceURLs = new ArrayList();
-		while (resources.hasMoreElements())
-			resourceURLs.add(resources.nextElement());
-		assertEquals("resource number", 2, resourceURLs.size()); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL((URL) resourceURLs.get(0))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("stuff resource", "stuff classpath", readURL((URL) resourceURLs.get(1))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testMultipleGetResources02() throws Exception {
-		installer.installBundle("test"); //$NON-NLS-1$
-		Bundle test2 = installer.installBundle("test2"); //$NON-NLS-1$
-		// test that we can get multiple resources from a bundle
-		Enumeration resources = test2.getResources("data/resource1"); //$NON-NLS-1$
-		assertNotNull("resources", resources); //$NON-NLS-1$
-		ArrayList resourceURLs = new ArrayList();
-		while (resources.hasMoreElements())
-			resourceURLs.add(resources.nextElement());
-		assertEquals("resource number", 4, resourceURLs.size()); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL((URL) resourceURLs.get(0))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("stuff resource", "stuff classpath", readURL((URL) resourceURLs.get(1))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("root resource", "root classpath test2", readURL((URL) resourceURLs.get(2))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("stuff resource", "stuff classpath test2", readURL((URL) resourceURLs.get(3))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testMultipleGetResources03() throws Exception {
-		installer.installBundle("test"); //$NON-NLS-1$
-		Bundle test2 = installer.installBundle("test2"); //$NON-NLS-1$
-		// test that we can get multiple resources from a bundle
-		// test that using a context gives correct results for multiple resources (bug 261853)
-		Enumeration resources = test2.getResources("data/"); //$NON-NLS-1$
-		assertNotNull("resources", resources); //$NON-NLS-1$
-		ArrayList resourceURLs = new ArrayList();
-		while (resources.hasMoreElements())
-			resourceURLs.add(resources.nextElement());
-		assertEquals("resource number", 4, resourceURLs.size()); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL(new URL((URL) resourceURLs.get(0), "resource1"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		assertEquals("stuff resource", "stuff classpath", readURL(new URL((URL) resourceURLs.get(1), "resource1"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		assertEquals("root resource", "root classpath test2", readURL(new URL((URL) resourceURLs.get(2), "resource1"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		assertEquals("stuff resource", "stuff classpath test2", readURL(new URL((URL) resourceURLs.get(3), "resource1"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public void testURLExternalFormat01() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		// test the external format of bundle entry URLs
-		URL entry = test.getEntry("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry", entry); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL(entry)); //$NON-NLS-1$ //$NON-NLS-2$
-		URL entryCopy = new URL(entry.toExternalForm());
-		assertEquals("external format", entry.toExternalForm(), entryCopy.toExternalForm()); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL(entryCopy)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testURLExternalFormat02() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		// test the external format of bundle entry URLs
-		URL entry = test.getResource("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry", entry); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL(entry)); //$NON-NLS-1$ //$NON-NLS-2$
-		URL entryCopy = new URL(entry.toExternalForm());
-		assertEquals("external format", entry.toExternalForm(), entryCopy.toExternalForm()); //$NON-NLS-1$
-		assertEquals("root resource", "root classpath", readURL(entryCopy)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testURLExternalFormat03() throws BundleException {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		// test the external format of bundle resource URLs
-		URL entry = test.getEntry("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry", entry); //$NON-NLS-1$
-		URI uri1 = null;
-		URI uri2 = null;
-		URI uri3 = null;
-		try {
-			uri1 = new URI(entry.getProtocol(), null, entry.getHost(), entry.getPort(), entry.getPath(), null, entry.getQuery());
-			uri2 = new URI(entry.getProtocol(), entry.getHost(), entry.getPath(), entry.getQuery());
-			uri3 = new URI(entry.toExternalForm());
-		} catch (URISyntaxException e) {
-			fail("Unexpected URI exception", e); //$NON-NLS-1$
-		}
-		URL url1 = null;
-		URL url2 = null;
-		URL url3 = null;
-		URL url4 = null;
-		try {
-			url1 = uri1.toURL();
-			url2 = uri2.toURL();
-			url3 = uri3.toURL();
-			url4 = new URL(uri1.toString());
-		} catch (MalformedURLException e) {
-			fail("Unexpected URL exception", e); //$NON-NLS-1$
-		}
-		checkURL("root classpath", entry, url1); //$NON-NLS-1$
-		checkURL("root classpath", entry, url2); //$NON-NLS-1$
-		checkURL("root classpath", entry, url3); //$NON-NLS-1$
-		checkURL("root classpath", entry, url4); //$NON-NLS-1$
-	}
-
-	public void testURLExternalFormat04() throws BundleException {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		// test the external format of bundle resource URLs
-		URL entry = test.getResource("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry", entry); //$NON-NLS-1$
-		URI uri1 = null;
-		URI uri2 = null;
-		URI uri3 = null;
-		try {
-			uri1 = new URI(entry.getProtocol(), null, entry.getHost(), entry.getPort(), entry.getPath(), null, entry.getQuery());
-			uri2 = new URI(entry.getProtocol(), entry.getHost(), entry.getPath(), entry.getQuery());
-			uri3 = new URI(entry.toExternalForm());
-		} catch (URISyntaxException e) {
-			fail("Unexpected URI exception", e); //$NON-NLS-1$
-		}
-		URL url1 = null;
-		URL url2 = null;
-		URL url3 = null;
-		URL url4 = null;
-		try {
-			url1 = uri1.toURL();
-			url2 = uri2.toURL();
-			url3 = uri3.toURL();
-			url4 = new URL(uri1.toString());
-		} catch (MalformedURLException e) {
-			fail("Unexpected URL exception", e); //$NON-NLS-1$
-		}
-		checkURL("root classpath", entry, url1); //$NON-NLS-1$
-		checkURL("root classpath", entry, url2); //$NON-NLS-1$
-		checkURL("root classpath", entry, url3); //$NON-NLS-1$
-		checkURL("root classpath", entry, url4); //$NON-NLS-1$
-	}
-
-	private void checkURL(String content, URL orig, URL copy) {
-		assertEquals("external format", orig.toExternalForm(), copy.toExternalForm()); //$NON-NLS-1$
-		assertEquals(content, content, readURL(copy));
-	}
-
-	public void testURI() throws URISyntaxException {
-		new URI("bundleentry", "1", "/test", null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public void testMultipleExportFragments01() throws Exception {
-		Bundle host = installer.installBundle("host.multiple.exports"); //$NON-NLS-1$
-		Bundle frag = installer.installBundle("frag.multiple.exports"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {host, frag});
-		PackageAdmin packageAdmin = installer.getPackageAdmin();
-		ExportedPackage[] hostExports = packageAdmin.getExportedPackages(host);
-		assertEquals("Number host exports", 3, hostExports == null ? 0 : hostExports.length); //$NON-NLS-1$
-
-		PlatformAdmin platformAdmin = installer.getPlatformAdmin();
-		State systemState = platformAdmin.getState(false);
-		BundleDescription hostDesc = systemState.getBundle(host.getBundleId());
-		ExportPackageDescription[] hostExportDescs = hostDesc.getSelectedExports();
-		assertEquals("Number host export descriptions", 3, hostExportDescs.length); //$NON-NLS-1$
-
-		assertEquals("Check export name", "host.multiple.exports", hostExportDescs[0].getName()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("Check include directive", "Public*", (String) hostExportDescs[0].getDirective("include")); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-
-		assertEquals("Check export name", "host.multiple.exports.onlyone", hostExportDescs[1].getName()); //$NON-NLS-1$ //$NON-NLS-2$
-
-		assertEquals("Check export name", "host.multiple.exports", hostExportDescs[2].getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Check include directive", "private", (String) hostExportDescs[2].getAttributes().get("scope")); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public void testMultipleExportFragments02() throws Exception {
-		Bundle host = installer.installBundle("host.multiple.exports"); //$NON-NLS-1$
-		Bundle frag = installer.installBundle("frag.multiple.exports"); //$NON-NLS-1$
-		Bundle client1 = installer.installBundle("client1.multiple.exports"); //$NON-NLS-1$
-
-		installer.resolveBundles(new Bundle[] {host, frag, client1});
-		client1.start();
-		client1.stop();
-		Object[] expectedEvents = new Object[4];
-		expectedEvents[0] = "host.multiple.exports.PublicClass1"; //$NON-NLS-1$
-		expectedEvents[1] = "host.multiple.exports.PublicClass2"; //$NON-NLS-1$
-		expectedEvents[2] = "success"; //$NON-NLS-1$
-		expectedEvents[3] = "success"; //$NON-NLS-1$
-		Object[] actualEvents = simpleResults.getResults(4);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testMultipleExportFragments03() throws Exception {
-		Bundle host = installer.installBundle("host.multiple.exports"); //$NON-NLS-1$
-		Bundle frag = installer.installBundle("frag.multiple.exports"); //$NON-NLS-1$
-		Bundle client2 = installer.installBundle("client2.multiple.exports"); //$NON-NLS-1$
-
-		installer.resolveBundles(new Bundle[] {host, frag, client2});
-		client2.start();
-		client2.stop();
-		Object[] expectedEvents = new Object[4];
-		expectedEvents[0] = "host.multiple.exports.PublicClass1"; //$NON-NLS-1$
-		expectedEvents[1] = "host.multiple.exports.PublicClass2"; //$NON-NLS-1$
-		expectedEvents[2] = "host.multiple.exports.PrivateClass1"; //$NON-NLS-1$
-		expectedEvents[3] = "host.multiple.exports.PrivateClass2"; //$NON-NLS-1$
-		Object[] actualEvents = simpleResults.getResults(4);
-		compareResults(expectedEvents, actualEvents);
-	}
-
-	public void testXFriends() throws Exception {
-		System.setProperty("osgi.resolverMode", "strict"); //$NON-NLS-1$ //$NON-NLS-2$
-		setPlatformProperties();
-		try {
-			Bundle test1 = installer.installBundle("xfriends.test1"); //$NON-NLS-1$
-			Bundle test2 = installer.installBundle("xfriends.test2"); //$NON-NLS-1$
-			Bundle test3 = installer.installBundle("xfriends.test3"); //$NON-NLS-1$
-			installer.resolveBundles(new Bundle[] {test1, test2, test3});
-			test2.start();
-			test2.stop();
-			test3.start();
-			test3.stop();
-			Object[] expectedEvents = new Object[4];
-			expectedEvents[0] = "xfriends.test1.onlyforfriends.TestFriends"; //$NON-NLS-1$
-			expectedEvents[1] = "xfriends.test1.external.TestFriends"; //$NON-NLS-1$
-			expectedEvents[2] = "success"; //$NON-NLS-1$
-			expectedEvents[3] = "xfriends.test1.external.TestFriends"; //$NON-NLS-1$
-			Object[] actualEvents = simpleResults.getResults(4);
-			compareResults(expectedEvents, actualEvents);
-		} finally {
-			System.getProperties().remove("osgi.resolverMode"); //$NON-NLS-1$
-			setPlatformProperties();
-		}
-	}
-
-	public void testImporterExporter01() throws BundleException {
-		Bundle importerExporter1 = installer.installBundle("exporter.importer1"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {importerExporter1});
-		PackageAdmin pa = installer.getPackageAdmin();
-		ExportedPackage[] origExportedPackages = pa.getExportedPackages("exporter.importer.test"); //$NON-NLS-1$
-		assertNotNull("No exporter.importer.test found", origExportedPackages); //$NON-NLS-1$
-		assertEquals("Wrong number of exports", 1, origExportedPackages.length); //$NON-NLS-1$
-		Bundle exporter = origExportedPackages[0].getExportingBundle();
-		assertEquals("Wrong exporter", importerExporter1, exporter); //$NON-NLS-1$
-		// TODO need to get clarification from OSGi on what is returned by getImportingBundles when there is no importers
-		Bundle[] origImporters = origExportedPackages[0].getImportingBundles();
-		assertTrue("Should have no importers", origImporters == null || origImporters.length == 0); //$NON-NLS-1$
-
-		// install another importer/exporter.  This bundle should wire to the original exporter
-		Bundle importerExporter2 = installer.installBundle("exporter.importer2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {importerExporter2});
-
-		origImporters = origExportedPackages[0].getImportingBundles();
-		assertNotNull("No importers found", origImporters); //$NON-NLS-1$
-		assertEquals("Wrong number of importers", 1, origImporters.length); //$NON-NLS-1$
-		assertEquals("Wrong importer", importerExporter2, origImporters[0]); //$NON-NLS-1$
-
-		ExportedPackage[] newExportedPackages = pa.getExportedPackages("exporter.importer.test"); //$NON-NLS-1$
-		assertNotNull("No exporter.importer.test found", newExportedPackages); //$NON-NLS-1$
-		assertEquals("Wrong number of exports", 1, newExportedPackages.length); //$NON-NLS-1$
-		exporter = newExportedPackages[0].getExportingBundle();
-		assertEquals("Wrong exporter", importerExporter1, exporter); //$NON-NLS-1$
-		Bundle[] newImporters = newExportedPackages[0].getImportingBundles();
-		assertNotNull("No importers found", newImporters); //$NON-NLS-1$
-		assertEquals("Wrong number of importers", 1, newImporters.length); //$NON-NLS-1$
-		assertEquals("Wrong importer", importerExporter2, newImporters[0]); //$NON-NLS-1$
-	}
-
-	public void testImporterExporter02() throws BundleException {
-		Bundle importerExporter3 = installer.installBundle("exporter.importer3"); //$NON-NLS-1$
-		Bundle importerExporter4 = installer.installBundle("exporter.importer4"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {importerExporter3, importerExporter4});
-
-		importerExporter3.start();
-		importerExporter3.stop();
-		importerExporter3.update();
-		try {
-			importerExporter3.start();
-		} catch (Throwable t) {
-			fail("Unexpected exception", t); //$NON-NLS-1$
-		}
-	}
-
-	public void testBug207847() throws BundleException {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {test});
-		test.start();
-
-		Bundle frag1 = installer.installBundle("test.fragment1"); //$NON-NLS-1$
-		Bundle frag2 = installer.installBundle("test.fragment2"); //$NON-NLS-1$
-		Bundle frag3 = installer.installBundle("test.fragment3"); //$NON-NLS-1$
-		Bundle frag4 = installer.installBundle("test.fragment4"); //$NON-NLS-1$
-		Bundle frag5 = installer.installBundle("test.fragment5"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {frag1, frag2, frag3, frag4, frag5});
-
-		assertTrue("host is not resolved", (test.getState() & Bundle.ACTIVE) != 0); //$NON-NLS-1$
-		assertTrue("frag1 is not resolved", (frag1.getState() & Bundle.RESOLVED) != 0); //$NON-NLS-1$
-		assertTrue("frag2 is not resolved", (frag2.getState() & Bundle.RESOLVED) != 0); //$NON-NLS-1$
-		assertTrue("frag3 is not resolved", (frag3.getState() & Bundle.RESOLVED) != 0); //$NON-NLS-1$
-		assertTrue("frag4 is not resolved", (frag4.getState() & Bundle.RESOLVED) != 0); //$NON-NLS-1$
-		assertTrue("frag5 is not resolved", (frag5.getState() & Bundle.RESOLVED) != 0); //$NON-NLS-1$
-	}
-
-	public void testBug235958() throws BundleException {
-		Bundle testX = installer.installBundle("test.bug235958.x"); //$NON-NLS-1$
-		Bundle testY = installer.installBundle("test.bug235958.y"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {testX, testY});
-		try {
-			testX.start();
-		} catch (Exception e) {
-			fail("Unexpected Exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBuddyClassLoadingRegistered1() throws Exception {
-		Bundle registeredA = installer.installBundle("buddy.registered.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredA});
-		Enumeration testFiles = registeredA.getResources("resources/test.txt"); //$NON-NLS-1$
-		assertNotNull("testFiles", testFiles); //$NON-NLS-1$
-		ArrayList texts = new ArrayList();
-		while (testFiles.hasMoreElements())
-			texts.add(readURL((URL) testFiles.nextElement()));
-		assertEquals("test.txt number", 1, texts.size()); //$NON-NLS-1$
-		assertTrue("buddy.registered.a", texts.contains("buddy.registered.a")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		Bundle registeredATest1 = installer.installBundle("buddy.registered.a.test1"); //$NON-NLS-1$
-		Bundle registeredATest2 = installer.installBundle("buddy.registered.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredATest1, registeredATest2});
-		testFiles = registeredA.getResources("resources/test.txt"); //$NON-NLS-1$
-		assertNotNull("testFiles", testFiles); //$NON-NLS-1$
-		texts = new ArrayList();
-		while (testFiles.hasMoreElements())
-			texts.add(readURL((URL) testFiles.nextElement()));
-
-		// The real test
-		assertEquals("test.txt number", 3, texts.size()); //$NON-NLS-1$
-		assertTrue("buddy.registered.a", texts.contains("buddy.registered.a")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("buddy.registered.a.test1", texts.contains("buddy.registered.a.test1")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("buddy.registered.a.test2", texts.contains("buddy.registered.a.test2")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testBuddyClassLoadingRegistered2() throws Exception {
-		Bundle registeredA = installer.installBundle("buddy.registered.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredA});
-		URL testFile = registeredA.getResource("resources/test1.txt"); //$NON-NLS-1$
-		assertNull("test1.txt", testFile); //$NON-NLS-1$
-
-		testFile = registeredA.getResource("resources/test2.txt"); //$NON-NLS-1$
-		assertNull("test2.txt", testFile); //$NON-NLS-1$
-
-		Bundle registeredATest1 = installer.installBundle("buddy.registered.a.test1"); //$NON-NLS-1$
-		Bundle registeredATest2 = installer.installBundle("buddy.registered.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredATest1, registeredATest2});
-
-		testFile = registeredA.getResource("resources/test1.txt"); //$NON-NLS-1$
-		assertNotNull("test1.txt", testFile); //$NON-NLS-1$
-		assertEquals("buddy.registered.a.test1", "buddy.registered.a.test1", readURL(testFile)); //$NON-NLS-1$ //$NON-NLS-2$
-
-		testFile = registeredA.getResource("resources/test2.txt"); //$NON-NLS-1$
-		assertNotNull("test2.txt", testFile); //$NON-NLS-1$
-		assertEquals("buddy.registered.a.test2", "buddy.registered.a.test2", readURL(testFile)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testBuddyClassLoadingRegistered3() throws Exception {
-		Bundle registeredA = installer.installBundle("buddy.registered.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredA});
-		try {
-			registeredA.loadClass("buddy.registered.a.test1.ATest"); //$NON-NLS-1$
-			fail("expected ClassNotFoundException"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		try {
-			registeredA.loadClass("buddy.registered.a.test2.ATest"); //$NON-NLS-1$
-			fail("expected ClassNotFoundException"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		Bundle registeredATest1 = installer.installBundle("buddy.registered.a.test1"); //$NON-NLS-1$
-		Bundle registeredATest2 = installer.installBundle("buddy.registered.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {registeredATest1, registeredATest2});
-
-		try {
-			Class testClass = registeredA.loadClass("buddy.registered.a.test1.ATest"); //$NON-NLS-1$
-			assertNotNull("testClass", testClass); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected ClassNotFoundException", e); //$NON-NLS-1$
-		}
-
-		try {
-			Class testClass = registeredA.loadClass("buddy.registered.a.test2.ATest"); //$NON-NLS-1$
-			assertNotNull("testClass", testClass); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected ClassNotFoundException", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBuddyClassLoadingDependent1() throws Exception {
-		Bundle dependentA = installer.installBundle("buddy.dependent.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentA});
-		Enumeration testFiles = dependentA.getResources("resources/test.txt"); //$NON-NLS-1$
-		assertNotNull("testFiles", testFiles); //$NON-NLS-1$
-		ArrayList texts = new ArrayList();
-		while (testFiles.hasMoreElements())
-			texts.add(readURL((URL) testFiles.nextElement()));
-		assertEquals("test.txt number", 1, texts.size()); //$NON-NLS-1$
-		assertTrue("buddy.dependent.a", texts.contains("buddy.dependent.a")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		Bundle dependentATest1 = installer.installBundle("buddy.dependent.a.test1"); //$NON-NLS-1$
-		Bundle dependentATest2 = installer.installBundle("buddy.dependent.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentATest1, dependentATest2});
-		testFiles = dependentA.getResources("resources/test.txt"); //$NON-NLS-1$
-		assertNotNull("testFiles", testFiles); //$NON-NLS-1$
-		texts = new ArrayList();
-		while (testFiles.hasMoreElements())
-			texts.add(readURL((URL) testFiles.nextElement()));
-		assertEquals("test.txt number", 3, texts.size()); //$NON-NLS-1$
-		assertTrue("buddy.dependent.a", texts.contains("buddy.dependent.a")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue("buddy.dependent.a.test1", texts.contains("buddy.dependent.a.test1")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("buddy.dependent.a.test2", texts.contains("buddy.dependent.a.test2")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testBuddyClassLoadingDependent2() throws Exception {
-		Bundle dependentA = installer.installBundle("buddy.dependent.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentA});
-		URL testFile = dependentA.getResource("resources/test1.txt"); //$NON-NLS-1$
-		assertNull("test1.txt", testFile); //$NON-NLS-1$
-
-		testFile = dependentA.getResource("resources/test2.txt"); //$NON-NLS-1$
-		assertNull("test2.txt", testFile); //$NON-NLS-1$
-
-		Bundle dependentATest1 = installer.installBundle("buddy.dependent.a.test1"); //$NON-NLS-1$
-		Bundle dependentATest2 = installer.installBundle("buddy.dependent.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentATest1, dependentATest2});
-
-		testFile = dependentA.getResource("resources/test1.txt"); //$NON-NLS-1$
-		assertNotNull("test1.txt", testFile); //$NON-NLS-1$
-		assertEquals("buddy.dependent.a.test1", "buddy.dependent.a.test1", readURL(testFile)); //$NON-NLS-1$ //$NON-NLS-2$
-
-		testFile = dependentA.getResource("resources/test2.txt"); //$NON-NLS-1$
-		assertNotNull("test2.txt", testFile); //$NON-NLS-1$
-		assertEquals("buddy.dependent.a.test2", "buddy.dependent.a.test2", readURL(testFile)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testBuddyClassLoadingDependent3() throws Exception {
-		Bundle dependentA = installer.installBundle("buddy.dependent.a"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentA});
-
-		try {
-			dependentA.loadClass("buddy.dependent.a.test1.ATest"); //$NON-NLS-1$
-			fail("expected ClassNotFoundException"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-
-		try {
-			dependentA.loadClass("buddy.dependent.a.test2.ATest"); //$NON-NLS-1$
-			fail("expected ClassNotFoundException"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-
-		Bundle dependentATest1 = installer.installBundle("buddy.dependent.a.test1"); //$NON-NLS-1$
-		Bundle dependentATest2 = installer.installBundle("buddy.dependent.a.test2"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {dependentATest1, dependentATest2});
-
-		try {
-			Class testClass = dependentA.loadClass("buddy.dependent.a.test1.ATest"); //$NON-NLS-1$
-			assertNotNull("testClass", testClass); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected ClassNotFoundException", e); //$NON-NLS-1$
-		}
-		try {
-			Class testClass = dependentA.loadClass("buddy.dependent.a.test2.ATest"); //$NON-NLS-1$
-			assertNotNull("testClass", testClass); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected ClassNotFoundException", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleReference01() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		Class clazz = test.loadClass("test1.Activator"); //$NON-NLS-1$
-		Bundle bundle = FrameworkUtil.getBundle(clazz);
-		assertEquals("Wrong bundle", test, bundle); //$NON-NLS-1$
-	}
-
-	public void testBundleReference02() throws Exception {
-		Bundle test = installer.installBundle("test"); //$NON-NLS-1$
-		Class clazz = test.loadClass("test1.Activator"); //$NON-NLS-1$
-		ClassLoader cl = clazz.getClassLoader();
-		if (!(cl instanceof BundleReference))
-			fail("ClassLoader is not of type BundleReference"); //$NON-NLS-1$
-		assertEquals("Wrong bundle", test, ((BundleReference) cl).getBundle()); //$NON-NLS-1$
-	}
-
-	public void testResolveURLRelativeBundleResourceWithPort() throws Exception {
-		URL directory = new URL("bundleresource://82:1/dictionaries/"); //$NON-NLS-1$
-		assertEquals(1, directory.getPort());
-
-		URL resource = new URL(directory, "en_GB.dictionary"); //$NON-NLS-1$
-		assertEquals(1, resource.getPort());
-	}
-
-	public void testManifestPackageSpec() {
-		try {
-			Bundle test = installer.installBundle("test.manifestpackage"); //$NON-NLS-1$
-			test.start();
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testArrayTypeLoad() {
-		doTestArrayTypeLoad("[B"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[C"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[D"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[F"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[I"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[J"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[S"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[Z"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[Lorg.eclipse.osgi.tests.bundles.ArrayTest;"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[[D"); //$NON-NLS-1$
-		doTestArrayTypeLoad("[[Lorg.eclipse.osgi.tests.bundles.ArrayTest;"); //$NON-NLS-1$
-	}
-
-	public void testSystemBundleGetResources01() {
-		Bundle systemBundle = OSGiTestsActivator.getContext().getBundle(0);
-		Enumeration resources = null;
-		try {
-			resources = systemBundle.getResources("hookconfigurators.properties");
-		} catch (IOException e) {
-			fail("Failed to get resources", e);
-		}
-		assertNotNull("Resources is null", resources);
-	}
-
-	public void testSystemBundleGetResources02() {
-		Bundle systemBundle = OSGiTestsActivator.getContext().getBundle(0);
-		Enumeration resources = null;
-		try {
-			resources = systemBundle.getResources("java/lang/test.resource");
-		} catch (IOException e) {
-			fail("Failed to get resources", e);
-		}
-		assertNull("Resources is not null", resources);
-	}
-
-	public void testBug299921() {
-		ClassLoader cl = this.getClass().getClassLoader();
-		Enumeration resources = null;
-		try {
-			Method findMethod = ClassLoader.class.getDeclaredMethod("findResources", new Class[] {String.class});
-			findMethod.setAccessible(true);
-
-			resources = (Enumeration) findMethod.invoke(cl, new Object[] {"test/doesnotexist.txt"});
-		} catch (Exception e) {
-			fail("Unexpected error calling getResources", e);
-		}
-		assertNotNull("Should not be null", resources);
-		assertFalse("Found resources!", resources.hasMoreElements());
-		try {
-			resources = cl.getResources("test/doesnotexist.txt");
-		} catch (IOException e) {
-			fail("Unexpected IOException", e);
-		}
-		assertNotNull("Should not be null", resources);
-		assertFalse("Found resources!", resources.hasMoreElements());
-	}
-
-	public void testBug306181() throws BundleException {
-		StartLevel sl = installer.getStartLevel();
-		int origSL = sl.getStartLevel();
-		int origBundleSL = sl.getInitialBundleStartLevel();
-		int newSL = origSL + 1;
-		sl.setInitialBundleStartLevel(newSL);
-		try {
-			Bundle a = installer.installBundle("test.bug306181a");
-			Bundle b = installer.installBundle("test.bug306181b");
-
-			sl.setBundleStartLevel(a, newSL);
-			sl.setBundleStartLevel(b, newSL);
-			installer.resolveBundles(new Bundle[] {a, b});
-			a.start();
-			b.start(Bundle.START_ACTIVATION_POLICY);
-
-			sl.setStartLevel(newSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-
-			assertEquals("Bundle A is not active", Bundle.ACTIVE, a.getState());
-			assertEquals("Bundle B is not active", Bundle.STARTING, b.getState());
-			ServiceReference[] regs = a.getRegisteredServices();
-			if (regs != null && regs.length > 0) {
-				fail(OSGiTestsActivator.getContext().getService(regs[0]).toString());
-			}
-		} finally {
-			sl.setInitialBundleStartLevel(origBundleSL);
-			sl.setStartLevel(origSL);
-			Object[] expectedFrameworkEvents = new Object[1];
-			expectedFrameworkEvents[0] = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, OSGiTestsActivator.getContext().getBundle(0), null);
-			Object[] actualFrameworkEvents = frameworkListenerResults.getResults(1);
-			compareResults(expectedFrameworkEvents, actualFrameworkEvents);
-		}
-	}
-
-	private void doTestArrayTypeLoad(String name) {
-		try {
-			Class arrayType = OSGiTestsActivator.getContext().getBundle().loadClass(name);
-			assertNotNull("Null class", arrayType); //$NON-NLS-1$
-			assertTrue("Class is not an array: " + arrayType, arrayType.isArray()); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	private String readURL(URL url) {
-		StringBuffer sb = new StringBuffer();
-		try {
-			BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
-			try {
-				for (String line = reader.readLine(); line != null;) {
-					sb.append(line);
-					line = reader.readLine();
-					if (line != null)
-						sb.append('\n');
-				}
-			} finally {
-				reader.close();
-			}
-		} catch (IOException e) {
-			fail("Unexpected exception reading url: " + url.toExternalForm(), e); //$NON-NLS-1$
-		}
-		return sb.toString();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/EventListenerTestResults.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/EventListenerTestResults.java
deleted file mode 100644
index c3941bd..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/EventListenerTestResults.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import org.osgi.framework.*;
-
-public class EventListenerTestResults extends TestResults implements BundleListener, FrameworkListener {
-	public void bundleChanged(BundleEvent event) {
-		addEvent(event);
-	}
-
-	public void frameworkEvent(FrameworkEvent event) {
-		addEvent(event);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ExtensionBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ExtensionBundleTests.java
deleted file mode 100644
index 5ed5de4..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ExtensionBundleTests.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.Bundle;
-
-public class ExtensionBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(ExtensionBundleTests.class);
-	}
-
-	public void testFrameworkExtension01() throws Exception {
-		Bundle fwkext = installer.installBundle("ext.framework.a", false); //$NON-NLS-1$
-		Bundle importer = installer.installBundle("ext.framework.a.importer"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {fwkext, importer});
-
-		importer.start();
-		importer.stop();
-		Object[] results = simpleResults.getResults(2);
-		assertTrue("1.0", results.length == 2); //$NON-NLS-1$
-		assertEquals("1.1", "success", results[0]); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("1.2", "success", results[1]); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testFrameworkExtension02() throws Exception {
-		Bundle fwkext = installer.installBundle("ext.framework.a", false); //$NON-NLS-1$
-		Bundle importer = installer.installBundle("ext.framework.a.requires"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {fwkext, importer});
-
-		importer.start();
-		importer.stop();
-		Object[] results = simpleResults.getResults(2);
-		assertTrue("1.0", results.length == 2); //$NON-NLS-1$
-		assertEquals("1.1", "success", results[0]); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("1.2", "success", results[1]); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testExtClasspathExtension01() throws Exception {
-		Bundle fwkext = installer.installBundle("ext.extclasspath.a", false); //$NON-NLS-1$
-		Bundle importer = installer.installBundle("ext.extclasspath.a.importer"); //$NON-NLS-1$
-		installer.resolveBundles(new Bundle[] {fwkext, importer});
-
-		importer.start();
-		importer.stop();
-		Object[] results = simpleResults.getResults(2);
-		assertTrue("1.0", results.length == 2); //$NON-NLS-1$
-		assertEquals("1.1", "success", results[0]); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("1.2", "success", results[1]); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ITestRunner.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ITestRunner.java
deleted file mode 100644
index f8ab83a..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/ITestRunner.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-public interface ITestRunner {
-	public Object testIt() throws Exception;
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/NativeCodeBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/NativeCodeBundleTests.java
deleted file mode 100644
index 863efa8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/NativeCodeBundleTests.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class NativeCodeBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(NativeCodeBundleTests.class);
-	}
-
-	public void testNativeCode01() throws Exception {
-		Bundle nativetestA1 = installer.installBundle("nativetest.a1");
-		nativetestA1.start();
-		nativetestA1.stop();
-		Object[] a1Results = simpleResults.getResults(1);
-
-		installer.updateBundle("nativetest.a1", "nativetest.a2");
-		nativetestA1.start();
-		nativetestA1.stop();
-		Object[] a2Results = simpleResults.getResults(1);
-		assertTrue("1.0", a1Results.length == 1);
-		assertTrue("1.1", a2Results.length == 1);
-		assertNotNull("1.2", a1Results[0]);
-		assertNotNull("1.3", a2Results[0]);
-		assertFalse("1.4", a1Results[0].equals(a2Results[0]));
-	}
-
-	public void testNativeCode02() throws Exception {
-		Bundle nativetestB1 = installer.installBundle("nativetest.b1");
-		nativetestB1.start();
-		nativetestB1.stop();
-		Object[] b1Results = simpleResults.getResults(1);
-
-		installer.updateBundle("nativetest.b1", "nativetest.b2");
-		nativetestB1.start();
-		nativetestB1.stop();
-		Object[] b2Results = simpleResults.getResults(1);
-		assertTrue("1.0", b1Results.length == 1);
-		assertTrue("1.1", b2Results.length == 1);
-		assertNotNull("1.2", b1Results[0]);
-		assertNotNull("1.3", b2Results[0]);
-		assertFalse("1.4", b1Results[0].equals(b2Results[0]));
-	}
-
-	public void testNativeCode03() throws Exception {
-		System.setProperty("nativecodetest", "1");
-		setPlatformProperties();
-		Bundle nativetestC = installer.installBundle("nativetest.c");
-		nativetestC.start();
-		nativetestC.stop();
-		Object[] results = simpleResults.getResults(1);
-
-		assertTrue("1.0", results.length == 1);
-		assertEquals("1.1", "libs.test1", getContent((String) results[0]));
-	}
-
-	public void testNativeCode04() throws Exception {
-		System.setProperty("nativecodetest", "unresolved");
-		setPlatformProperties();
-		Bundle nativetestC = installer.installBundle("nativetest.c");
-		installer.resolveBundles(new Bundle[] {nativetestC});
-		assertTrue("1.0", nativetestC.getState() == Bundle.INSTALLED);
-	}
-
-	public void testNativeCode05() throws Exception {
-		System.setProperty("nativecodetest", "2");
-		setPlatformProperties();
-		Bundle nativetestC = installer.installBundle("nativetest.c");
-		nativetestC.start();
-		nativetestC.stop();
-		Object[] results = simpleResults.getResults(1);
-
-		assertTrue("1.0", results.length == 1);
-		assertEquals("1.1", "libs.test3", getContent((String) results[0]));
-	}
-
-	public void testNativeCode06() throws Exception {
-		System.setProperty("nativecodetest", "3");
-		setPlatformProperties();
-		Bundle nativetestC = installer.installBundle("nativetest.c");
-		nativetestC.start();
-		nativetestC.stop();
-		Object[] results = simpleResults.getResults(1);
-
-		assertTrue("1.0", results.length == 1);
-		assertEquals("1.1", "libs.test2", getContent((String) results[0]));
-	}
-
-	public void testNativeCode07() throws Exception {
-		Bundle nativetestC = installer.installBundle("nativetest.d");
-		nativetestC.start();
-		nativetestC.stop();
-		Object[] results = simpleResults.getResults(1);
-
-		assertTrue("1.0", results.length == 1);
-		assertNull("1.1", results[0]);
-	}
-
-	public void testNativeCode08() throws Exception {
-		System.setProperty("nativecodetest", "4");
-		setPlatformProperties();
-		Bundle nativetestC = installer.installBundle("nativetest.c");
-		try {
-			nativetestC.start();
-			fail("Should not be able to start bundle with missing native code path");
-		} catch (BundleException e) {
-			// expected
-			assertEquals("Wrong exception type", BundleException.NATIVECODE_ERROR, e.getType());
-		}
-	}
-
-	private String getContent(String file) throws IOException {
-		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
-		try {
-			return br.readLine();
-		} finally {
-			br.close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PackageAdminBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PackageAdminBundleTests.java
deleted file mode 100644
index 70f3c0e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PackageAdminBundleTests.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.ExportedPackage;
-
-public class PackageAdminBundleTests extends AbstractBundleTests {
-	public class TestListener implements SynchronousBundleListener {
-		ArrayList events = new ArrayList();
-
-		public synchronized void bundleChanged(BundleEvent event) {
-			events.add(event);
-		}
-
-		public synchronized BundleEvent[] getEvents() {
-			try {
-				return (BundleEvent[]) events.toArray(new BundleEvent[0]);
-			} finally {
-				events.clear();
-			}
-		}
-	}
-
-	public class Bug289719Listener implements SynchronousBundleListener {
-
-		ArrayList expectedEvents = new ArrayList();
-		ArrayList failures = new ArrayList();
-		int i = 0;
-
-		public synchronized void setExpectedEvents(BundleEvent[] events) {
-			i = 0;
-			failures.clear();
-			expectedEvents.clear();
-			expectedEvents.addAll(Arrays.asList(events));
-		}
-
-		public synchronized void bundleChanged(BundleEvent event) {
-			BundleEvent expected = expectedEvents.size() == 0 ? null : (BundleEvent) expectedEvents.remove(0);
-			try {
-				assertEquals("Compare results: " + i, expected, event);
-			} catch (Throwable t) {
-				failures.add(t);
-			} finally {
-				i++;
-			}
-		}
-
-		public synchronized Throwable[] getFailures() {
-			Throwable[] results = (Throwable[]) failures.toArray(new Throwable[failures.size()]);
-			setExpectedEvents(new BundleEvent[0]);
-			return results;
-		}
-	}
-
-	public static Test suite() {
-		return new TestSuite(PackageAdminBundleTests.class);
-	}
-
-	public void testBundleEvents01() throws Exception {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		Bundle[] resolveBundles = new Bundle[] {chainTestC, chainTestA, chainTestB, chainTest, chainTestD};
-		Bundle[] dependencyOrder = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-		TestListener testListener = new TestListener();
-		OSGiTestsActivator.getContext().addBundleListener(testListener);
-		try {
-			installer.resolveBundles(resolveBundles);
-			BundleEvent[] events = testListener.getEvents();
-			assertEquals("Event count", 10, events.length); //$NON-NLS-1$
-			int j = 0;
-			for (int i = dependencyOrder.length - 1; i >= 0; i--, j++) {
-				assertTrue("Resolved Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Resolved event", BundleEvent.RESOLVED, events[j].getType()); //$NON-NLS-1$
-			}
-			j = 5;
-			for (int i = dependencyOrder.length - 1; i >= 0; i--, j++) {
-				assertTrue("Lazy Starting Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Lazy Starting event", BundleEvent.LAZY_ACTIVATION, events[j].getType()); //$NON-NLS-1$
-			}
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testListener);
-		}
-	}
-
-	public void testBundleEvents02() throws Exception {
-		Bundle chainTest = installer.installBundle("chain.test"); //$NON-NLS-1$
-		Bundle chainTestA = installer.installBundle("chain.test.a"); //$NON-NLS-1$
-		Bundle chainTestB = installer.installBundle("chain.test.b"); //$NON-NLS-1$
-		Bundle chainTestC = installer.installBundle("chain.test.c"); //$NON-NLS-1$
-		Bundle chainTestD = installer.installBundle("chain.test.d"); //$NON-NLS-1$
-		Bundle[] resolveBundles = new Bundle[] {chainTestC, chainTestA, chainTestB, chainTest, chainTestD};
-		Bundle[] dependencyOrder = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-		TestListener testListener = new TestListener();
-		OSGiTestsActivator.getContext().addBundleListener(testListener);
-		try {
-			installer.resolveBundles(resolveBundles);
-			BundleEvent[] events = testListener.getEvents();
-			// throw away the events.  This was already tested
-			installer.refreshPackages(resolveBundles);
-			events = testListener.getEvents();
-			assertEquals("Event count", 25, events.length); //$NON-NLS-1$
-			int j = 0;
-			for (int i = 0; i < dependencyOrder.length; i++, j += 2) {
-				assertTrue("Stopping Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Stopping event", BundleEvent.STOPPING, events[j].getType()); //$NON-NLS-1$
-				assertTrue("Stopped Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j + 1].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Stopping event", BundleEvent.STOPPED, events[j + 1].getType()); //$NON-NLS-1$
-			}
-			j = 10;
-			for (int i = 0; i < dependencyOrder.length; i++, j++) {
-				assertTrue("Unresolved Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Unresolved event", BundleEvent.UNRESOLVED, events[j].getType()); //$NON-NLS-1$
-			}
-			j = 15;
-			for (int i = dependencyOrder.length - 1; i >= 0; i--, j++) {
-				assertTrue("Resolved Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Resolved event", BundleEvent.RESOLVED, events[j].getType()); //$NON-NLS-1$
-			}
-			j = 20;
-			for (int i = dependencyOrder.length - 1; i >= 0; i--, j++) {
-				assertTrue("Lazy Starting Event Bundle: " + dependencyOrder[i].getSymbolicName(), dependencyOrder[i] == events[j].getBundle()); //$NON-NLS-1$
-				assertEquals("Expecting Lazy Starting event", BundleEvent.LAZY_ACTIVATION, events[j].getType()); //$NON-NLS-1$
-			}
-
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testListener);
-		}
-	}
-
-	public void testBug259903() throws Exception {
-		Bundle bug259903a = installer.installBundle("test.bug259903.a"); //$NON-NLS-1$
-		Bundle bug259903b = installer.installBundle("test.bug259903.b"); //$NON-NLS-1$
-		Bundle bug259903c = installer.installBundle("test.bug259903.c"); //$NON-NLS-1$
-
-		try {
-			installer.resolveBundles(new Bundle[] {bug259903a, bug259903b, bug259903c});
-			bug259903c.start();
-			bug259903a.uninstall();
-			installer.installBundle("test.bug259903.a.update"); //$NON-NLS-1$
-			installer.refreshPackages(new Bundle[] {bug259903a});
-			Object[] expectedEvents = new Object[] {new BundleEvent(BundleEvent.STOPPED, bug259903c)};
-			Object[] actualEvents = simpleResults.getResults(expectedEvents.length);
-			compareResults(expectedEvents, actualEvents);
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBug287636() throws Exception {
-		Bundle bug287636a = installer.installBundle("test.bug287636.a1"); //$NON-NLS-1$
-		Bundle bug287636b = installer.installBundle("test.bug287636.b"); //$NON-NLS-1$
-		try {
-			bug287636a.start();
-			bug287636b.start();
-			assertTrue("Bundles are not resolved", installer.resolveBundles(new Bundle[] {bug287636a, bug287636b})); //$NON-NLS-1$
-			ExportedPackage ep = installer.getPackageAdmin().getExportedPackage("test.bug287636.a"); //$NON-NLS-1$
-			assertNotNull("Could not find exported package", ep); //$NON-NLS-1$
-			assertEquals("Wrong version", new Version(1, 0, 0), ep.getVersion()); //$NON-NLS-1$
-			// update bundle to export new 1.1.0 version of the pacakge
-			String updateLocation = installer.getBundleLocation("test.bug287636.a2"); //$NON-NLS-1$
-			bug287636a.update(new URL(updateLocation).openStream());
-			bug287636b.update();
-			updateLocation = installer.getBundleLocation("test.bug287636.a1"); //$NON-NLS-1$
-			bug287636a.update(new URL(updateLocation).openStream());
-			bug287636b.update();
-			updateLocation = installer.getBundleLocation("test.bug287636.a2"); //$NON-NLS-1$
-			bug287636a.update(new URL(updateLocation).openStream());
-			bug287636b.update();
-			installer.refreshPackages(null);
-			ep = installer.getPackageAdmin().getExportedPackage("test.bug287636.a"); //$NON-NLS-1$
-
-			assertNotNull("Could not find exported package", ep); //$NON-NLS-1$
-			assertEquals("Wrong version", new Version(1, 1, 0), ep.getVersion()); //$NON-NLS-1$
-			ExportedPackage eps[] = installer.getPackageAdmin().getExportedPackages("test.bug287636.a"); //$NON-NLS-1$
-			assertNotNull("Could not find exported package", eps); //$NON-NLS-1$
-			assertEquals("Wrong number of exports", 1, eps.length); //$NON-NLS-1$
-			assertEquals("Wrong version", new Version(1, 1, 0), eps[0].getVersion()); //$NON-NLS-1$
-			eps = installer.getPackageAdmin().getExportedPackages(bug287636a);
-			assertNotNull("Could not find exported package", eps); //$NON-NLS-1$
-			assertEquals("Wrong number of exports", 1, eps.length); //$NON-NLS-1$
-			assertEquals("Wrong version", new Version(1, 1, 0), eps[0].getVersion()); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBug289719() throws Exception {
-		Bundle bug259903a = installer.installBundle("test.bug259903.a"); //$NON-NLS-1$
-		Bundle bug259903b = installer.installBundle("test.bug259903.b"); //$NON-NLS-1$
-		Bundle bug259903c = installer.installBundle("test.bug259903.c"); //$NON-NLS-1$
-		Bug289719Listener testListener = new Bug289719Listener();
-
-		try {
-			installer.resolveBundles(new Bundle[] {bug259903a, bug259903b, bug259903c});
-			bug259903a.start();
-			bug259903b.start();
-			bug259903c.start();
-			installer.getStartLevel().setBundleStartLevel(bug259903c, 2);
-			installer.getStartLevel().setBundleStartLevel(bug259903b, 3);
-			installer.getStartLevel().setBundleStartLevel(bug259903a, 4);
-			OSGiTestsActivator.getContext().addBundleListener(testListener);
-			BundleEvent[] expectedEvents = new BundleEvent[] {new BundleEvent(BundleEvent.STOPPING, bug259903a), new BundleEvent(BundleEvent.STOPPED, bug259903a), new BundleEvent(BundleEvent.STOPPING, bug259903b), new BundleEvent(BundleEvent.STOPPED, bug259903b), new BundleEvent(BundleEvent.STOPPING, bug259903c), new BundleEvent(BundleEvent.STOPPED, bug259903c), new BundleEvent(BundleEvent.UNRESOLVED, bug259903a), new BundleEvent(BundleEvent.UNRESOLVED, bug259903b), new BundleEvent(BundleEvent.UNRESOLVED, bug259903c), new BundleEvent(BundleEvent.RESOLVED, bug259903c), new BundleEvent(BundleEvent.RESOLVED, bug259903b), new BundleEvent(BundleEvent.RESOLVED, bug259903a), new BundleEvent(BundleEvent.STARTING, bug259903c), new BundleEvent(BundleEvent.STARTED, bug259903c),
-					new BundleEvent(BundleEvent.STARTING, bug259903b), new BundleEvent(BundleEvent.STARTED, bug259903b), new BundleEvent(BundleEvent.STARTING, bug259903a), new BundleEvent(BundleEvent.STARTED, bug259903a)};
-			testListener.setExpectedEvents(expectedEvents);
-			// add a small delay to ensure the async bundle start-level changes above are done (bug 300820)
-			Thread.sleep(500);
-			installer.refreshPackages(new Bundle[] {bug259903a});
-			Throwable[] results = testListener.getFailures();
-			if (results.length > 0)
-				fail(getMessage(results));
-
-			expectedEvents = new BundleEvent[] {new BundleEvent(BundleEvent.STOPPING, bug259903c), new BundleEvent(BundleEvent.STOPPED, bug259903c), new BundleEvent(BundleEvent.STOPPING, bug259903b), new BundleEvent(BundleEvent.STOPPED, bug259903b), new BundleEvent(BundleEvent.STOPPING, bug259903a), new BundleEvent(BundleEvent.STOPPED, bug259903a), new BundleEvent(BundleEvent.UNRESOLVED, bug259903c), new BundleEvent(BundleEvent.UNRESOLVED, bug259903b), new BundleEvent(BundleEvent.UNRESOLVED, bug259903a), new BundleEvent(BundleEvent.RESOLVED, bug259903a), new BundleEvent(BundleEvent.RESOLVED, bug259903b), new BundleEvent(BundleEvent.RESOLVED, bug259903c), new BundleEvent(BundleEvent.STARTING, bug259903a), new BundleEvent(BundleEvent.STARTED, bug259903a),
-					new BundleEvent(BundleEvent.STARTING, bug259903b), new BundleEvent(BundleEvent.STARTED, bug259903b), new BundleEvent(BundleEvent.STARTING, bug259903c), new BundleEvent(BundleEvent.STARTED, bug259903c)};
-			testListener.setExpectedEvents(expectedEvents);
-			installer.getStartLevel().setBundleStartLevel(bug259903c, 4);
-			installer.getStartLevel().setBundleStartLevel(bug259903b, 4);
-			installer.getStartLevel().setBundleStartLevel(bug259903a, 4);
-			// add a small delay to ensure the async bundle start-level changes above are done (bug 300820)
-			Thread.sleep(500);
-			installer.refreshPackages(new Bundle[] {bug259903a});
-			results = testListener.getFailures();
-			if (results.length > 0)
-				fail(getMessage(results));
-
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		} finally {
-			OSGiTestsActivator.getContext().removeBundleListener(testListener);
-		}
-	}
-
-	private String getMessage(Throwable[] results) {
-		StringWriter sw = new StringWriter();
-		PrintWriter pw = new PrintWriter(sw);
-		for (int i = 0; i < results.length; i++)
-			results[i].printStackTrace(pw);
-		return sw.toString();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PlatformAdminBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PlatformAdminBundleTests.java
deleted file mode 100644
index 5d167a1..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PlatformAdminBundleTests.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.Bundle;
-
-public class PlatformAdminBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(PlatformAdminBundleTests.class);
-	}
-
-	public void testDisabledInfo01() throws Exception {
-		String testPolicy = "testDisabledInfo01";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// disable the toplevel testDesc bundle
-		pa.addDisabledInfo(new DisabledInfo(testPolicy, "reason 1", testDesc));
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-		// only testDesc should be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-		// now enable the bundle
-		DisabledInfo info = systemState.getDisabledInfo(testDesc, testPolicy);
-		assertNotNull("info is null!!", info);
-		pa.removeDisabledInfo(info);
-		// just do normal resolve
-		assertTrue("resolveBundles returned false!", installer.resolveBundles(new Bundle[] {chainTest}));
-		// all bundles should be resolved
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-	}
-
-	public void testDisabledInfo02() throws Exception {
-		String testPolicy1 = "testDisabledInfo01";
-		String testPolicy2 = "testDisabledInfo02";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// disable the toplevel testDesc bundle with two DisabledInfos
-		pa.addDisabledInfo(new DisabledInfo(testPolicy1, "reason 1", testDesc));
-		pa.addDisabledInfo(new DisabledInfo(testPolicy2, "reason 2", testDesc));
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-		// only testDesc should be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		DisabledInfo info1 = systemState.getDisabledInfo(testDesc, testPolicy1);
-		DisabledInfo info2 = systemState.getDisabledInfo(testDesc, testPolicy2);
-		assertNotNull("info1 is null!!", info1);
-		assertNotNull("info2 is null!!", info2);
-		// now remove the first policy
-		pa.removeDisabledInfo(info1);
-		// just do normal resolve
-		assertFalse("resolveBundles returned true!", installer.resolveBundles(new Bundle[] {chainTest}));
-		// testDesc should still be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// now remove the second policy
-		pa.removeDisabledInfo(info2);
-		// just do normal resolve
-		assertTrue("resolveBundles returned false!", installer.resolveBundles(new Bundle[] {chainTest}));
-		// testDesc should still be unresolved
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-	}
-
-	public void testDisabledInfo03() throws Exception {
-		String testPolicy1 = "testDisabledInfo01";
-		String testPolicy2 = "testDisabledInfo02";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// disable the toplevel testDesc bundle
-		pa.addDisabledInfo(new DisabledInfo(testPolicy1, "reason 1", testDesc));
-		pa.addDisabledInfo(new DisabledInfo(testPolicy2, "reason 2", testDesc));
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-		// only testDesc should be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		ResolverError[] errors = systemState.getResolverErrors(testDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.DISABLED_BUNDLE, errors[0].getType());
-	}
-
-	public void testDisabledInfo04() throws Exception {
-		String testPolicy1 = "testDisabledInfo01";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// disable the bottom level bundle, this should cause all bundles to be unresolved
-		pa.addDisabledInfo(new DisabledInfo(testPolicy1, "reason 1", testDDesc));
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-		// only testDesc should be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertFalse("testADesc is resolved!!", testADesc.isResolved());
-		assertFalse("testBDesc is resolved!!", testBDesc.isResolved());
-		assertFalse("testCDesc is resolved!!", testCDesc.isResolved());
-		assertFalse("testDDesc is resolved!!", testDDesc.isResolved());
-
-		// check that the resolver errors are the correct type
-		ResolverError[] errors = systemState.getResolverErrors(testDDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.DISABLED_BUNDLE, errors[0].getType());
-
-		// all other errors should be missing import errors
-		errors = systemState.getResolverErrors(testDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.MISSING_IMPORT_PACKAGE, errors[0].getType());
-
-		errors = systemState.getResolverErrors(testADesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.MISSING_IMPORT_PACKAGE, errors[0].getType());
-
-		errors = systemState.getResolverErrors(testBDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.MISSING_IMPORT_PACKAGE, errors[0].getType());
-
-		errors = systemState.getResolverErrors(testCDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.MISSING_IMPORT_PACKAGE, errors[0].getType());
-	}
-
-	public void testDisabledInfo05() throws Exception {
-		String testPolicy1 = "testDisabledInfo01";
-		String testPolicy2 = "testDisabledInfo02";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// add many disabled infos to test the getDisabledInfo methods
-		DisabledInfo info1 = new DisabledInfo(testPolicy1, "reason 1", testDesc);
-		DisabledInfo info2 = new DisabledInfo(testPolicy2, "reason 2", testDesc);
-		DisabledInfo info3 = new DisabledInfo(testPolicy1, "reason 3", testDDesc);
-		DisabledInfo info4 = new DisabledInfo(testPolicy2, "reason 4", testDDesc);
-		pa.addDisabledInfo(info1);
-		pa.addDisabledInfo(info2);
-		pa.addDisabledInfo(info3);
-		pa.addDisabledInfo(info4);
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-
-		// check the errors only, resolution was checked in other tests
-		ResolverError[] errors = systemState.getResolverErrors(testDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.DISABLED_BUNDLE, errors[0].getType());
-
-		errors = systemState.getResolverErrors(testDDesc);
-		assertNotNull("resolver errors is null!!", errors);
-		assertEquals("unexpected number of errors", 1, errors.length);
-		assertEquals("unexpected error type", ResolverError.DISABLED_BUNDLE, errors[0].getType());
-
-		DisabledInfo getInfo1 = systemState.getDisabledInfo(testDesc, testPolicy1);
-		assertEquals("info1 not equal!", info1, getInfo1);
-		DisabledInfo getInfo2 = systemState.getDisabledInfo(testDesc, testPolicy2);
-		assertEquals("info2 not equal!", info2, getInfo2);
-		DisabledInfo getInfo3 = systemState.getDisabledInfo(testDDesc, testPolicy1);
-		assertEquals("info3 not equal!", info3, getInfo3);
-		DisabledInfo getInfo4 = systemState.getDisabledInfo(testDDesc, testPolicy2);
-		assertEquals("info4 not equal!", info4, getInfo4);
-
-		DisabledInfo[] infos1 = systemState.getDisabledInfos(testDesc);
-		assertNotNull("infos1 is null!!", infos1);
-		assertEquals("unexpected info1 size", 2, infos1.length);
-		assertTrue("info1 not found", infos1[0] == info1 || infos1[1] == info1);
-		assertTrue("info2 not found", infos1[0] == info2 || infos1[1] == info2);
-		DisabledInfo[] infos2 = systemState.getDisabledInfos(testDDesc);
-		assertNotNull("infos2 is null!!", infos2);
-		assertEquals("unexpected info2 size", 2, infos2.length);
-		assertTrue("info3 not found", infos2[0] == info3 || infos2[1] == info3);
-		assertTrue("info4 not found", infos2[0] == info4 || infos2[1] == info4);
-	}
-
-	public void testDisabledInfo06() throws Exception {
-		String testPolicy = "testDisabledInfo01";
-		Bundle chainTest = installer.installBundle("chain.test");
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle chainTestD = installer.installBundle("chain.test.d");
-		Bundle[] allBundles = new Bundle[] {chainTest, chainTestA, chainTestB, chainTestC, chainTestD};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testDesc = systemState.getBundle(chainTest.getBundleId());
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		BundleDescription testDDesc = systemState.getBundle(chainTestD.getBundleId());
-		assertNotNull("testDesc null!!", testDesc);
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-		assertNotNull("testDDesc null!!", testDDesc);
-
-		installer.resolveBundles(allBundles);
-		assertTrue("testDesc not resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-
-		// ok finally we can start testing!!!
-		// disable the toplevel testDesc bundle
-		DisabledInfo info = new DisabledInfo(testPolicy, "reason 1", testDesc);
-		pa.addDisabledInfo(info);
-		// force the bundles to re-resolve
-		installer.refreshPackages(allBundles);
-		// only testDesc should be unresolved
-		assertFalse("testDesc is resolved!!", testDesc.isResolved());
-		assertTrue("testADesc not resolved!!", testADesc.isResolved());
-		assertTrue("testBDesc not resolved!!", testBDesc.isResolved());
-		assertTrue("testCDesc not resolved!!", testCDesc.isResolved());
-		assertTrue("testDDesc not resolved!!", testDDesc.isResolved());
-		// uninstall the bundle testDesc
-		Bundle uninstalledChainTest = installer.uninstallBundle("chain.test");
-		assertTrue("Unexpected uninstall result", uninstalledChainTest == chainTest);
-
-		// now try to get the DisabledInfo
-		DisabledInfo getInfo = systemState.getDisabledInfo(testDesc, testPolicy);
-		assertNull("info is not null!!", getInfo);
-		// try to add the info again.  This should fail
-		try {
-			pa.addDisabledInfo(info);
-			pa.removeDisabledInfo(info);
-			fail("should not be able to add a DisabledInfo for a bundle not in the state");
-		} catch (IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	public void testUnresolvedLeaves01() throws Exception {
-		Bundle chainTestA = installer.installBundle("chain.test.a");
-		Bundle chainTestB = installer.installBundle("chain.test.b");
-		Bundle chainTestC = installer.installBundle("chain.test.c");
-		Bundle[] allBundles = new Bundle[] {chainTestA, chainTestB, chainTestC};
-
-		PlatformAdmin pa = installer.getPlatformAdmin();
-		State systemState = pa.getState(false);
-		BundleDescription testADesc = systemState.getBundle(chainTestA.getBundleId());
-		BundleDescription testBDesc = systemState.getBundle(chainTestB.getBundleId());
-		BundleDescription testCDesc = systemState.getBundle(chainTestC.getBundleId());
-		assertNotNull("testADesc null!!", testADesc);
-		assertNotNull("testBDesc null!!", testBDesc);
-		assertNotNull("testCDesc null!!", testCDesc);
-
-		installer.resolveBundles(allBundles);
-		assertFalse("testADesc is resolved!!", testADesc.isResolved());
-		assertFalse("testBDesc is resolved!!", testBDesc.isResolved());
-		assertFalse("testCDesc is resolved!!", testCDesc.isResolved());
-
-		// ok finally we can start testing!!
-		VersionConstraint[] unsatifiedLeaves = pa.getStateHelper().getUnsatisfiedLeaves(new BundleDescription[] {testADesc});
-		assertNotNull("Unsatified constraints is null!!", unsatifiedLeaves);
-		assertEquals("Wrong number of constraints!!", 2, unsatifiedLeaves.length);
-		for (int i = 0; i < unsatifiedLeaves.length; i++) {
-			assertTrue("Constraint type is not import package: " + unsatifiedLeaves[i], unsatifiedLeaves[i] instanceof ImportPackageSpecification);
-			assertEquals("Package name is wrong: " + i, "chain.test.d", unsatifiedLeaves[i].getName());
-			if (unsatifiedLeaves[i].getBundle() != testBDesc && unsatifiedLeaves[i].getBundle() != testCDesc)
-				fail("Wrong bundle for the constraint: " + unsatifiedLeaves[i].getBundle());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SubstituteExportsBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SubstituteExportsBundleTests.java
deleted file mode 100644
index 9d26cea..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SubstituteExportsBundleTests.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.service.packageadmin.ExportedPackage;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class SubstituteExportsBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(SubstituteExportsBundleTests.class);
-	}
-
-	public void testSubstituteExports01x() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle c = installer.installBundle("substitutes.c"); //$NON-NLS-1$
-		Bundle d = installer.installBundle("substitutes.d"); //$NON-NLS-1$
-
-		String className = "substitutes.x.Ax"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class cx = null;
-		Class dx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			cx = c.loadClass(className);
-			dx = d.loadClass(className);
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, cx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, dx); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports01y() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle c = installer.installBundle("substitutes.c"); //$NON-NLS-1$
-		Bundle d = installer.installBundle("substitutes.d"); //$NON-NLS-1$
-
-		String className = "substitutes.y.Ay"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class cx = null;
-		Class dx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			cx = c.loadClass(className);
-			dx = d.loadClass(className);
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, cx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, dx); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports02() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle e = installer.installBundle("substitutes.e"); //$NON-NLS-1$
-		Bundle f = installer.installBundle("substitutes.f"); //$NON-NLS-1$
-
-		String className = "substitutes.x.Ax"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class ex = null;
-		Class fx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			ex = e.loadClass(className);
-			fx = f.loadClass(className);
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, ex); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, fx); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports03() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle e = installer.installBundle("substitutes.e"); //$NON-NLS-1$
-		Bundle f = installer.installBundle("substitutes.f"); //$NON-NLS-1$
-		Bundle g = installer.installBundle("substitutes.g"); //$NON-NLS-1$
-		Bundle h = installer.installBundle("substitutes.h"); //$NON-NLS-1$
-
-		String className = "substitutes.x.Ax"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class ex = null;
-		Class fx = null;
-		Class gx = null;
-		Class hx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			ex = e.loadClass(className);
-			fx = f.loadClass(className);
-			gx = g.loadClass(className);
-			hx = h.loadClass(className);
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, ex); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, fx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, gx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, hx); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports04() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		installer.installBundle("substitutes.a.frag"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		installer.installBundle("substitutes.b.frag"); //$NON-NLS-1$
-		Bundle c = installer.installBundle("substitutes.c"); //$NON-NLS-1$
-		Bundle d = installer.installBundle("substitutes.d"); //$NON-NLS-1$
-
-		String className = "substitutes.x.Ax"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class cx = null;
-		Class dx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			cx = c.loadClass(className);
-			dx = d.loadClass(className);
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, cx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, dx); //$NON-NLS-1$
-
-		String className2 = "substitutes.q.AFq"; //$NON-NLS-1$
-		Class aq = null;
-		Class bq = null;
-		Class cq = null;
-		Class dq = null;
-		try {
-			aq = a.loadClass(className2);
-			bq = b.loadClass(className2);
-			cq = c.loadClass(className2);
-			dq = d.loadClass(className2);
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", aq, bq); //$NON-NLS-1$
-		assertEquals("class from c is wrong", aq, cq); //$NON-NLS-1$
-		assertEquals("class from d is wrong", aq, dq); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports05() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		installer.installBundle("substitutes.a.frag"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		installer.installBundle("substitutes.b.frag"); //$NON-NLS-1$
-		Bundle e = installer.installBundle("substitutes.e"); //$NON-NLS-1$
-		Bundle f = installer.installBundle("substitutes.f"); //$NON-NLS-1$
-		Bundle g = installer.installBundle("substitutes.g"); //$NON-NLS-1$
-		Bundle h = installer.installBundle("substitutes.h"); //$NON-NLS-1$
-
-		String className = "substitutes.x.Ax"; //$NON-NLS-1$
-		Class ax = null;
-		Class bx = null;
-		Class ex = null;
-		Class fx = null;
-		Class gx = null;
-		Class hx = null;
-		try {
-			ax = a.loadClass(className);
-			bx = b.loadClass(className);
-			ex = e.loadClass(className);
-			fx = f.loadClass(className);
-			gx = g.loadClass(className);
-			hx = h.loadClass(className);
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", ax, bx); //$NON-NLS-1$
-		assertEquals("class from c is wrong", ax, ex); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, fx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, gx); //$NON-NLS-1$
-		assertEquals("class from d is wrong", ax, hx); //$NON-NLS-1$
-
-		String className2 = "substitutes.q.AFq"; //$NON-NLS-1$
-		Class aq = null;
-		Class bq = null;
-		Class eq = null;
-		Class fq = null;
-		Class gq = null;
-		Class hq = null;
-		try {
-			aq = a.loadClass(className2);
-			bq = b.loadClass(className2);
-			eq = e.loadClass(className2);
-			fq = f.loadClass(className2);
-			gq = g.loadClass(className2);
-			hq = h.loadClass(className2);
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		assertEquals("class from b is wrong", aq, bq); //$NON-NLS-1$
-		assertEquals("class from c is wrong", aq, eq); //$NON-NLS-1$
-		assertEquals("class from d is wrong", aq, fq); //$NON-NLS-1$
-		assertEquals("class from d is wrong", aq, gq); //$NON-NLS-1$
-		assertEquals("class from d is wrong", aq, hq); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports06() throws BundleException {
-		Bundle iBundle = installer.installBundle("substitutes.i"); //$NON-NLS-1$
-		Bundle jBundle = installer.installBundle("substitutes.j"); //$NON-NLS-1$
-		Bundle kBundle = installer.installBundle("substitutes.k"); //$NON-NLS-1$
-		Bundle lBundle = installer.installBundle("substitutes.l"); //$NON-NLS-1$
-		Bundle mBundle = installer.installBundle("substitutes.m"); //$NON-NLS-1$
-		Bundle nBundle = installer.installBundle("substitutes.n"); //$NON-NLS-1$
-		Bundle pBundle = installer.installBundle("substitutes.p"); //$NON-NLS-1$
-		Bundle qBundle = installer.installBundle("substitutes.q"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {iBundle, jBundle, kBundle, lBundle, mBundle, nBundle, pBundle, qBundle};
-
-		String classNameIx = "substitutes.x.Ix"; //$NON-NLS-1$
-		String classNameKx = "substitutes.x.Kx"; //$NON-NLS-1$
-		String classNameMx = "substitutes.x.Mx"; //$NON-NLS-1$
-		String classNameIy = "substitutes.y.Iy"; //$NON-NLS-1$
-		String classNameKy = "substitutes.y.Ky"; //$NON-NLS-1$
-		String classNameMy = "substitutes.y.My"; //$NON-NLS-1$
-
-		try {
-			Class iX = iBundle.loadClass(classNameIx);
-			assertEquals("jBundle has different copy of iX", iX, jBundle.loadClass(classNameIx)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of iX", iX, mBundle.loadClass(classNameIx)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of iX", iX, nBundle.loadClass(classNameIx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of iX", iX, pBundle.loadClass(classNameIx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of iX", iX, qBundle.loadClass(classNameIx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		try {
-			Class iY = iBundle.loadClass(classNameIy);
-			assertEquals("jBundle has different copy of iY", iY, jBundle.loadClass(classNameIy)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of iY", iY, mBundle.loadClass(classNameIy)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of iY", iY, nBundle.loadClass(classNameIy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of iY", iY, pBundle.loadClass(classNameIy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of iY", iY, qBundle.loadClass(classNameIy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class kX = kBundle.loadClass(classNameKx);
-			assertEquals("lBundle has different copy of Kx", kX, lBundle.loadClass(classNameKx)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Kx", kX, mBundle.loadClass(classNameKx)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Kx", kX, nBundle.loadClass(classNameKx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Kx", kX, pBundle.loadClass(classNameKx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Kx", kX, qBundle.loadClass(classNameKx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class kY = kBundle.loadClass(classNameKy);
-			assertEquals("lBundle has different copy of Ky", kY, lBundle.loadClass(classNameKy)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Ky", kY, mBundle.loadClass(classNameKy)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Ky", kY, nBundle.loadClass(classNameKy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Ky", kY, pBundle.loadClass(classNameKy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Ky", kY, qBundle.loadClass(classNameKy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class mX = mBundle.loadClass(classNameMx);
-			assertEquals("nBundle has different copy of mX", mX, nBundle.loadClass(classNameMx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of mX", mX, pBundle.loadClass(classNameMx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of mX", mX, qBundle.loadClass(classNameMx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class mY = mBundle.loadClass(classNameMy);
-			assertEquals("nBundle has different copy of mY", mY, nBundle.loadClass(classNameMy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of mY", mY, pBundle.loadClass(classNameMy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of mY", mY, qBundle.loadClass(classNameMy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		String[] unexpectedClasseNames = new String[] {"substitutes.x.Jx", "substitutes.x.Lx", "substitutes.x.Nx", "substitutes.y.Jy", "substitutes.y.Ly", "substitutes.y.Ny"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		for (int i = 0; i < unexpectedClasseNames.length; i++) {
-			for (int j = 0; j < allBundles.length; j++) {
-				try {
-					Class found = allBundles[j].loadClass(unexpectedClasseNames[i]);
-					fail("Found class " + found + " in bundle " + allBundles[j]); //$NON-NLS-1$//$NON-NLS-2$
-				} catch (ClassNotFoundException cnfe) {
-					// expected
-				}
-			}
-		}
-	}
-
-	public void testSubstituteExports07() throws BundleException {
-		// same as previous split test but bundles are installed in opposite order to force the opposite classes to load
-		Bundle jBundle = installer.installBundle("substitutes.j"); //$NON-NLS-1$
-		Bundle iBundle = installer.installBundle("substitutes.i"); //$NON-NLS-1$
-		Bundle lBundle = installer.installBundle("substitutes.l"); //$NON-NLS-1$
-		Bundle kBundle = installer.installBundle("substitutes.k"); //$NON-NLS-1$
-		Bundle nBundle = installer.installBundle("substitutes.n"); //$NON-NLS-1$
-		Bundle mBundle = installer.installBundle("substitutes.m"); //$NON-NLS-1$
-		Bundle qBundle = installer.installBundle("substitutes.q"); //$NON-NLS-1$
-		Bundle pBundle = installer.installBundle("substitutes.p"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {iBundle, jBundle, kBundle, lBundle, mBundle, nBundle, pBundle, qBundle};
-
-		String classNameJx = "substitutes.x.Jx"; //$NON-NLS-1$
-		String classNameLx = "substitutes.x.Lx"; //$NON-NLS-1$
-		String classNameNx = "substitutes.x.Nx"; //$NON-NLS-1$
-		String classNameJy = "substitutes.y.Jy"; //$NON-NLS-1$
-		String classNameLy = "substitutes.y.Ly"; //$NON-NLS-1$
-		String classNameNy = "substitutes.y.Ny"; //$NON-NLS-1$
-
-		try {
-			Class jX = jBundle.loadClass(classNameJx);
-			assertEquals("iBundle has different copy of Jx", jX, iBundle.loadClass(classNameJx)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Jx", jX, mBundle.loadClass(classNameJx)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Jx", jX, nBundle.loadClass(classNameJx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Jx", jX, pBundle.loadClass(classNameJx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Jx", jX, qBundle.loadClass(classNameJx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-		try {
-			Class jY = jBundle.loadClass(classNameJy);
-			assertEquals("jBundle has different copy of Jy", jY, iBundle.loadClass(classNameJy)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Jy", jY, mBundle.loadClass(classNameJy)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Jy", jY, nBundle.loadClass(classNameJy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Jy", jY, pBundle.loadClass(classNameJy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Jy", jY, qBundle.loadClass(classNameJy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class lX = lBundle.loadClass(classNameLx);
-			assertEquals("lBundle has different copy of Lx", lX, kBundle.loadClass(classNameLx)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Lx", lX, mBundle.loadClass(classNameLx)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Lx", lX, nBundle.loadClass(classNameLx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Lx", lX, pBundle.loadClass(classNameLx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Lx", lX, qBundle.loadClass(classNameLx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class lY = lBundle.loadClass(classNameLy);
-			assertEquals("lBundle has different copy of Ly", lY, kBundle.loadClass(classNameLy)); //$NON-NLS-1$
-			assertEquals("mBundle has different copy of Ly", lY, mBundle.loadClass(classNameLy)); //$NON-NLS-1$
-			assertEquals("nBundle has different copy of Ly", lY, nBundle.loadClass(classNameLy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Ly", lY, pBundle.loadClass(classNameLy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Ly", lY, qBundle.loadClass(classNameLy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class nX = nBundle.loadClass(classNameNx);
-			assertEquals("nBundle has different copy of Nx", nX, mBundle.loadClass(classNameNx)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Nx", nX, pBundle.loadClass(classNameNx)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Nx", nX, qBundle.loadClass(classNameNx)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		try {
-			Class nY = nBundle.loadClass(classNameNy);
-			assertEquals("nBundle has different copy of Ny", nY, mBundle.loadClass(classNameNy)); //$NON-NLS-1$
-			assertEquals("pBundle has different copy of Ny", nY, pBundle.loadClass(classNameNy)); //$NON-NLS-1$
-			assertEquals("qBundle has different copy of Ny", nY, qBundle.loadClass(classNameNy)); //$NON-NLS-1$
-		} catch (ClassNotFoundException cnfe) {
-			fail("Unexpected exception", cnfe); //$NON-NLS-1$
-		}
-
-		String[] unexpectedClasseNames = new String[] {"substitutes.x.Ix", "substitutes.x.Kx", "substitutes.x.Mx", "substitutes.y.Iy", "substitutes.y.Ky", "substitutes.y.My"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		for (int i = 0; i < unexpectedClasseNames.length; i++) {
-			for (int j = 0; j < allBundles.length; j++) {
-				try {
-					Class found = allBundles[j].loadClass(unexpectedClasseNames[i]);
-					fail("Found class " + found + " in bundle " + allBundles[j]); //$NON-NLS-1$//$NON-NLS-2$
-				} catch (ClassNotFoundException cnfe) {
-					// expected
-				}
-			}
-		}
-	}
-
-	public void testSubstituteExports08() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle c = installer.installBundle("substitutes.c"); //$NON-NLS-1$
-		Bundle d = installer.installBundle("substitutes.d"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {a, b, c, d};
-		doRefreshTest(allBundles, a);
-	}
-
-	public void testSubstituteExports09() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle e = installer.installBundle("substitutes.e"); //$NON-NLS-1$
-		Bundle f = installer.installBundle("substitutes.f"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {a, b, e, f};
-		doRefreshTest(allBundles, a);
-	}
-
-	public void testSubstituteExports10() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle e = installer.installBundle("substitutes.e"); //$NON-NLS-1$
-		Bundle f = installer.installBundle("substitutes.f"); //$NON-NLS-1$
-		Bundle g = installer.installBundle("substitutes.g"); //$NON-NLS-1$
-		Bundle h = installer.installBundle("substitutes.h"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {a, b, e, f, g, h};
-		doRefreshTest(allBundles, a);
-	}
-
-	public void testSubstituteExports11() throws BundleException {
-		Bundle iBundle = installer.installBundle("substitutes.i"); //$NON-NLS-1$
-		Bundle jBundle = installer.installBundle("substitutes.j"); //$NON-NLS-1$
-		installer.installBundle("substitutes.k"); //$NON-NLS-1$
-		installer.installBundle("substitutes.l"); //$NON-NLS-1$
-		Bundle mBundle = installer.installBundle("substitutes.m"); //$NON-NLS-1$
-		Bundle nBundle = installer.installBundle("substitutes.n"); //$NON-NLS-1$
-		Bundle pBundle = installer.installBundle("substitutes.p"); //$NON-NLS-1$
-		Bundle qBundle = installer.installBundle("substitutes.q"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {iBundle, jBundle, mBundle, nBundle, pBundle, qBundle}; // k and l do not depend on i
-		doRefreshTest(allBundles, iBundle);
-	}
-
-	public void testSubstituteExports12() throws BundleException {
-		Bundle jBundle = installer.installBundle("substitutes.j"); //$NON-NLS-1$
-		Bundle iBundle = installer.installBundle("substitutes.i"); //$NON-NLS-1$
-		installer.installBundle("substitutes.l"); //$NON-NLS-1$
-		installer.installBundle("substitutes.k"); //$NON-NLS-1$
-		Bundle nBundle = installer.installBundle("substitutes.n"); //$NON-NLS-1$
-		Bundle mBundle = installer.installBundle("substitutes.m"); //$NON-NLS-1$
-		Bundle qBundle = installer.installBundle("substitutes.q"); //$NON-NLS-1$
-		Bundle pBundle = installer.installBundle("substitutes.p"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {iBundle, jBundle, mBundle, nBundle, pBundle, qBundle}; // k and l do not depend on j
-		doRefreshTest(allBundles, jBundle);
-	}
-
-	private void doRefreshTest(Bundle[] allBundles, Bundle toRefresh) {
-		installer.resolveBundles(allBundles);
-		Bundle[] refreshed = installer.refreshPackages(new Bundle[] {toRefresh});
-		for (int i = 0; i < allBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < refreshed.length && !found; j++)
-				found = allBundles[i] == refreshed[j];
-			if (!found)
-				fail("bundle did not get refreshed: " + allBundles[i]); //$NON-NLS-1$
-		}
-		assertEquals("Wrong number of bundles refreshed", allBundles.length, refreshed.length); //$NON-NLS-1$
-	}
-
-	public void testSubstituteExports13() throws BundleException {
-		Bundle a = installer.installBundle("substitutes.a"); //$NON-NLS-1$
-		Bundle b = installer.installBundle("substitutes.b"); //$NON-NLS-1$
-		Bundle c = installer.installBundle("substitutes.c"); //$NON-NLS-1$
-		Bundle d = installer.installBundle("substitutes.d"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {a, b, c, d};
-		assertTrue("Bundles are not resolved", installer.resolveBundles(allBundles)); //$NON-NLS-1$
-
-		PackageAdmin pa = installer.getPackageAdmin();
-
-		ExportedPackage[] xPackages = pa.getExportedPackages("substitutes.x"); //$NON-NLS-1$
-		assertNotNull("xPackages is null", xPackages); //$NON-NLS-1$
-		assertEquals("xPackages wrong number", 1, xPackages.length); //$NON-NLS-1$
-		assertEquals("Wrong exporter", a, xPackages[0].getExportingBundle()); //$NON-NLS-1$
-		Bundle[] xImporters = xPackages[0].getImportingBundles();
-		assertNotNull("xImporters is null", xImporters); //$NON-NLS-1$
-		assertEquals("Wrong number of xImporters", 3, xImporters.length); //$NON-NLS-1$
-
-		ExportedPackage[] yPackages = pa.getExportedPackages("substitutes.y"); //$NON-NLS-1$
-		assertNotNull("yPackages is null", yPackages); //$NON-NLS-1$
-		assertEquals("yPackages wrong number", 1, yPackages.length); //$NON-NLS-1$
-		assertEquals("Wrong exporter", a, yPackages[0].getExportingBundle()); //$NON-NLS-1$
-		Bundle[] yImporters = yPackages[0].getImportingBundles();
-		assertNotNull("yImporters is null", yImporters); //$NON-NLS-1$
-		assertEquals("Wrong number of yImporters", 3, yImporters.length); //$NON-NLS-1$
-
-		Bundle[] expectedImporters = new Bundle[] {b, c, d};
-		for (int i = 0; i < expectedImporters.length; i++) {
-			contains("xPackages importers does not contain", xImporters, expectedImporters[i]); //$NON-NLS-1$
-			contains("yPackages importers does not contain", yImporters, expectedImporters[i]); //$NON-NLS-1$
-		}
-	}
-
-	public void testSubstituteExports14() throws BundleException {
-		Bundle iBundle = installer.installBundle("substitutes.i"); //$NON-NLS-1$
-		Bundle jBundle = installer.installBundle("substitutes.j"); //$NON-NLS-1$
-		Bundle kBundle = installer.installBundle("substitutes.k"); //$NON-NLS-1$
-		Bundle lBundle = installer.installBundle("substitutes.l"); //$NON-NLS-1$
-		Bundle mBundle = installer.installBundle("substitutes.m"); //$NON-NLS-1$
-		Bundle nBundle = installer.installBundle("substitutes.n"); //$NON-NLS-1$
-		Bundle pBundle = installer.installBundle("substitutes.p"); //$NON-NLS-1$
-		Bundle qBundle = installer.installBundle("substitutes.q"); //$NON-NLS-1$
-		Bundle[] allBundles = new Bundle[] {iBundle, jBundle, kBundle, lBundle, mBundle, nBundle, pBundle, qBundle}; // k and l do not depend on i
-		assertTrue("Bundles are not resolved", installer.resolveBundles(allBundles)); //$NON-NLS-1$
-
-		PackageAdmin pa = installer.getPackageAdmin();
-
-		ExportedPackage[] xPackages = pa.getExportedPackages("substitutes.x"); //$NON-NLS-1$
-		assertNotNull("xPackages is null", xPackages); //$NON-NLS-1$
-		assertEquals("xPackages wrong number", 3, xPackages.length); //$NON-NLS-1$
-
-		ExportedPackage[] yPackages = pa.getExportedPackages("substitutes.y"); //$NON-NLS-1$
-		assertNotNull("yPackages is null", yPackages); //$NON-NLS-1$
-		assertEquals("yPackages wrong number", 3, yPackages.length); //$NON-NLS-1$
-
-		Bundle[] expectedExporters = new Bundle[] {iBundle, kBundle, mBundle};
-		for (int i = 0; i < expectedExporters.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < xPackages.length && !found; j++) {
-				found = expectedExporters[i] == xPackages[j].getExportingBundle();
-				if (found) {
-					Bundle[] importingBundles = xPackages[j].getImportingBundles();
-					Bundle[] expectedImporters = null;
-					String message = null;
-					if (expectedExporters[i] == iBundle) {
-						expectedImporters = new Bundle[] {jBundle, mBundle, nBundle, pBundle, qBundle};
-						message = "iBundle "; //$NON-NLS-1$
-					} else if (expectedExporters[i] == kBundle) {
-						expectedImporters = new Bundle[] {lBundle, mBundle, nBundle, pBundle, qBundle};
-						message = "kBundle "; //$NON-NLS-1$
-					} else if (expectedExporters[i] == mBundle) {
-						expectedImporters = new Bundle[] {nBundle, pBundle, qBundle};
-						message = "mBundle "; //$NON-NLS-1$
-					}
-					assertEquals(message, expectedImporters.length, importingBundles.length);
-					for (int k = 0; k < expectedImporters.length; k++)
-						contains(message, importingBundles, expectedImporters[k]);
-				}
-			}
-		}
-
-	}
-
-	private void contains(String message, Bundle[] bundles, Bundle b) {
-		boolean found = false;
-		for (int i = 0; i < bundles.length && !found; i++)
-			found = bundles[i] == b;
-		if (!found)
-			fail(message + b);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SyncEventListenerTestResults.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SyncEventListenerTestResults.java
deleted file mode 100644
index c50fffc..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SyncEventListenerTestResults.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import org.osgi.framework.SynchronousBundleListener;
-
-public class SyncEventListenerTestResults extends EventListenerTestResults implements SynchronousBundleListener{
-	// implements SynchronousBundleListener
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
deleted file mode 100644
index 09dc0a8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
+++ /dev/null
@@ -1,1122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Properties;
-import java.util.jar.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.launch.Equinox;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.ExportedPackage;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.service.startlevel.StartLevel;
-
-public class SystemBundleTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(SystemBundleTests.class);
-	}
-
-	public void testSystemBundle01() {
-		// simple test to create an embedded framework
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle01"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("SystemBundle context is null", systemContext); //$NON-NLS-1$
-
-		ServiceReference[] refs = null;
-		try {
-			refs = systemContext.getServiceReferences(Location.class.getName(), "(type=osgi.configuration.area)"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Unexpected syntax error", e); //$NON-NLS-1$
-		}
-		assertNotNull("Configuration Location refs is null", refs); //$NON-NLS-1$
-		assertEquals("config refs length is wrong", 1, refs.length); //$NON-NLS-1$
-		Location configLocation = (Location) systemContext.getService(refs[0]);
-		URL configURL = configLocation.getURL();
-		assertTrue("incorrect configuration location", configURL.toExternalForm().endsWith("testSystemBundle01/")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle02() {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle02"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle03() {
-		// create/stop/ test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle03"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		String configArea = systemContext.getProperty("osgi.configuration.area"); //$NON-NLS-1$
-		assertNotNull("config property is null", configArea); //$NON-NLS-1$
-		assertTrue("Wrong configuration area", configArea.endsWith("testSystemBundle03/")); //$NON-NLS-1$ //$NON-NLS-2$
-		// don't do anything; just put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected error stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle04() {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle04"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle before starting
-		Bundle substitutesA = null;
-		try {
-			substitutesA = systemContext.installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e1) {
-			fail("failed to install a bundle", e1); //$NON-NLS-1$
-		}
-		try {
-			substitutesA.start();
-		} catch (BundleException e) {
-			fail("Unexpected bundle exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for installed bundle", Bundle.ACTIVE, substitutesA.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle05_1() {
-		// create/install/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle05_1"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle before starting
-		Bundle substitutesA = null;
-		try {
-			substitutesA = systemContext.installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e1) {
-			fail("failed to install a bundle", e1); //$NON-NLS-1$
-		}
-		// start framework first
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for installed bundle", Bundle.INSTALLED, substitutesA.getState()); //$NON-NLS-1$
-		try {
-			substitutesA.start();
-		} catch (BundleException e1) {
-			fail("Failed to start a bundle", e1); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for active bundle", Bundle.ACTIVE, substitutesA.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle05_2() {
-		// create/install/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle05_2"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle before starting
-		Bundle substitutesA = null;
-		try {
-			substitutesA = systemContext.installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e1) {
-			fail("failed to install a bundle", e1); //$NON-NLS-1$
-		}
-		// start framework first
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for installed bundle", Bundle.INSTALLED, substitutesA.getState()); //$NON-NLS-1$
-		try {
-			substitutesA.start();
-		} catch (BundleException e1) {
-			fail("Failed to start a bundle", e1); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for active bundle", Bundle.ACTIVE, substitutesA.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		Bundle substitutesA2 = null;
-		try {
-			substitutesA2 = equinox.getBundleContext().installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e) {
-			fail("Unexpected exception installing", e); //$NON-NLS-1$
-		}
-		// assert the same bundle ID
-		assertEquals("Bundle ids are not the same", substitutesA.getBundleId(), substitutesA2.getBundleId()); //$NON-NLS-1$
-		// no need to start the bundle again it should have been persistently started
-		assertEquals("Wrong state for active bundle", Bundle.ACTIVE, substitutesA2.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-	}
-
-	public void testSystemBundle06() {
-		// create multiple instances test
-		File config1 = OSGiTestsActivator.getContext().getDataFile("testSystemBundle06_1"); //$NON-NLS-1$
-		Properties configuration1 = new Properties();
-		configuration1.put(Constants.FRAMEWORK_STORAGE, config1.getAbsolutePath());
-		Equinox equinox1 = new Equinox(configuration1);
-		try {
-			equinox1.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox1.getState()); //$NON-NLS-1$
-
-		File config2 = OSGiTestsActivator.getContext().getDataFile("testSystemBundle06_2"); //$NON-NLS-1$
-		Properties configuration2 = new Properties();
-		configuration2.put(Constants.FRAMEWORK_STORAGE, config2.getAbsolutePath());
-		Equinox equinox2 = new Equinox(configuration2);
-		try {
-			equinox2.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox2.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext1 = equinox1.getBundleContext();
-		assertNotNull("System context is null", systemContext1); //$NON-NLS-1$
-		BundleContext systemContext2 = equinox2.getBundleContext();
-		assertNotNull("System context is null", systemContext2); //$NON-NLS-1$
-
-		assertNotSame(systemContext1, systemContext2);
-
-		// start framework 1 first
-		try {
-			equinox1.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox1.getState()); //$NON-NLS-1$
-		// start framework 2 first
-		try {
-			equinox2.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox2.getState()); //$NON-NLS-1$
-
-		// put the framework 1 back to the RESOLVED state
-		try {
-			equinox1.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox1.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox1.getState()); //$NON-NLS-1$
-
-		// put the framework 2 back to the RESOLVED state
-		try {
-			equinox2.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox2.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox2.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle07() {
-		// test init twice
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle07_01"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.init();
-		} catch (Exception e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("SystemBundle context is null", systemContext); //$NON-NLS-1$
-
-		try {
-			equinox.init();
-		} catch (Exception e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-
-		ServiceReference[] refs = null;
-		try {
-			refs = systemContext.getServiceReferences(Location.class.getName(), "(type=osgi.configuration.area)"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Unexpected syntax error", e); //$NON-NLS-1$
-		}
-		assertNotNull("Configuration Location refs is null", refs); //$NON-NLS-1$
-		assertEquals("config refs length is wrong", 1, refs.length); //$NON-NLS-1$
-		Location configLocation = (Location) systemContext.getService(refs[0]);
-		URL configURL = configLocation.getURL();
-		assertTrue("incorrect configuration location", configURL.toExternalForm().endsWith("testSystemBundle07_01/")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle08() {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle08_1"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-		config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle08_2"); //$NON-NLS-1$
-		configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		ServiceReference[] refs = null;
-		try {
-			refs = equinox.getBundleContext().getServiceReferences(Location.class.getName(), "(type=osgi.configuration.area)"); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Unexpected syntax error", e); //$NON-NLS-1$
-		}
-		assertNotNull("Configuration Location refs is null", refs); //$NON-NLS-1$
-		assertEquals("config refs length is wrong", 1, refs.length); //$NON-NLS-1$
-		Location configLocation = (Location) equinox.getBundleContext().getService(refs[0]);
-		URL configURL = configLocation.getURL();
-		assertTrue("incorrect configuration location", configURL.toExternalForm().endsWith("testSystemBundle08_2/")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle09() {
-		// test FrameworkUtil.createFilter
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle09"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		Bundle testFilterA = null;
-		try {
-			testFilterA = equinox.getBundleContext().installBundle(installer.getBundleLocation("test.filter.a")); //$NON-NLS-1$
-		} catch (BundleException e) {
-			fail("Unexpected exception installing", e); //$NON-NLS-1$
-		}
-		try {
-			testFilterA.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception starting test bundle", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle10() {
-		// create/start/update/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle10"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		final Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		final Exception[] failureException = new BundleException[1];
-		final FrameworkEvent[] success = new FrameworkEvent[] {null};
-		Thread t = new Thread(new Runnable() {
-			public void run() {
-				try {
-					success[0] = equinox.waitForStop(10000);
-				} catch (InterruptedException e) {
-					failureException[0] = e;
-				}
-			}
-		}, "test waitForStop thread"); //$NON-NLS-1$
-		t.start();
-		try {
-			// delay hack to allow t thread to block on waitForStop before we update.
-			Thread.sleep(500);
-		} catch (InterruptedException e) {
-			fail("unexpected interuption", e);
-		}
-		try {
-			equinox.update();
-		} catch (BundleException e) {
-			fail("Failed to update the framework", e); //$NON-NLS-1$
-		}
-		try {
-			t.join();
-		} catch (InterruptedException e) {
-			fail("unexpected interuption", e); //$NON-NLS-1$
-		}
-		if (failureException[0] != null)
-			fail("Error occurred while waiting", failureException[0]); //$NON-NLS-1$
-		assertNotNull("Wait for stop event is null", success[0]); //$NON-NLS-1$
-		assertEquals("Wait for stop event type is wrong", FrameworkEvent.STOPPED_UPDATE, success[0].getType()); //$NON-NLS-1$
-		// TODO delay hack to allow the framework to get started again
-		for (int i = 0; i < 5 && Bundle.ACTIVE != equinox.getState(); i++)
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				// nothing
-			}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle11() {
-		// test extra packages property
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle11"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, "test.pkg1, test.pkg2"); //$NON-NLS-1$
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("SystemBundle context is null", systemContext); //$NON-NLS-1$
-
-		PackageAdmin pa = (PackageAdmin) equinox.getBundleContext().getService(equinox.getBundleContext().getServiceReference(PackageAdmin.class.getName()));
-		ExportedPackage[] pkg1 = pa.getExportedPackages("test.pkg1"); //$NON-NLS-1$
-		assertNotNull(pkg1);
-		assertEquals("Wrong number of exports", 1, pkg1.length); //$NON-NLS-1$
-		assertEquals("Wrong package name", "test.pkg1", pkg1[0].getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		ExportedPackage[] pkg2 = pa.getExportedPackages("test.pkg2"); //$NON-NLS-1$
-		assertNotNull(pkg2);
-		assertEquals("Wrong number of exports", 1, pkg2.length); //$NON-NLS-1$
-		assertEquals("Wrong package name", "test.pkg2", pkg2[0].getName()); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle12() {
-		// Test stop FrameworkEvent
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle12"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		// test timeout waiting for framework stop
-		FrameworkEvent stopEvent = null;
-		try {
-			stopEvent = equinox.waitForStop(1000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertNotNull("Stop event is null", stopEvent); //$NON-NLS-1$
-		assertEquals("Wrong stopEvent", FrameworkEvent.WAIT_TIMEDOUT, stopEvent.getType()); //$NON-NLS-1$
-
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			stopEvent = equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertNotNull("Stop event is null", stopEvent); //$NON-NLS-1$
-		assertEquals("Wrong stopEvent", FrameworkEvent.STOPPED, stopEvent.getType()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle13() {
-		// create/install/start/stop clean test
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle13"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle before starting
-		Bundle substitutesA = null;
-		try {
-			substitutesA = systemContext.installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e1) {
-			fail("failed to install a bundle", e1); //$NON-NLS-1$
-		}
-		// start framework first
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for installed bundle", Bundle.INSTALLED, substitutesA.getState()); //$NON-NLS-1$
-		try {
-			substitutesA.start();
-		} catch (BundleException e1) {
-			fail("Failed to start a bundle", e1); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for active bundle", Bundle.ACTIVE, substitutesA.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-		// initialize the framework again to the same configuration
-		configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		substitutesA = equinox.getBundleContext().getBundle(1);
-
-		// make sure the bundle is there
-		assertNotNull("missing installed bundle", substitutesA); //$NON-NLS-1$
-		assertEquals("Unexpected symbolic name", "substitutes.a", substitutesA.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-
-		// initialize the framework again to the same configuration but use clean option
-		configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_STORAGE_CLEAN, Constants.FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT);
-		equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		substitutesA = equinox.getBundleContext().getBundle(1);
-
-		// make sure the bundle is there
-		assertNull("Unexpected bundle is installed", substitutesA); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle14() {
-		// Test startlevel property
-		File config = OSGiTestsActivator.getContext().getDataFile("testSystemBundle14"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_BEGINNING_STARTLEVEL, "10"); //$NON-NLS-1$
-		Equinox equinox = new Equinox(configuration);
-
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-
-		StartLevel st = (StartLevel) equinox.getBundleContext().getService(equinox.getBundleContext().getServiceReference(StartLevel.class.getName()));
-		assertNotNull("StartLevel service is null", st); //$NON-NLS-1$
-		assertEquals("Unexpected start level", 10, st.getStartLevel()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-
-		FrameworkEvent stopEvent = null;
-		try {
-			stopEvent = equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertNotNull("Stop event is null", stopEvent); //$NON-NLS-1$
-		assertEquals("Wrong stopEvent", FrameworkEvent.STOPPED, stopEvent.getType()); //$NON-NLS-1$
-	}
-
-	public void testSystemBundle16() {
-		// test parent boot
-		File config = OSGiTestsActivator.getContext().getDataFile(getName());
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_BUNDLE_PARENT, Constants.FRAMEWORK_BUNDLE_PARENT_BOOT);
-		checkParentClassLoader(configuration);
-	}
-
-	public void testSystemBundle17() {
-		// test parent app
-		File config = OSGiTestsActivator.getContext().getDataFile(getName());
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_BUNDLE_PARENT, Constants.FRAMEWORK_BUNDLE_PARENT_APP);
-		checkParentClassLoader(configuration);
-	}
-
-	public void testSystemBundle18() {
-		// test parent ext
-		File config = OSGiTestsActivator.getContext().getDataFile(getName());
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_BUNDLE_PARENT, Constants.FRAMEWORK_BUNDLE_PARENT_EXT);
-		checkParentClassLoader(configuration);
-	}
-
-	public void testSystemBundle19() {
-		// test parent framework
-		File config = OSGiTestsActivator.getContext().getDataFile(getName());
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_BUNDLE_PARENT, Constants.FRAMEWORK_BUNDLE_PARENT_FRAMEWORK);
-		checkParentClassLoader(configuration);
-	}
-
-	private void checkParentClassLoader(Properties configuration) {
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		Bundle test = null;
-		try {
-			test = equinox.getBundleContext().installBundle(installer.getBundleLocation("substitutes.a")); //$NON-NLS-1$
-		} catch (BundleException e) {
-			fail("Failed to install bundle", e); //$NON-NLS-1$
-		}
-		try {
-			Class activatorClazz = test.loadClass("substitutes.x.Ax"); //$NON-NLS-1$
-			ClassLoader parentCL = activatorClazz.getClassLoader().getParent();
-			String configParent = configuration.getProperty(Constants.FRAMEWORK_BUNDLE_PARENT);
-			if (Constants.FRAMEWORK_BUNDLE_PARENT_APP.equals(configParent))
-				assertTrue("Wrong parent", parentCL == ClassLoader.getSystemClassLoader()); //$NON-NLS-1$
-			else if (Constants.FRAMEWORK_BUNDLE_PARENT_EXT.equals(configParent))
-				assertTrue("Wrong parent", parentCL == ClassLoader.getSystemClassLoader().getParent()); //$NON-NLS-1$
-			else if (Constants.FRAMEWORK_BUNDLE_PARENT_FRAMEWORK.equals(configParent))
-				assertTrue("Wrong parent", parentCL == equinox.getClass().getClassLoader()); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("failed to load class", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-
-		FrameworkEvent stopEvent = null;
-		try {
-			stopEvent = equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertNotNull("Stop event is null", stopEvent); //$NON-NLS-1$
-		assertEquals("Wrong stopEvent", FrameworkEvent.STOPPED, stopEvent.getType()); //$NON-NLS-1$
-	}
-
-	public void testBug253942() {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testBug253942"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put("osgi.bundlefile.limit", "10"); //$NON-NLS-1$//$NON-NLS-2$
-
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		File[] testBundles = null;
-		try {
-			testBundles = createBundles(new File(config, "bundles"), 20); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Unexpected error creating budnles", e); //$NON-NLS-1$
-		}
-		for (int i = 0; i < testBundles.length; i++) {
-			try {
-				systemContext.installBundle("reference:file:///" + testBundles[i].getAbsolutePath()); //$NON-NLS-1$
-			} catch (BundleException e) {
-				fail("Unexpected install error", e); //$NON-NLS-1$
-			}
-		}
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		systemContext = equinox.getBundleContext();
-		Bundle[] bundles = systemContext.getBundles();
-		// get an entry from each bundle to ensure each one gets opened.
-		try {
-			for (int i = 0; i < bundles.length; i++) {
-				bundles[i].getEntry("/META-INF/MANIFEST.MF"); //$NON-NLS-1$
-			}
-		} catch (Throwable t) {
-			// An exception used to get thrown here when we tried to close 
-			// the least used bundle file
-			fail("Failed to get bundle entries", t);
-		}
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-	}
-
-	public void testURLExternalFormat01() {
-		// create multiple instances test
-		File config1 = OSGiTestsActivator.getContext().getDataFile("testURLExternalFormat01_1"); //$NON-NLS-1$
-		Properties configuration1 = new Properties();
-		configuration1.put(Constants.FRAMEWORK_STORAGE, config1.getAbsolutePath());
-		Equinox equinox1 = new Equinox(configuration1);
-		try {
-			equinox1.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox1.getState()); //$NON-NLS-1$
-
-		File config2 = OSGiTestsActivator.getContext().getDataFile("testURLExternalFormat01_2"); //$NON-NLS-1$
-		Properties configuration2 = new Properties();
-		configuration2.put(Constants.FRAMEWORK_STORAGE, config2.getAbsolutePath());
-		Equinox equinox2 = new Equinox(configuration2);
-		try {
-			equinox2.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception in init()", e); //$NON-NLS-1$
-		}
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox2.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext1 = equinox1.getBundleContext();
-		assertNotNull("System context is null", systemContext1); //$NON-NLS-1$
-		BundleContext systemContext2 = equinox2.getBundleContext();
-		assertNotNull("System context is null", systemContext2); //$NON-NLS-1$
-
-		assertNotSame(systemContext1, systemContext2);
-
-		Bundle test1 = null;
-		Bundle test2 = null;
-		try {
-			test1 = systemContext1.installBundle(installer.getBundleLocation("test"));//$NON-NLS-1$
-			test2 = systemContext2.installBundle(installer.getBundleLocation("test"));//$NON-NLS-1$
-		} catch (BundleException e) {
-			fail("Unexpected error installing bundle", e);//$NON-NLS-1$
-		}
-		URL entry1 = test1.getEntry("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry1", entry1); //$NON-NLS-1$
-		URL entry2 = test2.getEntry("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry2", entry2); //$NON-NLS-1$
-		assertFalse("External form is equal: " + entry1.toExternalForm(), entry1.toExternalForm().equals(entry2.toExternalForm())); //$NON-NLS-1$
-		assertFalse("Host is equal: " + entry1.getHost(), entry1.getHost().equals(entry2.getHost())); //$NON-NLS-1$
-		assertFalse("URL is equal: " + entry1.toExternalForm(), entry1.equals(entry2)); //$NON-NLS-1$
-
-		Bundle substitutes1 = null;
-		Bundle substitutes2 = null;
-		try {
-			substitutes1 = systemContext1.installBundle(installer.getBundleLocation("substitutes.a"));//$NON-NLS-1$
-			substitutes2 = systemContext2.installBundle(installer.getBundleLocation("substitutes.a"));//$NON-NLS-1$
-		} catch (BundleException e) {
-			fail("Unexpected error installing bundle", e);//$NON-NLS-1$
-		}
-
-		entry1 = substitutes1.getResource("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry1", entry1); //$NON-NLS-1$
-		entry2 = substitutes2.getResource("data/resource1"); //$NON-NLS-1$
-		assertNotNull("entry2", entry2); //$NON-NLS-1$
-		assertFalse("External form is equal: " + entry1.toExternalForm(), entry1.toExternalForm().equals(entry2.toExternalForm())); //$NON-NLS-1$
-		assertFalse("Host is equal: " + entry1.getHost(), entry1.getHost().equals(entry2.getHost())); //$NON-NLS-1$
-		assertFalse("URL is equal: " + entry1.toExternalForm(), entry1.equals(entry2)); //$NON-NLS-1$
-
-		// put the framework 1 back to the RESOLVED state
-		try {
-			equinox1.stop();
-		} catch (BundleException e) {
-			fail("Unexpected error stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox1.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox1.getState()); //$NON-NLS-1$
-
-		// put the framework 2 back to the RESOLVED state
-		try {
-			equinox2.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox2.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox2.getState()); //$NON-NLS-1$
-	}
-
-	private static File[] createBundles(File outputDir, int bundleCount) throws IOException {
-		outputDir.mkdirs();
-
-		File[] bundles = new File[bundleCount];
-
-		for (int i = 0; i < bundleCount; i++)
-			bundles[i] = createBundle(outputDir, "-b" + i); //$NON-NLS-1$
-
-		return bundles;
-	}
-
-	private static File createBundle(File outputDir, String id) throws IOException {
-		File file = new File(outputDir, "bundle" + id + ".jar"); //$NON-NLS-1$ //$NON-NLS-2$
-		JarOutputStream jos = new JarOutputStream(new FileOutputStream(file), createManifest(id));
-		jos.flush();
-		jos.close();
-		return file;
-	}
-
-	private static Manifest createManifest(String id) {
-		Manifest manifest = new Manifest();
-		Attributes attributes = manifest.getMainAttributes();
-		attributes.putValue("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$
-		attributes.putValue("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$
-		attributes.putValue("Bundle-SymbolicName", "bundle" + id); //$NON-NLS-1$ //$NON-NLS-2$
-		return manifest;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java
deleted file mode 100644
index 9216773..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.bundles;
-
-import java.util.ArrayList;
-public class TestResults {
-	ArrayList events = new ArrayList();
-	
-	synchronized public void addEvent(Object event) {
-		events.add(event);
-		notifyAll();
-	}
-	synchronized public Object[] getResults(int expectedResultsNumber) {
-		while (events.size() < expectedResultsNumber) {
-			int currentSize = events.size();
-			try {
-				wait(5000);
-			} catch (InterruptedException e) {
-				// do nothing
-			}
-			if (currentSize == events.size())
-				break; // no new events occurred; break out
-		}
-		Object[] result = events.toArray();
-		events.clear();
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AbstractCompositeTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AbstractCompositeTests.java
deleted file mode 100644
index 1413bae..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AbstractCompositeTests.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.composites;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.eclipse.osgi.tests.bundles.BundleInstaller;
-import org.osgi.framework.*;
-import org.osgi.framework.launch.Framework;
-import org.osgi.service.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class AbstractCompositeTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(AbstractCompositeTests.class);
-	}
-
-	ServiceRegistration installerReg;
-	ServiceReference linkBundleFactoryRef;
-	CompositeBundleFactory linkBundleFactory;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		linkBundleFactoryRef = OSGiTestsActivator.getContext().getServiceReference(CompositeBundleFactory.class.getName());
-		assertNotNull("LinkBundleFactory reference is null", linkBundleFactoryRef); //$NON-NLS-1$
-		linkBundleFactory = (CompositeBundleFactory) OSGiTestsActivator.getContext().getService(linkBundleFactoryRef);
-		assertNotNull("LinkBundleFactory service is null", linkBundleFactory); //$NON-NLS-1$
-
-		installerReg = OSGiTestsActivator.getContext().registerService(BundleInstaller.class.getName(), installer, null);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (linkBundleFactoryRef != null) {
-			OSGiTestsActivator.getContext().ungetService(linkBundleFactoryRef);
-			linkBundleFactoryRef = null;
-			linkBundleFactory = null;
-		}
-		if (installerReg != null)
-			installerReg.unregister();
-	}
-
-	CompositeBundle createCompositeBundle(CompositeBundleFactory factory, String location, Map configuration, Map linkManifest, boolean start, boolean security) {
-		if (configuration == null)
-			configuration = new HashMap();
-		if (security)
-			configuration.put(Constants.FRAMEWORK_SECURITY, "osgi"); //$NON-NLS-1$
-		if (linkManifest == null) {
-			linkManifest = new HashMap();
-			linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, location);
-		}
-		CompositeBundle composite = null;
-		try {
-			composite = factory.installCompositeBundle(configuration, location, linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected exception creating composite bundle", e); //$NON-NLS-1$
-		}
-		assertNotNull("Composite is null", composite); //$NON-NLS-1$
-		assertEquals("Wrong composite location", location, composite.getLocation()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, composite.getCompositeFramework().getState()); //$NON-NLS-1$
-		SurrogateBundle surrogate = composite.getSurrogateBundle();
-		assertNotNull("Surrogate is null", surrogate); //$NON-NLS-1$
-		assertEquals("Wrong surrogte location", location, surrogate.getLocation()); //$NON-NLS-1$
-		if (start)
-			startCompositeBundle(composite, false);
-		return composite;
-	}
-
-	InputStream getBundleInput() throws BundleException {
-		URL bundlejar = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/bundles/signed.jar"); //$NON-NLS-1$
-		if (bundlejar == null)
-			throw new BundleException("Cannot find test bundle jar"); //$NON-NLS-1$
-		try {
-			return bundlejar.openStream();
-		} catch (IOException e) {
-			throw new BundleException("Cannot open test bundle stream", e); //$NON-NLS-1$
-		}
-	}
-
-	void waitForStateChange(Bundle bundle, int changeFrom) {
-		for (int i = 0; i < 10 && (bundle.getState() & changeFrom) != 0; i++)
-			try {
-				Thread.sleep(100);
-			} catch (InterruptedException e) {
-				// nothing
-			}
-		assertTrue("Wrong bundle state: " + bundle.getState(), (bundle.getState() & changeFrom) == 0); //$NON-NLS-1$
-
-	}
-
-	Bundle installIntoCurrent(String name) {
-		try {
-			Bundle testBundle = installer.installBundle(name);
-			installer.resolveBundles(new Bundle[] {testBundle});
-			return testBundle;
-		} catch (BundleException e) {
-			fail("failed to install test bundle", e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	Bundle installIntoChild(Framework framework, String name) {
-		try {
-			return framework.getBundleContext().installBundle(installer.getBundleLocation(name));
-		} catch (BundleException e) {
-			fail("failed to install test bundle", e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	void startCompositeBundle(CompositeBundle composite, boolean expectFailure) {
-		boolean childFrameworkActive = composite.getCompositeFramework().getState() == Bundle.ACTIVE;
-		try {
-			composite.start();
-			if (expectFailure)
-				fail("Expected an exception starting composite bundle"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			if (!expectFailure)
-				fail("Failed to start composite", e); //$NON-NLS-1$
-		}
-		Framework childFramework = composite.getCompositeFramework();
-		int expectedState = expectFailure && !childFrameworkActive ? Bundle.STARTING : Bundle.ACTIVE;
-		assertEquals("Wrong state for SystemBundle", expectedState, childFramework.getState()); //$NON-NLS-1$
-	}
-
-	void stopCompositeBundle(CompositeBundle composite) {
-		Framework childFramework = composite.getCompositeFramework();
-		try {
-			composite.stop();
-		} catch (BundleException e) {
-			fail("Unexpected error stopping composite", e); //$NON-NLS-1$
-		}
-		FrameworkEvent stopEvent = null;
-		try {
-			stopEvent = childFramework.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertNotNull("Stop event is null", stopEvent); //$NON-NLS-1$
-		assertEquals("Wrong stopEvent", FrameworkEvent.STOPPED, stopEvent.getType()); //$NON-NLS-1$
-
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, childFramework.getState()); //$NON-NLS-1$
-	}
-
-	void uninstallCompositeBundle(CompositeBundle composite) {
-		Framework childFramework = composite.getCompositeFramework();
-		try {
-			composite.uninstall();
-		} catch (BundleException e) {
-			fail("Unexpected error uninstalling composite", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, childFramework.getState()); //$NON-NLS-1$
-	}
-
-	PackageAdmin getPackageAdmin(Bundle framework) {
-		BundleContext context = framework.getBundleContext();
-		return (PackageAdmin) context.getService(context.getServiceReference(PackageAdmin.class.getName()));
-	}
-
-	CompositeBundleFactory getFactory(Bundle framework) {
-		BundleContext context = framework.getBundleContext();
-		assertNotNull("Child context is null.", context); //$NON-NLS-1$
-		ServiceReference ref = context.getServiceReference(CompositeBundleFactory.class.getName());
-		assertNotNull("Factory reference is null", ref); //$NON-NLS-1$
-		CompositeBundleFactory factory = (CompositeBundleFactory) context.getService(ref);
-		assertNotNull("factory service is null", factory); //$NON-NLS-1$
-		// just release now to make testcode simple
-		context.ungetService(ref);
-		return factory;
-	}
-
-	class TestServiceListener implements ServiceListener {
-		final int[] results = new int[4];
-
-		public int[] getResults() {
-			return results;
-		}
-
-		public void serviceChanged(ServiceEvent event) {
-			switch (event.getType()) {
-				case ServiceEvent.REGISTERED :
-					++results[0];
-					break;
-				case ServiceEvent.MODIFIED :
-					++results[1];
-					break;
-				case ServiceEvent.MODIFIED_ENDMATCH :
-					++results[2];
-					break;
-				case ServiceEvent.UNREGISTERING :
-					++results[3];
-					break;
-			}
-		}
-	}
-
-	public class TestTrackerCustomizer implements ServiceTrackerCustomizer {
-		final int[] results = new int[3];
-
-		public int[] getResults() {
-			return results;
-		}
-
-		public Object addingService(ServiceReference reference) {
-			++results[0];
-			return reference;
-		}
-
-		public void modifiedService(ServiceReference reference, Object service) {
-			++results[1];
-		}
-
-		public void removedService(ServiceReference reference, Object service) {
-			++results[2];
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AllCompositeTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AllCompositeTests.java
deleted file mode 100644
index 2b01a1c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/AllCompositeTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.composites;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllCompositeTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllCompositeTests.class.getName());
-		suite.addTest(CompositeCreateTests.suite());
-		suite.addTest(CompositeShareTests.suite());
-		suite.addTest(CompositeSecurityTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeCreateTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeCreateTests.java
deleted file mode 100644
index 2252b2b..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeCreateTests.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.composites;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.Bundle;
-import org.osgi.service.framework.CompositeBundle;
-import org.osgi.service.framework.CompositeBundleFactory;
-
-public class CompositeCreateTests extends AbstractCompositeTests {
-	public static Test suite() {
-		return new TestSuite(CompositeCreateTests.class);
-	}
-
-	public void testCreateComposite01() {
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testCreateComposite01", null, null, true, false); //$NON-NLS-1$
-		startCompositeBundle(composite, false);
-		stopCompositeBundle(composite);
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testCreateComposite02() {
-		CompositeBundle compositeLevel0 = createCompositeBundle(linkBundleFactory, "compositeLevel0", null, null, true, false); //$NON-NLS-1$
-		CompositeBundleFactory factory = getFactory(compositeLevel0.getCompositeFramework());
-		CompositeBundle compositeLevel1_1 = createCompositeBundle(factory, "compositeLevel1_1", null, null, true, false); //$NON-NLS-1$
-		CompositeBundle compositeLevel1_2 = createCompositeBundle(factory, "compositeLevel1_2", null, null, true, false); //$NON-NLS-1$
-		long idLevel1_1 = compositeLevel1_1.getBundleId();
-		long idLevel1_2 = compositeLevel1_2.getBundleId();
-
-		stopCompositeBundle(compositeLevel0);
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_2.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		startCompositeBundle(compositeLevel0, false);
-		// need to reget the bundles from child frameworks that were restarted
-		compositeLevel1_1 = (CompositeBundle) compositeLevel0.getCompositeFramework().getBundleContext().getBundle(idLevel1_1);
-		compositeLevel1_2 = (CompositeBundle) compositeLevel0.getCompositeFramework().getBundleContext().getBundle(idLevel1_2);
-
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel1_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel1_2.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		uninstallCompositeBundle(compositeLevel0);
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_1.getCompositeFramework().getState()); //$NON-NLS-1$
-	}
-
-	public void testCreateComposite03() {
-		CompositeBundle compositeLevel0 = createCompositeBundle(linkBundleFactory, "compositeLevel0", null, null, true, false); //$NON-NLS-1$
-		CompositeBundleFactory factoryLevel1 = getFactory(compositeLevel0.getCompositeFramework());
-		// create two level 1 composites
-		CompositeBundle compositeLevel1_1 = createCompositeBundle(factoryLevel1, "compositeLevel1_1", null, null, true, false); //$NON-NLS-1$
-		CompositeBundle compositeLevel1_2 = createCompositeBundle(factoryLevel1, "compositeLevel1_2", null, null, true, false); //$NON-NLS-1$
-
-		// create two level 2 composites under 1_1
-		CompositeBundleFactory factoryLevel2_1 = getFactory(compositeLevel1_1.getCompositeFramework());
-		CompositeBundle compositeLevel2_1 = createCompositeBundle(factoryLevel2_1, "compositeLevel2_1", null, null, true, false); //$NON-NLS-1$
-		CompositeBundle compositeLevel2_2 = createCompositeBundle(factoryLevel2_1, "compositeLevel2_2", null, null, true, false); //$NON-NLS-1$
-		long idLevel2_1 = compositeLevel2_1.getBundleId();
-		long idLevel2_2 = compositeLevel2_2.getBundleId();
-
-		// create two level 2 composites under 1_2
-		CompositeBundleFactory factoryLevel2_2 = getFactory(compositeLevel1_2.getCompositeFramework());
-		CompositeBundle compositeLevel2_3 = createCompositeBundle(factoryLevel2_2, "compositeLevel2_3", null, null, true, false); //$NON-NLS-1$
-		CompositeBundle compositeLevel2_4 = createCompositeBundle(factoryLevel2_2, "compositeLevel2_4", null, null, true, false); //$NON-NLS-1$
-		long idLevel2_3 = compositeLevel2_3.getBundleId();
-		long idLevel2_4 = compositeLevel2_4.getBundleId();
-
-		stopCompositeBundle(compositeLevel1_1);
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_2.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_3.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_4.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		startCompositeBundle(compositeLevel1_1, false);
-		// need to reget the bundles from child frameworks that were restarted
-		compositeLevel2_1 = (CompositeBundle) compositeLevel1_1.getCompositeFramework().getBundleContext().getBundle(idLevel2_1);
-		compositeLevel2_2 = (CompositeBundle) compositeLevel1_1.getCompositeFramework().getBundleContext().getBundle(idLevel2_2);
-
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_2.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_3.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_4.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		stopCompositeBundle(compositeLevel1_2);
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_2.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_3.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_4.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		startCompositeBundle(compositeLevel1_2, false);
-		// need to reget the bundles from child frameworks that were restarted
-		compositeLevel2_3 = (CompositeBundle) compositeLevel1_2.getCompositeFramework().getBundleContext().getBundle(idLevel2_3);
-		compositeLevel2_4 = (CompositeBundle) compositeLevel1_2.getCompositeFramework().getBundleContext().getBundle(idLevel2_4);
-
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_2.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_3.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, compositeLevel2_4.getCompositeFramework().getState()); //$NON-NLS-1$
-
-		uninstallCompositeBundle(compositeLevel0);
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_2.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_3.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel2_4.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_1.getCompositeFramework().getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, compositeLevel1_2.getCompositeFramework().getState()); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeSecurityTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeSecurityTests.java
deleted file mode 100644
index 7dea1a6..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeSecurityTests.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.composites;
-
-import java.security.*;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.*;
-import org.osgi.service.condpermadmin.*;
-import org.osgi.service.framework.CompositeBundle;
-import org.osgi.service.framework.CompositeBundleFactory;
-import org.osgi.service.permissionadmin.PermissionInfo;
-
-public class CompositeSecurityTests extends AbstractCompositeTests {
-	public static Test suite() {
-		return new TestSuite(CompositeSecurityTests.class);
-	}
-
-	private Policy previousPolicy;
-
-	protected void setUp() throws Exception {
-		if (System.getSecurityManager() != null)
-			fail("Cannot test with security manager set"); //$NON-NLS-1$
-		previousPolicy = Policy.getPolicy();
-		final Permission allPermission = new AllPermission();
-		final PermissionCollection allPermissions = new PermissionCollection() {
-			private static final long serialVersionUID = 3258131349494708277L;
-
-			// A simple PermissionCollection that only has AllPermission
-			public void add(Permission permission) {
-				//no adding to this policy
-			}
-
-			public boolean implies(Permission permission) {
-				return true;
-			}
-
-			public Enumeration elements() {
-				return new Enumeration() {
-					int cur = 0;
-
-					public boolean hasMoreElements() {
-						return cur < 1;
-					}
-
-					public Object nextElement() {
-						if (cur == 0) {
-							cur = 1;
-							return allPermission;
-						}
-						throw new NoSuchElementException();
-					}
-				};
-			}
-		};
-
-		Policy.setPolicy(new Policy() {
-
-			public PermissionCollection getPermissions(CodeSource codesource) {
-				return allPermissions;
-			}
-
-			public void refresh() {
-				// nothing
-			}
-
-		});
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (System.getSecurityManager() != null)
-			System.setSecurityManager(null);
-		Policy.setPolicy(previousPolicy);
-	}
-
-	public void testLinkSecurity01() {
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testLinkSecurity01"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.eclipse.osgi.tests.bundles"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=org.eclipse.osgi.tests.bundles.BundleInstaller)"); //$NON-NLS-1$
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testLinkSecurity01", null, linkManifest, true, true); //$NON-NLS-1$
-
-		startCompositeBundle(composite, false);
-
-		stopCompositeBundle(composite);
-
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testLinkSecurity02() {
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testLinkSecurity02"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.eclipse.osgi.tests.bundles"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=org.eclipse.osgi.tests.bundles.BundleInstaller)"); //$NON-NLS-1$
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testLinkSecurity02", null, linkManifest, true, true); //$NON-NLS-1$
-		Bundle linkD = installIntoChild(composite.getCompositeFramework(), "test.link.d"); //$NON-NLS-1$
-
-		ConditionInfo[] conditions = new ConditionInfo[] {new ConditionInfo(BundleLocationCondition.class.getName(), new String[] {linkD.getLocation()})};
-		ConditionalPermissionAdmin childCondAdmin = getCondPermAdmin(composite.getCompositeFramework().getBundleContext());
-		childCondAdmin.addConditionalPermissionInfo(conditions, new PermissionInfo[] {new PermissionInfo("(test)")}); //$NON-NLS-1$
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		ConditionalPermissionUpdate update = childCondAdmin.newConditionalPermissionUpdate();
-		List infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-
-		PermissionInfo packagePerm = new PermissionInfo(PackagePermission.class.getName(), "*", PackagePermission.IMPORT); //$NON-NLS-1$
-		PermissionInfo servicePerm = new PermissionInfo(ServicePermission.class.getName(), "*", ServicePermission.GET + ',' + ServicePermission.REGISTER); //$NON-NLS-1$
-		PermissionInfo allPerm = new PermissionInfo(AllPermission.class.getName(), "*", "*"); //$NON-NLS-1$ //$NON-NLS-2$
-		PermissionInfo[] permissions = new PermissionInfo[] {packagePerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-			assertEquals("Unexpected exception message", "Missing Service Permission", e.getCause().getMessage()); //$NON-NLS-1$//$NON-NLS-2$
-		}
-
-		update = childCondAdmin.newConditionalPermissionUpdate();
-		infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-		permissions = new PermissionInfo[] {packagePerm, servicePerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-			assertEquals("Unexpected exception message", "Missing AllPermissions", e.getCause().getMessage()); //$NON-NLS-1$//$NON-NLS-2$
-		}
-
-		update = childCondAdmin.newConditionalPermissionUpdate();
-		infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-		permissions = new PermissionInfo[] {allPerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testLinkSecurity03() {
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testLinkSecurity03"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.eclipse.osgi.tests.bundles"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=org.eclipse.osgi.tests.bundles.BundleInstaller)"); //$NON-NLS-1$
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testLinkSecurity03", null, linkManifest, true, true); //$NON-NLS-1$
-
-		Bundle conditionBundle = installIntoChild(composite.getCompositeFramework(), "test.link.postponed"); //$NON-NLS-1$
-		assertTrue("Condition bundle not resolved", getPackageAdmin(composite.getCompositeFramework()).resolveBundles(new Bundle[] {conditionBundle}));
-		Bundle linkD = installIntoChild(composite.getCompositeFramework(), "test.link.d"); //$NON-NLS-1$
-
-		ConditionInfo[] conditions = new ConditionInfo[] {new ConditionInfo(BundleLocationCondition.class.getName(), new String[] {linkD.getLocation()})};
-		ConditionalPermissionAdmin childCondAdmin = getCondPermAdmin(composite.getCompositeFramework().getBundleContext());
-		childCondAdmin.addConditionalPermissionInfo(conditions, new PermissionInfo[] {new PermissionInfo("(test)")}); //$NON-NLS-1$
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		ConditionalPermissionUpdate update = childCondAdmin.newConditionalPermissionUpdate();
-		List infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-
-		PermissionInfo packagePerm = new PermissionInfo(PackagePermission.class.getName(), "*", PackagePermission.IMPORT); //$NON-NLS-1$
-		PermissionInfo servicePerm = new PermissionInfo(ServicePermission.class.getName(), "*", ServicePermission.GET + ',' + ServicePermission.REGISTER); //$NON-NLS-1$
-		PermissionInfo allPerm = new PermissionInfo(AllPermission.class.getName(), "*", "*"); //$NON-NLS-1$ //$NON-NLS-2$
-		PermissionInfo[] permissions = new PermissionInfo[] {packagePerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-			assertEquals("Unexpected exception message", "Missing Service Permission", e.getCause().getMessage()); //$NON-NLS-1$//$NON-NLS-2$
-		}
-
-		update = childCondAdmin.newConditionalPermissionUpdate();
-		infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-		permissions = new PermissionInfo[] {packagePerm, servicePerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-			fail("Should fail to start test.link.d"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Wrong exception type", BundleException.ACTIVATOR_ERROR, e.getType()); //$NON-NLS-1$
-			assertEquals("Unexpected exception message", "Missing AllPermissions", e.getCause().getMessage()); //$NON-NLS-1$//$NON-NLS-2$
-		}
-
-		update = childCondAdmin.newConditionalPermissionUpdate();
-		infos = update.getConditionalPermissionInfos();
-		assertEquals("Wrong number of infos", 1, infos.size()); //$NON-NLS-1$
-		infos.clear();
-		permissions = new PermissionInfo[] {allPerm};
-		infos.add(childCondAdmin.newConditionalPermissionInfo("test.link.d", conditions, permissions, ConditionalPermissionInfo.ALLOW)); //$NON-NLS-1$
-		update.commit();
-
-		try {
-			linkD.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e);
-		}
-
-		uninstallCompositeBundle(composite);
-	}
-
-	private ConditionalPermissionAdmin getCondPermAdmin(BundleContext context) {
-		ServiceReference permAdminRef = context.getServiceReference(ConditionalPermissionAdmin.class.getName());
-		if (permAdminRef == null) {
-			fail("No Conditional Permission Admin service"); //$NON-NLS-1$
-			return null;
-		}
-		try {
-			ConditionalPermissionAdmin permAdmin = (ConditionalPermissionAdmin) context.getService(permAdminRef);
-			if (permAdmin == null)
-				fail("No Conditional Permission Admin service"); //$NON-NLS-1$
-			return permAdmin;
-		} finally {
-			context.ungetService(permAdminRef);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeShareTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeShareTests.java
deleted file mode 100644
index 462d27d..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/composites/CompositeShareTests.java
+++ /dev/null
@@ -1,962 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.composites;
-
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-import org.osgi.framework.launch.Framework;
-import org.osgi.service.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class CompositeShareTests extends AbstractCompositeTests {
-	public static Test suite() {
-		return new TestSuite(CompositeShareTests.class);
-	}
-
-	public void testCompositeShare01() {
-		// simple test to create an empty composite bundle
-		// sharing one package from the parent
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare01"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.osgi.service.application"); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare01", null, linkManifest, false, false); //$NON-NLS-1$
-		startCompositeBundle(compositeBundle, false);
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Surrogate is null", surrogate); //$NON-NLS-1$
-		try {
-			surrogate.loadClass("org.osgi.service.application.ApplicationDescriptor"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected class load exception", e); //$NON-NLS-1$
-		}
-		// make sure missing classes do not endlessly loop
-		try {
-			surrogate.loadClass("does.not.exist.Here"); //$NON-NLS-1$
-			fail("Expected a loadClass exception"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare01a() {
-		// simple test to create an empty composite bundle
-		// sharing one package from the parent
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, getName());
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.osgi.service.application"); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, getName(), null, linkManifest, false, false);
-		startCompositeBundle(compositeBundle, false);
-
-		stopCompositeBundle(compositeBundle);
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare02() {
-		// simple test to create an empty composite bundle
-		// sharing one package from the parent and sharing one non-existing package from child
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare02"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.osgi.service.application"); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "foo"); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare02", null, linkManifest, false, false); //$NON-NLS-1$
-
-		startCompositeBundle(compositeBundle, true);
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Companion is null", surrogate); //$NON-NLS-1$
-		try {
-			surrogate.loadClass("org.osgi.service.application.ApplicationDescriptor"); //$NON-NLS-1$
-			fail("Expected a loadClass exception"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare03() {
-		// create a composite bundle with one bundle that exports some api to parent
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare03"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare03", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a"); //$NON-NLS-1$
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			compositeBundle.loadClass("test.link.a.SomeAPI"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected a loadClass exception", e); //$NON-NLS-1$
-		}
-		//make sure missing classes do not endlessly loop
-		try {
-			compositeBundle.loadClass("does.not.exist.Here"); //$NON-NLS-1$
-			fail("Expected a loadClass exception"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			// expected
-		}
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare04a() {
-		// create a composite bundle with one bundle that exports some api to parent
-		// install one bundle into parent that uses API from child
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare04a"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"bad value\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"bad value\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare04a", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a"); //$NON-NLS-1$
-		Bundle testClient = installIntoCurrent("test.link.a.client"); //$NON-NLS-1$
-
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Companion is null", surrogate); //$NON-NLS-1$
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-		// put good value back
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		// put bad value back
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"bad value\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"bad value\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare04b() {
-		// create a composite bundle with one bundle that exports some api to parent
-		// install one bundle into parent that uses API from child
-		// test lazy uninstall
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare04b"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"bad value\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"bad value\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare04b", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a"); //$NON-NLS-1$
-		Bundle testClient = installIntoCurrent("test.link.a.client"); //$NON-NLS-1$
-
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Surrogate is null", surrogate); //$NON-NLS-1$
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-		// put good value back
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		// refresh client to clear class laoder
-		installer.refreshPackages(new Bundle[] {testClient});
-
-		// put bad value back
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"bad value\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"bad value\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		// make sure testClient can still start before refresh
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		// put good value back
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.a; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.a.params\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		startCompositeBundle(compositeBundle, false);
-		uninstallCompositeBundle(compositeBundle);
-		// make sure testClient can still start after uninstall
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-	}
-
-	public void testCompositeShare05() {
-		// create a composite bundle with one bundle that exports some api to child
-		// install one bundle into child that uses API from parent
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare05"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"bad value\", test.link.a.params;  attr2=\"bad value\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare03", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoCurrent("test.link.a"); //$NON-NLS-1$
-		Bundle testClient = installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a.client"); //$NON-NLS-1$
-
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Surrogate is null", surrogate); //$NON-NLS-1$
-		startCompositeBundle(compositeBundle, true);
-		assertFalse("Bundle should not be resolved", resolveBundle(compositeBundle.getCompositeFramework(), testClient));
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception type", e); //$NON-NLS-1$
-		}
-
-		// put good value back
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"value1\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClient.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		// put bad value back
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"bad value\", test.link.a.params;  attr2=\"bad value\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClient.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare06() {
-		// simple test to create an empty composite bundle
-		// sharing one package from a bundle in the parent and 
-		// one package from the system bundle in the parent
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare06"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "org.osgi.service.application, org.osgi.framework"); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare06", null, linkManifest, false, false); //$NON-NLS-1$
-		startCompositeBundle(compositeBundle, false);
-		SurrogateBundle surrogate = compositeBundle.getSurrogateBundle();
-		assertNotNull("Surrogate is null", surrogate); //$NON-NLS-1$
-		try {
-			surrogate.loadClass("org.osgi.service.application.ApplicationDescriptor"); //$NON-NLS-1$
-			Class bundleClass = surrogate.loadClass("org.osgi.framework.Bundle"); //$NON-NLS-1$
-			assertEquals("Bundle classes are not the same", Bundle.class, bundleClass); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			fail("Unexpected class load exception", e); //$NON-NLS-1$
-		}
-
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare07a() {
-		// test two way sharing
-		// create a composite bundle with one bundle that exports some api to child
-		// install one bundle into child that uses API from parent
-		// install a child bundle that exports some api to parent
-		// install one bundle into parent that uses API from child
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare07a"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"value1\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.b; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.b.params\", test.link.b.params; attr2=\"value2\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare07a", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoCurrent("test.link.a"); //$NON-NLS-1$
-		Bundle testClientA = installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a.client"); //$NON-NLS-1$
-		installIntoChild(compositeBundle.getCompositeFramework(), "test.link.b"); //$NON-NLS-1$
-		Bundle testClientB = installIntoCurrent("test.link.b.client"); //$NON-NLS-1$
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClientA.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			testClientB.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		// use bad import package value
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"bad value\", test.link.a.params;  attr2=\"bad value\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClientA.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-		try {
-			testClientB.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		// put good value back
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"value1\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClientA.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			testClientB.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare07b() {
-		// test two way sharing AND lazy update
-		// create a composite bundle with one bundle that exports some api to child
-		// install one bundle into child that uses API from parent
-		// install a child bundle that exports some api to parent
-		// install one bundle into parent that uses API from child
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare07b"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"value1\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.b; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.b.params\", test.link.b.params; attr2=\"value2\""); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "testCompositeShare07b", null, linkManifest, false, false); //$NON-NLS-1$
-		installIntoCurrent("test.link.a"); //$NON-NLS-1$
-		Bundle testClientA = installIntoChild(compositeBundle.getCompositeFramework(), "test.link.a.client"); //$NON-NLS-1$
-		installIntoChild(compositeBundle.getCompositeFramework(), "test.link.b"); //$NON-NLS-1$
-		Bundle testClientB = installIntoCurrent("test.link.b.client"); //$NON-NLS-1$
-
-		startCompositeBundle(compositeBundle, false);
-		try {
-			testClientA.start();
-			testClientA.stop();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			testClientB.start();
-			testClientB.stop();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		// force a refresh packages of the composite to get new class loaders for the clients
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-
-		// use bad import package value
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0.a"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"bad value\", test.link.a.params;  attr2=\"bad value\""); //$NON-NLS-1$
-		try {
-			compositeBundle.update(linkManifest);
-		} catch (BundleException e) {
-			fail("Unexpected composite update exception", e); //$NON-NLS-1$
-		}
-
-		// make sure we can still start the clients before a refresh; 
-		// they should still be wired to the old content
-		try {
-			testClientA.start();
-			testClientA.stop();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			testClientB.start();
-			testClientB.stop();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		installer.refreshPackages(new Bundle[] {compositeBundle});
-		startCompositeBundle(compositeBundle, true);
-		try {
-			testClientA.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-		try {
-			testClientB.start();
-			fail("Expected start failure"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			assertEquals("Unexpected exception type", BundleException.RESOLVE_ERROR, e.getType()); //$NON-NLS-1$
-		}
-
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	public void testCompositeShare08() {
-		// Create a child framework to install composites into to test persistence
-		CompositeBundle compositeLevel0 = createCompositeBundle(linkBundleFactory, "testCompositeShare08LV0", null, null, true, false); //$NON-NLS-1$
-		CompositeBundleFactory factoryLevel1 = getFactory(compositeLevel0.getCompositeFramework());
-		// create a level 1 composites
-		CompositeBundle compositeLevel1 = createCompositeBundle(factoryLevel1, "testCompositeShare08LV1", null, null, true, false); //$NON-NLS-1$
-		CompositeBundleFactory factoryLevel2 = getFactory(compositeLevel1.getCompositeFramework());
-		long level1ID = compositeLevel1.getBundleId();
-
-		// test two way sharing
-		// create a composite bundle with one bundle that exports some api to child
-		// install one bundle into child that uses API from parent
-		// install a child bundle that exports some api to parent
-		// install one bundle into parent that uses API from child
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare08LV2"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.a; attr1=\"value1\", test.link.a.params; attr2=\"value2\""); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.b; attr1=\"value1\"; uses:=\"org.osgi.framework, test.link.b.params\", test.link.b.params; attr2=\"value2\""); //$NON-NLS-1$
-		CompositeBundle compositeLevel2 = createCompositeBundle(factoryLevel2, "testCompositeShare08LV2", null, linkManifest, false, false); //$NON-NLS-1$
-		long level2ID = compositeLevel2.getBundleId();
-
-		installIntoChild(compositeLevel1.getCompositeFramework(), "test.link.a"); //$NON-NLS-1$
-		Bundle testClientA = installIntoChild(compositeLevel2.getCompositeFramework(), "test.link.a.client"); //$NON-NLS-1$
-		long clientAID = testClientA.getBundleId();
-		installIntoChild(compositeLevel2.getCompositeFramework(), "test.link.b"); //$NON-NLS-1$
-		Bundle testClientB = installIntoChild(compositeLevel1.getCompositeFramework(), "test.link.b.client"); //$NON-NLS-1$
-		long clientBID = testClientB.getBundleId();
-
-		startCompositeBundle(compositeLevel2, false);
-		try {
-			testClientA.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			testClientB.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-
-		// stop level 0 composite
-		stopCompositeBundle(compositeLevel0);
-
-		// check the state of bundles installed into composite frameworks
-		assertEquals("Wrong state for client A", Bundle.UNINSTALLED, testClientA.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for client B", Bundle.UNINSTALLED, testClientB.getState()); //$NON-NLS-1$
-
-		// start level 0 composite again
-		startCompositeBundle(compositeLevel0, false);
-
-		// get reified level 1 and 2 composites and client A and B bundles 
-		compositeLevel1 = (CompositeBundle) compositeLevel0.getCompositeFramework().getBundleContext().getBundle(level1ID);
-		compositeLevel2 = (CompositeBundle) compositeLevel1.getCompositeFramework().getBundleContext().getBundle(level2ID);
-		testClientA = compositeLevel2.getCompositeFramework().getBundleContext().getBundle(clientAID);
-		testClientB = compositeLevel1.getCompositeFramework().getBundleContext().getBundle(clientBID);
-
-		// check the state of bundles installed into composite frameworks
-		assertEquals("Wrong state for client A", Bundle.ACTIVE, testClientA.getState()); //$NON-NLS-1$
-		assertEquals("Wrong state for client B", Bundle.ACTIVE, testClientB.getState()); //$NON-NLS-1$
-
-		uninstallCompositeBundle(compositeLevel0);
-	}
-
-	public void testCompositeShare09a() {
-		// exports packages from a bundle installed into the parent
-		// and imports the packages from a bundle installed into the child
-		// and services registered in the parent are propagated to the child
-		Bundle cService = installIntoCurrent("test.link.c"); //$NON-NLS-1$
-		try {
-			cService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.c", e); //$NON-NLS-1$
-		}
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare09a"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.c.service1,test.link.c.service2,test.link.c.service3"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=test.link.c.service1.Service1),(objectClass=test.link.c.service2.Service2),(objectClass=test.link.c.service3.Service3)"); //$NON-NLS-1$
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testCompositeShare09a", null, linkManifest, true, false); //$NON-NLS-1$
-
-		startCompositeBundle(composite, false);
-
-		ServiceReference[] targetServices = composite.getSurrogateBundle().getRegisteredServices();
-		assertNotNull("No target services found", targetServices); //$NON-NLS-1$
-		assertEquals("Wrong number of target services", 3, targetServices.length); //$NON-NLS-1$
-
-		Bundle cClient = installIntoChild(composite.getCompositeFramework(), "test.link.c.client"); //$NON-NLS-1$
-
-		try {
-			cClient.start();
-			cClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-
-		try {
-			cService.stop();
-		} catch (BundleException e) {
-			fail("Failed to stop cService", e); //$NON-NLS-1$
-		}
-
-		try {
-			cClient.start();
-			fail("Should have failed to start cClient"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			// expected
-		}
-		try {
-			cService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.c", e); //$NON-NLS-1$
-		}
-		try {
-			cClient.start();
-			cClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testCompositeShare09b() {
-		// two way package and service tests
-		// exports packages from a bundle installed into the parent
-		// and imports the packages from a bundle installed into the child
-		// and services registered in the parent are propagated to the child
-		// and services registered in the child are propagated to the parent
-		Bundle cService = installIntoCurrent("test.link.c"); //$NON-NLS-1$
-		try {
-			cService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.c", e); //$NON-NLS-1$
-		}
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare09b"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(Constants.IMPORT_PACKAGE, "test.link.c.service1,test.link.c.service2,test.link.c.service3"); //$NON-NLS-1$
-		linkManifest.put(Constants.EXPORT_PACKAGE, "test.link.e.service1; attr1=\"value1\", test.link.e.service2; attr2=\"value2\"; uses:=\"test.link.e.service1\", test.link.e.service3; attr3=\"value3\"; uses:=\"test.link.e.service2\""); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, "(objectClass=test.link.c.service1.Service1),(objectClass=test.link.c.service2.Service2),(objectClass=test.link.c.service3.Service3)"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_EXPORT, "(objectClass=test.link.e.service1.Service1),(objectClass=test.link.e.service2.Service2),(objectClass=test.link.e.service3.Service3)"); //$NON-NLS-1$
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testCompositeShare09b", null, linkManifest, false, false); //$NON-NLS-1$
-
-		Bundle eService = installIntoChild(composite.getCompositeFramework(), "test.link.e"); //$NON-NLS-1$
-		startCompositeBundle(composite, false);
-
-		try {
-			eService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.e", e); //$NON-NLS-1$
-		}
-
-		ServiceReference[] childServices = composite.getSurrogateBundle().getRegisteredServices();
-		assertNotNull("No child services found", childServices); //$NON-NLS-1$
-		assertEquals("Wrong number of child services", 3, childServices.length); //$NON-NLS-1$
-
-		ServiceReference[] parentServices = composite.getRegisteredServices();
-		assertNotNull("No parent services found", parentServices); //$NON-NLS-1$
-		assertEquals("Wrong number of parent services", 3, parentServices.length); //$NON-NLS-1$
-
-		Bundle cClient = installIntoChild(composite.getCompositeFramework(), "test.link.c.client"); //$NON-NLS-1$
-		Bundle eClient = installIntoCurrent("test.link.e.client"); //$NON-NLS-1$
-
-		try {
-			cClient.start();
-			cClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-
-		try {
-			cService.stop();
-		} catch (BundleException e) {
-			fail("Failed to stop cService", e); //$NON-NLS-1$
-		}
-
-		try {
-			cClient.start();
-			fail("Should have failed to start cClient"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			// expected
-		}
-		try {
-			cService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.c", e); //$NON-NLS-1$
-		}
-		try {
-			cClient.start();
-			cClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-
-		try {
-			eClient.start();
-			eClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-
-		try {
-			eService.stop();
-		} catch (BundleException e) {
-			fail("Failed to stop eService", e); //$NON-NLS-1$
-		}
-
-		try {
-			eClient.start();
-			fail("Should have failed to start eClient"); //$NON-NLS-1$
-		} catch (BundleException e) {
-			// expected
-		}
-		try {
-			eService.start();
-		} catch (BundleException e) {
-			fail("Failed to start test.link.e", e); //$NON-NLS-1$
-		}
-		try {
-			eClient.start();
-			eClient.stop();
-		} catch (BundleException e) {
-			fail("Failed to start/stop the client", e); //$NON-NLS-1$
-		}
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testCompositeShare10() {
-		// test service listeners with services shared to child
-		String filter1 = "(key1=1)"; //$NON-NLS-1$
-		String filter2 = "(key2=value1)"; //$NON-NLS-1$
-		String filter3 = "(key3=true)"; //$NON-NLS-1$
-
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare10"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, filter1 + ',' + filter2);
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testCompositeShare10", null, linkManifest, true, false); //$NON-NLS-1$
-
-		startCompositeBundle(composite, false);
-
-		Hashtable props = new Hashtable();
-		props.put("key1", new Integer(1)); //$NON-NLS-1$
-		props.put("key2", "value1"); //$NON-NLS-1$//$NON-NLS-2$
-		props.put("key3", Boolean.TRUE); //$NON-NLS-1$
-
-		// install listener to test with before registering the service so we can get the REGISTERED event
-		TestServiceListener resultListener = new TestServiceListener();
-		try {
-			composite.getCompositeFramework().getBundleContext().addServiceListener(resultListener, "(&" + filter1 + filter2 + filter3 + ")"); //$NON-NLS-1$//$NON-NLS-2$
-		} catch (InvalidSyntaxException e) {
-			fail("failed to add listener", e); //$NON-NLS-1$
-		}
-
-		// register a service that should match the listener filter
-		ServiceRegistration registration = OSGiTestsActivator.getContext().registerService(new String[] {Object.class.getName()}, new Object(), props);
-		try {
-			// expecting to have gotten 1 REGISTERED event
-			int[] results = resultListener.getResults();
-			assertEquals("Wrong listener results", new int[] {1, 0, 0, 0}, results); //$NON-NLS-1$
-
-			ServiceReference[] targetServices = composite.getSurrogateBundle().getRegisteredServices();
-			assertNotNull("No target services found", targetServices); //$NON-NLS-1$
-			assertEquals("Wrong number of target services", 1, targetServices.length); //$NON-NLS-1$
-
-			// modify the service properties so they match both the link description
-			// and the test listener filter
-			props.put("key4", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting to get a MODIFIED event
-			assertEquals("Wrong listener results", new int[] {1, 1, 0, 0}, results); //$NON-NLS-1$
-
-			// modify the service properties so they match the link description
-			// but not the test listener filter
-			props.put("key3", Boolean.FALSE); //$NON-NLS-1$
-			registration.setProperties(props);
-			// expecting to get a MODIFIED_ENDMATCH event
-			assertEquals("Wrong listener results", new int[] {1, 1, 1, 0}, results); //$NON-NLS-1$
-
-			// modify the service properties so they still match teh link description
-			// but still do not match the test listener filter
-			props.put("key4", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting no new events
-			assertEquals("Wrong listener results", new int[] {1, 1, 1, 0}, results); //$NON-NLS-1$
-
-			// modify the service properties so they match the link description
-			// and again match the test listener filter
-			props.put("key3", Boolean.TRUE); //$NON-NLS-1$
-			registration.setProperties(props);
-			// expecting to get a MODIFIED event
-			assertEquals("Wrong listener results", new int[] {1, 2, 1, 0}, results); //$NON-NLS-1$
-
-			// modify the service properties so they do not match the link description
-			// or the test listener filter
-			props.put("key1", new Integer(2)); //$NON-NLS-1$
-			props.put("key2", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting to get an UNREGISTERING event 
-			assertEquals("Wrong listener results", new int[] {1, 2, 1, 1}, results); //$NON-NLS-1$
-
-		} finally {
-			composite.getCompositeFramework().getBundleContext().removeServiceListener(resultListener);
-			if (registration != null)
-				registration.unregister();
-		}
-
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testCompositeShare11() {
-		// Test service trackers with shared services to child
-		String filter1 = "(key1=1)"; //$NON-NLS-1$
-		String filter2 = "(key2=value1)"; //$NON-NLS-1$
-		String filter3 = "(key3=true)"; //$NON-NLS-1$
-
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "testCompositeShare11"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		linkManifest.put(CompositeBundleFactory.COMPOSITE_SERVICE_FILTER_IMPORT, filter1 + ',' + filter2);
-		CompositeBundle composite = createCompositeBundle(linkBundleFactory, "testCompositeShare10", null, linkManifest, true, false); //$NON-NLS-1$
-
-		startCompositeBundle(composite, false);
-
-		Hashtable props = new Hashtable();
-		props.put("key1", new Integer(1)); //$NON-NLS-1$
-		props.put("key2", "value1"); //$NON-NLS-1$//$NON-NLS-2$
-		props.put("key3", Boolean.TRUE); //$NON-NLS-1$
-
-		// open tracker to test with before registering the service so we can get the REGISTERED event
-		ServiceTracker tracker = null;
-		TestTrackerCustomizer resultListener = new TestTrackerCustomizer();
-		try {
-			tracker = new ServiceTracker(composite.getCompositeFramework().getBundleContext(), composite.getCompositeFramework().getBundleContext().createFilter("(&" + filter1 + filter2 + filter3 + ")"), resultListener); //$NON-NLS-1$ //$NON-NLS-2$
-			tracker.open();
-		} catch (InvalidSyntaxException e) {
-			fail("failed to add listener", e); //$NON-NLS-1$
-		}
-
-		// register a service that should match the listener filter
-		ServiceRegistration registration = OSGiTestsActivator.getContext().registerService(new String[] {Object.class.getName()}, new Object(), props);
-		try {
-			// expecting to have gotten 1 addingService call
-			int[] results = resultListener.getResults();
-			assertEquals("Wrong listener results", new int[] {1, 0, 0}, results); //$NON-NLS-1$
-
-			ServiceReference[] targetServices = composite.getSurrogateBundle().getRegisteredServices();
-			assertNotNull("No target services found", targetServices); //$NON-NLS-1$
-			assertEquals("Wrong number of target services", 1, targetServices.length); //$NON-NLS-1$
-
-			// modify the service properties so they match both the link description
-			// and the test tracker filter
-			props.put("key4", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting to get 1 modifiedService call
-			assertEquals("Wrong listener results", new int[] {1, 1, 0}, results); //$NON-NLS-1$
-
-			// modify the service properties so they match the link description
-			// but not the test tracker filter
-			props.put("key3", Boolean.FALSE); //$NON-NLS-1$
-			registration.setProperties(props);
-			// expecting to get a removedService call
-			assertEquals("Wrong listener results", new int[] {1, 1, 1}, results); //$NON-NLS-1$
-
-			// modify the service properties so they still match the link description
-			// but still do not match the test listener filter
-			props.put("key4", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting no new method calls
-			assertEquals("Wrong listener results", new int[] {1, 1, 1}, results); //$NON-NLS-1$
-
-			// modify the service properties so they match the link description
-			// and again match the test tracker filter
-			props.put("key3", Boolean.TRUE); //$NON-NLS-1$
-			registration.setProperties(props);
-			// expecting to get an addingService call
-			assertEquals("Wrong listener results", new int[] {2, 1, 1}, results); //$NON-NLS-1$
-
-			// modify the service properties so they do not match the link description
-			// or the test tracker filter
-			props.put("key1", new Integer(2)); //$NON-NLS-1$
-			props.put("key2", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
-			registration.setProperties(props);
-			// expecting to get a removedService call 
-			assertEquals("Wrong listener results", new int[] {2, 1, 2}, results); //$NON-NLS-1$
-
-		} finally {
-			if (tracker != null)
-				tracker.close();
-			if (registration != null)
-				registration.unregister();
-		}
-
-		uninstallCompositeBundle(composite);
-	}
-
-	public void testBug258209_1() {
-		// create a composite bundle to test thread context class loaders
-		Map linkManifest = new HashMap();
-		linkManifest.put(Constants.BUNDLE_SYMBOLICNAME, "Bug258209.01"); //$NON-NLS-1$
-		linkManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		CompositeBundle compositeBundle = createCompositeBundle(linkBundleFactory, "Bug258209.01", null, linkManifest, false, false); //$NON-NLS-1$
-		Bundle testTCCL = installIntoChild(compositeBundle.getCompositeFramework(), "test.tccl"); //$NON-NLS-1$
-		assertTrue("Bundle should be resolved", resolveBundle(compositeBundle.getCompositeFramework(), testTCCL));
-		try {
-			testTCCL.start();
-		} catch (BundleException e) {
-			fail("Unexpected exception starting bundle", e); //$NON-NLS-1$
-		}
-		assertEquals("Unexpected state", Bundle.RESOLVED, testTCCL.getState()); //$NON-NLS-1$
-		// this will start the framework on the current thread; test that the correct tccl is used
-		startCompositeBundle(compositeBundle, false);
-		assertEquals("Unexpected state", Bundle.ACTIVE, testTCCL.getState()); //$NON-NLS-1$
-
-		// test that the correct tccl is used for framework update
-		Framework framework = compositeBundle.getCompositeFramework();
-		try {
-			framework.update();
-			checkActive(testTCCL);
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Unexpected state", Bundle.ACTIVE, testTCCL.getState()); //$NON-NLS-1$
-
-		// test that the correct tccl is used for refresh packages
-		PackageAdmin pa = getPackageAdmin(compositeBundle.getCompositeFramework());
-		pa.refreshPackages(new Bundle[] {testTCCL});
-		checkActive(testTCCL);
-		assertEquals("Unexpected state", Bundle.ACTIVE, testTCCL.getState()); //$NON-NLS-1$
-
-		// use the tccl service to start the test bundle.
-		BundleContext context = compositeBundle.getCompositeFramework().getBundleContext();
-		ClassLoader serviceTCCL = null;
-		try {
-			serviceTCCL = (ClassLoader) context.getService(context.getServiceReferences(ClassLoader.class.getName(), "(equinox.classloader.type=contextClassLoader)")[0]);//$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			fail("Unexpected", e);//$NON-NLS-1$
-		}
-		ClassLoader current = Thread.currentThread().getContextClassLoader();
-		Thread.currentThread().setContextClassLoader(serviceTCCL);
-		try {
-			testTCCL.stop();
-			testTCCL.start();
-		} catch (BundleException e) {
-			fail("Unepected", e); //$NON-NLS-1$
-		} finally {
-			Thread.currentThread().setContextClassLoader(current);
-		}
-		// test that starting directly works
-		try {
-			testTCCL.stop();
-			testTCCL.start();
-		} catch (BundleException e) {
-			fail("Unepected", e); //$NON-NLS-1$
-		}
-		uninstallCompositeBundle(compositeBundle);
-	}
-
-	private void checkActive(Bundle b) {
-		try {
-			// just a hack to make sure we are restarted
-			Thread.sleep(500);
-			if (b.getState() != Bundle.ACTIVE)
-				Thread.sleep(500);
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	private boolean resolveBundle(Bundle framework, Bundle bundle) {
-		PackageAdmin pa = getPackageAdmin(framework);
-		return pa.resolveBundles(new Bundle[] {bundle});
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
deleted file mode 100644
index 7a6d6eb..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.configuration;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(ReadOnlyConfigurationAreaTest.suite());
-		suite.addTest(MovableConfigurationAreaTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
deleted file mode 100644
index d147a33..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.configuration;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import junit.framework.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.tests.harness.*;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.tests.OSGiTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class MovableConfigurationAreaTest extends OSGiTest {
-
-	static void doMove(final IPath sourcePath, final IPath destinationPath) {
-		assertTrue("Failed moving " + sourcePath + " to " + destinationPath, sourcePath.toFile().renameTo(destinationPath.toFile()));
-	}
-
-	static void doTakeSnapshot(final IPath destinationPath) {
-		// compute and save tree image
-		File configurationDir = destinationPath.toFile();
-		FileSystemComparator comparator = new FileSystemComparator();
-		Object snapshot = comparator.takeSnapshot(configurationDir, true);
-		try {
-			comparator.saveSnapshot(snapshot, configurationDir);
-		} catch (IOException e) {
-			fail("1.0");
-		}
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(MovableConfigurationAreaTest.class.getName());
-
-		ConfigurationSessionTestSuite initialization = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, MovableConfigurationAreaTest.class.getName());
-		String[] ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++)
-			initialization.addBundle(ids[i]);
-		initialization.addBundle(PI_OSGI_TESTS);
-		initialization.setReadOnly(true);
-		// disable clean-up, we want to reuse the configuration
-		initialization.setCleanup(false);
-		initialization.addTest(new MovableConfigurationAreaTest("testInitialization"));
-		suite.addTest(initialization);
-
-		// add a helper test that just moves the configuration area
-		final IPath sourcePath = initialization.getConfigurationPath();
-		final IPath destinationPath = FileSystemHelper.getRandomLocation(FileSystemHelper.getTempDir());
-		suite.addTest(new TestCase("testMove") {
-			public void runBare() throws Throwable {
-				doMove(sourcePath, destinationPath);
-			}
-		});
-		suite.addTest(new TestCase("testTakeSnapshot") {
-			public void runBare() throws Throwable {
-				doTakeSnapshot(destinationPath);
-			}
-		});
-
-		ConfigurationSessionTestSuite afterMoving = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, MovableConfigurationAreaTest.class.getName());
-		afterMoving.setConfigurationPath(destinationPath);
-		for (int i = 0; i < ids.length; i++)
-			afterMoving.addBundle(ids[i]);
-		afterMoving.setReadOnly(true);
-		// make sure we don't allow priming for the first run
-		afterMoving.setPrime(false);
-		afterMoving.addTest(new MovableConfigurationAreaTest("testAfterMoving"));
-		afterMoving.addTest(new MovableConfigurationAreaTest("testVerifySnapshot"));
-		suite.addTest(afterMoving);
-		return suite;
-	}
-
-	public MovableConfigurationAreaTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tries to install a plug-in that has no manifest. Should fail because by default the manifest generation area
-	 * is under the configuration area (which is read-only here)
-	 */
-	public void testAfterMoving() throws MalformedURLException, IOException, BundleException {
-		// try to install plug-in
-		// ensure it is not installed		
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle02");
-			// should have failed with BundleException, does not have a bundle manifest
-			fail("1.0");
-		} catch (BundleException be) {
-			// success
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	public void testInitialization() throws MalformedURLException, IOException {
-		// initialization session		
-		try {
-			Bundle installed = BundleTestingHelper.installBundle("1.0", getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle01");
-			// not read-only yet, should work fine
-			if (!BundleTestingHelper.resolveBundles(getContext(), new Bundle[] {installed}))
-				fail("1.1");
-		} catch (BundleException be) {
-			fail("1.2", be);
-		}
-	}
-
-	public void testVerifySnapshot() throws IOException {
-		FileSystemComparator comparator = new FileSystemComparator();
-		File configurationDir = ConfigurationSessionTestSuite.getConfigurationDir();
-		Object oldSnaphot = comparator.loadSnapshot(configurationDir);
-		Object newSnapshot = comparator.takeSnapshot(configurationDir, true);
-		comparator.compareSnapshots("1.0", oldSnaphot, newSnapshot);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
deleted file mode 100644
index 51a234f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.configuration;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import junit.framework.Test;
-import org.eclipse.core.tests.harness.BundleTestingHelper;
-import org.eclipse.core.tests.harness.FileSystemComparator;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.tests.OSGiTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class ReadOnlyConfigurationAreaTest extends OSGiTest {
-
-	public static Test suite() {
-		ConfigurationSessionTestSuite suite = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, ReadOnlyConfigurationAreaTest.class);
-		suite.setReadOnly(true);
-		String[] ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++)
-			suite.addBundle(ids[i]);
-		suite.addBundle(PI_OSGI_TESTS);
-		return suite;
-	}
-
-	public ReadOnlyConfigurationAreaTest(String name) {
-		super(name);
-	}
-
-	public void test0thSession() throws MalformedURLException, IOException {
-		// initialization session		
-		try {
-			Bundle installed = BundleTestingHelper.installBundle("1.0", getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle01");
-			// not read-only yet, should work fine
-			if (!BundleTestingHelper.resolveBundles(getContext(), new Bundle[] {installed}))
-				fail("1.1");
-		} catch (BundleException be) {
-			fail("1.2", be);
-		}
-	}
-
-	/**
-	 * Takes a snapshot of the file system.
-	 */
-	public void test1stSession() {
-		// compute and save tree image
-		File configurationDir = ConfigurationSessionTestSuite.getConfigurationDir();
-		FileSystemComparator comparator = new FileSystemComparator();
-		Object snapshot = comparator.takeSnapshot(configurationDir, true);
-		try {
-			comparator.saveSnapshot(snapshot, configurationDir);
-		} catch (IOException e) {
-			fail("1.0");
-		}
-	}
-
-	public void test1stSessionFollowUp() throws IOException {
-		FileSystemComparator comparator = new FileSystemComparator();
-		File configurationDir = ConfigurationSessionTestSuite.getConfigurationDir();
-		Object oldSnaphot = comparator.loadSnapshot(configurationDir);
-		Object newSnapshot = comparator.takeSnapshot(configurationDir, true);
-		comparator.compareSnapshots("1.0", oldSnaphot, newSnapshot);
-	}
-
-	/**
-	 * Tries to install a plug-in that has no manifest. Should fail because by default the manifest generation area
-	 * is under the configuration area (which is read-only here)
-	 */
-	public void test2ndSession() throws BundleException, IOException {
-		// try to install plug-in
-		// ensure it is not installed		
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle02");
-			// should have failed with BundleException, does not have a bundle manifest
-			fail("1.0");
-		} catch (BundleException be) {
-			// success
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	public void test2ndSessionFollowUp() throws IOException {
-		FileSystemComparator comparator = new FileSystemComparator();
-		File configurationDir = ConfigurationSessionTestSuite.getConfigurationDir();
-		Object oldSnaphot = comparator.loadSnapshot(configurationDir);
-		Object newSnapshot = comparator.takeSnapshot(configurationDir, true);
-		comparator.compareSnapshots("1.0", oldSnaphot, newSnapshot);
-	}
-
-	/**
-	 * Tries to install a plug-in that has manifest. Should fail because by default the manifest generation area
-	 * is under the configuration area (which is read-only here)
-	 */
-	public void test3rdSession() throws BundleException, IOException {
-		// install plug-in
-		// ensure it is not installed		
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle03");
-			// should have failed - cannot install a bundle in read-only mode
-			fail("1.0");
-		} catch (BundleException be) {
-			// success 
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	public void test3rdSessionFollowUp() throws IOException {
-		FileSystemComparator comparator = new FileSystemComparator();
-		File configurationDir = ConfigurationSessionTestSuite.getConfigurationDir();
-		Object oldSnaphot = comparator.loadSnapshot(configurationDir);
-		Object newSnapshot = comparator.takeSnapshot(configurationDir, true);
-		comparator.compareSnapshots("1.0", oldSnaphot, newSnapshot);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
deleted file mode 100644
index c3a6b33..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
+++ /dev/null
@@ -1,1329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.debugoptions;
-
-import java.io.*;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.Map.Entry;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.framework.debug.FrameworkDebugOptions;
-import org.eclipse.osgi.framework.debug.FrameworkDebugTraceEntry;
-import org.eclipse.osgi.service.debug.*;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-
-public class DebugOptionsTestCase extends CoreTest {
-	public static Test suite() {
-		return new TestSuite(DebugOptionsTestCase.class);
-	}
-
-	DebugOptions debugOptions;
-	ServiceReference ref;
-	Dictionary props = null;
-	TestDebugOptionsListener listener = null;
-	ServiceRegistration reg = null;
-	private final static String TRACE_ELEMENT_DELIMITER = "|"; //$NON-NLS-1$ // this value needs to match EclipseDebugTrace#TRACE_ELEMENT_DELIMITER
-	private final static String TRACE_ELEMENT_DELIMITER_ENCODED = "&#124;"; //$NON-NLS-1$ // this value needs to match EclipseDebugTrace#TRACE_ELEMENT_DELIMITER_ENCODED
-	private final static SimpleDateFormat TRACE_FILE_DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); //$NON-NLS-1$
-	private final static String LINE_SEPARATOR;
-	private boolean verboseDebug = true; // default is true
-	static {
-		String s = System.getProperty("line.separator"); //$NON-NLS-1$
-		LINE_SEPARATOR = s == null ? "\n" : s; //$NON-NLS-1$
-	}
-	private final static String TAB_CHARACTER = "\t"; //$NON-NLS-1$
-
-	protected void setUp() throws Exception {
-		ref = OSGiTestsActivator.getContext().getServiceReference(DebugOptions.class.getName());
-		assertNotNull("DebugOptions service is not available", ref); //$NON-NLS-1$
-		debugOptions = (DebugOptions) OSGiTestsActivator.getContext().getService(ref);
-		assertNotNull("DebugOptions service is not available", debugOptions); //$NON-NLS-1$
-		props = new Hashtable();
-		props.put(DebugOptions.LISTENER_SYMBOLICNAME, getName());
-		listener = new TestDebugOptionsListener();
-		reg = OSGiTestsActivator.getContext().registerService(DebugOptionsListener.class.getName(), listener, props);
-	}
-
-	protected void tearDown() throws Exception {
-		if (debugOptions == null)
-			return;
-		debugOptions.setDebugEnabled(false);
-		debugOptions = null;
-		OSGiTestsActivator.getContext().ungetService(ref);
-		if (reg != null)
-			reg.unregister();
-	}
-
-	public void testRegistration01() {
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Test that a new {@link FrameworkDebugTraceEntry} object created without a trace class
-	 * has 'org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase' as the class name and
-	 * 'testTracingEntry01' as the method name that it determined as the caller of it.
-	 * 
-	 * This test mimics the tracing framework to ensure that the correct class name and method name
-	 * are returned and written to the trace file.
-	 */
-	public void testTracingEntry01() {
-
-		String bundleName = OSGiTestsActivator.getContext().getBundle().getSymbolicName();
-		String optionPath = "/debug"; //$NON-NLS-1$
-		String message = "Test message"; //$NON-NLS-1$
-		FrameworkDebugTraceEntry traceEntry = new FrameworkDebugTraceEntry(bundleName, optionPath, message, null);
-		String correctClassName = "org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase"; //$NON-NLS-1$
-		String correctMethodName = "testTracingEntry01"; //$NON-NLS-1$
-		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$  
-		assertEquals("The method calling the trace API does not match the expected value.", correctMethodName, traceEntry.getMethodName()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Test that a new {@link FrameworkDebugTraceEntry} object created with a trace class
-	 * of 'org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase' has the correct class name and
-	 * method name of the caller.
-	 * 
-	 * This test mimics the tracing framework to ensure that the correct class name and method name
-	 * are returned and written to the trace file.
-	 */
-	public void testTracingEntry02() {
-
-		String correctClassName = Runner1.class.getName();
-		String correctMethodName = "run"; //$NON-NLS-1$
-		FrameworkDebugTraceEntry traceEntry = new Runner1().run();
-		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$  
-		assertEquals("The method calling the trace API does not match the expected value.", correctMethodName, traceEntry.getMethodName()); //$NON-NLS-1$
-	}
-
-	static class Runner1 {
-		public FrameworkDebugTraceEntry run() {
-			return new Runner2().run();
-		}
-	}
-
-	static class Runner2 {
-		public FrameworkDebugTraceEntry run() {
-			String bundleName = OSGiTestsActivator.getContext().getBundle().getSymbolicName();
-			String optionPath = "/debug"; //$NON-NLS-1$
-			String message = "Test message"; //$NON-NLS-1$
-			String tracingClass = this.getClass().getName();
-			return new FrameworkDebugTraceEntry(bundleName, optionPath, message, tracingClass);
-		}
-	}
-
-	public void testDyanmicEnablement01() {
-		if (debugOptions.isDebugEnabled())
-			return; // cannot test
-		debugOptions.setDebugEnabled(true);
-		assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		listener.clear();
-		Map checkValues = new HashMap();
-		checkValues.put(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		listener.setCheckValues(checkValues);
-		debugOptions.setOption(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-	}
-
-	public void testDyanmicEnablement02() {
-		if (debugOptions.isDebugEnabled())
-			return; // cannot test
-		debugOptions.setDebugEnabled(true);
-		assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		listener.clear();
-		Map checkValues = new HashMap();
-		checkValues.put(getName() + "/debug", "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		listener.setCheckValues(checkValues);
-		debugOptions.setOption(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNotNull("Should find bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-	}
-
-	public void testDyanmicEnablement03() {
-		listener.clear();
-		if (debugOptions.isDebugEnabled())
-			return; // cannot test
-		TestDebugOptionsListener anotherListener = new TestDebugOptionsListener();
-		Dictionary anotherProps = new Hashtable();
-		anotherProps.put(DebugOptions.LISTENER_SYMBOLICNAME, "anotherListener"); //$NON-NLS-1$
-		ServiceRegistration anotherReg = OSGiTestsActivator.getContext().registerService(DebugOptionsListener.class.getName(), anotherListener, anotherProps);
-		assertTrue("Not called", anotherListener.gotCalled()); //$NON-NLS-1$
-
-		debugOptions.setDebugEnabled(true);
-		assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-
-		listener.clear();
-		anotherListener.clear();
-
-		Map checkValues = new HashMap();
-		checkValues.put(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		listener.setCheckValues(checkValues);
-		debugOptions.setOption(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertFalse("Should not call wrong listener", anotherListener.gotCalled()); //$NON-NLS-1$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-		listener.clear();
-		anotherListener.clear();
-		debugOptions.setOption("anotherListener/test", "blah"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertFalse("Listener should not have been called", listener.gotCalled()); //$NON-NLS-1$
-		assertTrue("Another listener should have been called", anotherListener.gotCalled()); //$NON-NLS-1$
-
-		listener.clear();
-		anotherListener.clear();
-		anotherProps.put(DebugOptions.LISTENER_SYMBOLICNAME, getName());
-		anotherReg.setProperties(anotherProps);
-		debugOptions.setOption(getName() + "/debug", "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertTrue("Another listener did not get called", anotherListener.gotCalled()); //$NON-NLS-1$
-
-		anotherReg.unregister();
-	}
-
-	public void testDyanmicEnablement04() {
-		if (debugOptions.isDebugEnabled())
-			return; // cannot test
-		debugOptions.setDebugEnabled(true);
-		listener.clear();
-		assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		Map checkValues = new HashMap();
-		checkValues.put(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		listener.setCheckValues(checkValues);
-		debugOptions.setOption(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-
-		listener.clear();
-		checkValues.put(getName() + "/debug", null); //$NON-NLS-1$ 
-		listener.setCheckValues(checkValues);
-		debugOptions.setDebugEnabled(false);
-		assertFalse("Debug is enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-
-		listener.clear();
-		checkValues.put(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		listener.setCheckValues(checkValues);
-		debugOptions.setDebugEnabled(true);
-		assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		assertTrue("Listener did not get called", listener.gotCalled()); //$NON-NLS-1$
-		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
-
-	}
-
-	public void testBatchSetOptionsWhenEnabled() {
-
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		String key1 = getName() + "/debug/disableCheck1";
-		String key2 = getName() + "/debug/disableCheck2";
-		String key3 = getName() + "/debug/disableCheck3";
-		Map /* <String, String> */newOptions = new HashMap();
-		newOptions.put(key1, "ok1");
-		newOptions.put(key2, "ok2");
-		newOptions.put(key3, "ok3");
-		// create the new set of options
-		listener.clear();
-		// create the new set of options
-		debugOptions.setOptions(newOptions);
-		// make sure the listener got called
-		assertTrue("Listener did not get called when setting batch options when tracing is enabled", listener.gotCalled()); //$NON-NLS-1$
-		// get all of the options
-		Map/* <String, String> */currentOptions = debugOptions.getOptions();
-		// make sure the Map object returned is not the same Map object that was set
-		assertNotSame("The Map object set is the exact same Map object returned", newOptions, currentOptions);
-		// make sure the size is correct (it should be the same as the original Map)
-		assertEquals("The amount of options retrieved is not correct", newOptions.size(), currentOptions.size());
-		// make sure the values are correct
-		String actualValue = (String) currentOptions.get(key1);
-		assertEquals("The original option for key1 does not match the retrieved option when tracing is enabled", "ok1", actualValue);
-		actualValue = (String) currentOptions.get(key2);
-		assertEquals("The original option for key1 does not match the retrieved option when tracing is enabled", "ok2", actualValue);
-		actualValue = (String) currentOptions.get(key3);
-		assertEquals("The original option for key1 does not match the retrieved option when tracing is enabled", "ok3", actualValue);
-		// add a new batch of options
-		String key4 = getName() + "/debug/disableCheck4";
-		String key5 = getName() + "/debug/disableCheck5";
-		String key6 = getName() + "/debug/disableCheck6";
-		Map /* <String, String> */newOptions2 = new HashMap();
-		newOptions2.put(key4, "ok4");
-		newOptions2.put(key5, "ok5");
-		newOptions2.put(key6, "ok6");
-		listener.clear();
-		// create the new set of options
-		debugOptions.setOptions(newOptions2);
-		// make sure the listener got called
-		assertTrue("Listener did not get called when setting batch options when tracing is enabled", listener.gotCalled()); //$NON-NLS-1$
-		// make sure the Map object returned is not the same Map object that was set
-		Map currentOptions2 = debugOptions.getOptions();
-		assertNotSame("The Map object set is the exact same Map object returned", newOptions, currentOptions2);
-		// make sure the size is correct (it should be the same as the original Map)
-		assertEquals("The amount of options retrieved is not correct", newOptions.size(), currentOptions2.size());
-		// make sure the old values do not exist
-		actualValue = (String) currentOptions2.get(key1);
-		assertNull("The original option for key1 is in the returned options (it should not be there)", actualValue);
-		actualValue = (String) currentOptions2.get(key2);
-		assertNull("The original option for key2 is in the returned options (it should not be there)", actualValue);
-		actualValue = (String) currentOptions2.get(key3);
-		assertNull("The original option for key3 is in the returned options (it should not be there)", actualValue);
-		// make sure the new values are correct
-		actualValue = (String) currentOptions2.get(key4);
-		assertEquals("The new option for key4 does not match the retrieved option when tracing is enabled", "ok4", actualValue);
-		actualValue = (String) currentOptions2.get(key5);
-		assertEquals("The new option for key5 does not match the retrieved option when tracing is enabled", "ok5", actualValue);
-		actualValue = (String) currentOptions2.get(key6);
-		assertEquals("The new option for key6 does not match the retrieved option when tracing is enabled", "ok6", actualValue);
-	}
-
-	public void testSetNullOptions() {
-
-		// make sure setOptions() doesn't like an empty Map
-		boolean exceptionThrown = false;
-		try {
-			debugOptions.setOptions(null);
-		} catch (Exception ex) {
-			exceptionThrown = true;
-		}
-		assertTrue("An exception was not thrown when calling setOptions() with a null parameter", exceptionThrown);
-		// make sure setOption(key,value) doesn't like a null key or value
-		exceptionThrown = false;
-		try {
-			debugOptions.setOption("key", null);
-		} catch (Exception ex) {
-			exceptionThrown = true;
-		}
-		assertTrue("An exception was not thrown when calling setOption() with a null value", exceptionThrown);
-		exceptionThrown = false;
-		try {
-			debugOptions.setOption(null, "value");
-		} catch (Exception ex) {
-			exceptionThrown = true;
-		}
-		assertTrue("An exception was not thrown when calling setOption() with a null key", exceptionThrown);
-	}
-
-	public void testBatchSetOptionsWhenDisabled() {
-
-		// enable tracing initially.
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-
-		String key1 = getName() + "/debug/disableCheck1";
-		String key2 = getName() + "/debug/disableCheck2";
-		String key3 = getName() + "/debug/disableCheck3";
-		Map /* <String, String> */newOptions = new HashMap();
-		newOptions.put(key1, "ok1");
-		newOptions.put(key2, "ok2");
-		newOptions.put(key3, "ok3");
-		listener.clear();
-		// create the new set of options
-		debugOptions.setOptions(newOptions);
-		// make sure the listener got called
-		assertTrue("Listener did not get called when setting batch options when tracing is enabled", listener.gotCalled()); //$NON-NLS-1$
-		// disable tracing
-		debugOptions.setDebugEnabled(false);
-		// get all of the options (should be the disabled option set - which should contain only the recently set options)
-		Map currentOptions = debugOptions.getOptions();
-		// make sure the Map returned is not the same Map object that was set
-		assertNotSame("The Map object retrieved is the exact same Map object returned when tracing is disabled.", newOptions, currentOptions);
-		// make sure the size is correct (it should be the same as the original Map)
-		assertEquals("The amount of options retrieved is not the same after tracing is disabled", newOptions.size(), currentOptions.size());
-		// make sure the values are correct - check key1
-		String actualValue = (String) currentOptions.get(key1);
-		assertNotNull("The value for key1 is null", actualValue);
-		assertEquals("The original option for key1 does not match the retrieved option when tracing is disabled", "ok1", actualValue);
-		// check key2
-		actualValue = (String) currentOptions.get(key2);
-		assertNotNull("The value for key2 is null", actualValue);
-		assertEquals("The original option for key2 does not match the retrieved option when tracing is disabled", "ok2", actualValue);
-		// check key3
-		actualValue = (String) currentOptions.get(key3);
-		assertNotNull("The value for key3 is null", actualValue);
-		assertEquals("The original option for key3 does not match the retrieved option when tracing is disabled", "ok3", actualValue);
-		// add a new batch of options when tracing is disabled
-		String key4 = getName() + "/debug/disableCheck4";
-		String key5 = getName() + "/debug/disableCheck5";
-		String key6 = getName() + "/debug/disableCheck6";
-		Map /* <String, String> */newOptions2 = new HashMap();
-		newOptions2.put(key4, "ok4");
-		newOptions2.put(key5, "ok5");
-		newOptions2.put(key6, "ok6");
-		listener.clear();
-		// create the new set of options
-		debugOptions.setOptions(newOptions2);
-		// make sure the listener did not get called
-		assertFalse("Listener got called when settings batch options with tracing disabled", listener.gotCalled()); //$NON-NLS-1$
-		// make sure the Map object returned is not the same Map object that was set
-		Map currentOptions2 = debugOptions.getOptions();
-		assertNotSame("The Map object set is the exact same Map object returned", newOptions, currentOptions2);
-		// make sure the size is correct (it should be the same as the original Map)
-		assertEquals("The amount of options retrieved is not correct", newOptions.size(), currentOptions2.size());
-		// make sure the old values do not exist
-		actualValue = (String) currentOptions2.get(key1);
-		assertNull("The original option for key1 is in the returned options (it should not be there)", actualValue);
-		actualValue = (String) currentOptions2.get(key2);
-		assertNull("The original option for key2 is in the returned options (it should not be there)", actualValue);
-		actualValue = (String) currentOptions2.get(key3);
-		assertNull("The original option for key3 is in the returned options (it should not be there)", actualValue);
-		// make sure the new values are correct
-		actualValue = (String) currentOptions2.get(key4);
-		assertEquals("The new option for key4 does not match the retrieved option when tracing is disabled", "ok4", actualValue);
-		actualValue = (String) currentOptions2.get(key5);
-		assertEquals("The new option for key5 does not match the retrieved option when tracing is disabled", "ok5", actualValue);
-		actualValue = (String) currentOptions2.get(key6);
-		assertEquals("The new option for key6 does not match the retrieved option when tracing is disabled", "ok6", actualValue);
-		// testing of options when tracing is re-enabled is done in testSetOptionsWhenDisabled so it is not needed here
-	}
-
-	public void testSetOptionsWhenDisabled() {
-
-		// enable tracing initially.
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		// create a new key to add.
-		String testKey = getName() + "/debug/disableCheck";
-		// set its value to 'ok'
-		debugOptions.setOption(testKey, "ok");
-		// make sure the right value is added
-		String actualValue = debugOptions.getOption(testKey, "not ok");
-		assertEquals("The correct option value was not returned from the debug option: " + testKey, "ok", actualValue);
-		// disable tracing
-		debugOptions.setDebugEnabled(false);
-		// check for the value
-		actualValue = debugOptions.getOption(testKey, "not ok");
-		assertEquals("The 'default' value supplied was not returned when tracing is disabled.", "not ok", actualValue);
-		// try setting the value to "ok" (this should be a no-op and return the 'default' value)
-		debugOptions.setOption(testKey, "ok");
-		actualValue = debugOptions.getOption(testKey, "not ok");
-		assertEquals("The 'default' value supplied was not returned when tracing is disabled.", "not ok", actualValue);
-		// remove the option and check for the value (it should still exist after re-enabling tracing)
-		debugOptions.removeOption(testKey);
-		// re-enable tracing
-		debugOptions.setDebugEnabled(true);
-		// check that the value is still the initial "ok"
-		actualValue = debugOptions.getOption(testKey, "not ok");
-		assertEquals("The value after re-enabling tracing is invalid.", "ok", actualValue);
-	}
-
-	public void testStringValues() {
-
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		// create a new key to add.
-		String testKey = getName() + "/debug/stringValue";
-		// set its value to 'test'
-		debugOptions.setOption(testKey, "test");
-		// check to make sure the value returned is correct
-		String actualValue = debugOptions.getOption(testKey, "default");
-		assertEquals("The correct option value was not returned from the debug option: " + testKey, "test", actualValue);
-		// remove the option and check for the value (it should not exist so the default value should be returned)
-		debugOptions.removeOption(testKey);
-		actualValue = debugOptions.getOption(testKey, "default");
-		assertEquals("The 'default' value supplied was not returned when the key does not exist in the DebugOptions.", "default", actualValue);
-	}
-
-	public void testIntegerValues() {
-
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		// create a new key to add.
-		String testKey = getName() + "/debug/intValue";
-		// set its value to 42.
-		debugOptions.setOption(testKey, "42");
-		// check to make sure the value returned is correct
-		int actualValue = debugOptions.getIntegerOption(testKey, 0);
-		assertEquals("The correct option value was not returned from the debug option: " + testKey, 42, actualValue);
-		// set the value of this key so that a NumberFormatException will occur
-		debugOptions.setOption(testKey, "test");
-		actualValue = debugOptions.getIntegerOption(testKey, 0);
-		assertEquals("The 'default' value supplied was not returned when a NumberFormatException occurs.", 0, actualValue);
-		// remove the option and check for the value (it should not exist so the default value should be returned)
-		debugOptions.removeOption(testKey);
-		actualValue = debugOptions.getIntegerOption(testKey, 0);
-		assertEquals("The 'default' value supplied was not returned when the key does not exist in the DebugOptions.", 0, actualValue);
-	}
-
-	public void testBooleanValues() {
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		String testKey = getName() + "/debug";
-		boolean testValue = debugOptions.getBooleanOption(testKey, false);
-		assertFalse(testKey + " is true", testValue);
-		debugOptions.setOption(testKey, "false");
-		testValue = debugOptions.getBooleanOption(testKey, true);
-		assertFalse(testKey + " is true", testValue);
-
-		debugOptions.setOption(testKey, "true");
-		testValue = debugOptions.getBooleanOption(testKey, false);
-		assertTrue(testKey + " is false", testValue);
-		testValue = debugOptions.getBooleanOption(testKey, true);
-		assertTrue(testKey + " is false", testValue);
-	}
-
-	private TestDebugTrace createDebugTrace(final File traceFile) {
-
-		TestDebugTrace debugTrace = null;
-		if (!debugOptions.isDebugEnabled()) {
-			/** Setup the DebugOptions */
-			debugOptions.setDebugEnabled(true);
-			assertTrue("Debug is not enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
-		}
-		debugOptions.setOption(getName() + "/debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		debugOptions.setFile(traceFile);
-		DebugTrace wrapped = debugOptions.newDebugTrace(getName(), TestDebugTrace.class);
-		debugTrace = new TestDebugTrace(wrapped);
-		return debugTrace;
-	}
-
-	/**
-	 * Test all DebugTrace.trace*() API when verbose debugging is disabled
-	 */
-	public void testVerboseDebugging() {
-
-		// TODO: Convert this back to {@link DebugOptions} once is/setVerbose becomes API
-		FrameworkDebugOptions fwDebugOptions = (FrameworkDebugOptions) debugOptions;
-		if (!debugOptions.isDebugEnabled()) {
-			debugOptions.setDebugEnabled(true);
-		}
-		// create a tracing record
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		final String exceptionMessage1 = "An error 1"; //$NON-NLS-1$
-		try {
-			fwDebugOptions.setVerbose(false);
-			debugTrace.trace("/debug", "testing 1", new Exception(exceptionMessage1)); //$NON-NLS-1$ //$NON-NLS-2$
-			fwDebugOptions.setVerbose(true);
-			debugTrace.trace("/debug", "testing 2"); //$NON-NLS-1$ //$NON-NLS-2$
-			fwDebugOptions.setVerbose(false);
-			debugTrace.trace("/debug", "testing 3"); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceEntry("/debug"); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceEntry("/debug", "arg"); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceEntry("/debug", new String[] {"arg1", "arg2"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			debugTrace.traceExit("/debug"); //$NON-NLS-1$
-			debugTrace.traceExit("/debug", "returnValue"); //$NON-NLS-1$ //$NON-NLS-2$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.trace(option, message)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		// make sure all 3 entries exist
-		assertEquals("Wrong number of trace entries", 8, traceOutput.length); //$NON-NLS-1$
-		// validate the trace("/debug", "testing 1", new Exception(exceptionMessage1)) call when verbose tracing is disabled
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertNull("A bundle was found when it should be null", traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertNull("A class name was found when it should be null", traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertNull("A method name was found when it should be null", traceOutput[0].getMethodName()); //$NON-NLS-1$
-		assertTrue("A line number other than -1 was read in", traceOutput[0].getLineNumber() == -1); //$NON-NLS-1$
-		assertEquals("trace message is incorrect", "testing 1", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		final StringBuffer expectedThrowableText1 = new StringBuffer("java.lang.Exception: "); //$NON-NLS-1$
-		expectedThrowableText1.append(exceptionMessage1);
-		expectedThrowableText1.append(DebugOptionsTestCase.LINE_SEPARATOR);
-		expectedThrowableText1.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testVerboseDebugging(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
-		if (!traceOutput[0].getThrowableText().startsWith(expectedThrowableText1.toString())) {
-			final StringBuffer errorMessage = new StringBuffer("The expected throwable text does not start with the actual throwable text."); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Expected"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(expectedThrowableText1.toString());
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Actual"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(traceOutput[0].getThrowableText());
-			fail(errorMessage.toString());
-		}
-		// validate the trace("/debug", "testing 2") call when verbose tracing is re-enabled
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testVerboseDebugging", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("trace message is incorrect", "testing 2", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("The throwable text was found when it should be null", traceOutput[1].getThrowableText());
-		// validate the trace("/debug", "testing 3") call when verbose is disabled
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[2].getThreadName()); //$NON-NLS-1$
-		assertNull("A bundle was found when it should be null", traceOutput[2].getBundleSymbolicName()); //$NON-NLS-1$
-		assertNull("A class name was found when it should be null", traceOutput[2].getClassName()); //$NON-NLS-1$
-		assertNull("A method name was found when it should be null", traceOutput[2].getMethodName()); //$NON-NLS-1$
-		assertTrue("A line number other than -1 was read in", traceOutput[2].getLineNumber() == -1); //$NON-NLS-1$
-		assertEquals("trace message is incorrect", "testing 3", traceOutput[2].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("The throwable text was found when it should be null", traceOutput[2].getThrowableText());
-		// validate the traceEntry("/debug") call when verbose is disabled
-		assertEquals("trace message is incorrect", "Entering method org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase#testVerboseDebugging with no parameters", traceOutput[3].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		// validate the traceEntry("/debug", "arg") call when verbose is disabled
-		assertEquals("trace message is incorrect", "Entering method org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase#testVerboseDebugging with parameters: (arg)", traceOutput[4].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		// validate the traceEntry("/debug", new String[] {"arg1", "arg2"}) call when verbose is disabled
-		assertEquals("trace message is incorrect", "Entering method org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase#testVerboseDebugging with parameters: (arg1 arg2)", traceOutput[5].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		// validate the traceExit("/debug") call when verbose is disabled
-		assertEquals("trace message is incorrect", "Exiting method org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase#testVerboseDebugging with a void return", traceOutput[6].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		// validate the traceExit("/debug", "returnValue") call when verbose is disabled
-		assertEquals("trace message is incorrect", "Exiting method org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase#testVerboseDebugging with result: returnValue", traceOutput[7].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		// make sure the file is deleted
-		traceFile.delete();
-		// reset verbose debugging to the default (true)
-		fwDebugOptions.setVerbose(true);
-	}
-
-	/**
-	 * test DebugTrace.trace(option, message);
-	*/
-	public void testTraceFile01() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.trace("/debug", "testing 1"); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.trace("/notset", "testing 2"); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.trace("/debug", "testing 3"); //$NON-NLS-1$ //$NON-NLS-2$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.trace(option, message)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile01", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("trace message is incorrect", "testing 1", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile01", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("trace message is incorrect", "testing 3", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.trace(option, message, Throwable)
-	 */
-	public void testTraceFile02() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		final String exceptionMessage1 = "An error 1"; //$NON-NLS-1$
-		final String exceptionMessage2 = "An error 2"; //$NON-NLS-1$
-		final String exceptionMessage3 = "An error 3"; //$NON-NLS-1$
-		try {
-			debugTrace.trace("/debug", "testing 1", new Exception(exceptionMessage1)); //$NON-NLS-1$ //$NON-NLS-2$ 
-			debugTrace.trace("/notset", "testing 2", new Exception(exceptionMessage2)); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.trace("/debug", "testing 3", new Exception(exceptionMessage3)); //$NON-NLS-1$ //$NON-NLS-2$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.trace(option, message, Throwable)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		final StringBuffer expectedThrowableText1 = new StringBuffer("java.lang.Exception: "); //$NON-NLS-1$
-		expectedThrowableText1.append(exceptionMessage1);
-		expectedThrowableText1.append(DebugOptionsTestCase.LINE_SEPARATOR);
-		expectedThrowableText1.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
-
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile02", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("trace message is incorrect", "testing 1", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull("throwable text should not be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		if (!traceOutput[0].getThrowableText().startsWith(expectedThrowableText1.toString())) {
-			final StringBuffer errorMessage = new StringBuffer("The expected throwable text does not start with the actual throwable text."); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Expected"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(expectedThrowableText1.toString());
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Actual"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(traceOutput[0].getThrowableText());
-			fail(errorMessage.toString());
-		}
-		assertNotNull("throwable should not be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-
-		final StringBuffer expectedThrowableText2 = new StringBuffer("java.lang.Exception: "); //$NON-NLS-1$
-		expectedThrowableText2.append(exceptionMessage3);
-		expectedThrowableText2.append(DebugOptionsTestCase.LINE_SEPARATOR);
-		expectedThrowableText2.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText2.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
-
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile02", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("trace message is incorrect", "testing 3", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull("throwable text should not be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		if (!traceOutput[1].getThrowableText().startsWith(expectedThrowableText2.toString())) {
-			final StringBuffer errorMessage = new StringBuffer("The expected throwable text does not start with the actual throwable text."); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Expected"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(expectedThrowableText2.toString());
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("Actual"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append("--------"); //$NON-NLS-1$
-			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
-			errorMessage.append(traceOutput[1].getThrowableText());
-			fail(errorMessage.toString());
-		}
-		assertNotNull("throwable should not be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceDumpStack(option)
-	*/
-	public void testTraceFile03() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceDumpStack("/debug"); //$NON-NLS-1$
-			debugTrace.traceDumpStack("/notset"); //$NON-NLS-1$
-			debugTrace.traceDumpStack("/debug"); //$NON-NLS-1$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceDumpStack(option)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile03", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Trace message is not a stack dump", traceOutput[0].getMessage().startsWith("Thread Stack dump: ")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile03", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("Trace message is not a stack dump", traceOutput[1].getMessage().startsWith("Thread Stack dump: ")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceEntry(option)
-	*/
-	public void testTraceFile04() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceEntry("/debug"); //$NON-NLS-1$
-			debugTrace.traceEntry("/notset"); //$NON-NLS-1$
-			debugTrace.traceEntry("/debug"); //$NON-NLS-1$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceEntry(option)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile04", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with no parameters", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile04", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with no parameters", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceEntry(option, methodArgument)
-	 */
-	public void testTraceFile05() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceEntry("/debug", new String("arg1")); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceEntry("/notset", new String("arg2")); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceEntry("/debug", new String("arg3")); //$NON-NLS-1$ //$NON-NLS-2$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceEntry(option, methodArgument)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile05", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with parameters: (arg1)", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile05", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with parameters: (arg3)", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceEntry(option, methodArgument[])
-	 */
-	public void testTraceFile06() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceEntry("/debug", new String[] {"arg1", "arg2"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			debugTrace.traceEntry("/notset", new String[] {"arg3", "arg4"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			debugTrace.traceEntry("/debug", new String[] {"arg5", "arg6"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceEntry(option, methodArgument[])' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile06", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with parameters: (arg1 arg2)", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile06", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Entering method with parameters: (arg5 arg6)", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceExit(option)
-	*/
-	public void testTraceFile07() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceExit("/debug"); //$NON-NLS-1$
-			debugTrace.traceExit("/notset"); //$NON-NLS-1$
-			debugTrace.traceExit("/debug"); //$NON-NLS-1$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceExit(option)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile07", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Exiting method with a void return", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile07", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Exiting method with a void return", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * test DebugTrace.traceExit(option, result)
-	*/
-	public void testTraceFile08() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.traceExit("/debug", new String("returnValue1")); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceExit("/notset", new String("returnValue2")); //$NON-NLS-1$ //$NON-NLS-2$
-			debugTrace.traceExit("/debug", new String("returnValue3")); //$NON-NLS-1$ //$NON-NLS-2$
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.traceExit(option, result)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[0].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[0].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[0].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile08", traceOutput[0].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Exiting method with result: returnValue1", traceOutput[0].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[0].getThrowableText()); //$NON-NLS-1$
-		assertEquals("Wrong number of trace entries for trace without an exception", 2, traceOutput.length); //$NON-NLS-1$
-		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
-		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
-		assertEquals("option-path value is incorrect", "/debug", traceOutput[1].getOptionPath()); //$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("class name value is incorrect", DebugOptionsTestCase.class.getName(), traceOutput[1].getClassName()); //$NON-NLS-1$
-		assertEquals("method name value is incorrect", "testTraceFile08", traceOutput[1].getMethodName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "Exiting method with result: returnValue3", traceOutput[1].getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNull("throwable should be null", traceOutput[1].getThrowableText()); //$NON-NLS-1$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	/**
-	 * tests DebugTrace.trace(option, message) where the 'option' and 'message contain a '|' character (the delimiter).
-	*/
-	public void testTraceFile09() {
-
-		final File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$
-		TestDebugTrace debugTrace = this.createDebugTrace(traceFile);
-		debugOptions.setOption(getName() + "/debug|path", "true");
-		TraceEntry[] traceOutput = null;
-		try {
-			debugTrace.trace("/debug|path", "A message with a | character.");
-			debugTrace.trace("/debug|path", "|A message with | multiple || characters.|");
-			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
-		} catch (InvalidTraceEntry invalidEx) {
-			fail("Failed 'DebugTrace.trace(option, message)' test as an invalid trace entry was found.  Actual Value: '" + invalidEx.getActualValue() + "'.", invalidEx); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		assertEquals("Wrong number of entries", 2, traceOutput.length);
-		String optionPath = decodeString(traceOutput[0].getOptionPath());
-		String message = decodeString(traceOutput[0].getMessage());
-		assertEquals("option-path value is incorrect", "/debug|path", optionPath); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "A message with a | character.", message); //$NON-NLS-1$ //$NON-NLS-2$
-		optionPath = decodeString(traceOutput[1].getOptionPath());
-		message = decodeString(traceOutput[1].getMessage());
-		assertEquals("option-path value is incorrect", "/debug|path", optionPath); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Trace message is not correct", "|A message with | multiple || characters.|", message); //$NON-NLS-1$ //$NON-NLS-2$
-		// delete the trace file
-		traceFile.delete();
-	}
-
-	private static String decodeString(final String inputString) {
-		if (inputString == null || inputString.indexOf(TRACE_ELEMENT_DELIMITER_ENCODED) < 0)
-			return inputString;
-		final StringBuffer tempBuffer = new StringBuffer(inputString);
-		int currentIndex = tempBuffer.indexOf(TRACE_ELEMENT_DELIMITER_ENCODED);
-		while (currentIndex >= 0) {
-			tempBuffer.replace(currentIndex, currentIndex + TRACE_ELEMENT_DELIMITER_ENCODED.length(), TRACE_ELEMENT_DELIMITER);
-			currentIndex = tempBuffer.indexOf(TRACE_ELEMENT_DELIMITER_ENCODED);
-		}
-		return tempBuffer.toString();
-	}
-
-	private TraceEntry[] readTraceFile(File traceFile) throws InvalidTraceEntry {
-
-		BufferedReader traceReader = null;
-		List traceEntries = new ArrayList();
-		this.verboseDebug = true; // default is true
-		try {
-			traceReader = new BufferedReader(new InputStreamReader(new FileInputStream(traceFile), "UTF-8")); //$NON-NLS-1$
-			TraceEntry entry = null;
-			while ((entry = this.readMessage(traceReader)) != null) {
-				traceEntries.add(entry);
-			}
-		} catch (IOException ex) {
-			fail("Failed to read trace file", ex); //$NON-NLS-1$
-		} finally {
-			if (traceReader != null) {
-				try {
-					traceReader.close();
-				} catch (Exception ex) {
-					// do nothing
-				}
-			}
-		}
-		return (TraceEntry[]) traceEntries.toArray(new TraceEntry[traceEntries.size()]);
-	}
-
-	private TraceEntry readMessage(final BufferedReader traceReader) throws IOException, InvalidTraceEntry {
-
-		TraceEntry result = null;
-		int input = traceReader.read();
-		while (input != -1) {
-			char inputChar = (char) input;
-			if (inputChar == '#') {
-				String comment = traceReader.readLine();
-				if (comment != null) {
-					comment = comment.trim();
-				}
-				if (comment.startsWith("verbose")) {
-					int splitIndex = comment.indexOf(':');
-					String verboseValue = comment.substring(splitIndex + 1, comment.length()).trim();
-					this.verboseDebug = Boolean.valueOf(verboseValue).booleanValue();
-				}
-			}
-			if (inputChar == DebugOptionsTestCase.TRACE_ELEMENT_DELIMITER.charAt(0)) {
-				// first entry - thread name (valid if verbose debugging is off)
-				final String threadName = this.readEntry(traceReader);
-				if ((threadName == null) || (threadName.length() == 0)) {
-					throw new InvalidTraceEntry("The thread name in a trace entry is null or empty", threadName); //$NON-NLS-1$
-				}
-				// second entry - timestamp (valid if verbose debugging is off)
-				final String date = this.readEntry(traceReader);
-				if ((date == null) || (date.length() == 0)) {
-					throw new InvalidTraceEntry("The timestamp in a trace entry is null or empty", date); //$NON-NLS-1$
-				}
-				long timestamp = 0;
-				try {
-					timestamp = DebugOptionsTestCase.TRACE_FILE_DATE_FORMATTER.parse(date).getTime();
-				} catch (ParseException parseEx) {
-					throw new InvalidTraceEntry("The date in a trace entry '" + date + "' could not be parsed.", date); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				String symbolicName = null;
-				String optionPath = null;
-				String className = null;
-				String methodName = null;
-				int lineNumber = -1;
-				if (this.verboseDebug) {
-					// third entry - bundle symbolic name
-					symbolicName = this.readEntry(traceReader);
-					if ((symbolicName == null) || (symbolicName.length() == 0)) {
-						throw new InvalidTraceEntry("The bundle symbolic name in a trace entry is null or empty", symbolicName); //$NON-NLS-1$
-					}
-					// fourth entry - option path
-					optionPath = this.readEntry(traceReader);
-					if ((optionPath == null) || (optionPath.length() == 0)) {
-						throw new InvalidTraceEntry("The option-path in a trace entry is null or empty", optionPath); //$NON-NLS-1$
-					}
-					// fifth entry - class name
-					className = this.readEntry(traceReader);
-					if ((className == null) || (className.length() == 0)) {
-						throw new InvalidTraceEntry("The class name in a trace entry is null or empty", className); //$NON-NLS-1$
-					}
-					// sixth entry - method name
-					methodName = this.readEntry(traceReader);
-					if ((methodName == null) || (methodName.length() == 0)) {
-						throw new InvalidTraceEntry("The method name in a trace entry is null or empty", methodName); //$NON-NLS-1$
-					}
-					// seventh entry - line number
-					final String lineNumberString = this.readEntry(traceReader);
-					if ((lineNumberString == null) || (lineNumberString.length() == 0)) {
-						throw new InvalidTraceEntry("The line number in a trace entry is null or empty", lineNumberString); //$NON-NLS-1$
-					}
-					lineNumber = Integer.valueOf(lineNumberString).intValue();
-				}
-				// eighth entry - message  (valid if verbose debugging is off)
-				final String message = this.readEntry(traceReader);
-				// read in the next character. if it is \r or \n then the throwable was not supplied  (valid if verbose debugging is off)
-				traceReader.mark(1);
-				inputChar = (char) traceReader.read();
-				String throwable = null;
-				if (inputChar != '\n' && inputChar != '\r') {
-					traceReader.reset();
-					// ninth entry (optional) - throwable
-					throwable = this.readEntry(traceReader);
-					if ((throwable == null) || (throwable.length() == 0)) {
-						throw new InvalidTraceEntry("The throwable in a trace entry is null or empty", throwable); //$NON-NLS-1$
-					}
-				}
-				// create the entry
-				result = new TraceEntry(threadName, timestamp, symbolicName, optionPath, className, methodName, lineNumber, message, throwable);
-				break; // no point in reading any more information since the TraceEntry is created
-			}
-			// read the next character
-			input = traceReader.read();
-		}
-		return result;
-	}
-
-	private String readEntry(final Reader traceReader) throws IOException {
-
-		char inputChar = (char) traceReader.read();
-		StringBuffer buffer = new StringBuffer();
-		while (inputChar != DebugOptionsTestCase.TRACE_ELEMENT_DELIMITER.charAt(0)) {
-			inputChar = (char) traceReader.read();
-			if (inputChar != DebugOptionsTestCase.TRACE_ELEMENT_DELIMITER.charAt(0)) {
-				buffer.append(inputChar);
-			}
-		}
-		return buffer.toString().trim();
-	}
-
-	static public class TraceEntry {
-		/** If a bundles symbolic name is not specified then the default value of /debug can be used */
-		public final static String DEFAULT_OPTION_PATH = "/debug"; //$NON-NLS-1$
-
-		/**
-		 * The name of the thread executing the code
-		 */
-		private final String threadName;
-
-		/**
-		 * The date and time when the trace occurred.
-		 * 
-		 */
-		private final long timestamp;
-
-		/**
-		 * The trace option-path
-		 */
-		private final String optionPath;
-
-		/**
-		 * The symbolic name of the bundle being traced
-		 */
-		private final String bundleSymbolicName;
-
-		/**
-		 * The class being traced
-		 */
-		private final String className;
-
-		/**
-		 * The method being traced
-		 */
-		private String methodName = null;
-
-		/**
-		 * The line number
-		 */
-		private final int lineNumber;
-
-		/**
-		 * The trace message
-		 */
-		private final String message;
-
-		/**
-		 * The trace exception
-		 */
-		private final String throwableText;
-
-		public TraceEntry(final String traceThreadName, final long traceTimestamp, final String traceBundleName, final String traceOptionPath, final String traceClassName, final String traceMethodName, final int traceLineNumber, final String traceMessage) {
-
-			this.threadName = traceThreadName;
-			this.bundleSymbolicName = traceBundleName;
-			this.optionPath = traceOptionPath;
-			this.className = traceClassName;
-			this.methodName = traceMethodName;
-			this.lineNumber = traceLineNumber;
-			this.message = traceMessage;
-			this.timestamp = traceTimestamp;
-			this.throwableText = null;
-		}
-
-		public TraceEntry(final String traceThreadName, final long traceTimestamp, final String traceBundleName, final String traceOptionPath, final String traceClassName, final String traceMethodName, final int traceLineNumber, final String traceMessage, final String traceThrowable) {
-
-			this.threadName = traceThreadName;
-			this.bundleSymbolicName = traceBundleName;
-			this.optionPath = traceOptionPath;
-			this.className = traceClassName;
-			this.methodName = traceMethodName;
-			this.lineNumber = traceLineNumber;
-			this.message = traceMessage;
-			this.timestamp = traceTimestamp;
-			this.throwableText = traceThrowable;
-		}
-
-		public final String getThreadName() {
-
-			return threadName;
-		}
-
-		public final long getTimestamp() {
-
-			return timestamp;
-		}
-
-		public final String getBundleSymbolicName() {
-
-			return bundleSymbolicName;
-		}
-
-		public final String getMessage() {
-
-			return message;
-		}
-
-		public final String getThrowableText() {
-
-			return throwableText;
-		}
-
-		public final String getClassName() {
-
-			return className;
-		}
-
-		public final String getMethodName() {
-
-			return methodName;
-		}
-
-		public final String getOptionPath() {
-
-			return optionPath;
-		}
-
-		public final int getLineNumber() {
-
-			return lineNumber;
-		}
-	}
-
-	static class InvalidTraceEntry extends Exception {
-
-		private static final long serialVersionUID = -63837787081750344L;
-
-		public InvalidTraceEntry(String message, String actual) {
-			super(message);
-			this.actualValue = actual;
-		}
-
-		public final String getActualValue() {
-			return this.actualValue;
-		}
-
-		String actualValue;
-		String expectedValue;
-	}
-
-	static class TestDebugTrace implements DebugTrace {
-		private final DebugTrace wrapped;
-
-		public TestDebugTrace(DebugTrace wrapped) {
-			this.wrapped = wrapped;
-		}
-
-		public void trace(String option, String message) {
-			wrapped.trace(option, message);
-		}
-
-		public void trace(String option, String message, Throwable error) {
-			wrapped.trace(option, message, error);
-		}
-
-		public void traceDumpStack(String option) {
-			wrapped.traceDumpStack(option);
-		}
-
-		public void traceEntry(String option) {
-			wrapped.traceEntry(option);
-		}
-
-		public void traceEntry(String option, Object methodArgument) {
-			wrapped.traceEntry(option, methodArgument);
-		}
-
-		public void traceEntry(String option, Object[] methodArguments) {
-			wrapped.traceEntry(option, methodArguments);
-		}
-
-		public void traceExit(String option) {
-			wrapped.traceExit(option);
-		}
-
-		public void traceExit(String option, Object result) {
-			wrapped.traceExit(option, result);
-		}
-	}
-
-	class TestDebugOptionsListener implements DebugOptionsListener {
-		boolean called = false;
-		String incorrectValue;
-		Map checkValues;
-
-		public void optionsChanged(DebugOptions options) {
-			called = true;
-			if (checkValues == null)
-				return;
-			for (Iterator entries = checkValues.entrySet().iterator(); entries.hasNext();) {
-				Map.Entry entry = (Entry) entries.next();
-				String debugValue = options.getOption((String) entry.getKey());
-				String error = "Value is incorrect for key: " + entry.getKey() + " " + debugValue; //$NON-NLS-1$//$NON-NLS-2$
-				if (debugValue == null) {
-					if (entry.getValue() != null) {
-						incorrectValue = error;
-						return;
-					}
-					continue;
-				}
-				if (!debugValue.equals(entry.getValue())) {
-					incorrectValue = error;
-					return;
-				}
-			}
-		}
-
-		public boolean gotCalled() {
-			return called;
-		}
-
-		public void clear() {
-			called = false;
-			checkValues = null;
-			incorrectValue = null;
-		}
-
-		public void setCheckValues(Map checkValues) {
-			this.checkValues = checkValues;
-		}
-
-		public String getIncorrectValue() {
-			return incorrectValue;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
deleted file mode 100644
index cc28476..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.eclipseadaptor;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(EnvironmentInfoTest.suite());
-		suite.addTest(FilePathTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
deleted file mode 100644
index d26bd7b..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.eclipseadaptor;
-
-import junit.framework.*;
-import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
-import org.eclipse.osgi.service.environment.Constants;
-
-public class EnvironmentInfoTest extends TestCase {
-
-	public static Test suite() {
-		return new TestSuite(EnvironmentInfoTest.class);
-	}
-
-	public EnvironmentInfoTest(String name) {
-		super(name);
-	}
-
-	public void testAIX() {
-		assertEquals("1.0", Constants.OS_AIX, EclipseEnvironmentInfo.guessOS("AIX"));
-		assertEquals("1.1", Constants.OS_AIX, EclipseEnvironmentInfo.guessOS("aix"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("aix xyz"));
-		assertEquals("2.0", Constants.WS_MOTIF, EclipseEnvironmentInfo.guessWS(Constants.OS_AIX));
-	}
-
-	public void testHPUX() {
-		assertEquals("1.0", Constants.OS_HPUX, EclipseEnvironmentInfo.guessOS("HP-UX"));
-		assertEquals("1.1", Constants.OS_HPUX, EclipseEnvironmentInfo.guessOS("hp-ux"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("hp-ux xyz"));
-		assertEquals("2.0", Constants.WS_MOTIF, EclipseEnvironmentInfo.guessWS(Constants.OS_HPUX));
-	}
-
-	public void testLinux() {
-		assertEquals("1.0", Constants.OS_LINUX, EclipseEnvironmentInfo.guessOS("Linux"));
-		assertEquals("1.1", Constants.OS_LINUX, EclipseEnvironmentInfo.guessOS("linux"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("linux xyz"));
-		assertEquals("2.0", Constants.WS_GTK, EclipseEnvironmentInfo.guessWS(Constants.OS_LINUX));
-	}
-
-	public void testMacOSX() {
-		assertEquals("1.0", Constants.OS_MACOSX, EclipseEnvironmentInfo.guessOS("Mac OS"));
-		assertEquals("1.1", Constants.OS_MACOSX, EclipseEnvironmentInfo.guessOS("Mac OS X"));
-		assertEquals("1.2", Constants.OS_MACOSX, EclipseEnvironmentInfo.guessOS("mac os x"));
-		assertEquals("2.0", Constants.WS_COCOA, EclipseEnvironmentInfo.guessWS(Constants.OS_MACOSX));
-	}
-
-	public void testQNX() {
-		assertEquals("1.0", Constants.OS_QNX, EclipseEnvironmentInfo.guessOS("QNX"));
-		assertEquals("1.1", Constants.OS_QNX, EclipseEnvironmentInfo.guessOS("qnx"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("qnx xyz"));
-		assertEquals("2.0", Constants.WS_PHOTON, EclipseEnvironmentInfo.guessWS(Constants.OS_QNX));
-	}
-
-	public void testSolaris() {
-		assertEquals("1.0", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("Solaris"));
-		assertEquals("1.1", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("solaris"));
-		assertEquals("1.2", Constants.OS_SOLARIS, EclipseEnvironmentInfo.guessOS("SunOS"));
-		assertEquals("1.3", Constants.OS_SOLARIS, EclipseEnvironmentInfo.guessOS("sunos"));
-		assertEquals("1.4", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("solaris xyz"));
-		assertEquals("1.4", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("sunos xyz"));
-		assertEquals("2.0", Constants.WS_GTK, EclipseEnvironmentInfo.guessWS(Constants.OS_SOLARIS));
-	}
-
-	public void testWindows() {
-		assertEquals("1.0", Constants.OS_WIN32, EclipseEnvironmentInfo.guessOS("Windows XP"));
-		assertEquals("1.1", Constants.OS_WIN32, EclipseEnvironmentInfo.guessOS("Windows 98"));
-		assertEquals("1.2", Constants.OS_WIN32, EclipseEnvironmentInfo.guessOS("Windows 2000"));
-		assertEquals("1.3", Constants.OS_WIN32, EclipseEnvironmentInfo.guessOS("Windows NT"));
-		assertEquals("1.4", Constants.OS_WIN32, EclipseEnvironmentInfo.guessOS("Windows 95"));
-		assertEquals("2.0", Constants.WS_WIN32, EclipseEnvironmentInfo.guessWS(Constants.OS_WIN32));
-	}
-
-	public void testISeries() {
-		assertEquals("1.0", Constants.OS_OS400, EclipseEnvironmentInfo.guessOS("OS/400"));
-		assertEquals("1.1", Constants.OS_OS400, EclipseEnvironmentInfo.guessOS("os/400"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("OS/400 xyz"));
-		assertEquals("2.0", Constants.WS_UNKNOWN, EclipseEnvironmentInfo.guessWS(Constants.OS_OS400));
-	}
-
-	public void testZSeries() {
-		assertEquals("1.0", Constants.OS_OS390, EclipseEnvironmentInfo.guessOS("OS/390"));
-		assertEquals("1.1", Constants.OS_OS390, EclipseEnvironmentInfo.guessOS("os/390"));
-		assertEquals("1.1", Constants.OS_ZOS, EclipseEnvironmentInfo.guessOS("z/os"));
-		assertEquals("1.1", Constants.OS_ZOS, EclipseEnvironmentInfo.guessOS("Z/OS"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("OS/400 xyz"));
-		assertEquals("1.2", Constants.OS_UNKNOWN, EclipseEnvironmentInfo.guessOS("z/os xyz"));
-		assertEquals("2.0", Constants.WS_UNKNOWN, EclipseEnvironmentInfo.guessWS(Constants.OS_OS390));
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
deleted file mode 100644
index 003eaa3..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.eclipseadaptor;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.framework.adaptor.FilePath;
-import org.eclipse.osgi.tests.OSGiTest;
-
-public class FilePathTest extends OSGiTest {
-
-	public static Test suite() {
-		return new TestSuite(FilePathTest.class);
-	}
-
-	public FilePathTest(String name) {
-		super(name);
-	}
-
-	public void testColonOnPath() {
-		FilePath path = new FilePath("/c:b/a");
-		if (Platform.getOS().equals(Platform.OS_WIN32)) {
-			// Windows-specific testing
-			assertTrue("1.0", !path.isAbsolute());
-			assertEquals("2.0", "c:", path.getDevice());
-			String[] segments = path.getSegments();
-			assertEquals("3.0", 2, segments.length);
-			assertEquals("3.1", "b", segments[0]);
-			assertEquals("3.2", "a", segments[1]);
-			return;
-		}
-		// this runs on non-Windows platforms		
-		assertTrue("1.0", path.isAbsolute());
-		assertNull("2.0", path.getDevice());
-		String[] segments = path.getSegments();
-		assertEquals("3.0", 2, segments.length);
-		assertEquals("3.1", "c:b", segments[0]);
-		assertEquals("3.2", "a", segments[1]);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eventmgr/EventManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eventmgr/EventManagerTests.java
deleted file mode 100644
index 7439061..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eventmgr/EventManagerTests.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.eventmgr;
-
-import java.util.*;
-import junit.framework.*;
-import org.eclipse.osgi.framework.eventmgr.CopyOnWriteIdentityMap;
-
-public class EventManagerTests extends TestCase {
-	public static Test suite() {
-		return new TestSuite(EventManagerTests.class);
-	}
-
-	public void testCopyOnWriteIdentityMap() {
-		Object l1 = new Object();
-		Object l2 = new Object();
-		Object l3 = new Object();
-		Object l4 = new Object();
-		Object c1 = new Object();
-		Object c2 = new Object();
-		Object c3 = new Object();
-		Object c4 = new Object();
-
-		CopyOnWriteIdentityMap el1 = new CopyOnWriteIdentityMap();
-
-		assertTrue("not empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 0, el1.size()); //$NON-NLS-1$
-
-		assertNull("non null", el1.put(l1, c1)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 1, el1.size()); //$NON-NLS-1$
-
-		assertNull("non null", el1.put(l2, c2)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el1.size()); //$NON-NLS-1$
-
-		assertNull("non null", el1.put(l3, c3)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 3, el1.size()); //$NON-NLS-1$
-
-		assertNull("non null", el1.put(l4, c4)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el1.size()); //$NON-NLS-1$
-
-		assertEquals("wrong value", c1, el1.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el1.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el1.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el1.get(l4)); //$NON-NLS-1$
-
-		CopyOnWriteIdentityMap el2 = new CopyOnWriteIdentityMap(el1);
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el2.size()); //$NON-NLS-1$
-
-		assertEquals("wrong value", c1, el2.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el2.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el2.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el2.get(l4)); //$NON-NLS-1$
-
-		assertEquals("wrong value", c2, el1.remove(l2)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 3, el1.size()); //$NON-NLS-1$
-		assertEquals("not null", null, el1.remove(l2)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 3, el1.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el1.remove(l4)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el1.size()); //$NON-NLS-1$
-		assertEquals("not null", null, el1.remove(l4)); //$NON-NLS-1$
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el1.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el1.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el1.get(l3)); //$NON-NLS-1$
-
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el2.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el2.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el2.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el2.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el2.get(l4)); //$NON-NLS-1$
-
-		assertEquals("wrong value", c1, el2.remove(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el2.remove(l3)); //$NON-NLS-1$
-
-		el1.putAll(el2);
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el1.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el1.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el1.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el1.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el1.get(l4)); //$NON-NLS-1$
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el2.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el2.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el2.get(l4)); //$NON-NLS-1$
-
-		el2.putAll(el1);
-		assertFalse("empty", el1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el1.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el1.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el1.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el1.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el1.get(l4)); //$NON-NLS-1$
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, el2.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el2.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c2, el2.get(l2)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el2.get(l3)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el2.get(l4)); //$NON-NLS-1$
-
-		el2.clear();
-		assertTrue("not empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 0, el2.size()); //$NON-NLS-1$
-
-		assertNull("non null", el2.put(l1, c1)); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el2.put(l1, c3)); //$NON-NLS-1$
-		assertEquals("wrong value", c3, el2.get(l1)); //$NON-NLS-1$
-		assertTrue("missed key", el2.containsKey(l1)); //$NON-NLS-1$
-		assertTrue("missed value", el2.containsValue(c3)); //$NON-NLS-1$
-		assertFalse("invalid key", el2.containsKey(l2)); //$NON-NLS-1$
-		assertFalse("invalid value", el2.containsValue(c1)); //$NON-NLS-1$
-
-		el2.clear();
-		Map source = new HashMap();
-		source.put(l1, c1);
-		source.put(l4, c4);
-		el2.putAll(source);
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el2.size()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, el2.get(l1)); //$NON-NLS-1$
-		assertEquals("wrong value", c4, el2.get(l4)); //$NON-NLS-1$
-
-		el2.clear();
-		Set k1 = el1.keySet();
-		Set k2 = el2.keySet();
-		Collection v1 = el1.values();
-		Collection v2 = el2.values();
-		Set e2 = el2.entrySet();
-		Set e1 = el1.entrySet();
-		el1.clear();
-
-		assertFalse("empty", k1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, k1.size()); //$NON-NLS-1$
-		assertTrue("missed key", k1.contains(l1)); //$NON-NLS-1$
-		assertTrue("missed key", k1.contains(l2)); //$NON-NLS-1$
-		assertTrue("missed key", k1.contains(l3)); //$NON-NLS-1$
-		assertTrue("missed key", k1.contains(l4)); //$NON-NLS-1$
-		assertTrue("missed key", k1.containsAll(Arrays.asList(new Object[] {l1, l2, l3, l4}))); //$NON-NLS-1$
-
-		Iterator i1 = k1.iterator();
-		assertTrue("missing next", i1.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", l1, i1.next()); //$NON-NLS-1$
-		try {
-			i1.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i1.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", l3, i1.next()); //$NON-NLS-1$
-		try {
-			i1.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i1.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", l2, i1.next()); //$NON-NLS-1$
-		try {
-			i1.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i1.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", l4, i1.next()); //$NON-NLS-1$
-		try {
-			i1.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertFalse("extra next", i1.hasNext()); //$NON-NLS-1$
-		try {
-			i1.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		assertTrue("not empty", k2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 0, k2.size()); //$NON-NLS-1$
-
-		Iterator i2 = k2.iterator();
-		assertFalse("extra next", i2.hasNext()); //$NON-NLS-1$
-		try {
-			i2.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		try {
-			k2.add(l1);
-			fail("add did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			k2.addAll(Arrays.asList(new Object[] {l1, l2}));
-			fail("addAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			k1.clear();
-			fail("clear did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			k1.remove(l1);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			k1.removeAll(Arrays.asList(new Object[] {l1, l2}));
-			fail("removeAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			k1.retainAll(Arrays.asList(new Object[] {l1, l2}));
-			fail("retainAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-
-		assertTrue("array unequal", Arrays.equals(new Object[] {l1, l3, l2, l4}, k1.toArray())); //$NON-NLS-1$
-		assertTrue("array unequal", Arrays.equals(new Object[] {l1, l3, l2, l4}, k1.toArray(new Object[4]))); //$NON-NLS-1$
-
-		assertFalse("empty", v1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, v1.size()); //$NON-NLS-1$
-		assertTrue("missed key", v1.contains(c1)); //$NON-NLS-1$
-		assertTrue("missed key", v1.contains(c2)); //$NON-NLS-1$
-		assertTrue("missed key", v1.contains(c3)); //$NON-NLS-1$
-		assertTrue("missed key", v1.contains(c4)); //$NON-NLS-1$
-		assertTrue("missed key", v1.containsAll(Arrays.asList(new Object[] {c1, c2, c3, c4}))); //$NON-NLS-1$
-
-		Iterator i3 = v1.iterator();
-		assertTrue("missing next", i3.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", c1, i3.next()); //$NON-NLS-1$
-		try {
-			i3.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i3.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", c3, i3.next()); //$NON-NLS-1$
-		try {
-			i3.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i3.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", c2, i3.next()); //$NON-NLS-1$
-		try {
-			i3.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i3.hasNext()); //$NON-NLS-1$
-		assertEquals("wrong key", c4, i3.next()); //$NON-NLS-1$
-		try {
-			i3.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertFalse("extra next", i3.hasNext()); //$NON-NLS-1$
-		try {
-			i3.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		assertTrue("not empty", v2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 0, v2.size()); //$NON-NLS-1$
-
-		Iterator i4 = v2.iterator();
-		assertFalse("extra next", i4.hasNext()); //$NON-NLS-1$
-		try {
-			i4.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		try {
-			v2.add(c1);
-			fail("add did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			v2.addAll(Arrays.asList(new Object[] {c1, c2}));
-			fail("addAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			v1.clear();
-			fail("clear did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			v1.remove(c1);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			v1.removeAll(Arrays.asList(new Object[] {c1, c2}));
-			fail("removeAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			v1.retainAll(Arrays.asList(new Object[] {c1, c2}));
-			fail("retainAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-
-		assertTrue("array unequal", Arrays.equals(new Object[] {c1, c3, c2, c4}, v1.toArray())); //$NON-NLS-1$
-		assertTrue("array unequal", Arrays.equals(new Object[] {c1, c3, c2, c4}, v1.toArray(new Object[4]))); //$NON-NLS-1$
-
-		assertFalse("empty", e1.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 4, e1.size()); //$NON-NLS-1$
-
-		Iterator i5 = e1.iterator();
-		assertTrue("missing next", i5.hasNext()); //$NON-NLS-1$
-		Map.Entry me1 = (Map.Entry) i5.next();
-		assertEquals("wrong key", l1, me1.getKey()); //$NON-NLS-1$
-		assertEquals("wrong value", c1, me1.getValue()); //$NON-NLS-1$
-		try {
-			i5.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			me1.setValue(c2);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i5.hasNext()); //$NON-NLS-1$
-		Map.Entry me3 = (Map.Entry) i5.next();
-		assertEquals("wrong key", l3, me3.getKey()); //$NON-NLS-1$
-		assertEquals("wrong value", c3, me3.getValue()); //$NON-NLS-1$
-		try {
-			i5.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			me3.setValue(c2);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i5.hasNext()); //$NON-NLS-1$
-		Map.Entry me2 = (Map.Entry) i5.next();
-		assertEquals("wrong key", l2, me2.getKey()); //$NON-NLS-1$
-		assertEquals("wrong value", c2, me2.getValue()); //$NON-NLS-1$
-		try {
-			i5.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			me2.setValue(c3);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertTrue("missing next", i5.hasNext()); //$NON-NLS-1$
-		Map.Entry me4 = (Map.Entry) i5.next();
-		assertEquals("wrong key", l4, me4.getKey()); //$NON-NLS-1$
-		assertEquals("wrong value", c4, me4.getValue()); //$NON-NLS-1$
-		try {
-			i5.remove();
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			me4.setValue(c2);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		assertFalse("extra next", i5.hasNext()); //$NON-NLS-1$
-		try {
-			i1.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		assertTrue("not empty", e2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 0, e2.size()); //$NON-NLS-1$
-
-		Iterator i6 = e2.iterator();
-		assertFalse("extra next", i6.hasNext()); //$NON-NLS-1$
-		try {
-			i6.next();
-			fail("next did not throw exception"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			//expected
-		}
-
-		try {
-			e2.add(me1);
-			fail("add did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			e2.addAll(Arrays.asList(new Map.Entry[] {me2, me4}));
-			fail("addAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			e1.clear();
-			fail("clear did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			e1.remove(me1);
-			fail("remove did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			e1.removeAll(Arrays.asList(new Map.Entry[] {me1, me2}));
-			fail("removeAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-		try {
-			e1.retainAll(Arrays.asList(new Map.Entry[] {me1, me2}));
-			fail("retainAll did not throw exception"); //$NON-NLS-1$
-		} catch (UnsupportedOperationException e) {
-			//expected
-		}
-
-		assertTrue("array unequal", Arrays.equals(new Map.Entry[] {me1, me3, me2, me4}, e1.toArray())); //$NON-NLS-1$
-		assertTrue("array unequal", Arrays.equals(new Map.Entry[] {me1, me3, me2, me4}, e1.toArray(new Map.Entry[4]))); //$NON-NLS-1$
-
-		el2.clear();
-		el2.putAll(new Object[] {l1, l3});
-		assertFalse("empty", el2.isEmpty()); //$NON-NLS-1$
-		assertEquals("wrong size", 2, el2.size()); //$NON-NLS-1$
-		assertTrue("missed key", el2.containsKey(l1)); //$NON-NLS-1$
-		assertTrue("missed key", el2.containsKey(l3)); //$NON-NLS-1$
-		assertNull("value not null", el2.get(l1)); //$NON-NLS-1$
-		assertNull("value not null", el2.get(l3)); //$NON-NLS-1$
-
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/BundleContextFilterTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/BundleContextFilterTests.java
deleted file mode 100644
index b85b822..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/BundleContextFilterTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.filter;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-
-public class BundleContextFilterTests extends FilterTests {
-	public static Test suite() {
-		return new TestSuite(BundleContextFilterTests.class);
-	}
-
-	public Filter createFilter(String filterString) throws InvalidSyntaxException {
-		return OSGiTestsActivator.getContext().createFilter(filterString);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FilterTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FilterTests.java
deleted file mode 100644
index f71d7bc..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FilterTests.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.filter;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import junit.framework.*;
-import org.osgi.framework.*;
-
-public abstract class FilterTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(FilterTests.class.getName());
-		suite.addTest(BundleContextFilterTests.suite());
-		suite.addTest(FrameworkUtilFilterTests.suite());
-		return suite;
-	}
-
-	/**
-	 * Fail with cause t.
-	 * 
-	 * @param message Failure message.
-	 * @param t Cause of the failure.
-	 */
-	public static void fail(String message, Throwable t) {
-		AssertionFailedError e = new AssertionFailedError(message + ": " + t.getMessage());
-		e.initCause(t);
-		throw e;
-	}
-
-	static final int ISTRUE = 1;
-	static final int ISFALSE = 2;
-	static final int ISILLEGAL = 3;
-
-	public abstract Filter createFilter(String filterString) throws InvalidSyntaxException;
-
-	private Dictionary getProperties() {
-		Dictionary props = new Hashtable();
-		props.put("room", "bedroom");
-		props.put("channel", new Object[] {new Integer(34), "101"});
-		props.put("status", "(on\\)*");
-		List vec = new ArrayList(10);
-		vec.add(new Long(150));
-		vec.add("100");
-		props.put("max record time", vec);
-		props.put("canrecord", "true(x)");
-		props.put("shortvalue", new Short((short) 1000));
-		props.put("intvalue", new Integer(100000));
-		props.put("longvalue", new Long(10000000000L));
-		props.put("bytevalue", new Byte((byte) 10));
-		props.put("floatvalue", new Float(1.01));
-		props.put("doublevalue", new Double(2.01));
-		props.put("charvalue", new Character('A'));
-		props.put("booleanvalue", new Boolean(true));
-		props.put("weirdvalue", new Hashtable());
-		props.put("primintarrayvalue", new int[] {1, 2, 3});
-		props.put("primlongarrayvalue", new long[] {1, 2, 3});
-		props.put("primbytearrayvalue", new byte[] {(byte) 1, (byte) 2, (byte) 3});
-		props.put("primshortarrayvalue", new short[] {(short) 1, (short) 2, (short) 3});
-		props.put("primfloatarrayvalue", new float[] {(float) 1.1, (float) 2.2, (float) 3.3});
-		props.put("primdoublearrayvalue", new double[] {1.1, 2.2, 3.3});
-		props.put("primchararrayvalue", new char[] {'A', 'b', 'C', 'd'});
-		props.put("primbooleanarrayvalue", new boolean[] {false});
-		props.put("bigintvalue", new BigInteger("4123456"));
-		props.put("bigdecvalue", new BigDecimal("4.123456"));
-		props.put("*", "foo");
-		props.put("!  ab", "b");
-		props.put("|   ab", "b");
-		props.put("&    ab", "b");
-		props.put("!", "c");
-		props.put("|", "c");
-		props.put("&", "c");
-		props.put("empty", "");
-		props.put("space", new Character(' '));
-		return props;
-	}
-
-	public void testFilter() {
-		Dictionary props = getProperties();
-		testFilter("(room=*)", props, ISTRUE);
-		testFilter("(room=bedroom)", props, ISTRUE);
-		testFilter("(room~= B E D R O O M )", props, ISTRUE);
-		testFilter("(room=abc)", props, ISFALSE);
-		testFilter(" ( room >=aaaa)", props, ISTRUE);
-		testFilter("(room <=aaaa)", props, ISFALSE);
-		testFilter("  ( room =b*) ", props, ISTRUE);
-		testFilter("  ( room =*m) ", props, ISTRUE);
-		testFilter("(room=bed*room)", props, ISTRUE);
-		testFilter("  ( room =b*oo*m) ", props, ISTRUE);
-		testFilter("  ( room =*b*oo*m*) ", props, ISTRUE);
-		testFilter("  ( room =b*b*  *m*) ", props, ISFALSE);
-		testFilter("  (& (room =bedroom) (channel ~=34))", props, ISTRUE);
-		testFilter("  (&  (room =b*)  (room =*x) (channel=34))", props, ISFALSE);
-		testFilter("(| (room =bed*)(channel=222)) ", props, ISTRUE);
-		testFilter("(| (room =boom*)(channel=101)) ", props, ISTRUE);
-		testFilter("  (! (room =ab*b*oo*m*) ) ", props, ISTRUE);
-		testFilter("  (status =\\(o*\\\\\\)\\*) ", props, ISTRUE);
-		testFilter("  (canRecord =true\\(x\\)) ", props, ISTRUE);
-		testFilter("(max Record Time <=140) ", props, ISTRUE);
-		testFilter("(shortValue >=100) ", props, ISTRUE);
-		testFilter("(intValue <=100001) ", props, ISTRUE);
-		testFilter("(longValue >=10000000000) ", props, ISTRUE);
-		testFilter("  (  &  (  byteValue <=100)  (  byteValue >=10)  )  ", props, ISTRUE);
-		testFilter("(weirdValue =100) ", props, ISFALSE);
-		testFilter("(bigIntValue =4123456) ", props, ISTRUE);
-		testFilter("(bigDecValue =4.123456) ", props, ISTRUE);
-		testFilter("(floatValue >=1.0) ", props, ISTRUE);
-		testFilter("(doubleValue <=2.011) ", props, ISTRUE);
-		testFilter("(charValue ~=a) ", props, ISTRUE);
-		testFilter("(booleanValue =true) ", props, ISTRUE);
-		testFilter("(primIntArrayValue =1) ", props, ISTRUE);
-		testFilter("(primLongArrayValue =2) ", props, ISTRUE);
-		testFilter("(primByteArrayValue =3) ", props, ISTRUE);
-		testFilter("(primShortArrayValue =1) ", props, ISTRUE);
-		testFilter("(primFloatArrayValue =1.1) ", props, ISTRUE);
-		testFilter("(primDoubleArrayValue =2.2) ", props, ISTRUE);
-		testFilter("(primCharArrayValue ~=D) ", props, ISTRUE);
-		testFilter("(primBooleanArrayValue =false) ", props, ISTRUE);
-		testFilter("(& (| (room =d*m) (room =bed*) (room=abc)) (! (channel=999)))", props, ISTRUE);
-		testFilter("(room=bedroom)", null, ISFALSE);
-		testFilter("(*=foo)", props, ISTRUE);
-		testFilter("(!  ab=b)", props, ISTRUE);
-		testFilter("(|   ab=b)", props, ISTRUE);
-		testFilter("(&=c)", props, ISTRUE);
-		testFilter("(!=c)", props, ISTRUE);
-		testFilter("(|=c)", props, ISTRUE);
-		testFilter("(&    ab=b)", props, ISTRUE);
-		testFilter("(!ab=*)", props, ISFALSE);
-		testFilter("(|ab=*)", props, ISFALSE);
-		testFilter("(&ab=*)", props, ISFALSE);
-		testFilter("(empty=)", props, ISTRUE);
-		testFilter("(empty=*)", props, ISTRUE);
-		testFilter("(space= )", props, ISTRUE);
-		testFilter("(space=*)", props, ISTRUE);
-	}
-
-	public void testInvalidValues() {
-		Dictionary props = getProperties();
-		testFilter("(intvalue=*)", props, ISTRUE);
-		testFilter("(intvalue=b)", props, ISFALSE);
-		testFilter("(intvalue=)", props, ISFALSE);
-		testFilter("(longvalue=*)", props, ISTRUE);
-		testFilter("(longvalue=b)", props, ISFALSE);
-		testFilter("(longvalue=)", props, ISFALSE);
-		testFilter("(shortvalue=*)", props, ISTRUE);
-		testFilter("(shortvalue=b)", props, ISFALSE);
-		testFilter("(shortvalue=)", props, ISFALSE);
-		testFilter("(bytevalue=*)", props, ISTRUE);
-		testFilter("(bytevalue=b)", props, ISFALSE);
-		testFilter("(bytevalue=)", props, ISFALSE);
-		testFilter("(charvalue=*)", props, ISTRUE);
-		testFilter("(charvalue=)", props, ISFALSE);
-		testFilter("(floatvalue=*)", props, ISTRUE);
-		testFilter("(floatvalue=b)", props, ISFALSE);
-		testFilter("(floatvalue=)", props, ISFALSE);
-		testFilter("(doublevalue=*)", props, ISTRUE);
-		testFilter("(doublevalue=b)", props, ISFALSE);
-		testFilter("(doublevalue=)", props, ISFALSE);
-		testFilter("(booleanvalue=*)", props, ISTRUE);
-		testFilter("(booleanvalue=b)", props, ISFALSE);
-		testFilter("(booleanvalue=)", props, ISFALSE);
-	}
-
-	public void testIllegal() {
-		Dictionary props = getProperties();
-		testFilter("", props, ISILLEGAL);
-		testFilter("()", props, ISILLEGAL);
-		testFilter("(=foo)", props, ISILLEGAL);
-		testFilter("(", props, ISILLEGAL);
-		testFilter("(abc = ))", props, ISILLEGAL);
-		testFilter("(& (abc = xyz) (& (345))", props, ISILLEGAL);
-		testFilter("  (room = b**oo!*m*) ) ", props, ISILLEGAL);
-		testFilter("  (room = b**oo)*m*) ) ", props, ISILLEGAL);
-		testFilter("  (room = *=b**oo*m*) ) ", props, ISILLEGAL);
-		testFilter("  (room = =b**oo*m*) ) ", props, ISILLEGAL);
-	}
-
-	public void testScalarSubstring() {
-		Dictionary props = getProperties();
-		testFilter("(shortValue =100*) ", props, ISFALSE);
-		testFilter("(intValue =100*) ", props, ISFALSE);
-		testFilter("(longValue =100*) ", props, ISFALSE);
-		testFilter("(  byteValue =1*00  )", props, ISFALSE);
-		testFilter("(bigIntValue =4*23456) ", props, ISFALSE);
-		testFilter("(bigDecValue =4*123456) ", props, ISFALSE);
-		testFilter("(floatValue =1*0) ", props, ISFALSE);
-		testFilter("(doubleValue =2*011) ", props, ISFALSE);
-		testFilter("(charValue =a*) ", props, ISFALSE);
-		testFilter("(booleanValue =t*ue) ", props, ISFALSE);
-	}
-
-	public void testNormalization() {
-		try {
-			Filter f1 = createFilter("( a = bedroom  )");
-			Filter f2 = createFilter(" (a= bedroom  ) ");
-			assertEquals("not equal", "(a= bedroom  )", f1.toString());
-			assertEquals("not equal", "(a= bedroom  )", f2.toString());
-			assertEquals("not equal", f1, f2);
-			assertEquals("not equal", f2, f1);
-			assertEquals("not equal", f1.hashCode(), f2.hashCode());
-		} catch (InvalidSyntaxException e) {
-			fail("unexpected invalid syntax", e);
-		}
-
-	}
-
-	private void testFilter(String query, Dictionary props, int expect) {
-		final ServiceReference ref = new DictionaryServiceReference(props);
-		Filter f1;
-		try {
-			f1 = createFilter(query);
-
-			if (expect == ISILLEGAL) {
-				fail("expected exception");
-			}
-		} catch (InvalidSyntaxException e) {
-			if (expect != ISILLEGAL) {
-				fail("exception", e);
-			}
-			return;
-		}
-
-		boolean val = f1.match(props);
-		assertEquals("wrong result", expect == ISTRUE, val);
-
-		val = f1.match(ref);
-		assertEquals("wrong result", expect == ISTRUE, val);
-
-		String normalized = f1.toString();
-		Filter f2;
-		try {
-			f2 = createFilter(normalized);
-		} catch (InvalidSyntaxException e) {
-			fail("exception", e);
-			return;
-		}
-
-		val = f2.match(props);
-		assertEquals("wrong result", expect == ISTRUE, val);
-
-		val = f2.match(ref);
-		assertEquals("wrong result", expect == ISTRUE, val);
-
-		assertEquals("normalized not equal", normalized, f2.toString());
-
-	}
-
-	public void testComparable() {
-		Filter f1 = null;
-		Object comp42 = new SampleComparable("42");
-		Object comp43 = new SampleComparable("43");
-		Hashtable hash = new Hashtable();
-
-		try {
-			f1 = createFilter("(comparable=42)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("comparable", comp42);
-		assertTrue("does not match filter", f1.match(hash));
-		assertTrue("does not match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		hash.put("comparable", comp43);
-		assertFalse("does match filter", f1.match(hash));
-		assertFalse("does match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		try {
-			f1 = createFilter("(comparable<=42)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("comparable", comp42);
-		assertTrue("does not match filter", f1.match(hash));
-		assertTrue("does not match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		hash.put("comparable", comp43);
-		assertFalse("does match filter", f1.match(hash));
-		assertFalse("does match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		try {
-			f1 = createFilter("(comparable>=42)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("comparable", comp42);
-		assertTrue("does not match filter", f1.match(hash));
-		assertTrue("does not match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		hash.put("comparable", comp43);
-		assertTrue("does not match filter", f1.match(hash));
-		assertTrue("does not match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		try {
-			f1 = createFilter("(comparable=4*2)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("comparable", comp42);
-		assertFalse("does match filter", f1.match(hash));
-		assertFalse("does match filter", f1.match(new DictionaryServiceReference(hash)));
-	}
-
-	public void testObject() {
-		Filter f1 = null;
-		Object obj42 = new SampleObject("42");
-		Object obj43 = new SampleObject("43");
-		Hashtable hash = new Hashtable();
-
-		try {
-			f1 = createFilter("(object=42)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("object", obj42);
-		assertTrue("does not match filter", f1.match(hash));
-		assertTrue("does not match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		hash.put("object", obj43);
-		assertFalse("does match filter", f1.match(hash));
-		assertFalse("does match filter", f1.match(new DictionaryServiceReference(hash)));
-
-		try {
-			f1 = createFilter("(object=4*2)");
-		} catch (InvalidSyntaxException e) {
-			fail("invalid syntax", e);
-		}
-
-		hash.put("object", obj42);
-		assertFalse("does match filter", f1.match(hash));
-		assertFalse("does match filter", f1.match(new DictionaryServiceReference(hash)));
-	}
-
-	public static class SampleComparable implements Comparable {
-		private int value = -1;
-
-		public SampleComparable(String value) {
-			this.value = Integer.parseInt(value);
-		}
-
-		public int compareTo(Object o) {
-			return value - ((SampleComparable) o).value;
-		}
-
-		public String toString() {
-			return String.valueOf(value);
-		}
-	}
-
-	public static class SampleObject {
-		private int value = -1;
-
-		public SampleObject(String value) {
-			this.value = Integer.parseInt(value);
-		}
-
-		public boolean equals(Object o) {
-			if (o instanceof SampleObject) {
-				return value == ((SampleObject) o).value;
-			}
-			return false;
-		}
-
-		public String toString() {
-			return String.valueOf(value);
-		}
-	}
-
-	private static class DictionaryServiceReference implements ServiceReference {
-		private final Dictionary dictionary;
-		private final String[] keys;
-
-		DictionaryServiceReference(Dictionary dictionary) {
-			if (dictionary == null) {
-				this.dictionary = null;
-				this.keys = new String[] {};
-				return;
-			}
-			this.dictionary = dictionary;
-			List keyList = new ArrayList(dictionary.size());
-			for (Enumeration e = dictionary.keys(); e.hasMoreElements();) {
-				Object k = e.nextElement();
-				if (k instanceof String) {
-					String key = (String) k;
-					for (Iterator i = keyList.iterator(); i.hasNext();) {
-						if (key.equalsIgnoreCase((String) i.next())) {
-							throw new IllegalArgumentException();
-						}
-					}
-					keyList.add(key);
-				}
-			}
-			this.keys = (String[]) keyList.toArray(new String[keyList.size()]);
-		}
-
-		public Object getProperty(String k) {
-			for (int i = 0, length = keys.length; i < length; i++) {
-				String key = keys[i];
-				if (key.equalsIgnoreCase(k)) {
-					return dictionary.get(key);
-				}
-			}
-			return null;
-		}
-
-		public String[] getPropertyKeys() {
-			return (String[]) keys.clone();
-		}
-
-		public int compareTo(Object reference) {
-			throw new UnsupportedOperationException();
-		}
-
-		public Bundle getBundle() {
-			throw new UnsupportedOperationException();
-		}
-
-		public Bundle[] getUsingBundles() {
-			throw new UnsupportedOperationException();
-		}
-
-		public boolean isAssignableTo(Bundle bundle, String className) {
-			throw new UnsupportedOperationException();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FrameworkUtilFilterTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FrameworkUtilFilterTests.java
deleted file mode 100644
index 0d6fe44..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/filter/FrameworkUtilFilterTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.filter;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.*;
-
-public class FrameworkUtilFilterTests extends FilterTests {
-	public static Test suite() {
-		return new TestSuite(FrameworkUtilFilterTests.class);
-	}
-
-	public Filter createFilter(String filterString) throws InvalidSyntaxException {
-		return FrameworkUtil.createFilter(filterString);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
deleted file mode 100644
index edce4b3..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.internal.plugins;
-
-import java.io.IOException;
-import org.eclipse.core.tests.harness.BundleTestingHelper;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Provisory home for tests that install plugins.
- */
-public class InstallTests extends CoreTest {
-
-	public InstallTests() {
-		super();
-	}
-
-	public InstallTests(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	public void testInstallInvalidManifest01() throws BundleException, IOException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle03"); //$NON-NLS-1$
-			// should have failed with BundleException
-			fail("1.0"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test invalid manifest; missing Bundle-SymbolicName
-	 */
-	public void testInstallInvalidManifest02() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle("testInstallInvalidManifest02", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle11"); //$NON-NLS-1$ //$NON-NLS-2$
-			// should have failed with BundleException
-			fail("Expected a failure with no Bundle-SymbolicName header"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test invalid manifest; duplicate directive
-	 */
-	public void testInstallInvalidManifest03() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle("testInstallInvalidManifest03", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle12"); //$NON-NLS-1$ //$NON-NLS-2$
-			// should have failed with BundleException
-			fail("Expected a failure with duplicate directives"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test invalid manifest; use attributes bundle-version and bundle-symbolic-name in Export-Package
-	 */
-	public void testInstallInvalidManifest04() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle("testInstallInvalidManifest04", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle13"); //$NON-NLS-1$ //$NON-NLS-2$
-			// should have failed with BundleException
-			fail("Expected a failure with duplicate attributes"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test invalid manifest; imports same package twice
-	 */
-	public void testInstallInvalidManifest05() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle("testInstallInvalidManifest05", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle14"); //$NON-NLS-1$ //$NON-NLS-2$
-			// should have failed with BundleException
-			fail("Expected a failure with duplicate imports"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test unresolvable
-	 */
-	public void testStartError01() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			try {
-				installed = BundleTestingHelper.installBundle("testStartError01", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle15"); //$NON-NLS-1$ //$NON-NLS-2$
-				// should be able to install
-			} catch (BundleException be) {
-				// failed to install unresolvable bundle
-				fail("Unexpected installation error", be); //$NON-NLS-1$
-			}
-			try {
-				installed.start();
-				// expected exception starting
-				fail("Expected a failure to start unresolved bundle"); //$NON-NLS-1$
-			} catch (BundleException be) {
-				// success - the bundle can not resolve
-				assertEquals("Expected manifest error", BundleException.RESOLVE_ERROR, be.getType()); //$NON-NLS-1$
-			}
-
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	/**
-	 * Test start fragment
-	 */
-	public void testStartError02() throws IOException, BundleException {
-		Bundle host = null;
-		Bundle fragment = null;
-		try {
-			try {
-				host = BundleTestingHelper.installBundle("testStartError02_host", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle16"); //$NON-NLS-1$ //$NON-NLS-2$
-				fragment = BundleTestingHelper.installBundle("testStartError02_frag", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle17"); //$NON-NLS-1$ //$NON-NLS-2$
-				// should be able to install host
-			} catch (BundleException be) {
-				// failed to install unresolvable bundle
-				fail("Unexpected installation error", be); //$NON-NLS-1$
-			}
-			try {
-				host.start();
-			} catch (BundleException be) {
-				fail("Unexpected start host error", be); //$NON-NLS-1$
-			}
-			try {
-				fragment.start();
-				// expected exception starting
-				fail("Expected a failure to start fragment bundle"); //$NON-NLS-1$
-			} catch (BundleException be) {
-				// success - the bundle can not resolve
-				assertEquals("Expected manifest error", BundleException.INVALID_OPERATION, be.getType()); //$NON-NLS-1$
-			}
-
-		} finally {
-			if (host != null)
-				host.uninstall();
-			if (fragment != null)
-				fragment.uninstall();
-
-		}
-	}
-
-	/**
-	 * Test unsupported operation with boot classpath extension
-	 */
-	public void testUnsupportedOperation01() throws IOException, BundleException {
-		Bundle installed = null;
-		try {
-			installed = BundleTestingHelper.installBundle("testUnsupportedOperation01", OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle18"); //$NON-NLS-1$ //$NON-NLS-2$
-			// should have failed with BundleException
-			fail("Expected an unsupported operation exception"); //$NON-NLS-1$
-		} catch (BundleException be) {
-			// success - the manifest was invalid
-			assertEquals("Expected unsupported error", BundleException.UNSUPPORTED_OPERATION, be.getType()); //$NON-NLS-1$
-		} finally {
-			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
-				installed.uninstall();
-		}
-	}
-
-	public void testInstallLocationWithSpaces() throws BundleException, IOException {
-		Bundle installed = null;
-		installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle 01"); //$NON-NLS-1$
-		try {
-			assertEquals("1.0", "bundle01", installed.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.INSTALLED, installed.getState()); //$NON-NLS-1$
-		} finally {
-			// clean-up
-			installed.uninstall();
-		}
-	}
-
-	public void testInstallLocationWithUnderscores() throws BundleException, IOException {
-		Bundle installed = null;
-		installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle02_1.0.0"); //$NON-NLS-1$
-		try {
-			assertEquals("1.0", "bundle02", installed.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.INSTALLED, installed.getState()); //$NON-NLS-1$
-			assertEquals("1.2", new Version("2.0"), new Version((String) installed.getHeaders().get(Constants.BUNDLE_VERSION))); //$NON-NLS-1$ //$NON-NLS-2$
-		} finally {
-			// clean-up
-			installed.uninstall();
-		}
-	}
-
-	/** Ensures we see a bundle with only a extension point as a singleton */
-	public void testInstallBundleWithExtensionPointOnly() throws BundleException, IOException {
-		Bundle installed = null;
-		installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle04"); //$NON-NLS-1$
-		try {
-			assertEquals("1.0", "bundle04", installed.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.INSTALLED, installed.getState()); //$NON-NLS-1$
-			assertEquals("1.2", "1.3.7", installed.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-			String symbolicNameString = (String) installed.getHeaders().get(Constants.BUNDLE_SYMBOLICNAME);
-			assertNotNull("1.3", symbolicNameString); //$NON-NLS-1$
-			ManifestElement[] symbolicNameHeader = ManifestElement.parseHeader(Constants.BUNDLE_SYMBOLICNAME, symbolicNameString);
-			assertEquals("1.4", 1, symbolicNameHeader.length); //$NON-NLS-1$
-			assertEquals("1.5", "true", symbolicNameHeader[0].getDirective(Constants.SINGLETON_DIRECTIVE)); //$NON-NLS-1$ //$NON-NLS-2$
-
-		} finally {
-			// clean-up
-			installed.uninstall();
-		}
-	}
-
-	/** Ensures we see a bundle with only a extension as a singleton */
-	public void testInstallBundleWithExtensionOnly() throws BundleException, IOException {
-		Bundle installed = null;
-		installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle05"); //$NON-NLS-1$
-		try {
-			assertEquals("1.0", "bundle05", installed.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.INSTALLED, installed.getState()); //$NON-NLS-1$
-			assertEquals("1.2", "1.3.8", installed.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-			String symbolicNameString = (String) installed.getHeaders().get(Constants.BUNDLE_SYMBOLICNAME);
-			assertNotNull("1.3", symbolicNameString); //$NON-NLS-1$
-			ManifestElement[] symbolicNameHeader = ManifestElement.parseHeader(Constants.BUNDLE_SYMBOLICNAME, symbolicNameString);
-			assertEquals("1.4", 1, symbolicNameHeader.length); //$NON-NLS-1$
-			assertEquals("1.5", "true", symbolicNameHeader[0].getDirective(Constants.SINGLETON_DIRECTIVE)); //$NON-NLS-1$ //$NON-NLS-2$
-
-		} finally {
-			// clean-up
-			installed.uninstall();
-		}
-	}
-
-	/** Ensures we see a bundle with only extension and extension point as a singleton */
-	public void testInstallBundleWithExtensionAndExtensionPoint() throws BundleException, IOException {
-		Bundle installed = null;
-		installed = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle06"); //$NON-NLS-1$
-		try {
-			assertEquals("1.0", "bundle06", installed.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.INSTALLED, installed.getState()); //$NON-NLS-1$
-			assertEquals("1.2", "1.3.9", installed.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-			String symbolicNameString = (String) installed.getHeaders().get(Constants.BUNDLE_SYMBOLICNAME);
-			assertNotNull("1.3", symbolicNameString); //$NON-NLS-1$
-			ManifestElement[] symbolicNameHeader = ManifestElement.parseHeader(Constants.BUNDLE_SYMBOLICNAME, symbolicNameString);
-			assertEquals("1.4", 1, symbolicNameHeader.length); //$NON-NLS-1$
-			assertEquals("1.5", "true", symbolicNameHeader[0].getDirective(Constants.SINGLETON_DIRECTIVE)); //$NON-NLS-1$ //$NON-NLS-2$
-
-		} finally {
-			// clean-up
-			installed.uninstall();
-		}
-	}
-
-	/** Ensures two versions of a non-singleton bundle are accepted */
-	public void testInstall2NonSingletonBundles() throws BundleException, IOException {
-		Bundle installed1 = org.eclipse.core.tests.harness.BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle07"); //$NON-NLS-1$
-		ServiceReference packageAdminSR = OSGiTestsActivator.getContext().getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = (PackageAdmin) OSGiTestsActivator.getContext().getService(packageAdminSR);
-		packageAdmin.resolveBundles(null);
-		Bundle installed2 = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle07b"); //$NON-NLS-1$
-		packageAdmin.resolveBundles(null);
-		OSGiTestsActivator.getContext().ungetService(packageAdminSR);
-		try {
-			assertEquals("1.0", "bundle07", installed2.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.RESOLVED, installed2.getState()); //$NON-NLS-1$
-			assertEquals("1.2", "1.0.0.b", installed2.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-
-			assertEquals("1.3", "bundle07", installed1.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.4", Bundle.RESOLVED, installed1.getState()); //$NON-NLS-1$
-			assertEquals("1.5", "1.0.0", installed1.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-		} finally {
-			installed1.uninstall();
-			installed2.uninstall();
-		}
-	}
-
-	/** Ensures two versions of a singleton bundle are accepted */
-	public void testInstall2SingletonBundles() throws BundleException, IOException {
-		Bundle installed1 = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle08"); //$NON-NLS-1$
-		ServiceReference packageAdminSR = OSGiTestsActivator.getContext().getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = (PackageAdmin) OSGiTestsActivator.getContext().getService(packageAdminSR);
-		packageAdmin.resolveBundles(null);
-		Bundle installed2 = BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle08b"); //$NON-NLS-1$
-		packageAdmin.resolveBundles(null);
-		OSGiTestsActivator.getContext().ungetService(packageAdminSR);
-		try {
-			assertEquals("1.0", "bundle08", installed1.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.1", Bundle.RESOLVED, installed1.getState()); //$NON-NLS-1$
-			assertEquals("1.2", "1.0.0", installed1.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-
-			assertEquals("1.3", "bundle08", installed2.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("1.4", Bundle.INSTALLED, installed2.getState()); //$NON-NLS-1$
-			assertEquals("1.5", "1.0.0.b", installed2.getHeaders().get(Constants.BUNDLE_VERSION)); //$NON-NLS-1$ //$NON-NLS-2$
-		} finally {
-			installed1.uninstall();
-			installed2.uninstall();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
deleted file mode 100644
index e365700..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.listeners;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import org.eclipse.core.tests.harness.BundleTestingHelper;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-
-public class ExceptionHandlerTests extends TestCase {
-	//These tests exercise the code change for bug 73111.
-	
-	class FrameworkEventListenerWithResult implements FrameworkListener {
-		FrameworkEvent event = null;
-		
-		public synchronized void frameworkEvent(FrameworkEvent newEvent) {
-			if (newEvent.getType() != FrameworkEvent.ERROR)
-				return;
-			
-			if (this.event != null)
-				return;
-			event = newEvent;
-			notify();
-		}
-		
-		public synchronized FrameworkEvent getResult(long timeout) {
-			if (event != null) {
-				FrameworkEvent tmp = event;
-				event = null;
-				return tmp;
-			}
-			try {
-				wait(timeout);
-			} catch (InterruptedException e) {
-			}
-			FrameworkEvent tmp = event;
-			event = null;
-			return tmp;
-		}
-	};
-
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-	
-	
-	public void testNonFatalException() {	
-		FrameworkEventListenerWithResult fwkListener = new FrameworkEventListenerWithResult();
-		OSGiTestsActivator.getContext().addFrameworkListener(fwkListener);
-
-		BundleListener npeGenerator = new BundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				throw new NullPointerException("Generated exception");
-			}
-		};	
-		OSGiTestsActivator.getContext().addBundleListener(npeGenerator);
-		
-		try {
-			BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle09");
-			FrameworkEvent eventReceived = fwkListener.getResult(60000);
-			Assert.assertEquals(FrameworkEvent.ERROR, eventReceived.getType());
-			Assert.assertEquals(true, eventReceived.getThrowable() instanceof NullPointerException);
-		} catch (MalformedURLException e) {
-			//Does not happen
-		} catch (BundleException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		OSGiTestsActivator.getContext().removeFrameworkListener(fwkListener);
-		OSGiTestsActivator.getContext().removeBundleListener(npeGenerator);
-	}
-	
-	
-	public void testFatalException() {	
-		FrameworkEventListenerWithResult fwkListener = new FrameworkEventListenerWithResult();
-		OSGiTestsActivator.getContext().addFrameworkListener(fwkListener);
-
-		BundleListener fatalException = new BundleListener() {
-			public void bundleChanged(BundleEvent event) {
-				throw new OutOfMemoryError("Generated exception");
-			}
-		};
-		OSGiTestsActivator.getContext().addBundleListener(fatalException);
-		
-	
-		try {
-			System.setProperty("eclipse.exitOnError","false"); //Here we set the value to false, because otherwise we would simply exit
-			BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle10");
-			FrameworkEvent eventReceived = fwkListener.getResult(10000);
-			Assert.assertEquals(FrameworkEvent.ERROR, eventReceived.getType());
-			Assert.assertEquals(true, eventReceived.getThrowable() instanceof VirtualMachineError);
-			System.setProperty("eclipse.exitOnError","true");
-		} catch (MalformedURLException e) {
-			//Does not happen
-		} catch (BundleException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		OSGiTestsActivator.getContext().removeFrameworkListener(fwkListener);
-		OSGiTestsActivator.getContext().removeBundleListener(fatalException);
-	}
- 
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/misc/MiscTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/misc/MiscTests.java
deleted file mode 100644
index bb88304..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/misc/MiscTests.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.misc;
-
-import junit.framework.*;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.framework.internal.core.BundleHost;
-import org.eclipse.osgi.internal.loader.SingleSourcePackage;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-
-public class MiscTests extends TestCase {
-	public static Test suite() {
-		return new TestSuite(MiscTests.class);
-	}
-
-	public void testBug251427() {
-		BundleHost testsBundle = (BundleHost) OSGiTestsActivator.getContext().getBundle();
-		assertNotNull("tests bundle is null", testsBundle); //$NON-NLS-1$
-		BundleHost harnessBundle = (BundleHost) Platform.getBundle("org.eclipse.core.tests.harness"); //$NON-NLS-1$
-		assertNotNull("harness bundle is null", harnessBundle); //$NON-NLS-1$
-
-		SingleSourcePackage p111 = new SingleSourcePackage("pkg1", testsBundle.getLoaderProxy()); //$NON-NLS-1$
-		SingleSourcePackage p121 = new SingleSourcePackage("pkg1", testsBundle.getLoaderProxy()); //$NON-NLS-1$
-		SingleSourcePackage p112 = new SingleSourcePackage("pkg1", harnessBundle.getLoaderProxy()); //$NON-NLS-1$
-
-		SingleSourcePackage p212 = new SingleSourcePackage("pkg2", harnessBundle.getLoaderProxy()); //$NON-NLS-1$
-		SingleSourcePackage p222 = new SingleSourcePackage("pkg2", harnessBundle.getLoaderProxy()); //$NON-NLS-1$
-		SingleSourcePackage p211 = new SingleSourcePackage("pkg2", testsBundle.getLoaderProxy()); //$NON-NLS-1$
-
-		assertEquals("sources not equal", p111, p121); //$NON-NLS-1$
-		assertEquals("sources hashCode not equal", p111.hashCode(), p121.hashCode()); //$NON-NLS-1$
-		assertEquals("sources not equal", p212, p222); //$NON-NLS-1$
-		assertEquals("sources hashCode not equal", p212.hashCode(), p222.hashCode()); //$NON-NLS-1$
-
-		assertFalse("sources are equal", p111.equals(p112)); //$NON-NLS-1$
-		assertFalse("sources are equal", p212.equals(p211)); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
deleted file mode 100644
index aae34c8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.perf;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests extends TestSuite {
-
-	public AllTests() {
-		super();
-	}
-
-	public AllTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(StatePerformanceTest.suite());
-		suite.addTest(StateUsesPerformanceTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
deleted file mode 100644
index 78b6073..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.perf;
-
-import java.util.Random;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.Version;
-
-public class BasePerformanceTest extends AbstractStateTest {
-	private Random random;
-
-	public static Test suite() {
-		return new TestSuite(BasePerformanceTest.class);
-	}
-
-	public BasePerformanceTest(String name) {
-		super(name);
-	}
-
-	protected State buildRandomState(int size) {
-		State state = buildEmptyState();
-		StateObjectFactory stateFactory = state.getFactory();
-		BundleDescription[] bundles = new BundleDescription[size];
-		int exportedPackages = 0;
-		for (int i = 0; i < bundles.length; i++) {
-			long bundleId = i;
-			String symbolicName = "bundle" + i;
-			Version version = new Version(1, 0, 0);
-
-			int exportPackageCount = random.nextInt(5);
-			ExportPackageDescription[] exportPackages = new ExportPackageDescription[exportPackageCount];
-			for (int j = 0; j < exportPackages.length; j++) {
-				String packageName = "package." + exportedPackages++;
-				Version packageVersion = Version.parseVersion("1.0.0");
-				exportPackages[j] = stateFactory.createExportPackageDescription(packageName, packageVersion, null, null, true, null);
-			}
-			int importPackageCount = Math.min(exportPackageCount, random.nextInt(5));
-			int importedPackageIndex = random.nextInt(exportPackageCount + 1);
-			ImportPackageSpecification[] importPackages = new ImportPackageSpecification[importPackageCount];
-			for (int j = 0; j < importPackages.length; j++) {
-				int index = importedPackageIndex++;
-				if (importedPackageIndex > exportPackageCount)
-					importedPackageIndex = 1;
-				String packageName = "package." + index;
-				importPackages[j] = stateFactory.createImportPackageSpecification(packageName, new VersionRange("1.0.0"), null, null, null, null, null);
-			}
-
-			BundleSpecification[] requiredBundles = new BundleSpecification[Math.min(i, random.nextInt(5))];
-			for (int j = 0; j < requiredBundles.length; j++) {
-				int requiredIndex = random.nextInt(i);
-				String requiredName = bundles[requiredIndex].getSymbolicName();
-				Version requiredVersion = bundles[requiredIndex].getVersion();
-				boolean export = random.nextInt(10) > 6;
-				boolean optional = random.nextInt(10) > 8;
-				requiredBundles[j] = stateFactory.createBundleSpecification(requiredName, new VersionRange(requiredVersion.toString()), export, optional);
-			}
-
-			bundles[i] = stateFactory.createBundleDescription(bundleId, symbolicName, version, symbolicName, requiredBundles, (HostSpecification) null, importPackages, exportPackages, null, random.nextDouble() > 0.05);
-			state.addBundle(bundles[i]);
-		}
-		return state;
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// uses a constant seed to prevent variation on results
-		this.random = new Random(0);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
deleted file mode 100644
index f592456..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.perf;
-
-import java.io.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.core.tests.harness.PerformanceTestRunner;
-import org.eclipse.osgi.service.resolver.State;
-
-public class StatePerformanceTest extends BasePerformanceTest {
-
-	// TODO this should be removed in 3.7
-	public final static String PERFORMANCE_BUG311546_EXPLANATION = "Performance decrease caused improvements in memory usage. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=269185 for details."; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(StatePerformanceTest.class);
-	}
-
-	public StatePerformanceTest(String name) {
-		super(name);
-	}
-
-	private State storeAndRetrieve(State toStore) throws IOException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		toStore.getFactory().writeState(toStore, baos);
-		ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-		return toStore.getFactory().readState(bais);
-	}
-
-	public void testCreation() {
-		final int stateSize = 5000;
-		new PerformanceTestRunner() {
-			protected void test() {
-				buildRandomState(stateSize);
-			}
-		}.run(this, 10, 10);
-	}
-
-	private void testResolution(int stateSize, int repetitions, String localName, String degradation) {
-		final State originalState = buildRandomState(stateSize);
-		PerformanceTestRunner runner = new PerformanceTestRunner() {
-			protected void test() {
-				originalState.resolve(false);
-			}
-		};
-		runner.setRegressionReason(degradation);
-		runner.run(this, localName, 10, repetitions);
-	}
-
-	public void testResolution100() throws IOException {
-		testResolution(100, 500, null, PERFORMANCE_BUG311546_EXPLANATION);
-	}
-
-	public void testResolution1000() throws IOException {
-		testResolution(1000, 15, "State Resolution", null);
-	}
-
-	public void testResolution500() throws IOException {
-		testResolution(500, 50, null, PERFORMANCE_BUG311546_EXPLANATION);
-	}
-
-	public void testResolution5000() throws IOException {
-		testResolution(5000, 1, null, null);
-	}
-
-	public void testStoreAndRetrieve() {
-		int stateSize = 5000;
-		final State originalState = buildRandomState(stateSize);
-		new PerformanceTestRunner() {
-			protected void test() {
-				try {
-					storeAndRetrieve(originalState);
-				} catch (IOException e) {
-					CoreTest.fail("", e);
-				}
-			}
-		}.run(this, 10, 10);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
deleted file mode 100644
index 6a985ee..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.perf;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.tests.harness.PerformanceTestRunner;
-import org.eclipse.osgi.service.resolver.State;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class StateUsesPerformanceTest extends BasePerformanceTest {
-
-	public static Test suite() {
-		return new TestSuite(StateUsesPerformanceTest.class);
-	}
-
-	public StateUsesPerformanceTest(String name) {
-		super(name);
-	}
-
-	private void doUsesResolution(int stateSize, int repetitions, String localName, String degradation) throws BundleException {
-		final State originalState = buildRandomState(stateSize);
-		addUsesBundles(originalState);
-		PerformanceTestRunner runner = new PerformanceTestRunner() {
-			protected void test() {
-				originalState.resolve(false);
-			}
-		};
-		runner.setRegressionReason(degradation);
-		runner.run(this, localName, 10, repetitions);
-
-	}
-
-	public void testUsesResolution00100() throws BundleException {
-		doUsesResolution(100, 100, null, StatePerformanceTest.PERFORMANCE_BUG311546_EXPLANATION);
-	}
-
-	public void testUsesResolution00500() throws BundleException {
-		doUsesResolution(500, 10, null, StatePerformanceTest.PERFORMANCE_BUG311546_EXPLANATION);
-	}
-
-	public void testUsesResolution01000() throws BundleException {
-		doUsesResolution(1000, 10, null, null);
-	}
-
-	public void testUsesResolution05000() throws BundleException {
-		doUsesResolution(5000, 1, null, null);
-	}
-
-	private void addUsesBundles(State state) throws BundleException {
-		int id = state.getBundles().length + 500;
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "3.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "4.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "5.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0.0,2.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0.0,2.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "3.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0.0,2.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "4.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0.0,2.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "5.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0.0,2.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[2.0.0,3.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[2.0.0,3.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "3.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[2.0.0,3.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "4.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[2.0.0,3.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "5.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=a");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[2.0.0,3.0.0)\"; visibility:=reexport");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "f; uses:=b");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A, B, C");
-		state.addBundle(state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), id++));
-
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/AdminPermissionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/AdminPermissionTests.java
deleted file mode 100644
index b21526a..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/AdminPermissionTests.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.permissions;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.util.PropertyPermission;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.AdminPermission;
-
-public class AdminPermissionTests extends PermissionTests {
-
-	public static Test suite() {
-		return new TestSuite(AdminPermissionTests.class);
-	}
-
-	public void testAdminPermission() {
-		AdminPermission p1 = new AdminPermission();
-		AdminPermission p2 = new AdminPermission("*", "*"); //$NON-NLS-1$ //$NON-NLS-2$
-		Permission op = new PropertyPermission("java.home", "read"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		shouldImply(p1, p2);
-		shouldImply(p1, p1);
-		shouldNotImply(p1, op);
-
-		shouldEqual(p1, p2);
-		shouldNotEqual(p1, op);
-
-		PermissionCollection pc = p1.newPermissionCollection();
-
-		checkEnumeration(pc.elements(), true);
-
-		shouldNotImply(pc, p1);
-
-		shouldAdd(pc, p1);
-		shouldAdd(pc, p2);
-		shouldNotAdd(pc, op);
-
-		pc.setReadOnly();
-
-		shouldNotAdd(pc, new AdminPermission());
-
-		shouldImply(pc, p1);
-		shouldImply(pc, p2);
-		shouldNotImply(pc, op);
-
-		checkEnumeration(pc.elements(), false);
-
-		testSerialization(p1);
-		testSerialization(p2);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PackagePermissionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PackagePermissionTests.java
deleted file mode 100644
index 860d17f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PackagePermissionTests.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.permissions;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.util.PropertyPermission;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.PackagePermission;
-
-public class PackagePermissionTests extends PermissionTests {
-
-	public static Test suite() {
-		return new TestSuite(PackagePermissionTests.class);
-	}
-
-	public void testPackagePermission() {
-		badPackagePermission("a.b.c", "x"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "   get  ,  x   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "      "); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", null); //$NON-NLS-1$
-		badPackagePermission("a.b.c", ","); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", ",xxx"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "xxx,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "import,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "export,   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "importme,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "exportme,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", ",import"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", ",export"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "   importme   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "   exportme     "); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "   impor"); //$NON-NLS-1$ //$NON-NLS-2$
-		badPackagePermission("a.b.c", "   expor"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		Permission op = new PropertyPermission("java.home", "read"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		PackagePermission p11 = new PackagePermission("com.foo.service1", "    IMPORT,export   "); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p12 = new PackagePermission("com.foo.service1", "EXPORT  ,   import"); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p13 = new PackagePermission("com.foo.service1", "expORT   "); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p14 = new PackagePermission("com.foo.service1", "    Import    "); //$NON-NLS-1$ //$NON-NLS-2$
-
-		shouldImply(p11, p11);
-		shouldImply(p11, p12);
-		shouldImply(p11, p13);
-		shouldImply(p11, p14);
-
-		shouldImply(p12, p11);
-		shouldImply(p12, p12);
-		shouldImply(p12, p13);
-		shouldImply(p12, p14);
-
-		shouldImply(p13, p11);
-		shouldImply(p13, p12);
-		shouldImply(p13, p13);
-		shouldImply(p13, p14);
-
-		shouldImply(p14, p14);
-
-		shouldNotImply(p14, p11);
-		shouldNotImply(p14, p12);
-		shouldNotImply(p14, p13);
-
-		shouldNotImply(p11, op);
-
-		shouldEqual(p11, p11);
-		shouldEqual(p11, p12);
-		shouldEqual(p11, p13);
-		shouldEqual(p12, p11);
-		shouldEqual(p12, p12);
-		shouldEqual(p12, p13);
-		shouldEqual(p13, p11);
-		shouldEqual(p13, p12);
-		shouldEqual(p13, p13);
-
-		shouldNotEqual(p11, p14);
-		shouldNotEqual(p12, p14);
-		shouldNotEqual(p13, p14);
-		shouldNotEqual(p14, p11);
-		shouldNotEqual(p14, p12);
-		shouldNotEqual(p14, p13);
-
-		PermissionCollection pc = p13.newPermissionCollection();
-
-		checkEnumeration(pc.elements(), true);
-
-		shouldNotImply(pc, p11);
-
-		shouldAdd(pc, p14);
-		shouldImply(pc, p14);
-		shouldNotImply(pc, p11);
-		shouldNotImply(pc, p12);
-		shouldNotImply(pc, p13);
-
-		shouldAdd(pc, p13);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		shouldNotAdd(pc, op);
-
-		pc = p13.newPermissionCollection();
-
-		shouldAdd(pc, p13);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		pc = p11.newPermissionCollection();
-
-		shouldAdd(pc, p11);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		pc.setReadOnly();
-
-		shouldNotAdd(pc, p12);
-
-		checkEnumeration(pc.elements(), false);
-
-		PackagePermission p21 = new PackagePermission("com.foo.service2", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p22 = new PackagePermission("com.foo.*", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p23 = new PackagePermission("com.*", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-		PackagePermission p24 = new PackagePermission("*", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		shouldImply(p21, p21);
-		shouldImply(p22, p21);
-		shouldImply(p23, p21);
-		shouldImply(p24, p21);
-
-		shouldImply(p22, p22);
-		shouldImply(p23, p22);
-		shouldImply(p24, p22);
-
-		shouldImply(p23, p23);
-		shouldImply(p24, p23);
-
-		shouldImply(p24, p24);
-
-		shouldNotImply(p21, p22);
-		shouldNotImply(p21, p23);
-		shouldNotImply(p21, p24);
-
-		shouldNotImply(p22, p23);
-		shouldNotImply(p22, p24);
-
-		shouldNotImply(p23, p24);
-
-		pc = p21.newPermissionCollection();
-
-		shouldAdd(pc, p21);
-		shouldImply(pc, p21);
-		shouldNotImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p22);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p23);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p24);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldImply(pc, p24);
-
-		pc = p22.newPermissionCollection();
-
-		shouldAdd(pc, p22);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		pc = p23.newPermissionCollection();
-
-		shouldAdd(pc, p23);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		pc = p24.newPermissionCollection();
-
-		shouldAdd(pc, p24);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldImply(pc, p24);
-
-		testSerialization(p11);
-		testSerialization(p12);
-		testSerialization(p13);
-		testSerialization(p14);
-		testSerialization(p21);
-		testSerialization(p22);
-		testSerialization(p23);
-		testSerialization(p24);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PermissionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PermissionTests.java
deleted file mode 100644
index df196cd..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/PermissionTests.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.permissions;
-
-import java.io.*;
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-import junit.framework.*;
-import org.osgi.framework.PackagePermission;
-import org.osgi.framework.ServicePermission;
-
-public class PermissionTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(PermissionTests.class.getName());
-		suite.addTest(AdminPermissionTests.suite());
-		suite.addTest(ServicePermissionTests.suite());
-		suite.addTest(PackagePermissionTests.suite());
-		return suite;
-	}
-
-	protected void badServicePermission(String name, String actions) {
-		try {
-			ServicePermission p = new ServicePermission(name, actions);
-			fail(p + " created with invalid actions"); //$NON-NLS-1$
-		} catch (IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	protected void badPackagePermission(String name, String actions) {
-		try {
-			PackagePermission p = new PackagePermission(name, actions);
-			fail(p + " created with invalid actions"); //$NON-NLS-1$
-		} catch (IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	protected void checkEnumeration(Enumeration en, boolean isEmpty) {
-		assertEquals(en + " empty state is invalid", !isEmpty, en.hasMoreElements()); //$NON-NLS-1$
-		try {
-			while (en.hasMoreElements()) {
-				en.nextElement();
-			}
-		} catch (NoSuchElementException e) {
-			fail(en + " threw NoSuchElementException"); //$NON-NLS-1$
-		}
-
-		try {
-			en.nextElement();
-			fail(en + " is empty but didn't throw NoSuchElementException"); //$NON-NLS-1$
-		} catch (NoSuchElementException e) {
-			// expected
-		}
-	}
-
-	protected void shouldImply(Permission p1, Permission p2) {
-		assertTrue(p1 + " does not imply " + p2, p1.implies(p2)); //$NON-NLS-1$
-	}
-
-	protected void shouldNotImply(Permission p1, Permission p2) {
-		assertFalse(p1 + " does imply " + p2, p1.implies(p2)); //$NON-NLS-1$
-	}
-
-	protected void shouldImply(PermissionCollection p1, Permission p2) {
-		assertTrue(p1 + " does not imply " + p2, p1.implies(p2)); //$NON-NLS-1$
-	}
-
-	protected void shouldNotImply(PermissionCollection p1, Permission p2) {
-		assertFalse(p1 + " does imply " + p2, p1.implies(p2)); //$NON-NLS-1$
-	}
-
-	protected void shouldEqual(Permission p1, Permission p2) {
-		assertTrue(p1 + " does not equal " + p2, p1.equals(p2)); //$NON-NLS-1$
-		assertTrue(p2 + " does not equal " + p1, p2.equals(p1)); //$NON-NLS-1$
-	}
-
-	protected void shouldNotEqual(Permission p1, Permission p2) {
-		assertFalse(p1 + " does equal " + p2, p1.equals(p2)); //$NON-NLS-1$
-	}
-
-	protected void shouldAdd(PermissionCollection p1, Permission p2) {
-		try {
-			p1.add(p2);
-		} catch (Exception e) {
-			fail(p1 + " will not add " + p2); //$NON-NLS-1$
-		}
-	}
-
-	protected void shouldNotAdd(PermissionCollection p1, Permission p2) {
-		try {
-			p1.add(p2);
-			fail(p1 + " will add " + p2); //$NON-NLS-1$
-		} catch (Exception e) {
-			// expected
-		}
-	}
-
-	protected void testSerialization(Permission p1) {
-		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream();
-			ObjectOutputStream out = new ObjectOutputStream(baos);
-
-			out.writeObject(p1);
-			out.flush();
-			out.close();
-
-			ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-			ObjectInputStream in = new ObjectInputStream(bais);
-
-			Permission p2 = (Permission) in.readObject();
-
-			shouldEqual(p1, p2);
-			shouldImply(p1, p2);
-			shouldImply(p2, p1);
-		} catch (Exception e) {
-			fail(e.toString());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/ServicePermissionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/ServicePermissionTests.java
deleted file mode 100644
index 6122430..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/permissions/ServicePermissionTests.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.permissions;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.util.PropertyPermission;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.osgi.framework.ServicePermission;
-
-public class ServicePermissionTests extends PermissionTests {
-
-	public static Test suite() {
-		return new TestSuite(ServicePermissionTests.class);
-	}
-
-	public void testServicePermission() {
-		badServicePermission("a.b.c", "x"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "   get  ,  x   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "      "); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", null); //$NON-NLS-1$
-		badServicePermission("a.b.c", ","); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", ",xxx"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "xxx,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "get,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "register,   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "getme,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "registerme,"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", ",get"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", ",register"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "   getme   "); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "   registerme     "); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "   ge"); //$NON-NLS-1$ //$NON-NLS-2$
-		badServicePermission("a.b.c", "   registe"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		Permission op = new PropertyPermission("java.home", "read"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		ServicePermission p11 = new ServicePermission("com.foo.service1", "    GET,register   "); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p12 = new ServicePermission("com.foo.service1", "REGISTER  ,   get"); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p13 = new ServicePermission("com.foo.service1", "regisTER   "); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p14 = new ServicePermission("com.foo.service1", "    Get    "); //$NON-NLS-1$ //$NON-NLS-2$
-
-		shouldImply(p11, p11);
-		shouldImply(p11, p12);
-		shouldImply(p11, p13);
-		shouldImply(p11, p14);
-
-		shouldImply(p12, p11);
-		shouldImply(p12, p12);
-		shouldImply(p12, p13);
-		shouldImply(p12, p14);
-
-		shouldImply(p13, p13);
-		shouldImply(p14, p14);
-
-		shouldNotImply(p13, p11);
-		shouldNotImply(p13, p12);
-
-		shouldNotImply(p14, p11);
-		shouldNotImply(p14, p12);
-
-		shouldNotImply(p13, p14);
-		shouldNotImply(p14, p13);
-
-		shouldNotImply(p11, op);
-
-		shouldEqual(p11, p11);
-		shouldEqual(p11, p12);
-		shouldEqual(p12, p11);
-		shouldEqual(p12, p12);
-		shouldEqual(p13, p13);
-		shouldEqual(p14, p14);
-
-		shouldNotEqual(p11, p13);
-		shouldNotEqual(p11, p14);
-		shouldNotEqual(p12, p13);
-		shouldNotEqual(p12, p14);
-		shouldNotEqual(p13, p11);
-		shouldNotEqual(p13, p12);
-		shouldNotEqual(p13, p14);
-		shouldNotEqual(p14, p11);
-		shouldNotEqual(p14, p12);
-		shouldNotEqual(p14, p13);
-
-		PermissionCollection pc = p13.newPermissionCollection();
-
-		checkEnumeration(pc.elements(), true);
-
-		shouldNotImply(pc, p11);
-
-		shouldAdd(pc, p14);
-		shouldImply(pc, p14);
-		shouldNotImply(pc, p11);
-		shouldNotImply(pc, p12);
-		shouldNotImply(pc, p13);
-
-		shouldAdd(pc, p13);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		shouldNotAdd(pc, op);
-
-		pc = p13.newPermissionCollection();
-
-		shouldAdd(pc, p13);
-		shouldImply(pc, p13);
-		shouldNotImply(pc, p11);
-		shouldNotImply(pc, p12);
-		shouldNotImply(pc, p14);
-
-		shouldAdd(pc, p14);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		pc = p11.newPermissionCollection();
-
-		shouldAdd(pc, p11);
-		shouldImply(pc, p11);
-		shouldImply(pc, p12);
-		shouldImply(pc, p13);
-		shouldImply(pc, p14);
-
-		pc.setReadOnly();
-
-		shouldNotAdd(pc, p12);
-
-		checkEnumeration(pc.elements(), false);
-
-		ServicePermission p21 = new ServicePermission("com.foo.service2", "get"); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p22 = new ServicePermission("com.foo.*", "get"); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p23 = new ServicePermission("com.*", "get"); //$NON-NLS-1$ //$NON-NLS-2$
-		ServicePermission p24 = new ServicePermission("*", "get"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		shouldImply(p21, p21);
-		shouldImply(p22, p21);
-		shouldImply(p23, p21);
-		shouldImply(p24, p21);
-
-		shouldImply(p22, p22);
-		shouldImply(p23, p22);
-		shouldImply(p24, p22);
-
-		shouldImply(p23, p23);
-		shouldImply(p24, p23);
-
-		shouldImply(p24, p24);
-
-		shouldNotImply(p21, p22);
-		shouldNotImply(p21, p23);
-		shouldNotImply(p21, p24);
-
-		shouldNotImply(p22, p23);
-		shouldNotImply(p22, p24);
-
-		shouldNotImply(p23, p24);
-
-		pc = p21.newPermissionCollection();
-
-		shouldAdd(pc, p21);
-		shouldImply(pc, p21);
-		shouldNotImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p22);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p23);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		shouldAdd(pc, p24);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldImply(pc, p24);
-
-		pc = p22.newPermissionCollection();
-
-		shouldAdd(pc, p22);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldNotImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		pc = p23.newPermissionCollection();
-
-		shouldAdd(pc, p23);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldNotImply(pc, p24);
-
-		pc = p24.newPermissionCollection();
-
-		shouldAdd(pc, p24);
-		shouldImply(pc, p21);
-		shouldImply(pc, p22);
-		shouldImply(pc, p23);
-		shouldImply(pc, p24);
-
-		testSerialization(p11);
-		testSerialization(p12);
-		testSerialization(p13);
-		testSerialization(p14);
-		testSerialization(p21);
-		testSerialization(p22);
-		testSerialization(p23);
-		testSerialization(p24);
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
deleted file mode 100644
index 3d90617..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.osgi.framework.BundleException;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-
-
-public class TestAttributes_001 extends AbstractStateTest {
-	public TestAttributes_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("foo")) {
-				assertNotNull("Package [foo] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [foo] is wired incorrectly ", exp.getExporter(), bundle_1);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("foo")) {
-				assertNotNull("Package [foo] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [foo] is wired incorrectly ", exp.getExporter(), bundle_1);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_4() {} // end method
-
-	public void checkWiringState_5() {} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_5.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "foo; version=1.0; a=x; b=y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "foo; version=1.0; a=x");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "foo; version=1.0; b=y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "foo; version=1.0; c=z");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Import-Package", "foo; version=1.0; a=y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
deleted file mode 100644
index fab62b1..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestBSN_001 extends AbstractStateTest {
-	public TestBSN_001(String testName) {
-		super(testName);
-	}
-	
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-		
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("foo")) {
-				assertNotNull("Package [foo] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [foo] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "foo; version=\"1.0\"; bundle-symbolic-name=\"C\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "foo; version=\"1.0\"; bundle-symbolic-name=\"A\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "foo; version=\"1.0\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
deleted file mode 100644
index 26059f8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_001  extends AbstractStateTest {
-	public TestCycle_001(String testName) {
-		super(testName);
-	}
-	
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		BundleDescription[] requires = bundle_2.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i<requires.length; i++) {
-			String requiresName = requires[i].getName();
-			assertNotNull("package name is null", requiresName);
-			if(requiresName.equals("B")) {
-				assertNotNull("Require [B] is not wired when it should be ", requires[i]);
-				assertEquals("Require [B] is wired incorrectly ", requires[i], bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		BundleDescription[] requires = bundle_2.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i<requires.length; i++) {
-			String requiresName = requires[i].getName();
-			assertNotNull("package name is null", requiresName);
-			if(requiresName.equals("A")) {
-				assertNotNull("Require [A] is not wired when it should be ", requires[i]);
-				assertEquals("Require [A] is wired incorrectly ", requires[i], bundle_1);
-			}
-		} // end for
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Require-Bundle", "A");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
deleted file mode 100644
index 310aee6..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_002 extends AbstractStateTest {
-	public TestCycle_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		BundleDescription[] requires = bundle_1.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i<requires.length; i++) {
-			String requiresName = requires[i].getName();
-			assertNotNull("package name is null", requiresName);
-			if(requiresName.equals("B")) {
-				assertNotNull("Require [B] is not wired when it should be ", requires[i]);
-				assertEquals("Require [B] is wired incorrectly ", requires[i], bundle_2);
-			} else if(requiresName.equals("C")) {
-				assertNotNull("Require [C] is not wired when it should be ", requires[i]);
-				assertEquals("Require [C] is wired incorrectly ", requires[i], bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		BundleDescription[] requires = bundle_2.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i<requires.length; i++) {
-			String requiresName = requires[i].getName();
-			assertNotNull("package name is null", requiresName);
-			if(requiresName.equals("A")) {
-				assertNotNull("Require [A] is not wired when it should be ", requires[i]);
-				assertEquals("Require [A] is wired incorrectly ", requires[i], bundle_1);
-			} else if(requiresName.equals("C")) {
-				assertNotNull("Require [C] is not wired when it should be ", requires[i]);
-				assertEquals("Require [C] is wired incorrectly ", requires[i], bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		BundleDescription[] requires = bundle_3.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i<requires.length; i++) {
-			String requiresName = requires[i].getName();
-			assertNotNull("package name is null", requiresName);
-			if(requiresName.equals("A")) {
-				assertNotNull("Require [A] is not wired when it should be ", requires[i]);
-				assertEquals("Require [A] is wired incorrectly ", requires[i], bundle_1);
-			} else if(requiresName.equals("B")) {
-				assertNotNull("Require [B] is not wired when it should be ", requires[i]);
-				assertEquals("Require [B] is wired incorrectly ", requires[i], bundle_2);
-			}
-		} // end for
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B, C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Require-Bundle", "A, C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Require-Bundle", "A, B");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
deleted file mode 100644
index 0a2620f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_003 extends AbstractStateTest {
-	public TestCycle_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B, D");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Require-Bundle", "C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Require-Bundle", "A");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
deleted file mode 100644
index 53cf2a9..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_004 extends AbstractStateTest {
-	public TestCycle_004(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_1);
-			}
-		} // end for
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "q; version=1.0");
-		dictionary_1.put("Import-Package", "p; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; version=1.0");
-		dictionary_2.put("Import-Package", "q; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
deleted file mode 100644
index 0db7a52..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_005 extends AbstractStateTest {
-	public TestCycle_005(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("r")) {
-				assertNotNull("Package [r] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "r; version=2.0");
-		dictionary_1.put("Import-Package", "p; version=1.0, z; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; version=1.0, r; version=1.0");
-		dictionary_2.put("Import-Package", "q; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q; version=1.0");
-		dictionary_3.put("Import-Package", "r; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
deleted file mode 100644
index 7f12d61..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestCycle_006 extends AbstractStateTest {
-	public TestCycle_006(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "s");
-		dictionary_1.put("Import-Package", "p, q, r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; q; uses:=\"p,q\"");
-		dictionary_2.put("Import-Package", "s");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; r; uses:=\"p,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
deleted file mode 100644
index cececd4..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_001 extends AbstractStateTest {
-	public TestDynamic_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "p");
-		assertNotNull("Package [p] is not wired when it should be ", exp);
-		assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("DynamicImport-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
deleted file mode 100644
index ec48b70..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_002 extends AbstractStateTest {
-	public TestDynamic_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-		
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "r");
-		assertNull("Package [r] is wired when it should not be ", exp);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-			} else if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p, q");
-		dictionary_1.put("DynamicImport-Package", "r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; q; uses:=\"p,q\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q; r; uses:=\"q,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
deleted file mode 100644
index 8eb4523..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_003 extends AbstractStateTest {
-	public TestDynamic_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-		
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "r");
-		assertNotNull("Package [r] is not wired when it should be ", exp);
-		assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p, q");
-		dictionary_1.put("DynamicImport-Package", "r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; q; r; uses:=\"p,q,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
deleted file mode 100644
index d348530..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_004 extends AbstractStateTest {
-	public TestDynamic_004(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-		
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "q");
-		assertNotNull("Package [q] is not wired when it should be ", exp);
-		assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-	
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p");
-		dictionary_1.put("DynamicImport-Package", "q");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; uses:=q");
-		dictionary_2.put("Import-Package", "q; bundle-symbolic-name=C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Export-Package", "q; version=2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
deleted file mode 100644
index 2fb2e5f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_005 extends AbstractStateTest {
-	public TestDynamic_005(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_005() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-		
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "q");
-		assertNotNull("Package [q] is not wired when it should be ", exp);
-		assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("DynamicImport-Package", "*");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
deleted file mode 100644
index 2e6cba1..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestDynamic_006 extends AbstractStateTest {
-	public TestDynamic_006(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_005() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-		
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-		
-		// Dynamics
-		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "p.b");
-		assertNotNull("Package [p.b] is not wired when it should be ", exp);
-		assertEquals("Package [p.b] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("DynamicImport-Package", "p.*");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p.a");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p.b");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
deleted file mode 100644
index 1bef86c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-
-public class TestGenerated_001 extends AbstractStateTest {
-	public TestGenerated_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-	BundleDescription bundle_6 = null;
-	BundleDescription bundle_7 = null;
-	BundleDescription bundle_8 = null;
-	BundleDescription bundle_9 = null;
-	BundleDescription bundle_10 = null;
-
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		bundle_6 = create_bundle_6(sof);
-		bundle_7 = create_bundle_7(sof);
-		bundle_8 = create_bundle_8(sof);
-		bundle_9 = create_bundle_9(sof);
-		bundle_10 = create_bundle_10(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = null;
-		exports = null;
-		exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("a2")) {
-				assertNotNull("Package [a2] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a2] is  wired incorrectly ", exp.getExporter(), bundle_8);
-			} else if (exportPackageName.equals("a1")) {
-				assertNotNull("Package [a1] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a1] is  wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("a3")) {
-				assertNotNull("Package [a3] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a3] is  wired incorrectly ", exp.getExporter(), bundle_6);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-	public void checkWiringState_5() {
-	} // end method
-
-	public void checkWiringState_6() {
-		ExportPackageDescription[] exports = null;
-		exports = null;
-		exports = bundle_6.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("a2")) {
-				assertNotNull("Package [a2] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a2] is  wired incorrectly ", exp.getExporter(), bundle_8);
-			} else if (exportPackageName.equals("a1")) {
-				assertNotNull("Package [a1] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a1] is  wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("a3")) {
-				assertNotNull("Package [a3] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a3] is  wired incorrectly ", exp.getExporter(), bundle_6);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_7() {
-		ExportPackageDescription[] exports = null;
-		exports = null;
-		exports = bundle_7.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("a2")) {
-				assertNotNull("Package [a2] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a2] is  wired incorrectly ", exp.getExporter(), bundle_8);
-			} else if (exportPackageName.equals("a1")) {
-				assertNotNull("Package [a1] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a1] is  wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("a3")) {
-				assertNotNull("Package [a3] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a3] is  wired incorrectly ", exp.getExporter(), bundle_6);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_8() {
-		ExportPackageDescription[] exports = null;
-		exports = null;
-		exports = bundle_8.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("a2")) {
-				assertNotNull("Package [a2] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a2] is  wired incorrectly ", exp.getExporter(), bundle_8);
-			} else if (exportPackageName.equals("a1")) {
-				assertNotNull("Package [a1] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a1] is  wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("a3")) {
-				assertNotNull("Package [a3] is not wired when it should  be ", exp.getExporter());
-				assertEquals("Package [a3] is  wired incorrectly ", exp.getExporter(), bundle_6);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_9() {
-	} // end method
-
-	public void checkWiringState_10() {
-	} // end method
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-		checkWiringState_6();
-		checkWiringState_7();
-		checkWiringState_8();
-		checkWiringState_9();
-		checkWiringState_10();
-	} // end method
-
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_6);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_7);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_8);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_9);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_10);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_5.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_6.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_7.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_8.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_9.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_10.isResolved());
-	} // end method
-
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "a1; version=\"[2, 3]\", a2; version=8, a3; version=\"[5, 13]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "a1; version=\"[3, 3.9]\", a2; version=\"[8, 8.9]\", a3; version=0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "a1; version=7");
-		dictionary_3.put("Import-Package", "a1; version=3, a2; version=8, a3; version=0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "a1; version=\"[3, 3.9]\", a2; version=8, a3; version=5");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Import-Package", "a1; version=7, a2; version=8, a3; version=5");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_6(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_6 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_6.put("Bundle-ManifestVersion", "2");
-		dictionary_6.put("Bundle-SymbolicName", "F");
-		dictionary_6.put("Export-Package", "a3; version=0");
-		dictionary_6.put("Import-Package", "a1; version=7, a2; version=\"[7, 8]\", a3; version=\"[0, 0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_6, "bundle_6", 6);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_7(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_7 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_7.put("Bundle-ManifestVersion", "2");
-		dictionary_7.put("Bundle-SymbolicName", "G");
-		dictionary_7.put("Export-Package", "a1; version=3");
-		dictionary_7.put("Import-Package", "a1; version=\"[7, 7.9]\", a2; version=8, a3; version=0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_7, "bundle_7", 7);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_8(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_8 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_8.put("Bundle-ManifestVersion", "2");
-		dictionary_8.put("Bundle-SymbolicName", "H");
-		dictionary_8.put("Export-Package", "a2; version=8");
-		dictionary_8.put("Import-Package", "a1; version=3, a2; version=8, a3; version=0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_8, "bundle_8", 8);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_9(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_9 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_9.put("Bundle-ManifestVersion", "2");
-		dictionary_9.put("Bundle-SymbolicName", "I");
-		dictionary_9.put("Export-Package", "a3; version=5");
-		dictionary_9.put("Import-Package", "a1; version=\"[3, 3.9]\", a2; version=\"[8, 16]\", a3; version=5");
-		try {
-			bundle = sof.createBundleDescription(dictionary_9, "bundle_9", 9);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_10(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_10 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_10.put("Bundle-ManifestVersion", "2");
-		dictionary_10.put("Bundle-SymbolicName", "J");
-		dictionary_10.put("Import-Package", "a1; version=7, a2; version=\"[7, 8]\", a3; version=5");
-		try {
-			bundle = sof.createBundleDescription(dictionary_10, "bundle_10", 10);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
deleted file mode 100644
index b71045d..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestGrouping_001 extends AbstractStateTest {
-	public TestGrouping_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-			} else if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p; version=2.0, q; version=\"[2.0, 2.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; q; version=2.0; uses:=\"p,q\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; q; version=2.1; uses:=\"p,q\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
deleted file mode 100644
index 2a719e5..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestGrouping_002 extends AbstractStateTest {
-	public TestGrouping_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p, q, r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; r; uses:=\"p,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q; r; uses:=\"q,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
deleted file mode 100644
index d51e800..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestGrouping_003 extends AbstractStateTest {
-	public TestGrouping_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("r")) {
-				assertNotNull("Package [r] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_2);
-			} else if (exportPackageName.equals("s")) {
-				assertNotNull("Package [s] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [s] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_4);
-			} else if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_4);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-	public void checkWiringState_5() {
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "foo; version=\"1.0\"; a=x; b=y");
-		dictionary_1.put("Import-Package", "r; version=2.0, s; version=\"[2.0, 2.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "r; s; version=2.0; uses:=\"r,s\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "r; s; version=2.1; uses:=\"r,s\"");
-		dictionary_3.put("Import-Package", "p; version=2.0, q; version=\"[2.0, 2.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Export-Package", "p; q; version=2.0; uses:=\"p,q\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Export-Package", "p; q; version=2.1; uses:=\"p,q\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
deleted file mode 100644
index 5d30a75..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestGrouping_006 extends AbstractStateTest {
-	public TestGrouping_006(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B");
-		dictionary_1.put("Import-Package", "y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "x");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "x; y; uses:=\"x,y\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
deleted file mode 100644
index c352236..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.osgi.framework.BundleException;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-
-
-public class TestGrouping_008 extends AbstractStateTest {
-	public TestGrouping_008(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_008() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		BundleDescription[] requires = bundle_1.getResolvedRequires();
-		assertNotNull("requires array is unexpectedly null", requires);
-		assertTrue("requires array is unexpectedly empty", requires.length > 0);
-		for (int i = 0; i < requires.length; i++) {
-			BundleDescription bd = requires[i];
-			String requiresName = bd.getName();
-			assertNotNull("bundle name is null", requiresName);
-			if (requiresName.equals("B")) {
-				assertNotNull("Require [B] is not wired when it should be ", bd);
-				assertEquals("Require [B] is wired incorrectly ", bundle_2, bd);
-			}
-		} // end for
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", bundle_3, exp.getExporter());
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B");
-		dictionary_1.put("Import-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; version=2");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
deleted file mode 100644
index 2bee868..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestOptional_001 extends AbstractStateTest {
-	public TestOptional_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("q")) {
-				assertNotNull("Package [q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("r")) {
-				assertNotNull("Package [r] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("p")) {
-				assertNull("Package [p] is wired when it should not be ", exp);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p; resolution:=optional, q, r");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; r; uses:=\"p,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q; r; uses:=\"q,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
deleted file mode 100644
index ba1986b..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestOptional_002 extends AbstractStateTest {
-	public TestOptional_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("q")) {
-				assertNotNull("Package [r] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_2);
-			} else if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-			} else if (exportPackageName.equals("q")) {
-				assertNull("Package [q] is wired when it should not be ", exp);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p; q; r; resolution:=optional");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; r; uses:=\"p,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "q; r; uses:=\"q,r\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
deleted file mode 100644
index b7c3ddf..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestPropagation_001 extends AbstractStateTest {
-	public TestPropagation_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("x")) {
-				assertNotNull("Package [x] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [x] is wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("y")) {
-				assertNotNull("Package [y] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [y] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("x")) {
-				assertNotNull("Package [x] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [x] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "x, y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "y; uses:=x");
-		dictionary_2.put("Import-Package", "x; bundle-symbolic-name=C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "x");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Export-Package", "x; version=2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
deleted file mode 100644
index 053ce45..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestPropagation_003 extends AbstractStateTest {
-	public TestPropagation_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_4);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Require-Bundle", "B, C");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "q; uses:=p");
-		dictionary_2.put("Import-Package", "p; bundle-symbolic-name=D");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Export-Package", "p; version=2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
deleted file mode 100644
index 1f894bd..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_001 extends AbstractStateTest {
-	public TestRFC79_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "javax.servlet; version=2.1.0");
-		dictionary_1.put("Import-Package", "javax.servlet; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "javax.servlet; version=2.2.0");
-		dictionary_2.put("Import-Package", "javax.servlet; version=2.2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "javax.servlet; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "foo; version=1.0; c=z");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Import-Package", "foo; version=1.0; a=y");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
deleted file mode 100644
index 179d842..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_002 extends AbstractStateTest {
-	public TestRFC79_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.foo.impl")) {
-				assertNotNull("Package [org.foo.impl] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.foo.impl] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			} else if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_4() {
-		ExportPackageDescription[] exports = bundle_4.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.foo.impl")) {
-				assertNotNull("Package [org.foo.impl] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.foo.impl] is wired incorrectly ", exports[i].getExporter(), bundle_1);
-			} else if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_5() {
-		ExportPackageDescription[] exports = bundle_5.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.foo.impl")) {
-				assertNotNull("Package [org.foo.impl] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.foo.impl] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "org.foo.impl; version=1.0.0, javax.servlet; version=2.1.0");
-		dictionary_1.put("Import-Package", "javax.servlet; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "org.foo.impl; version=1.1.0, javax.servlet; version=2.2.0");
-		dictionary_2.put("Import-Package", "javax.servlet; version=2.2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "javax.servlet; version=2.1.0, org.foo.impl; version=\"[1.1.0, 1.1.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "javax.servlet; version=2.1.0, org.foo.impl; version=\"[1.0.0, 1.0.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Import-Package", "org.foo.impl; version=\"[1.0.0, 1.1.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
deleted file mode 100644
index a310c6c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_003 extends AbstractStateTest {
-	public TestRFC79_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.foo.impl")) {
-				assertNotNull("Package [org.foo.impl] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.foo.impl] is wired incorrectly ", exports[i].getExporter(), bundle_1);
-			} else if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_4() {
-		ExportPackageDescription[] exports = bundle_4.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.foo.impl")) {
-				assertNotNull("Package [org.foo.impl] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.foo.impl] is wired incorrectly ", exports[i].getExporter(), bundle_1);
-			} else if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "org.foo.impl; version=1.0.0, javax.servlet; version=2.1.0");
-		dictionary_1.put("Import-Package", "javax.servlet; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "org.foo.impl; version=1.0.0, javax.servlet; version=2.2.0");
-		dictionary_2.put("Import-Package", "javax.servlet; version=2.2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "javax.servlet; version=2.1.0, org.foo.impl; version=\"[1.0.0, 1.0.0]\"; bundle-symbolic-name=A");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "javax.servlet; version=2.1.0, org.foo.impl; version=\"[1.0.0, 1.0.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
deleted file mode 100644
index 46e334d..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_004 extends AbstractStateTest {
-	public TestRFC79_004(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-
-	
-	public void testTest_004() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.apache.commons.logging")) {
-				assertNotNull("Package [org.apache.commons.logging] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.apache.commons.logging] is wired incorrectly ", exports[i].getExporter(), bundle_4);
-			} else if (exportPackageName.equals("org.apache.commons.io")) {
-				assertNotNull("Package [org.apache.commons.io] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.apache.commons.io] is wired incorrectly ", exports[i].getExporter(), bundle_4);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.apache.commons.logging")) {
-				assertNotNull("Package [org.apache.commons.logging] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.apache.commons.logging] is wired incorrectly ", exports[i].getExporter(), bundle_3);
-			} else if (exportPackageName.equals("org.apache.commons.io")) {
-				assertNotNull("Package [org.apache.commons.io] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [org.apache.commons.io] is wired incorrectly ", exports[i].getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "org.apache.commons.logging; org.apache.commons.io; version=2.0.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "org.apache.commons.logging; version=2.0.0, org.apache.commons.io; version=\"[2.0.0, 2.0.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "ApacheCommons");
-		dictionary_3.put("Export-Package", "org.apache.commons.logging; org.apache.commons.io; version=2.0.0; uses:=\"org.apache.commons.logging,org.apache.commons.io\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "ApacheCommons'");
-		dictionary_4.put("Export-Package", "org.apache.commons.logging; org.apache.commons.io; version=2.1.0; uses:=\"org.apache.commons.logging,org.apache.commons.io\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
deleted file mode 100644
index f0f7cba..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_005 extends AbstractStateTest {
-	public TestRFC79_005(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_005() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			String exportPackageName = exports[i].getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("javax.servlet")) {
-				assertNotNull("Package [javax.servlet] is not wired when it should be ", exports[i].getExporter());
-				assertEquals("Package [javax.servlet] is wired incorrectly ", exports[i].getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-	
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "javax.servlet; version=2.1.0");
-		dictionary_1.put("Import-Package", "javax.servlet; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "javax.servlet; version=2.2.0");
-		dictionary_2.put("Import-Package", "javax.servlet; version=2.2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "javax.servlet; version=\"[2.1.0, 2.1.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
deleted file mode 100644
index 58592d4..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_006 extends AbstractStateTest {
-	public TestRFC79_006(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-	BundleDescription bundle_6 = null;
-
-	
-	public void testTest_006() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		bundle_6 = create_bundle_6(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.xml.sax")) {
-				assertNotNull("Package [org.xml.sax] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [org.xml.sax] is wired incorrectly ", exp.getExporter(), bundle_3);
-			} else if (exportPackageName.equals("org.w3c.dom")) {
-				assertNotNull("Package [org.w3c.dom] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [org.w3c.dom] is wired incorrectly ", exp.getExporter(), bundle_4);
-			} else if (exportPackageName.equals("javax.xml.parsers")) {
-				assertNotNull("Package [javax] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [javax] is wired incorrectly ", exp.getExporter(), bundle_6);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-	} // end method
-
-	public void checkWiringState_5() {
-	} // end method
-
-	public void checkWiringState_6() {
-		ExportPackageDescription[] exports = bundle_6.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("org.w3c.dom")) {
-				assertNotNull("Package [org.w3c.dom] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [org.w3c.dom] is wired incorrectly ", exp.getExporter(), bundle_4);
-			} else if (exportPackageName.equals("org.xml.sax")) {
-				assertNotNull("Package [org.xml.sax] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [org.xml.sax] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-		checkWiringState_6();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_6);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_6.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "Client A");
-		dictionary_1.put("Import-Package", "org.xml.sax; version=\"[1.3.0, 1.3.0]\", org.w3c.dom; version=\"[2.1.0, 2.1.0]\", javax.xml.parsers; version=\"[1.1.0, 1.1.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "Client B");
-		dictionary_2.put("Import-Package", "org.xml.sax; version=\"[1.3.0, 1.3.0]\", org.w3c.dom; version=\"[2.2.0, 2.2.0]\", javax.xml.parsers; version=\"[1.1.0, 1.1.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "SAX");
-		dictionary_3.put("Export-Package", "org.xml.sax; version=1.3.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "DOM A");
-		dictionary_4.put("Export-Package", "org.w3c.dom; version=2.1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "DOM B");
-		dictionary_5.put("Export-Package", "org.w3c.dom; version=2.2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_6(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_6 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_6.put("Bundle-ManifestVersion", "2");
-		dictionary_6.put("Bundle-SymbolicName", "JAXP");
-		dictionary_6.put("Export-Package", "javax.xml.parsers; version=1.1.0; uses:=\"org.w3c.dom,org.xml.sax\"");
-		dictionary_6.put("Import-Package", "org.w3c.dom; version=\"[2.1.0, 2.1.0]\", org.xml.sax; version=\"[1.3.0, 1.3.0]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_6, "bundle_6", 6);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-	
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
deleted file mode 100644
index 0434a38..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestRFC79_007 extends AbstractStateTest {
-	public TestRFC79_007(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-	BundleDescription bundle_4 = null;
-	BundleDescription bundle_5 = null;
-
-	
-	public void testTest_007() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		bundle_4 = create_bundle_4(sof);
-		bundle_5 = create_bundle_5(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("Q")) {
-				assertNotNull("Package [Q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [Q] is wired incorrectly ", exp.getExporter(), bundle_2);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-	public void checkWiringState_4() {
-		ExportPackageDescription[] exports = bundle_4.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("R")) {
-				assertNotNull("Package [R] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [R] is wired incorrectly ", exp.getExporter(), bundle_1);
-			} else if (exportPackageName.equals("Q")) {
-				assertNotNull("Package [Q] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [Q] is wired incorrectly ", exp.getExporter(), bundle_5);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_5() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-		checkWiringState_4();
-		checkWiringState_5();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_4);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_5);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_3.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "P; uses:=Q, R");
-		dictionary_1.put("Import-Package", "Q; version=\"[1, 1]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "Q; version=1");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Import-Package", "P, Q; version=\"[2, 2]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_4(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_4 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_4.put("Bundle-ManifestVersion", "2");
-		dictionary_4.put("Bundle-SymbolicName", "D");
-		dictionary_4.put("Import-Package", "R, Q; version=\"[2, 2]\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_4, "bundle_4", 4);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_5(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_5 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_5.put("Bundle-ManifestVersion", "2");
-		dictionary_5.put("Bundle-SymbolicName", "E");
-		dictionary_5.put("Export-Package", "Q; version=2");
-		try {
-			bundle = sof.createBundleDescription(dictionary_5, "bundle_5", 5);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-	
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
deleted file mode 100644
index 0c9b5c1..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestVersion_001 extends AbstractStateTest {
-	public TestVersion_001(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_001() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-		ExportPackageDescription[] exports = bundle_3.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "p; version=1.0");
-		dictionary_1.put("Import-Package", "p; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "p; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; version=2.0");
-		dictionary_3.put("Import-Package", "p; version=2.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
deleted file mode 100644
index 6da3e89..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestVersion_002 extends AbstractStateTest {
-	public TestVersion_002(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_002() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-		ExportPackageDescription[] exports = bundle_2.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("r")) {
-				assertNotNull("Package [r] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Export-Package", "r; version=2.5");
-		dictionary_1.put("Import-Package", "p; version=\"[2.0, 3.0)\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Import-Package", "r; version=\"(1.5, 2.5)\"");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; version=2.2, r; version=2.2");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
deleted file mode 100644
index 44abd75..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.resolver;
-
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.tests.services.resolver.AbstractStateTest;
-import org.osgi.framework.BundleException;
-
-
-public class TestVersion_003 extends AbstractStateTest {
-	public TestVersion_003(String testName) {
-		super(testName);
-	}
-
-	BundleDescription bundle_1 = null;
-	BundleDescription bundle_2 = null;
-	BundleDescription bundle_3 = null;
-
-	
-	public void testTest_003() {
-		State state = buildEmptyState();
-		StateObjectFactory sof = platformAdmin.getFactory();
-
-		bundle_1 = create_bundle_1(sof);
-		bundle_2 = create_bundle_2(sof);
-		bundle_3 = create_bundle_3(sof);
-		//***************************************************
-		// stage a
-		// expect to pass =true
-		//***************************************************
-		addBundlesToState_a(state);
-		//***************************************************
-		try {
-			state.resolve();
-		} catch (Throwable t) {
-			fail("unexpected exception class=" + t.getClass().getName()
-					+ " message=" + t.getMessage());
-			return;
-		}
-		checkBundlesResolved_a();
-		checkWiring_a();
-	} // end of method
-
-	
-	public void checkWiringState_1() {
-		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
-		assertNotNull("export array is unexpectedly null", exports);
-		assertTrue("export array is unexpectedly empty", exports.length > 0);
-		for (int i = 0; i < exports.length; i++) {
-			ExportPackageDescription exp = exports[i];
-			String exportPackageName = exp.getName();
-			assertNotNull("package name is null", exportPackageName);
-			if (exportPackageName.equals("p")) {
-				assertNotNull("Package [p] is not wired when it should be ", exp.getExporter());
-				assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_3);
-			}
-		} // end for
-	} // end method
-
-	public void checkWiringState_2() {
-	} // end method
-
-	public void checkWiringState_3() {
-	} // end method
-
-
-	public void checkWiring_a() {
-		checkWiringState_1();
-		checkWiringState_2();
-		checkWiringState_3();
-	} // end method
-
-	
-	public void addBundlesToState_a(State state) {
-		boolean added = false;
-		added = state.addBundle(bundle_1);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_2);
-		assertTrue("failed to add bundle ", added);
-		added = state.addBundle(bundle_3);
-		assertTrue("failed to add bundle ", added);
-	} // end method
-
-	
-	public void checkBundlesResolved_a() {
-		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
-		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
-		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
-	} // end method
-
-	
-	public BundleDescription create_bundle_1(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_1 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_1.put("Bundle-ManifestVersion", "2");
-		dictionary_1.put("Bundle-SymbolicName", "A");
-		dictionary_1.put("Import-Package", "p");
-		try {
-			bundle = sof.createBundleDescription(dictionary_1, "bundle_1", 1);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_2(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_2 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_2.put("Bundle-ManifestVersion", "2");
-		dictionary_2.put("Bundle-SymbolicName", "B");
-		dictionary_2.put("Export-Package", "p; version=2.0");
-		dictionary_2.put("Import-Package", "q");
-		try {
-			bundle = sof.createBundleDescription(dictionary_2, "bundle_2", 2);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-	public BundleDescription create_bundle_3(StateObjectFactory sof) {
-		java.util.Dictionary dictionary_3 = new java.util.Properties();
-		BundleDescription bundle = null;
-		dictionary_3.put("Bundle-ManifestVersion", "2");
-		dictionary_3.put("Bundle-SymbolicName", "C");
-		dictionary_3.put("Export-Package", "p; version=1.0");
-		try {
-			bundle = sof.createBundleDescription(dictionary_3, "bundle_3", 3);
-		} catch (BundleException be) {
-			fail(be.getMessage());
-		}
-		return bundle;
-	} // end of method
-
-} // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeAnyTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeAnyTest.java
deleted file mode 100644
index 41992ad..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeAnyTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import junit.framework.Test;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.internal.provisional.service.security.AuthorizationEvent;
-import org.eclipse.osgi.internal.provisional.service.security.AuthorizationListener;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-
-// set any allowed
-// ensure unsigned, signed, and trusted all pass
-// ensure corrupt and expired fail
-public class AuthorizeAnyTest extends BaseSecurityTest {
-
-	protected void setUp() throws Exception {
-		registerEclipseTrustEngine();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public static Test suite() {
-		ConfigurationSessionTestSuite suite = new ConfigurationSessionTestSuite(BUNDLE_SECURITY_TESTS, "Unit tests for AuthorizationEngine with 'any' policy");
-		addDefaultSecurityBundles(suite);
-		setAuthorizationEnabled(suite);
-		setAuthorizationPolicy(suite, "any");
-		//for (int i = 0; i < s_tests.length; i++) {
-		//	suite.addTest(s_tests[i]);
-		suite.addTestSuite(AuthorizeAnyTest.class);
-		//}
-		return suite;
-	}
-
-	//test01: unsigned (allowed)
-	static boolean s_test01called = false;
-
-	public void testAuthorize01() {
-
-		Bundle testBundle = null;
-		try {
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					assertEquals("Content is not allowed!", AuthorizationEvent.ALLOWED, event.getResult());
-					s_test01called = true;
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("unsigned")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test01called);
-		} catch (Throwable t) {
-			fail("unexpected exception", t);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("unexpected exception", t);
-			}
-		}
-	}
-
-	//test02: signed (allowed)
-	static boolean s_test02called = false;
-
-	public void testAuthorize02() {
-
-		Bundle testBundle = null;
-		try {
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					assertEquals("Content is not allowed!", AuthorizationEvent.ALLOWED, event.getResult());
-					s_test02called = true;
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test02called);
-		} catch (Throwable t) {
-			fail("unexpected exception", t);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("unexpected exception", t);
-			}
-		}
-	}
-
-	//test03: trusted (allowed)
-	static boolean s_test03called = false;
-
-	public void testAuthorize03() {
-
-		Bundle testBundle = null;
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					assertEquals("Content is not allowed!", AuthorizationEvent.ALLOWED, event.getResult());
-					s_test03called = true;
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test03called);
-		} catch (Throwable t) {
-			fail("unexpected exception", t);
-		} finally {
-			try {
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("unexpected exception", t);
-			}
-		}
-	}
-
-	//test04: corrupt (allowed, explodes on load)
-	static boolean s_test04called = false;
-
-	public void testAuthorize04() {
-
-		Bundle testBundle = null;
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					assertEquals("Content is not allowed!", AuthorizationEvent.ALLOWED, event.getResult());
-					s_test04called = true;
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed_with_corrupt")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test04called);
-		} catch (Throwable t) {
-			fail("unexpected exception", t);
-		} finally {
-			try {
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("unexpected exception", t);
-			}
-		}
-	}
-
-	//test05: expired (denied) TODO!
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeSignedTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeSignedTest.java
deleted file mode 100644
index a27422a..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeSignedTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import junit.framework.Test;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.internal.provisional.service.security.*;
-import org.eclipse.osgi.internal.service.security.DefaultAuthorizationEngine;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-
-public class AuthorizeSignedTest extends BaseSecurityTest {
-
-	protected void setUp() throws Exception {
-		registerEclipseTrustEngine();
-		AuthorizationEngine authEngine = getAuthorizationEngine();
-		if (authEngine instanceof DefaultAuthorizationEngine) {
-			((DefaultAuthorizationEngine) authEngine).setLoadPolicy(DefaultAuthorizationEngine.ENFORCE_SIGNED);
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		AuthorizationEngine authEngine = getAuthorizationEngine();
-		if (authEngine instanceof DefaultAuthorizationEngine) {
-			((DefaultAuthorizationEngine) authEngine).setLoadPolicy(0);
-		}
-	}
-
-	public static Test suite() {
-		ConfigurationSessionTestSuite suite = new ConfigurationSessionTestSuite(BUNDLE_SECURITY_TESTS, "Unit tests for AuthorizationEngine with 'signed' policy");
-		addDefaultSecurityBundles(suite);
-		setAuthorizationEnabled(suite);
-		//setAuthorizationPolicy(suite, "signed");
-		//for (int i = 0; i < s_tests.length; i++) {
-		//	suite.addTest(s_tests[i]);
-		suite.addTestSuite(AuthorizeSignedTest.class);
-		//}
-		return suite;
-	}
-
-	//test01: signed (allow)
-	public void testAuthorize01() {
-		Bundle testBundle = null;
-		ServiceRegistration registration = null;
-		final int[] s_test01called = new int[] {-1};
-		try {
-			registration = OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test01called[0] = event.getResult();
-				}
-			}, null);
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-			assertTrue("Handler not called!", s_test01called[0] != -1);
-			assertEquals("Content was not allowed!", AuthorizationEvent.ALLOWED, s_test01called[0]);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-			if (registration != null)
-				registration.unregister();
-		}
-	}
-
-	//test02: trusted (allow)
-	public void testAuthorize02() {
-
-		Bundle testBundle = null;
-		ServiceRegistration registration = null;
-		final int[] s_test02called = new int[] {-1};
-		try {
-			try {
-				getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-			} catch (Throwable e) {
-				fail("Unexpected exception", e);
-			}
-
-			registration = OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test02called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test02called[0] != -1);
-			assertEquals("Content was not allowed!", AuthorizationEvent.ALLOWED, s_test02called[0]);
-		} finally {
-			try {
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("Failed to uninstall bundle", t);
-			}
-			if (registration != null)
-				registration.unregister();
-		}
-	}
-
-	//test03: unsigned (deny)
-	public void testAuthorize03() {
-
-		Bundle testBundle = null;
-		ServiceRegistration registration = null;
-		final int[] s_test03called = new int[] {-1};
-		try {
-			registration = OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test03called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("unsigned")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test03called[0] != -1);
-			assertEquals("Content was  allowed!", AuthorizationEvent.DENIED, s_test03called[0]);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("Failed to uninstall bundle", t);
-			}
-			if (registration != null)
-				registration.unregister();
-		}
-	}
-
-	//test04: corrupted (allow, then explode later)
-	public void testAuthorize04() {
-
-		Bundle testBundle = null;
-		ServiceRegistration registration = null;
-		final int[] s_test04called = new int[] {-1};
-		try {
-			try {
-				getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-			} catch (Throwable e) {
-				fail("Unexpected exception", e);
-			}
-
-			registration = OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test04called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed_with_corrupt")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test04called[0] != -1);
-			assertEquals("Content was not allowed!", AuthorizationEvent.ALLOWED, s_test04called[0]);
-		} finally {
-			try {
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("Failed to uninstall bundle", t);
-			}
-			if (registration != null)
-				registration.unregister();
-		}
-	}
-	//test05: expired (deny) //TODO!
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeTrustedTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeTrustedTest.java
deleted file mode 100644
index 18e92c5..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/AuthorizeTrustedTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import junit.framework.Test;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.internal.provisional.service.security.*;
-import org.eclipse.osgi.internal.service.security.DefaultAuthorizationEngine;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class AuthorizeTrustedTest extends BaseSecurityTest {
-
-	protected void setUp() throws Exception {
-		registerEclipseTrustEngine();
-		AuthorizationEngine authEngine = getAuthorizationEngine();
-		if (authEngine instanceof DefaultAuthorizationEngine) {
-			((DefaultAuthorizationEngine) authEngine).setLoadPolicy(DefaultAuthorizationEngine.ENFORCE_SIGNED | DefaultAuthorizationEngine.ENFORCE_TRUSTED);
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		AuthorizationEngine authEngine = getAuthorizationEngine();
-		if (authEngine instanceof DefaultAuthorizationEngine) {
-			((DefaultAuthorizationEngine) authEngine).setLoadPolicy(0);
-		}
-	}
-
-	public static Test suite() {
-		ConfigurationSessionTestSuite suite = new ConfigurationSessionTestSuite(BUNDLE_SECURITY_TESTS, "Unit tests for AuthorizationEngine with 'trusted' policy");
-		addDefaultSecurityBundles(suite);
-		setEclipseTrustEngine(suite);
-		setAuthorizationEnabled(suite);
-		//setAuthorizationPolicy(suite, "trusted");
-		//for (int i = 0; i < s_tests.length; i++) {
-		//	suite.addTest(s_tests[i]);
-		suite.addTestSuite(AuthorizeTrustedTest.class);
-		//}
-		return suite;
-	}
-
-	//test01: trusted, should pass
-	public void testAuthorize01() {
-
-		Bundle testBundle = null;
-		final int[] s_test01called = new int[] {-1};
-		try {
-			try {
-				getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-			} catch (Throwable e) {
-				fail("Unexpected exception", e);
-			}
-
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test01called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test01called[0] != -1);
-			assertEquals("Content was not allowed!", AuthorizationEvent.ALLOWED, s_test01called[0]);
-		} finally {
-			try {
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (Throwable t) {
-				fail("unexpected exception", t);
-			}
-		}
-	}
-
-	//test02: unsigned, should fail
-	public void testAuthorize02() {
-
-		Bundle testBundle = null;
-		final int[] s_test02called = new int[] {-1};
-		try {
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test02called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("unsigned"));
-			//Thread.sleep(100);
-			assertTrue("Handler not called!", s_test02called[0] != -1);
-			assertEquals("Content was allowed!", AuthorizationEvent.DENIED, s_test02called[0]);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//test03: untrusted, should fail
-	public void testAuthorize03() {
-
-		Bundle testBundle = null;
-		final int[] s_test03called = new int[] {-1};
-		try {
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test03called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test03called[0] != -1);
-			assertEquals("Content was allowed!", AuthorizationEvent.DENIED, s_test03called[0]);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//test04: corrupt, should fail
-	public void testAuthorize04() {
-
-		Bundle testBundle = null;
-		final int[] s_test04called = new int[] {-1};
-		try {
-			OSGiTestsActivator.getContext().registerService(AuthorizationListener.class.getName(), new AuthorizationListener() {
-				public void authorizationEvent(AuthorizationEvent event) {
-					s_test04called[0] = event.getResult();
-				}
-			}, null);
-
-			testBundle = installBundle(getTestJarPath("signed_with_corrupt")); //signed by ca1_leafa
-
-			assertTrue("Handler not called!", s_test04called[0] != -1);
-			assertEquals("Content was  allowed!", AuthorizationEvent.DENIED, s_test04called[0]);
-		} finally {
-			try {
-				if (testBundle != null) {
-					testBundle.uninstall();
-				}
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//test05: TODO: expired, should fail //TODO!
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
deleted file mode 100644
index 69c46c0..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import java.io.*;
-import java.net.URL;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.cert.Certificate;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.internal.provisional.service.security.AuthorizationEngine;
-import org.eclipse.osgi.internal.service.security.KeyStoreTrustEngine;
-import org.eclipse.osgi.service.security.TrustEngine;
-import org.eclipse.osgi.signedcontent.SignedContentFactory;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-
-public class BaseSecurityTest extends CoreTest {
-
-	private static char[] PASSWORD_DEFAULT = {'c', 'h', 'a', 'n', 'g', 'e', 'i', 't'};
-	private static String TYPE_DEFAULT = "JKS";
-
-	protected static final String BUNDLE_SECURITY_TESTS = "org.eclipse.osgi.tests"; //$NON-NLS-1$
-
-	public BaseSecurityTest() {
-		super();
-	}
-
-	public BaseSecurityTest(String name) {
-		super(name);
-	}
-
-	private static KeyStore supportStore;
-	static {
-		try {
-			URL supportUrl = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/keystore.jks");
-			supportStore = KeyStore.getInstance(TYPE_DEFAULT);
-			supportStore.load(supportUrl.openStream(), PASSWORD_DEFAULT);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	private ServiceRegistration trustReg = null;
-
-	protected static void addDefaultSecurityBundles(ConfigurationSessionTestSuite suite) {
-		String[] ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++) {
-			suite.addBundle(ids[i]);
-		}
-		suite.addBundle(BUNDLE_SECURITY_TESTS);
-	}
-
-	protected static Certificate getTestCertificate(String alias) throws KeyStoreException {
-		return supportStore.getCertificate(alias);
-	}
-
-	protected static Certificate[] getTestCertificateChain(String[] aliases) throws KeyStoreException {
-		ArrayList certs = new ArrayList(aliases.length);
-		for (int i = 0; i < aliases.length; i++) {
-			certs.add(getTestCertificate(aliases[i]));
-		}
-		return (Certificate[]) certs.toArray(new Certificate[] {});
-	}
-
-	protected void registerEclipseTrustEngine() throws Exception {
-		// make a copy of cacerts file and use that at runtime
-		URL eclipseURL = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/eclipse.jks");
-		File tempEngine = OSGiTestsActivator.getContext().getDataFile("temp.jks");
-
-		copy(eclipseURL.openStream(), tempEngine);
-
-		KeyStoreTrustEngine dummyTE = new KeyStoreTrustEngine(tempEngine.getAbsolutePath(), "JKS", "changeit".toCharArray(), "temp.jks");
-		Hashtable properties = new Hashtable(7);
-		properties.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-
-		trustReg = OSGiTestsActivator.getContext().registerService(TrustEngine.class.getName(), dummyTE, properties);
-	}
-
-	protected void tearDown() throws Exception {
-		if (trustReg != null)
-			trustReg.unregister();
-	}
-
-	public static void copy(InputStream in, File dst) throws IOException {
-		//		InputStream in = new FileInputStream(src);
-		OutputStream out = new FileOutputStream(dst);
-
-		byte[] buf = new byte[1024];
-		int len;
-		while ((len = in.read(buf)) > 0) {
-			out.write(buf, 0, len);
-		}
-		in.close();
-		out.close();
-	}
-
-	protected SignedContentFactory getSignedContentFactory() {
-		ServiceReference ref = OSGiTestsActivator.getContext().getServiceReference(SignedContentFactory.class.getName());
-		assertNotNull("No SignedContentFactory service", ref);
-		SignedContentFactory factory = (SignedContentFactory) OSGiTestsActivator.getContext().getService(ref);
-		OSGiTestsActivator.getContext().ungetService(ref);
-		return factory;
-	}
-
-	protected TrustEngine getTrustEngine() {
-		ServiceReference ref = OSGiTestsActivator.getContext().getServiceReference(TrustEngine.class.getName());
-		assertNotNull("No TrustEngine available", ref);
-		TrustEngine engine = (TrustEngine) OSGiTestsActivator.getContext().getService(ref);
-		OSGiTestsActivator.getContext().ungetService(ref);
-		return engine;
-	}
-
-	protected AuthorizationEngine getAuthorizationEngine() {
-		ServiceReference ref = OSGiTestsActivator.getContext().getServiceReference(AuthorizationEngine.class.getName());
-		assertNotNull("No AuthorizationEngine available", ref);
-		AuthorizationEngine engine = (AuthorizationEngine) OSGiTestsActivator.getContext().getService(ref);
-		OSGiTestsActivator.getContext().ungetService(ref);
-		return engine;
-	}
-
-	protected Bundle installBundle(String bundlePath) {
-		URL bundleURL = OSGiTestsActivator.getContext().getBundle().getEntry(bundlePath);
-		assertNotNull("Bundle URL is null " + bundlePath, bundleURL);
-		try {
-			return OSGiTestsActivator.getContext().installBundle(bundlePath, bundleURL.openStream());
-		} catch (Exception e) {
-			fail("unexpected install exception", e);
-		}
-		return null;
-	}
-
-	protected File getEntryFile(String entryPath) throws IOException {
-		URL entryURL = OSGiTestsActivator.getContext().getBundle().getEntry(entryPath);
-		if (entryURL == null)
-			return null;
-		return new File(FileLocator.toFileURL(entryURL).toExternalForm().substring(5));
-	}
-
-	protected File copyEntryFile(String entryPath) throws IOException {
-		URL entryURL = OSGiTestsActivator.getContext().getBundle().getEntry(entryPath);
-		if (entryURL == null)
-			return null;
-		File tempFolder = OSGiTestsActivator.getContext().getDataFile("temp");
-		tempFolder.mkdirs();
-		File result = File.createTempFile("entry", ".jar", tempFolder);
-		readFile(entryURL.openStream(), result);
-		return result;
-	}
-
-	protected static String getTestJarPath(String jarName) {
-		return "test_files/security/bundles/" + jarName + ".jar";
-	}
-
-	protected static void setAuthorizationEnabled(ConfigurationSessionTestSuite suite) {
-		try {
-			suite.getSetup().setSystemProperty("osgi.signedcontent.support", "all"); //$NON-NLS-1$//$NON-NLS-2$
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	protected static void setAuthorizationPolicy(ConfigurationSessionTestSuite suite, String policy) {
-		try {
-			suite.getSetup().setSystemProperty("osgi.signedcontent.authorization.engine.policy", policy); //$NON-NLS-1$//$NON-NLS-2$
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	protected static void setEclipseTrustEngine(ConfigurationSessionTestSuite suite) {
-		try {
-			URL eclipseURL = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/eclipse.jks");
-			File tempFile = File.createTempFile("keystore", ".jks");
-
-			copy(eclipseURL.openStream(), tempFile);
-
-			suite.getSetup().setSystemProperty("osgi.framework.keystore", tempFile.toURL().toExternalForm()); //$NON-NLS-1$//$NON-NLS-2$
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	public static void readFile(InputStream in, File file) throws IOException {
-		FileOutputStream fos = null;
-		try {
-			fos = new FileOutputStream(file);
-
-			byte buffer[] = new byte[1024];
-			int count;
-			while ((count = in.read(buffer, 0, buffer.length)) > 0) {
-				fos.write(buffer, 0, count);
-			}
-
-			fos.close();
-			fos = null;
-
-			in.close();
-			in = null;
-		} catch (IOException e) {
-			// close open streams
-			if (fos != null) {
-				try {
-					fos.close();
-				} catch (IOException ee) {
-					// nothing to do here
-				}
-			}
-
-			if (in != null) {
-				try {
-					in.close();
-				} catch (IOException ee) {
-					// nothing to do here
-				}
-			}
-
-			throw e;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
deleted file mode 100644
index f21e9c8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import java.io.*;
-import java.net.URL;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import junit.framework.*;
-import org.eclipse.osgi.internal.service.security.KeyStoreTrustEngine;
-import org.eclipse.osgi.service.security.TrustEngine;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-
-public class KeyStoreTrustEngineTest extends TestCase {
-
-	private static char[] PASSWORD_DEFAULT = {'c', 'h', 'a', 'n', 'g', 'e', 'i', 't'};
-	private static String TYPE_DEFAULT = "JKS"; //$NON-NLS-1$
-
-	private static TestCase[] s_tests = {
-	/* findTrustAnchor tests */
-	new KeyStoreTrustEngineTest("findTrustAnchor positive test: self signed trusted", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testFindTrustAnchor0();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor positive test: chain with root trusted", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testFindTrustAnchor1();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor positive test: chain with intermediate trusted", new String[] {"ca1_ou"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testFindTrustAnchor2();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor positive test: chain with leaf trusted", new String[] {"ca1_leafb"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testFindTrustAnchor3();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor negative test: untrusted self signed", null) { //$NON-NLS-1$
-				public void runTest() {
-					testFindTrustAnchor4();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor negative test: untrusted chain", null) { //$NON-NLS-1$
-				public void runTest() {
-					testFindTrustAnchor5();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor negative test: invalid chain", null) { //$NON-NLS-1$
-				public void runTest() {
-					testFindTrustAnchor6();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor negative test: incomplete-able chain", null) { //$NON-NLS-1$
-				public void runTest() {
-					testFindTrustAnchor7();
-				}
-			}, new KeyStoreTrustEngineTest("findTrustAnchor negative test: null chain", null) { //$NON-NLS-1$
-				public void runTest() {
-					testFindTrustAnchor8();
-				}
-			},
-			/* addTrustAnchor tests */
-			new KeyStoreTrustEngineTest("addTrustAnchor positive test: add with alias", null) { //$NON-NLS-1$
-				public void runTest() {
-					testAddTrustAnchor0();
-				}
-			},/*, new KeyStoreTrustEngineTest("addTrustAnchor positive test: add with autogenerated alias", null) {
-																																																																																																																																														public void runTest() {
-																																																																																																																																															testAddTrustAnchor1();
-																																																																																																																																														}
-																																																																																																																																													}*/
-			new KeyStoreTrustEngineTest("addTrustAnchor negative test: null cert specified", null) { //$NON-NLS-1$
-				public void runTest() {
-					testAddTrustAnchor2();
-				}
-			}, new KeyStoreTrustEngineTest("addTrustAnchor negative test: existing cert specified", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testAddTrustAnchor3();
-				}
-			}, new KeyStoreTrustEngineTest("addTrustAnchor negative test: existing alias specified", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testAddTrustAnchor4();
-				}
-			}
-			/* removeTrustAnchor tests */
-			, new KeyStoreTrustEngineTest("removeTrustAnchor positive test: remove by alias", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testRemoveTrustAnchor0();
-				}
-			}, new KeyStoreTrustEngineTest("removeTrustAnchor positive test: remove by cert", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testRemoveTrustAnchor1();
-				}
-			}, new KeyStoreTrustEngineTest("removeTrustAnchor negative test: cert not found", null) { //$NON-NLS-1$
-				public void runTest() {
-					testRemoveTrustAnchor2();
-				}
-			}, new KeyStoreTrustEngineTest("removeTrustAnchor negative test: by alias not found", null) { //$NON-NLS-1$
-				public void runTest() {
-					testRemoveTrustAnchor3();
-				}
-			}, new KeyStoreTrustEngineTest("removeTrustAnchor negative test: remove by null alias", null) { //$NON-NLS-1$
-				public void runTest() {
-					testRemoveTrustAnchor4();
-				}
-			}, new KeyStoreTrustEngineTest("removeTrustAnchor negative test: remove by null certificate", null) { //$NON-NLS-1$
-				public void runTest() {
-					testRemoveTrustAnchor5();
-				}
-			},
-			/* getTrustAnchor tests*/
-			new KeyStoreTrustEngineTest("getTrustAnchor positive test: get by alias", new String[] {"ca1_root"}) { //$NON-NLS-1$ //$NON-NLS-2$
-				public void runTest() {
-					testGetTrustAnchor0();
-				}
-			}, new KeyStoreTrustEngineTest("getTrustAnchor negative test: get by null alias", null) { //$NON-NLS-1$
-				public void runTest() {
-					testGetTrustAnchor1();
-				}
-			}, new KeyStoreTrustEngineTest("getTrustAnchor negative test: does not exist", null) { //$NON-NLS-1$
-				public void runTest() {
-					testGetTrustAnchor2();
-				}
-			},
-			/* getAliases tests */
-			new KeyStoreTrustEngineTest("getAliases positive test: get the alias list", new String[] {"ca1_root", "ca2_root"}) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				public void runTest() {
-					testGetAliases0();
-				}
-			}};
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Unit tests for TrustEngine"); //$NON-NLS-1$
-		for (int i = 0; i < s_tests.length; i++) {
-			suite.addTest(s_tests[i]);
-		}
-		return suite;
-	}
-
-	private static KeyStore supportStore;
-	static {
-		try {
-			URL supportUrl = OSGiTestsActivator.getContext().getBundle().getEntry("test_files/security/keystore.jks"); //$NON-NLS-1$
-			supportStore = KeyStore.getInstance(TYPE_DEFAULT);
-			supportStore.load(supportUrl.openStream(), PASSWORD_DEFAULT);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	private String[] aliases;
-	private KeyStore testStore;
-	private File testStoreFile;
-	TrustEngine engine;
-
-	public KeyStoreTrustEngineTest() {
-		//placeholder
-	}
-
-	public KeyStoreTrustEngineTest(String name, String[] aliases) {
-		super(name);
-		this.aliases = aliases;
-	}
-
-	protected void setUp() throws Exception {
-		if (supportStore == null) {
-			fail("Could not open keystore with test certificates!"); //$NON-NLS-1$
-		}
-
-		testStore = KeyStore.getInstance(TYPE_DEFAULT);
-		testStore.load(null, PASSWORD_DEFAULT);
-		if (aliases != null) {
-			for (int i = 0; i < aliases.length; i++) {
-				testStore.setCertificateEntry(aliases[i], getTestCertificate(aliases[i]));
-			}
-		}
-		testStoreFile = File.createTempFile("teststore", "jks"); //$NON-NLS-1$ //$NON-NLS-2$
-		final FileOutputStream out = new FileOutputStream(testStoreFile);
-		try {
-			testStore.store(out, PASSWORD_DEFAULT);
-		} finally {
-			safeClose(out);
-		}
-		engine = new KeyStoreTrustEngine(testStoreFile.getPath(), TYPE_DEFAULT, PASSWORD_DEFAULT, "teststore"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Closes a stream and ignores any resulting exception. This is useful
-	 * when doing stream cleanup in a finally block where secondary exceptions
-	 * are not worth logging.
-	 */
-	protected static void safeClose(OutputStream out) {
-		try {
-			if (out != null)
-				out.close();
-		} catch (IOException e) {
-			//ignore
-		}
-	}
-
-	protected void tearDown() {
-		engine = null;
-		testStore = null;
-		testStoreFile.delete();
-	}
-
-	private static Certificate getTestCertificate(String alias) throws KeyStoreException {
-		return supportStore.getCertificate(alias);
-	}
-
-	private static Certificate[] getTestCertificateChain(String[] aliases) throws KeyStoreException {
-		ArrayList certs = new ArrayList(aliases.length);
-		for (int i = 0; i < aliases.length; i++) {
-			certs.add(getTestCertificate(aliases[i]));
-		}
-		return (Certificate[]) certs.toArray(new Certificate[] {});
-	}
-
-	//findTrustAnchor positive test: self signed trusted
-	public void testFindTrustAnchor0() {
-		try {
-			Certificate cert = engine.findTrustAnchor(new Certificate[] {getTestCertificate("ca1_root")}); //$NON-NLS-1$
-			assertNotNull("Did not return a cert for self-signed case", cert); //$NON-NLS-1$
-			assertEquals("Input and output certs not equal for self-signed case", cert, getTestCertificate("ca1_root")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing trusted self-signed cert: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor positive test: chain with root trusted
-	public void testFindTrustAnchor1() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca1_leafb", "ca1_ou", "ca1_root"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertNotNull("Certificate did not come back in trusted root case", cert); //$NON-NLS-1$
-			assertEquals("Output cert is not root trusted cert", cert, getTestCertificate("ca1_root")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing trusted root from complete chain: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor positive test: chain with intermediate trusted
-	public void testFindTrustAnchor2() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca1_leafb", "ca1_ou", "ca1_root"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertNotNull("Certificate did not come back in trusted intermediate case", cert); //$NON-NLS-1$
-			assertEquals("Output cert is not intermediate trusted cert", cert, getTestCertificate("ca1_ou")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing trusted root from complete chain: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor positive test: chain with leaf trusted
-	public void testFindTrustAnchor3() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca1_leafb", "ca1_ou", "ca1_root"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertNotNull("Certificate did not come back in trusted leaf case", cert); //$NON-NLS-1$
-			assertEquals("Output cert is not leaf trusted cert", cert, getTestCertificate("ca1_leafb")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing trusted root from complete chain: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor negative test: untrusted self signed
-	public void testFindTrustAnchor4() {
-		try {
-			Certificate cert = engine.findTrustAnchor(new Certificate[] {getTestCertificate("ca2_root")}); //$NON-NLS-1$
-			assertNull("Incorrectly returned a certificate for untrusted self-signed case", cert); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing untrusted self-signed cert: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor negative test: untrusted chain
-	public void testFindTrustAnchor5() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca2_leafb", "ca2_ou", "ca2_root"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			assertNull("Incorrectly returned a certificate for untrusted chain case", cert); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Unexpected exception testing untrusted chain: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor negative test: invalid chain
-	public void testFindTrustAnchor6() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca2_leafa", "ca1_root"})); //$NON-NLS-1$ //$NON-NLS-2$
-			assertNull("Incorrectly returned a certificate on invalid certificate chain", cert); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertNull("Incorrectly thrown exception thrown on invalid certificate chain", t); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor negative test: incomplete-able chain
-	public void testFindTrustAnchor7() {
-		try {
-			Certificate cert = engine.findTrustAnchor(getTestCertificateChain(new String[] {"ca1_leafb", "ca1_root"})); //$NON-NLS-1$ //$NON-NLS-2$
-			assertNull("Incorrectly returned a certificate on incomplete-able certificate chain", cert); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertNull("Incorrectly thrown exception thrown on incomplete-able certificate chain", t); //$NON-NLS-1$
-		}
-	}
-
-	//findTrustAnchor negative test: null chain
-	public void testFindTrustAnchor8() {
-		try {
-			engine.findTrustAnchor(null);
-			fail("Did not throw IllegalArgumentException on NULL certificate"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on NULL certificate", t instanceof IllegalArgumentException); //$NON-NLS-1$
-		}
-	}
-
-	//testAddTrustAnchor positive test: add with alias
-	public void testAddTrustAnchor0() {
-		try {
-			String alias = engine.addTrustAnchor(getTestCertificate("ca1_root"), "ca1_root"); //$NON-NLS-1$ //$NON-NLS-2$
-			assertEquals("Alias returned does not equal alias input", alias, "ca1_root"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		} catch (Throwable t) {
-			fail("Unexpected exception adding trusted root: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//testAddTrustAnchor positive test: add with autogenerated alias
-	public void testAddTrustAnchor1() {
-		try {
-			String alias = engine.addTrustAnchor(getTestCertificate("ca1_root"), null); //$NON-NLS-1$
-			assertNotNull("Generated alias was not correctly returned", alias); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Unexpected exception adding trusted root (autogen alias): " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//testAddTrustAnchor negative test: null cert specified
-	public void testAddTrustAnchor2() {
-		try {
-			engine.addTrustAnchor(null, "ca1_root"); //$NON-NLS-1$
-			fail("Did not throw IllegalArgumentException on NULL certificate"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on NULL certificate", t instanceof IllegalArgumentException); //$NON-NLS-1$
-		}
-	}
-
-	//testAddTrustAnchor negative test: existing cert specified
-	public void testAddTrustAnchor3() {
-		try {
-			engine.addTrustAnchor(getTestCertificate("ca1_root"), "new_root"); //$NON-NLS-1$ //$NON-NLS-2$
-			assertTrue("Did not throw CertificateException on duplicate cert", false); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on duplicate cert", t instanceof CertificateException); //$NON-NLS-1$
-			return;
-		}
-		fail("Expected exception when adding trust anchor"); //$NON-NLS-1$
-	}
-
-	//testAddTrustAnchor negative test: existing alias specified
-	public void testAddTrustAnchor4() {
-		try {
-			engine.addTrustAnchor(getTestCertificate("ca2_root"), "ca1_root"); //$NON-NLS-1$ //$NON-NLS-2$
-			assertTrue("Did not throw CertificateException on duplicate alias", false); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on duplicate alias", t instanceof CertificateException); //$NON-NLS-1$
-			return;
-		}
-		fail("Expected exception when adding trust anchor"); //$NON-NLS-1$
-	}
-
-	//removeTrustAnchor positive test: remove by alias
-	public void testRemoveTrustAnchor0() {
-		try {
-			engine.removeTrustAnchor("ca1_root"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Unexpected exception thrown when removing by alias: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//removeTrustAnchor positive test: remove by cert
-	public void testRemoveTrustAnchor1() {
-		try {
-			engine.removeTrustAnchor(getTestCertificate("ca1_root")); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Unexpected exception thrown when removing by cert: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//removeTrustAnchor negative test: cert not found
-	public void testRemoveTrustAnchor2() {
-		try {
-			engine.removeTrustAnchor(getTestCertificate("ca1_root")); //$NON-NLS-1$
-			fail("Did not throw CertificateException on cert not found"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on remove by cert", t instanceof CertificateException); //$NON-NLS-1$
-		}
-	}
-
-	//removeTrustAnchor negative test: by alias not found
-	public void testRemoveTrustAnchor3() {
-		try {
-			engine.removeTrustAnchor("ca2_root"); //$NON-NLS-1$
-			assertTrue("Did not throw CertificateException on alias not found", false); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on remove by alias", t instanceof CertificateException); //$NON-NLS-1$
-			return;
-		}
-		fail("Expected exception when removing trust anchor"); //$NON-NLS-1$
-	}
-
-	//removeTrustAnchor negative test: remove by null alias
-	public void testRemoveTrustAnchor4() {
-		try {
-			engine.removeTrustAnchor((String) null);
-			fail("Did not throw CertificateException on alias null"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on remove by null alias", t instanceof IllegalArgumentException); //$NON-NLS-1$
-		}
-	}
-
-	//removeTrustAnchor negative test: remove by null certificate
-	public void testRemoveTrustAnchor5() {
-		try {
-			engine.removeTrustAnchor((Certificate) null);
-			fail("Did not throw IllegalArgumentException on remove by cert null"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on remove by null cert", t instanceof IllegalArgumentException); //$NON-NLS-1$
-		}
-	}
-
-	//getTrustAnchor positive test: get by alias
-	public void testGetTrustAnchor0() {
-		try {
-			Certificate cert = engine.getTrustAnchor("ca1_root"); //$NON-NLS-1$
-			assertEquals("Did not get expected certificate", getTestCertificate("ca1_root"), cert); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (Throwable t) {
-			fail("Unexpected exception when retrieving trust anchor: " + t.getMessage()); //$NON-NLS-1$
-		}
-	}
-
-	//getTrustAnchor negative test: get by null alias
-	public void testGetTrustAnchor1() {
-		try {
-			engine.getTrustAnchor(null);
-			fail("Did not throw IllegalArgumentException on get by alias null"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertTrue("Incorrect exception thrown on remove by null alias", t instanceof IllegalArgumentException); //$NON-NLS-1$
-		}
-	}
-
-	//getTrustAnchor negative test: does not exist
-	public void testGetTrustAnchor2() {
-		try {
-			Certificate cert = engine.getTrustAnchor("ca2_root"); //$NON-NLS-1$
-			assertNull("Incorrectly returned a certificate on certificate does not exist", cert); //$NON-NLS-1$
-		} catch (Throwable t) {
-			assertNull("Incorrectly thrown exception on alias does not exist", t); //$NON-NLS-1$
-			return;
-		}
-	}
-
-	//getAliases positive test: get the alias list
-	public void testGetAliases0() {
-		try {
-			engine.getAliases();
-		} catch (Throwable t) {
-			fail("Unexpected exception when retrieving alias list: " + t.getMessage()); //$NON-NLS-1$
-		}
-
-	}
-	//TODO: thread safety tests
-	//TODO: performance tests
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
deleted file mode 100644
index 02eddcd..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import junit.framework.TestSuite;
-import org.osgi.framework.AdminPermission;
-import org.osgi.framework.Bundle;
-import org.osgi.service.condpermadmin.*;
-
-public class OSGiAPICertificateTest extends BaseSecurityTest {
-	private static String dn1 = "CN=CA1 LeafA, O=CA1, L=Boston, ST=Massachusetts, C=US"; //$NON-NLS-1$
-	private static String dn2 = "CN=CA1 Root, O=CA1, L=Boston, ST=Massachusetts, C=US"; //$NON-NLS-1$
-	private static String dn3 = "CN=CA1 LeafA, O=CA1, L=Austin, ST=Texas, C=US"; //$NON-NLS-1$
-	private static String dn4 = "CN=CA1 Root, O=CA1, L=Austin, ST=Texas, C=US"; //$NON-NLS-1$
-	private static String dn5 = "CN=CA1 LeafA, O=CA1, L=*, ST=*, C=US"; //$NON-NLS-1$
-	private static String dn6 = "CN=CA1 Root, O=CA1, L=*, ST=*, C=US"; //$NON-NLS-1$
-	private static String dn7 = "*, L=*, ST=*, C=US"; //$NON-NLS-1$
-
-	private static String dnChain01True = dn1 + ';' + dn2;
-	private static String dnChain02True = "*;" + dn2; //$NON-NLS-1$
-	private static String dnChain03True = dn1 + ";*"; //$NON-NLS-1$
-	private static String dnChain04False = dn1 + ';' + dn4;
-	private static String dnChain05False = dn3 + ';' + dn2;
-	private static String dnChain06True = dn5 + ';' + dn6;
-	private static String dnChain07True = dn7 + ';' + dn6;
-	private static String dnChain08True = dn5 + ';' + dn7;
-
-	private static String dnChain01TrueEscaped = escapeStar(dnChain01True);
-	private static String dnChain02TrueEscaped = escapeStar(dnChain02True);
-	private static String dnChain03TrueEscaped = escapeStar(dnChain03True);
-	private static String dnChain04FalseEscaped = escapeStar(dnChain04False);
-	private static String dnChain05FalseEscaped = escapeStar(dnChain05False);
-	private static String dnChain06TrueEscaped = escapeStar(dnChain06True);
-	private static String dnChain07TrueEscaped = escapeStar(dnChain07True);
-	private static String dnChain08TrueEscaped = escapeStar(dnChain08True);
-
-	private static ConditionInfo info01True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {"-"}); //$NON-NLS-1$
-	private static ConditionInfo info02False = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {"-", "!"}); //$NON-NLS-1$ //$NON-NLS-2$
-	private static ConditionInfo info03True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain01True});
-	private static ConditionInfo info04True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain02True});
-	private static ConditionInfo info05True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain03True});
-	private static ConditionInfo info06False = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain04False});
-	private static ConditionInfo info07False = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain05False});
-	private static ConditionInfo info08True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain06True});
-	private static ConditionInfo info09True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain07True});
-	private static ConditionInfo info10True = new ConditionInfo(BundleSignerCondition.class.getName(), new String[] {dnChain08True});
-
-	public static TestSuite suite() {
-		return new TestSuite(OSGiAPICertificateTest.class);
-	}
-
-	private static String escapeStar(String dnChain) {
-		if (dnChain == null || dnChain.length() == 0)
-			return dnChain;
-		for (int star = dnChain.indexOf('*'); star >= 0; star = dnChain.indexOf('*', star + 2))
-			dnChain = dnChain.substring(0, star) + '\\' + dnChain.substring(star);
-		return dnChain;
-	}
-
-	public OSGiAPICertificateTest() {
-		super();
-	}
-
-	public OSGiAPICertificateTest(String name, String jarname, String[] aliases) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		registerEclipseTrustEngine();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public void testBundleSignerCondition01() {
-		// test trusted cert with all signed match
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info01True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition02() {
-		// test trusted cert with all signed match + "!" not operation
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info02False);
-			assertEquals("Unexpected condition value", Condition.FALSE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition03() {
-		// test untrusted cert with all signed match
-		try {
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info01True);
-			assertEquals("Unexpected condition value", Condition.FALSE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition04() {
-		// test untrusted cert with all signed match + "!" not operation
-		try {
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info02False);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition05() {
-		// test trusted cert with exact match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info03True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition06() {
-		// test trusted cert with prefix wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info04True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition07() {
-		// test trusted cert with postfix wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info05True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition08() {
-		// test trusted cert with wrong prefix dn
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info06False);
-			assertEquals("Unexpected condition value", Condition.FALSE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition09() {
-		// test trusted cert with wrong postfix dn
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info07False);
-			assertEquals("Unexpected condition value", Condition.FALSE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition10() {
-		// test trusted cert with RDN wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info08True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition11() {
-		// test trusted cert with RDN wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info09True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testBundleSignerCondition12() {
-		// test trusted cert with RDN wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			Condition condition = BundleSignerCondition.getCondition(testBundle, info10True);
-			assertEquals("Unexpected condition value", Condition.TRUE, condition); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission01() {
-		// test trusted cert with exact match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=-)", AdminPermission.CONTEXT); //$NON-NLS-1$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission02() {
-		// test trusted cert with exact match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain01TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission03() {
-		// test trusted cert with exact match pattern + ! operation 
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(!(signer=-))", AdminPermission.CONTEXT); //$NON-NLS-1$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertFalse("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission04() {
-		// test trusted cert with exact match pattern + ! operation
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(!(signer=" + dnChain01TrueEscaped + "))", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertFalse("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission05() {
-		// test trusted cert with prefix wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain02TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission06() {
-		// test trusted cert with postfix wildcard match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain03TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission07() {
-		// test trusted cert with bad postfix dn match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain04FalseEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertFalse("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission08() {
-		// test trusted cert with bad prefix dn match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain05FalseEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertFalse("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission09() {
-		// test trusted cert with RDN match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain06TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission10() {
-		// test trusted cert with RDN match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain07TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAdminPermission11() {
-		// test trusted cert with RDN match pattern
-		try {
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
-			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
-			AdminPermission declaredPerm = new AdminPermission("(signer=" + dnChain08TrueEscaped + ")", AdminPermission.CONTEXT); //$NON-NLS-1$ //$NON-NLS-2$
-			AdminPermission checkedPerm = new AdminPermission(testBundle, AdminPermission.CONTEXT);
-			assertTrue("Security check failed", declaredPerm.implies(checkedPerm)); //$NON-NLS-1$
-		} catch (Exception e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
deleted file mode 100644
index ed72aca..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import junit.framework.*;
-
-public class SecurityTestSuite extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Unit tests for Equinox security");
-		//trust engine tests
-		suite.addTest(KeyStoreTrustEngineTest.suite());
-		//signed bundle tests - *uses* trust engine
-		suite.addTest(SignedBundleTest.suite());
-		suite.addTest(SignedBundleTest.localSuite());
-		//authorization tests - *uses* signed content tests
-		suite.addTest(AuthorizeAnyTest.suite());
-		suite.addTest(AuthorizeSignedTest.suite());
-		suite.addTest(AuthorizeTrustedTest.suite());
-		suite.addTest(OSGiAPICertificateTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
deleted file mode 100644
index e396222..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
+++ /dev/null
@@ -1,835 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.security;
-
-import java.io.File;
-import java.security.SignatureException;
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.osgi.signedcontent.*;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class SignedBundleTest extends BaseSecurityTest {
-
-	/*
-	private static Test[] s_tests = {
-	// positive tests 
-	new SignedBundleTest("testSignedContent01", "unsigned", new String[] {}) {
-		public void runTest() {
-			testSignedContent01();
-		}
-	}, new SignedBundleTest("SignedContent positive test: signed jar, 1 trusted signer", "signed", new String[] {"ca1_leafa"}) {
-		public void runTest() {
-			testSignedContent02();
-		}
-	}
-	, new SignedBundleTest("SignedContent positive test: signed jar, 2 trusted signers", "multiply_signed", new String[] {"ca1_leafa", "ca1_leafb"}) {(non-Javadoc)
-	  @see junit.framework.TestCase#runTest()
-	 	public void runTest() {
-			testSignedContent03();
-		}
-	}};
-	*/
-
-	/*
-	//positive tests
-	signer1	signer2	valid
-	n/a		n/a		n/a		= positive, unsigned				('unsigned.jar')
-	yes		n/a		yes		= positive, 1 signer				('signed.jar','ca1_leafa')
-	yes		yes		yes		= positive, 2 signers				('multiply_signed.jar','ca1_leafa,'ca1_leafb')
-
-	//negative = untrusted tests
-	no		n/a		yes		= negative, 1 signer, 1 untrusted	('signed.jar')		
-	no		no		yes		= negative, 2 signers, 2 untrusted  ('multiply_signed.jar')
-	yes		no		yes		= negative, 2 signers, 1 untrusted	('multiply_signed.jar', 'ca1_leafa')
-
-	//negative = validity tests
-	yes		n/a		no		= negative, 1 signer, 1 corrupt		('signed_with_corrupt.jar','ca1_leafa')
-	yes		yes		no		= negative, 2 signers, 2 corrupt
-	
-	//TODO: OSGi-specific partial signer cases
-	//TODO: TSA tests (w/TSA signer trusted, untrusted, etc)
-	//TODO: More? NESTED JARS? 		
-	*/
-
-	//private String jarName;
-	//private String[] aliases;
-	public SignedBundleTest() {
-		super();
-	}
-
-	public SignedBundleTest(String name, String jarname, String[] aliases) {
-		super(name);
-		//this.jarName = jarname;
-		//this.aliases = aliases;
-	}
-
-	public static Test suite() {
-		ConfigurationSessionTestSuite suite = new ConfigurationSessionTestSuite(BUNDLE_SECURITY_TESTS, "Unit session tests for SignedContent");
-		addDefaultSecurityBundles(suite);
-		setAuthorizationEnabled(suite);
-		suite.addTestSuite(SignedBundleTest.class);
-		return suite;
-	}
-
-	public static Test localSuite() {
-		return new TestSuite(SignedBundleTest.class, "Unit local tests for SignedContent");
-	}
-
-	protected void setUp() throws Exception {
-		registerEclipseTrustEngine();
-		/*
-				TrustEngine engine = getTrustEngine();
-
-				if (supportStore == null) {
-					fail("Could not open keystore with test certificates!");
-				}
-
-				// get the certs from the support store and add
-				for (int i = 0; i < aliases.length; i++) {
-					Certificate cert = supportStore.getCertificate(aliases[i]);
-					engine.addTrustAnchor(cert, aliases[i]);
-				}
-		*/
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	//	SignedContent positive test: unsigned jar
-	public void testSignedContent01() {
-
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("unsigned"));
-			assertNotNull("Test bundle not installed!", testBundle);
-			//getTrustEngine().addTrustAnchor(anchor, alias);
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			assertFalse("Content is signed!!", signedContent.isSigned());
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//SignedContent positive test: signed jar, 1 trusted signer
-	public void testSignedContent02() {
-
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("signed"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-			// check the signer validity
-			signedContent.checkValidity(infos[0]);
-			// check the signer trust
-			assertTrue("Signer is not trusted", infos[0].isTrusted());
-			// check the trust anchor
-			assertNotNull("Trust anchor is null", infos[0].getTrustAnchor());
-			// verify and validate the entries
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				entries[i].verify();
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 1, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-			} catch (Exception e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//SignedContent positive test: signed jar, 2 trusted signers
-	public void testSignedContent03() {
-
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("multiply_signed"));
-			this.getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-			this.getTrustEngine().addTrustAnchor(getTestCertificate("ca2_leafa"), "ca2_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				signedContent.checkValidity(infos[i]);
-				signedContent.checkValidity(infos[i]);
-				// check the signer trust
-				assertTrue("Signer is not trusted: " + infos[i].getCertificateChain()[0], infos[i].isTrusted());
-				// check the trust anchor
-				assertNotNull("Trust anchor is null", infos[i].getTrustAnchor());
-			}
-			// verify and validate the entries
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				entries[i].verify();
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 2, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-				getTrustEngine().removeTrustAnchor("ca2_leafa");
-			} catch (Exception e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//SignedContent negative, 1 signer, 1 untrusted
-	public void testSignedContent04() {
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("signed"));
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				// check the signer trust
-				assertTrue("Signer is trusted: " + infos[i].getCertificateChain()[0], !(infos[i].isTrusted()));
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//SignedContent negative, 2 signers, 2 untrusted
-	public void testSignedContent05() {
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("multiply_signed"));
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				// check the signer trust
-				assertTrue("Signer is trusted: " + infos[i].getCertificateChain()[0], !(infos[i].isTrusted()));
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//SignedContent negative, 2 signers, 1 untrusted
-	public void testSignedContent06() {
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("multiply_signed"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-
-			// make sure ca1 signer is trusted
-
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				Certificate certs[] = infos[i].getCertificateChain();
-
-				if (infos[i].isTrusted()) {
-					X509Certificate x509Cert = (X509Certificate) certs[0];
-					assertTrue("CA1 LeafA signer is not trusted", x509Cert.getSubjectDN().getName().indexOf("CA1 LeafA") >= 0);
-				}
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-			} catch (Exception e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	// negative, 1 signer, 1 corrupt signed_with_corrupt.jar
-	public void testSignedContent07() {
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("signed_with_corrupt"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				try {
-					entries[i].verify();
-					if ("org/eclipse/equinox/security/junit/CorruptClass.class".equals(entries[i].getName()))
-						fail("Expected a corruption for: " + entries[i].getName());
-				} catch (InvalidContentException e) {
-					if (!"org/eclipse/equinox/security/junit/CorruptClass.class".equals(entries[i].getName()))
-						fail("Unexpected corruption in: " + entries[i].getName(), e);
-				}
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 1, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-			} catch (Exception e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	// positve 1 signer, 1 tsa
-	public void testSignedContent08() {
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("signed_tsa"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(testBundle);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-
-			assertNotNull("Signing time is null!", signedContent.getSigningTime(infos[0]));
-
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				testBundle.uninstall();
-				getTrustEngine().removeTrustAnchor("ca1_leafa");
-			} catch (Exception e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-
-	//	SignedContent positive test: unsigned jar
-	public void testSignedContent09() {
-		try {
-			File unsignedFile = getEntryFile(getTestJarPath("unsigned"));
-
-			assertNotNull("Could not find unsigned file!", unsignedFile);
-			//getTrustEngine().addTrustAnchor(anchor, alias);
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(unsignedFile);
-			assertNotNull("SignedContent is null", signedContent);
-			assertFalse("Content is signed!!", signedContent.isSigned());
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent positive test: signed jar, 1 trusted signer
-	public void testSignedContent10() {
-		try {
-			File signedFile = getEntryFile(getTestJarPath("signed"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-			// check the signer validity
-			signedContent.checkValidity(infos[0]);
-			// check the signer trust
-			assertTrue("Signer is not trusted", infos[0].isTrusted());
-			// check the trust anchor
-			assertNotNull("Trust anchor is null", infos[0].getTrustAnchor());
-			// verify and validate the entries
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				entries[i].verify();
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 1, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent positive test: signed jar, 2 trusted signers
-	public void testSignedContent11() {
-		try {
-			File multipleSigned = getEntryFile(getTestJarPath("multiply_signed"));
-			this.getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-			this.getTrustEngine().addTrustAnchor(getTestCertificate("ca2_leafa"), "ca2_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(multipleSigned);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				signedContent.checkValidity(infos[i]);
-				signedContent.checkValidity(infos[i]);
-				// check the signer trust
-				assertTrue("Signer is not trusted: " + infos[i].getCertificateChain()[0], infos[i].isTrusted());
-				// check the trust anchor
-				assertNotNull("Trust anchor is null", infos[i].getTrustAnchor());
-			}
-			// verify and validate the entries
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				entries[i].verify();
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 2, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent negative, 1 signer, 1 untrusted
-	public void testSignedContent12() {
-		try {
-			File signedFile = getEntryFile(getTestJarPath("signed"));
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				// check the signer trust
-				assertTrue("Signer is trusted: " + infos[i].getCertificateChain()[0], !(infos[i].isTrusted()));
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent negative, 2 signers, 2 untrusted
-	public void testSignedContent13() {
-		try {
-			File multipleSigned = getEntryFile(getTestJarPath("multiply_signed"));
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(multipleSigned);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				// check the signer trust
-				assertTrue("Signer is trusted: " + infos[i].getCertificateChain()[0], !(infos[i].isTrusted()));
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent negative, 2 signers, 1 untrusted
-	public void testSignedContent14() {
-		try {
-			File multipleSigned = getEntryFile(getTestJarPath("multiply_signed"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(multipleSigned);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 2, infos.length);
-
-			// make sure ca1 signer is trusted
-
-			// check the signer validity
-			for (int i = 0; i < infos.length; i++) {
-				Certificate certs[] = infos[i].getCertificateChain();
-
-				if (infos[i].isTrusted()) {
-					X509Certificate x509Cert = (X509Certificate) certs[0];
-					assertTrue("CA1 LeafA signer is not trusted", x509Cert.getSubjectDN().getName().indexOf("CA1 LeafA") >= 0);
-				}
-			}
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	// negative, 1 signer, 1 corrupt signed_with_corrupt.jar
-	public void testSignedContent15() {
-		try {
-			File corruptedFile = getEntryFile(getTestJarPath("signed_with_corrupt"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(corruptedFile);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-
-			SignedContentEntry[] entries = signedContent.getSignedEntries();
-			assertNotNull("Entries is null", entries);
-			for (int i = 0; i < entries.length; i++) {
-				try {
-					entries[i].verify();
-					if ("org/eclipse/equinox/security/junit/CorruptClass.class".equals(entries[i].getName()))
-						fail("Expected a corruption for: " + entries[i].getName());
-				} catch (InvalidContentException e) {
-					if (!"org/eclipse/equinox/security/junit/CorruptClass.class".equals(entries[i].getName()))
-						fail("Unexpected corruption in: " + entries[i].getName(), e);
-				}
-				SignerInfo[] entryInfos = entries[i].getSignerInfos();
-				assertNotNull("SignerInfo is null", entryInfos);
-				assertEquals("wrong number of entry signers", 1, entryInfos.length);
-				assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-			}
-
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	// positve 1 signer, 1 tsa
-	public void testSignedContent16() {
-		try {
-			File signedTsaFile = getEntryFile(getTestJarPath("signed_tsa"));
-			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-			// get the signed content for the bundle
-			SignedContent signedContent = getSignedContentFactory().getSignedContent(signedTsaFile);
-			assertNotNull("SignedContent is null", signedContent);
-			// check if it is signed
-			assertTrue("Should be signed", signedContent.isSigned());
-			// get the signer infos
-			SignerInfo[] infos = signedContent.getSignerInfos();
-			assertNotNull("SignerInfo is null", infos);
-			assertEquals("wrong number of signers", 1, infos.length);
-
-			assertNotNull("Signing time is null!", signedContent.getSigningTime(infos[0]));
-
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		}
-	}
-
-	//SignedContent positive test: signed jar, 1 trusted signer
-	public void testBug225090_01() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed"));
-		getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa");
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		// check if it is signed
-		assertTrue("Should be signed", signedContent.isSigned());
-		// get the signer infos
-		SignerInfo[] infos = signedContent.getSignerInfos();
-		assertNotNull("SignerInfo is null", infos);
-		assertEquals("wrong number of signers", 1, infos.length);
-		// check the signer validity
-		signedContent.checkValidity(infos[0]);
-		// check the signer trust
-		assertTrue("Signer is not trusted", infos[0].isTrusted());
-		// check the trust anchor
-		assertNotNull("Trust anchor is null", infos[0].getTrustAnchor());
-		// verify and validate the entries
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		for (int i = 0; i < entries.length; i++) {
-			entries[i].verify();
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 1, entryInfos.length);
-			assertEquals("Entry signer does not equal content signer", infos[0], entryInfos[0]);
-		}
-		signedFile.delete();
-		assertFalse("File should not exist", signedFile.exists());
-	}
-
-	//	SignedContent positive test: unsigned jar
-	public void testBug225090_02() throws Exception {
-		File unsignedFile = copyEntryFile(getTestJarPath("unsigned"));
-
-		assertNotNull("Could not find unsigned file!", unsignedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(unsignedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		assertFalse("Content is signed!!", signedContent.isSigned());
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		for (int i = 0; i < entries.length; i++) {
-			entries[i].verify();
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 0, entryInfos.length);
-		}
-		unsignedFile.delete();
-		assertFalse("File should not exist", unsignedFile.exists());
-	}
-
-	public void testBug228427_01() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed_with_metadata"));
-
-		assertNotNull("Could not find signed file!", signedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		assertTrue("Content is not signed!!", signedContent.isSigned());
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		assertEquals("Incorrect number of signed entries", 4, entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			entries[i].verify();
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 1, entryInfos.length);
-		}
-		signedFile.delete();
-		assertFalse("File should not exist", signedFile.exists());
-	}
-
-	public void testBug228427_02() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed_with_metadata_added"));
-
-		assertNotNull("Could not find signed file!", signedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		assertTrue("Content is not signed!!", signedContent.isSigned());
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		assertEquals("Incorrect number of signed entries", 4, entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			entries[i].verify();
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 1, entryInfos.length);
-		}
-		signedFile.delete();
-		assertFalse("File should not exist", signedFile.exists());
-	}
-
-	public void testBug228427_03() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed_with_metadata_corrupt"));
-
-		assertNotNull("Could not find signed file!", signedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		assertTrue("Content is not signed!!", signedContent.isSigned());
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		assertEquals("Incorrect number of signed entries", 4, entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			try {
-				entries[i].verify();
-				assertFalse("Wrong entry is validated: " + entries[i].getName(), "META-INF/test/test1.file".equals(entries[i].getName()));
-			} catch (InvalidContentException e) {
-				assertEquals("Wrong entry is corrupted", "META-INF/test/test1.file", entries[i].getName());
-			}
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 1, entryInfos.length);
-		}
-		signedFile.delete();
-		assertFalse("File should not exist", signedFile.exists());
-	}
-
-	public void testBug228427_04() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed_with_metadata_removed"));
-
-		assertNotNull("Could not find signed file!", signedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		SignedContent signedContent = getSignedContentFactory().getSignedContent(signedFile);
-		assertNotNull("SignedContent is null", signedContent);
-		assertTrue("Content is not signed!!", signedContent.isSigned());
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		assertNotNull("Entries is null", entries);
-		assertEquals("Incorrect number of signed entries", 4, entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			try {
-				entries[i].verify();
-				assertFalse("Wrong entry is validated: " + entries[i].getName(), "META-INF/test.file".equals(entries[i].getName()));
-			} catch (InvalidContentException e) {
-				assertEquals("Wrong entry is corrupted", "META-INF/test.file", entries[i].getName());
-			}
-			SignerInfo[] entryInfos = entries[i].getSignerInfos();
-			assertNotNull("SignerInfo is null", entryInfos);
-			assertEquals("wrong number of entry signers", 1, entryInfos.length);
-		}
-		signedFile.delete();
-		assertFalse("File should not exist", signedFile.exists());
-	}
-
-	public void testBug236329_01() throws Exception {
-		File signedFile = copyEntryFile(getTestJarPath("signed_with_sf_corrupted"));
-
-		assertNotNull("Could not find signed file!", signedFile);
-		//getTrustEngine().addTrustAnchor(anchor, alias);
-
-		// get the signed content for the bundle
-		try {
-			getSignedContentFactory().getSignedContent(signedFile);
-			fail("Should have gotten a SignatureException for file: " + signedFile);
-		} catch (SignatureException e) {
-			// expected
-		}
-	}
-
-	public void testBug252098() {
-
-		Bundle testBundle = null;
-		try {
-			testBundle = installBundle(getTestJarPath("test.bug252098"));
-			assertNotNull("Test bundle not installed!", testBundle);
-			testBundle.start();
-		} catch (Exception e) {
-			fail("Unexpected exception", e);
-		} finally {
-			try {
-				if (testBundle != null)
-					testBundle.uninstall();
-			} catch (BundleException e) {
-				fail("Failed to uninstall bundle", e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/AllSecurityAdminTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/AllSecurityAdminTests.java
deleted file mode 100644
index bbf56d9..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/AllSecurityAdminTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.securityadmin;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllSecurityAdminTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllSecurityAdminTests.class.getName());
-		suite.addTest(SecurityAdminUnitTests.suite());
-		suite.addTest(SecurityManagerTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
deleted file mode 100644
index 03d1c8b..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
+++ /dev/null
@@ -1,1015 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.securityadmin;
-
-import ext.framework.b.TestCondition;
-import java.io.FilePermission;
-import java.io.IOException;
-import java.net.SocketPermission;
-import java.security.*;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.internal.permadmin.EquinoxSecurityManager;
-import org.eclipse.osgi.internal.permadmin.SecurityAdmin;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.service.condpermadmin.*;
-import org.osgi.service.permissionadmin.PermissionInfo;
-
-public class SecurityAdminUnitTests extends AbstractBundleTests {
-
-	private static final PermissionInfo[] SOCKET_INFOS = new PermissionInfo[] {new PermissionInfo("java.net.SocketPermission", "localhost", "accept")}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final PermissionInfo[] READONLY_INFOS = new PermissionInfo[] {new PermissionInfo("java.io.FilePermission", "<<ALL FILES>>", "read")}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final PermissionInfo[] READWRITE_INFOS = new PermissionInfo[] {
-	// multiple permission infos
-			new PermissionInfo("java.io.FilePermission", "<<ALL FILES>>", "read"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			new PermissionInfo("java.io.FilePermission", "<<ALL FILES>>", "write") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	};
-
-	private static final PermissionInfo[] RUNTIME_INFOS = new PermissionInfo[] {new PermissionInfo("java.lang.RuntimePermission", "exitVM", null)}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	private static final ConditionInfo[] ALLLOCATION_CONDS = new ConditionInfo[] {new ConditionInfo("org.osgi.service.condpermadmin.BundleLocationCondition", new String[] {"*"})}; //$NON-NLS-1$ //$NON-NLS-2$
-	private static final ConditionInfo POST_MUT_SAT = new ConditionInfo("ext.framework.b.TestCondition", new String[] {"POST_MUT_SAT", "true", "true", "true"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	private static final ConditionInfo POST_MUT_UNSAT = new ConditionInfo("ext.framework.b.TestCondition", new String[] {"POST_MUT_UNSAT", "true", "true", "false"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-	private static final ConditionInfo SIGNER_CONDITION1 = new ConditionInfo("org.osgi.service.condpermadmin.BundleSignerCondition", new String[] {"*;cn=test1,c=US"}); //$NON-NLS-1$//$NON-NLS-2$
-	private static final ConditionInfo SIGNER_CONDITION2 = new ConditionInfo("org.osgi.service.condpermadmin.BundleSignerCondition", new String[] {"*;cn=test2,c=US"}); //$NON-NLS-1$//$NON-NLS-2$
-	private static final ConditionInfo NOT_SIGNER_CONDITION1 = new ConditionInfo("org.osgi.service.condpermadmin.BundleSignerCondition", new String[] {"*;cn=test1,c=US", "!"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-	private static final String TEST_BUNDLE = "test"; //$NON-NLS-1$
-	private static final String TEST2_BUNDLE = "test2"; //$NON-NLS-1$
-
-	//private static final ConditionInfo POST_MUT_NOTSAT = new ConditionInfo("ext.framework.b.TestCondition", new String[] {"POST_MUT_NOTSAT", "true", "true", "false"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	//private static final ConditionInfo POST_NOTMUT_SAT = new ConditionInfo("ext.framework.b.TestCondition", new String[] {"POST_NOTMUT_SAT", "true", "false", "true"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	//private static final ConditionInfo POST_NOTMUT_NOTSAT = new ConditionInfo("ext.framework.b.TestCondition", new String[] {"POST_NOTMUT_NOTSAT", "true", "false", "false"}); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-	public static Test suite() {
-		return new TestSuite(SecurityAdminUnitTests.class);
-	}
-
-	private SecurityAdmin createSecurityAdmin(EquinoxSecurityManager sm) {
-		return createSecurityAdmin(sm, null);
-	}
-
-	private SecurityAdmin createSecurityAdmin(EquinoxSecurityManager sm, String[] condPermInfos) {
-		try {
-			return new SecurityAdmin(sm, null, new TestPermissionStorage(condPermInfos));
-		} catch (IOException e) {
-			fail("unexpected exception creating SecuirtyAdmin", e); //$NON-NLS-1$;
-		}
-		return null;
-	}
-
-	public void testCreateSecurityAdmin() {
-		createSecurityAdmin(null);
-	}
-
-	public void testCreateDomain() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		if (!pd.implies(new AllPermission()))
-			fail("test bundle should have AllPermission"); //$NON-NLS-1$
-	}
-
-	public void testLocationPermission01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		securityAdmin.setPermissions(test.getLocation(), READONLY_INFOS);
-
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		securityAdmin.setPermissions(test.getLocation(), null);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testLocationPermission02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		securityAdmin.setPermissions(test.getLocation(), READWRITE_INFOS);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		securityAdmin.setPermissions(test.getLocation(), null);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testLocationPermission03() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-
-		securityAdmin.setDefaultPermissions(READONLY_INFOS);
-		securityAdmin.setPermissions(test.getLocation(), READWRITE_INFOS);
-		ConditionalPermissionInfo condPermInfo = securityAdmin.addConditionalPermissionInfo(ALLLOCATION_CONDS, SOCKET_INFOS);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		securityAdmin.setPermissions(test.getLocation(), null);
-
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo.delete();
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		securityAdmin.setDefaultPermissions(null);
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	public void testDefaultPermissions01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		securityAdmin.setDefaultPermissions(READONLY_INFOS);
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		securityAdmin.setDefaultPermissions(null);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testDefaultPermissions02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		securityAdmin.setDefaultPermissions(READONLY_INFOS);
-
-		securityAdmin.setPermissions(test.getLocation(), SOCKET_INFOS);
-
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		securityAdmin.setPermissions(test.getLocation(), null);
-
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		securityAdmin.setDefaultPermissions(null);
-
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testNotLocationCondition01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-
-		ConditionalPermissionInfo condPermInfo = securityAdmin.addConditionalPermissionInfo(getLocationConditions("xxx", true), SOCKET_INFOS); //$NON-NLS-1$
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo.delete();
-		testPermission(pd, new AllPermission(), true);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testNotLocationCondition02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-
-		ConditionalPermissionInfo condPermInfo = securityAdmin.addConditionalPermissionInfo(getLocationConditions(test.getLocation(), true), SOCKET_INFOS);
-		testPermission(pd, new AllPermission(), false);
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo.delete();
-		testPermission(pd, new AllPermission(), true);
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testMultipleLocationConditions01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-
-		ConditionalPermissionInfo condPermInfo1 = securityAdmin.addConditionalPermissionInfo(getLocationConditions("xxx", false), SOCKET_INFOS); //$NON-NLS-1$
-		ConditionalPermissionInfo condPermInfo2 = securityAdmin.addConditionalPermissionInfo(ALLLOCATION_CONDS, READONLY_INFOS);
-
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo1.delete();
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo2.delete();
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testMultipleLocationConditions02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-
-		ConditionalPermissionInfo condPermInfo1 = securityAdmin.addConditionalPermissionInfo(getLocationConditions("xxx", false), SOCKET_INFOS); //$NON-NLS-1$
-		ConditionalPermissionInfo condPermInfo2 = securityAdmin.addConditionalPermissionInfo(ALLLOCATION_CONDS, READONLY_INFOS);
-		ConditionalPermissionInfo condPermInfo3 = securityAdmin.addConditionalPermissionInfo(getLocationConditions(test.getLocation(), false), RUNTIME_INFOS);
-
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new RuntimePermission("exitVM", null), true); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo1.delete();
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new RuntimePermission("exitVM", null), true); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo2.delete();
-		testPermission(pd, new SocketPermission("localhost", "accept"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new RuntimePermission("exitVM", null), true); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		condPermInfo3.delete();
-		testPermission(pd, new SocketPermission("localhost", "accept"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new RuntimePermission("exitVM", null), true); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testUpdate01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		assertTrue("table is not empty", rows.isEmpty()); //$NON-NLS-1$
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-	}
-
-	public void testUpdate02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		ConditionalPermissionInfo info = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW);
-		rows.add(info);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.clear();
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testUpdate03() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		ConditionalPermissionInfo info1 = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READWRITE_INFOS, ConditionalPermissionInfo.DENY);
-		ConditionalPermissionInfo info2 = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW);
-		rows.add(info1);
-		rows.add(info2);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.remove(0);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.remove(0);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testUpdate04() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		ConditionalPermissionInfo info1 = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READWRITE_INFOS, ConditionalPermissionInfo.DENY);
-		ConditionalPermissionInfo info2 = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW);
-		rows.add(info1);
-		rows.add(info2);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		ConditionalPermissionUpdate update1 = securityAdmin.newConditionalPermissionUpdate();
-		List rows1 = update1.getConditionalPermissionInfos();
-		rows1.remove(0);
-
-		ConditionalPermissionUpdate update2 = securityAdmin.newConditionalPermissionUpdate();
-		List rows2 = update2.getConditionalPermissionInfos();
-		rows2.remove(0);
-		assertTrue("failed to commit", update2.commit()); //$NON-NLS-1$
-
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		testPermission(pd, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-
-		assertFalse("succeeded commit", update1.commit()); //$NON-NLS-1$
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.remove(0);
-
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		testPermission(pd, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), true);
-	}
-
-	public void testSecurityManager01() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		ConditionalPermissionInfo info = securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW);
-		rows.add(info);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		Bundle test = installTestBundle(TEST_BUNDLE);
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd};
-		testSMPermission(sm, pds, new FilePermission("test", "write"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testSMPermission(sm, pds, new AllPermission(), false);
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.clear();
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		testSMPermission(sm, pds, new FilePermission("test", "write"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testSMPermission(sm, pds, new AllPermission(), true);
-	}
-
-	public void testPostponedConditions01() {
-		installConditionBundle();
-		TestCondition.clearConditions();
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		SecurityAdmin securityAdmin = createSecurityAdmin(sm);
-		Bundle test1 = installTestBundle(TEST_BUNDLE);
-		Bundle test2 = installTestBundle(TEST2_BUNDLE);
-		ProtectionDomain pd1 = securityAdmin.createProtectionDomain(test1);
-		ProtectionDomain pd2 = securityAdmin.createProtectionDomain(test2);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd1, pd2};
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		TestCondition tc1sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test2.getBundleId()); //$NON-NLS-1$
-		TestCondition tc1unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test2.getBundleId()); //$NON-NLS-1$
-
-		assertNotNull("tc1sat", tc1sat); //$NON-NLS-1$
-		assertNotNull("tc2sat", tc2sat); //$NON-NLS-1$
-		assertNotNull("tc1unsat", tc1unsat); //$NON-NLS-1$
-		assertNotNull("tc2unsat", tc2unsat); //$NON-NLS-1$
-
-		tc1sat.setSatisfied(false);
-		tc2sat.setSatisfied(false);
-		tc1unsat.setSatisfied(true);
-		tc2unsat.setSatisfied(true);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		tc1sat.setSatisfied(true);
-		tc2sat.setSatisfied(true);
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.remove(0);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		tc1unsat.setSatisfied(false);
-		tc2unsat.setSatisfied(false);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.remove(0);
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testPostponedConditions02() {
-		installConditionBundle();
-		TestCondition.clearConditions();
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		SecurityAdmin securityAdmin = createSecurityAdmin(sm);
-		Bundle test1 = installTestBundle(TEST_BUNDLE);
-		Bundle test2 = installTestBundle(TEST2_BUNDLE);
-		ProtectionDomain pd1 = securityAdmin.createProtectionDomain(test1);
-		ProtectionDomain pd2 = securityAdmin.createProtectionDomain(test2);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd1, pd2};
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		TestCondition tc1sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test2.getBundleId()); //$NON-NLS-1$
-		TestCondition tc1unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test2.getBundleId()); //$NON-NLS-1$
-
-		// Note that we need to avoid an ordering assumption on the order in which
-		// ProtectionDomains are processed by the AccessControlContext (bug 269917)
-		// Just make sure both tc1 and tc2 are not non-null at the same time.
-		assertTrue("tc1sat and tc2sat are either both null or both non-null", (tc1sat == null) ^ (tc2sat == null)); //$NON-NLS-1$
-		assertTrue("tc1unsat and tc2unsat are either both null or both non-null", (tc1unsat == null) ^ (tc2unsat == null)); //$NON-NLS-1$
-
-		TestCondition modifySat = tc1sat != null ? tc1sat : tc2sat;
-		TestCondition modifyUnsat = tc1unsat != null ? tc1unsat : tc2unsat;
-		modifySat.setSatisfied(false);
-		modifyUnsat.setSatisfied(true);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testPostponedConditions03() {
-		installConditionBundle();
-		TestCondition.clearConditions();
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		SecurityAdmin securityAdmin = createSecurityAdmin(sm);
-		Bundle test1 = installTestBundle(TEST_BUNDLE);
-		Bundle test2 = installTestBundle(TEST2_BUNDLE);
-		ProtectionDomain pd1 = securityAdmin.createProtectionDomain(test1);
-		ProtectionDomain pd2 = securityAdmin.createProtectionDomain(test2);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd1, pd2};
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-
-		TestCondition tc1sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test2.getBundleId()); //$NON-NLS-1$
-		TestCondition tc1unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test2.getBundleId()); //$NON-NLS-1$
-
-		assertNotNull("tc1sat", tc1sat); //$NON-NLS-1$
-		assertNotNull("tc2sat", tc2sat); //$NON-NLS-1$
-		assertNotNull("tc1unsat", tc1unsat); //$NON-NLS-1$
-		assertNotNull("tc2unsat", tc2unsat); //$NON-NLS-1$
-
-		tc1sat.setSatisfied(false);
-		tc2sat.setSatisfied(false);
-		tc1unsat.setSatisfied(true);
-		tc2unsat.setSatisfied(true);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testPostponedConditions04() {
-		installConditionBundle();
-		TestCondition.clearConditions();
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		SecurityAdmin securityAdmin = createSecurityAdmin(sm);
-		Bundle test1 = installTestBundle(TEST_BUNDLE);
-		Bundle test2 = installTestBundle(TEST2_BUNDLE);
-		ProtectionDomain pd1 = securityAdmin.createProtectionDomain(test1);
-		ProtectionDomain pd2 = securityAdmin.createProtectionDomain(test2);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd1, pd2};
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		TestCondition tc1sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test2.getBundleId()); //$NON-NLS-1$
-		TestCondition tc1unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test2.getBundleId()); //$NON-NLS-1$
-
-		// Note that we need to avoid an ordering assumption on the order in which
-		// ProtectionDomains are processed by the AccessControlContext (bug 269917)
-		// Just make sure both tc1 and tc2 are not non-null at the same time.
-		assertTrue("tc1sat and tc2sat are either both null or both non-null", (tc1sat == null) ^ (tc2sat == null)); //$NON-NLS-1$
-		assertTrue("tc1unsat and tc2unsat are either both null or both non-null", (tc1unsat == null) ^ (tc2unsat == null)); //$NON-NLS-1$
-
-		TestCondition modifySat = tc1sat != null ? tc1sat : tc2sat;
-		TestCondition modifyUnsat = tc1unsat != null ? tc1unsat : tc2unsat;
-		modifySat.setSatisfied(false);
-		modifyUnsat.setSatisfied(true);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testPostponedConditions05() {
-		installConditionBundle();
-		TestCondition.clearConditions();
-		EquinoxSecurityManager sm = new EquinoxSecurityManager();
-		SecurityAdmin securityAdmin = createSecurityAdmin(sm);
-		Bundle test1 = installTestBundle(TEST_BUNDLE);
-		Bundle test2 = installTestBundle(TEST2_BUNDLE);
-		ProtectionDomain pd1 = securityAdmin.createProtectionDomain(test1);
-		ProtectionDomain pd2 = securityAdmin.createProtectionDomain(test2);
-		ProtectionDomain[] pds = new ProtectionDomain[] {pd1, pd2};
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_SAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {POST_MUT_UNSAT}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, ALLLOCATION_CONDS, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$);
-
-		testSMPermission(sm, pds, new FilePermission("test", "read"), false); //$NON-NLS-1$ //$NON-NLS-2$
-
-		TestCondition tc1sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2sat = TestCondition.getTestCondition("POST_MUT_SAT_" + test2.getBundleId()); //$NON-NLS-1$
-		TestCondition tc1unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test1.getBundleId()); //$NON-NLS-1$
-		TestCondition tc2unsat = TestCondition.getTestCondition("POST_MUT_UNSAT_" + test2.getBundleId()); //$NON-NLS-1$
-
-		assertNotNull("tc1sat", tc1sat); //$NON-NLS-1$
-		assertNotNull("tc2sat", tc2sat); //$NON-NLS-1$
-		assertNotNull("tc1unsat", tc1unsat); //$NON-NLS-1$
-		assertNotNull("tc2unsat", tc2unsat); //$NON-NLS-1$
-
-		tc1sat.setSatisfied(false);
-		tc2sat.setSatisfied(false);
-		testSMPermission(sm, pds, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testAccessControlContext01() {
-		// test single row with signer condition
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test1,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAccessControlContext01a() {
-		// test single row with signer condition
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=test1,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAccessControlContext02() {
-		// test with DENY row
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READWRITE_INFOS, ConditionalPermissionInfo.DENY));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READWRITE_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test1,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAccessControlContext03() {
-		// test multiple signer conditions
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-
-		update = securityAdmin.newConditionalPermissionUpdate();
-		rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION2}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAccessControlContext04() {
-		// test multiple signer conditions
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1, SIGNER_CONDITION2}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READWRITE_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-
-		acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test1,c=US", "cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$ //$NON-NLS-2$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testAccessControlContext05() {
-		// test with empty rows
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-			acc.checkPermission(new AllPermission());
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-		// set the default permissions
-		securityAdmin.setDefaultPermissions(READWRITE_INFOS);
-		acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-		try {
-			acc.checkPermission(new AllPermission());
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-	}
-
-	public void testAccessControlContext06() {
-		// test with empty condition rows
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {SIGNER_CONDITION1}, READWRITE_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-	}
-
-	public void testAccessControlContext07() {
-		// test ! signer condition
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {NOT_SIGNER_CONDITION1}, READONLY_INFOS, ConditionalPermissionInfo.ALLOW));
-		assertTrue("failed to commit", update.commit()); //$NON-NLS-1$
-		AccessControlContext acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test1,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-
-		acc = securityAdmin.getAccessControlContext(new String[] {"cn=t1,c=FR;cn=test2,c=US"}); //$NON-NLS-1$
-		try {
-			acc.checkPermission(new FilePermission("test", "write")); //$NON-NLS-1$ //$NON-NLS-2$
-			fail("expecting AccessControlExcetpion"); //$NON-NLS-1$
-		} catch (AccessControlException e) {
-			// expected
-		}
-		try {
-			acc.checkPermission(new FilePermission("test", "read")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (AccessControlException e) {
-			fail("Unexpected AccessControlExcetpion", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testEncodingInfos01() {
-		String info1 = "ALLOW { [Test1] (Type1 \"name1\" \"action1\") } \"name1\""; //$NON-NLS-1$
-		String info2 = "ALLOW { [Test2] (Type2 \"name2\" \"action2\") } \"name2\""; //$NON-NLS-1$
-		String info3 = "deny { [Test3] (Type3 \"name3\" \"action3\") } \"name3\""; //$NON-NLS-1$
-
-		String[] condPermInfos = new String[] {info1, info2};
-		SecurityAdmin securityAdmin = createSecurityAdmin(null, condPermInfos);
-		ArrayList infos = new ArrayList();
-		for (Enumeration eInfos = securityAdmin.getConditionalPermissionInfos(); eInfos.hasMoreElements();)
-			infos.add(eInfos.nextElement());
-		assertEquals("Wrong number of infos", 2, infos.size()); //$NON-NLS-1$
-		assertTrue("Missing info1", infos.contains(securityAdmin.newConditionalPermissionInfo(info1))); //$NON-NLS-1$
-		assertTrue("Missing info2", infos.contains(securityAdmin.newConditionalPermissionInfo(info2))); //$NON-NLS-1$
-		assertEquals("Wrong index of info1", 0, infos.indexOf(securityAdmin.newConditionalPermissionInfo(info1))); //$NON-NLS-1$
-		assertEquals("Wrong index of info2", 1, infos.indexOf(securityAdmin.newConditionalPermissionInfo(info2))); //$NON-NLS-1$
-
-		ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
-		List updateInfos = update.getConditionalPermissionInfos();
-		assertTrue("Info lists are not equal", updateInfos.equals(infos)); //$NON-NLS-1$
-		updateInfos.add(securityAdmin.newConditionalPermissionInfo(info3));
-		assertTrue("Failed commit", update.commit()); //$NON-NLS-1$
-
-		infos = new ArrayList();
-		for (Enumeration eInfos = securityAdmin.getConditionalPermissionInfos(); eInfos.hasMoreElements();)
-			infos.add(eInfos.nextElement());
-		assertTrue("Info lists are not equal", updateInfos.equals(infos)); //$NON-NLS-1$
-	}
-
-	public void testEncodingInfos02() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-
-		ConditionInfo cond1 = new ConditionInfo("Test1", new String[] {"arg1", "arg2"}); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-		ConditionInfo cond2 = new ConditionInfo("Test1", new String[] {"arg1", "arg2", "arg3"}); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
-		ConditionInfo cond3 = new ConditionInfo("Test1", new String[] {"test } test", "} test"}); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-
-		PermissionInfo perm1 = new PermissionInfo("Type1", "name1", "action1"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-		PermissionInfo perm2 = new PermissionInfo("Type1", "}", "test }"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-
-		// good info; mix case decision
-		ConditionalPermissionInfo testInfo1 = securityAdmin.newConditionalPermissionInfo("name1", new ConditionInfo[] {cond1}, new PermissionInfo[] {perm1}, "allow"); //$NON-NLS-1$ //$NON-NLS-2$
-		ConditionalPermissionInfo testInfo2 = checkGoodInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("name1", new ConditionInfo[] {cond2}, new PermissionInfo[] {perm1}, "deny"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("dEnY { [Test1 \"arg1\" \"arg2\" \"arg3\"] (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; no conditions
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("name1", null, new PermissionInfo[] {perm1}, "deny"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("dEnY { (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; no name
-		testInfo1 = securityAdmin.newConditionalPermissionInfo(null, new ConditionInfo[] {cond1}, new PermissionInfo[] {perm1}, "allow"); //$NON-NLS-1$
-		testInfo2 = checkGoodInfo("allow { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") }", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; empty name
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("", new ConditionInfo[] {cond1}, new PermissionInfo[] {perm1}, "allow"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("allow { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } \"\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; no white space
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("name1", new ConditionInfo[] {cond1}, new PermissionInfo[] {perm1}, "allow"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("allow{[Test1 \"arg1\" \"arg2\"](Type1 \"name1\" \"action1\")}\"name1\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; '}' in quoted value
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("name", new ConditionInfo[] {cond3}, new PermissionInfo[] {perm2}, "allow"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("allow { [Test1 \"test } test\" \"} test\"] (Type1 \"}\" \"test }\") } \"name\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// good info; '}' in quoted value
-		testInfo1 = securityAdmin.newConditionalPermissionInfo("na } me", new ConditionInfo[] {cond3}, new PermissionInfo[] {perm2}, "allow"); //$NON-NLS-1$ //$NON-NLS-2$
-		testInfo2 = checkGoodInfo("allow { [Test1 \"test } test\" \"} test\"] (Type1 \"}\" \"test }\") } \"na } me\"", securityAdmin); //$NON-NLS-1$
-		checkInfos(testInfo1, testInfo2);
-
-		// bad decision test
-		checkBadInfo("invalid { [Test1] (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		// bad condition; missing type
-		checkBadInfo("allow { [] (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		checkBadInfo("deny { [\"arg1\"] (Type1 \"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		// bad permission (none)
-		checkBadInfo("ALLOW { [Test1 \"arg1\" \"arg2\"] } \"name1\"", securityAdmin); //$NON-NLS-1$
-		// bad permission; missing type
-		checkBadInfo("ALLOW { [Test1 \"arg1\" \"arg2\"] () } \"name1\"", securityAdmin); //$NON-NLS-1$
-		checkBadInfo("ALLOW { [Test1 \"arg1\" \"arg2\"] (\"name1\" \"action1\") } \"name1\"", securityAdmin); //$NON-NLS-1$
-		// bad name; no quotes
-		checkBadInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } name1", securityAdmin); //$NON-NLS-1$
-		// bad name; missing end quote
-		checkBadInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } \"name1", securityAdmin); //$NON-NLS-1$
-		// bad name; missing start quote
-		checkBadInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } name1\"", securityAdmin); //$NON-NLS-1$
-		// bad name; single quote
-		checkBadInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } \"", securityAdmin); //$NON-NLS-1$
-		// bad name; extra stuff
-		checkBadInfo("AlLoW { [Test1 \"arg1\" \"arg2\"] (Type1 \"name1\" \"action1\") } \"name1\" extrajunk", securityAdmin); //$NON-NLS-1$
-
-	}
-
-	public void testBug286307() {
-		SecurityAdmin securityAdmin = createSecurityAdmin(null);
-		Bundle test = installTestBundle("test.bug286307"); //$NON-NLS-1$
-		ProtectionDomain pd = securityAdmin.createProtectionDomain(test);
-		testPermission(pd, new FilePermission("test", "read"), true); //$NON-NLS-1$ //$NON-NLS-2$
-		testPermission(pd, new AllPermission(), false);
-	}
-
-	private void checkInfos(ConditionalPermissionInfo testInfo1, ConditionalPermissionInfo testInfo2) {
-		assertTrue("Infos are not equal: " + testInfo1.getEncoded() + " " + testInfo2.getEncoded(), testInfo1.equals(testInfo2)); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("Info hash code is not equal", testInfo1.hashCode(), testInfo2.hashCode()); //$NON-NLS-1$
-	}
-
-	private void checkBadInfo(String encoded, SecurityAdmin securityAdmin) {
-		try {
-			securityAdmin.newConditionalPermissionInfo(encoded);
-			fail("Expecting fail with bad info: " + encoded); //$NON-NLS-1$
-		} catch (IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	private ConditionalPermissionInfo checkGoodInfo(String encoded, SecurityAdmin securityAdmin) {
-		try {
-			return securityAdmin.newConditionalPermissionInfo(encoded);
-		} catch (IllegalArgumentException e) {
-			fail("Unexpected failure with good info: " + encoded, e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private void testSMPermission(EquinoxSecurityManager sm, ProtectionDomain[] pds, Permission permission, boolean expectedToPass) {
-		AccessControlContext acc = new AccessControlContext(pds);
-		try {
-			sm.checkPermission(permission, acc);
-			if (!expectedToPass)
-				fail("test should not have the permission " + permission); //$NON-NLS-1$
-		} catch (SecurityException e) {
-			if (expectedToPass)
-				fail("test should have the permission " + permission); //$NON-NLS-1$
-		}
-	}
-
-	private void testPermission(ProtectionDomain pd, Permission permission, boolean expectedToPass) {
-		if (expectedToPass ^ pd.implies(permission))
-			fail("test should" + (expectedToPass ? "" : " not") + " have the permission " + permission); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-
-	private ConditionInfo[] getLocationConditions(String location, boolean not) {
-		String[] args = not ? new String[] {location, "!"} : new String[] {location}; //$NON-NLS-1$
-		return new ConditionInfo[] {new ConditionInfo("org.osgi.service.condpermadmin.BundleLocationCondition", args)}; //$NON-NLS-1$
-	}
-
-	private Bundle installTestBundle(String name) {
-		try {
-			return installer.installBundle(name);
-		} catch (BundleException e) {
-			fail("failed to install bundle: " + name, e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private Bundle installConditionBundle() {
-		try {
-			Bundle bundle = installer.installBundle("ext.framework.b", false); //$NON-NLS-1$
-			installer.resolveBundles(new Bundle[] {bundle});
-			return bundle;
-		} catch (BundleException e) {
-			fail("failed to install bundle", e); //$NON-NLS-1$
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
deleted file mode 100644
index 0098a0e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.securityadmin;
-
-import java.io.File;
-import java.security.*;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.framework.internal.core.Framework;
-import org.eclipse.osgi.launch.Equinox;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-import org.osgi.service.condpermadmin.*;
-import org.osgi.service.packageadmin.*;
-import org.osgi.service.permissionadmin.PermissionInfo;
-import org.osgi.service.startlevel.StartLevel;
-
-public class SecurityManagerTests extends AbstractBundleTests {
-	private static final PermissionInfo hostFragmentPermission = new PermissionInfo(BundlePermission.class.getName(), "*", "host,fragment"); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final PermissionInfo hostFragmentProvidePermission = new PermissionInfo(BundlePermission.class.getName(), "*", "host,fragment,provide"); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final PermissionInfo allPackagePermission = new PermissionInfo(PackagePermission.class.getName(), "*", "import,export"); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final PermissionInfo importPackagePermission = new PermissionInfo(PackagePermission.class.getName(), "*", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final PermissionInfo importFrameworkPackagePermission = new PermissionInfo(PackagePermission.class.getName(), "org.osgi.framework", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-	private Policy previousPolicy;
-
-	public static Test suite() {
-		return new TestSuite(SecurityManagerTests.class);
-	}
-
-	protected void setUp() throws Exception {
-		if (System.getSecurityManager() != null)
-			fail("Cannot test with security manager set"); //$NON-NLS-1$
-		previousPolicy = Policy.getPolicy();
-		final Permission allPermission = new AllPermission();
-		final PermissionCollection allPermissions = new PermissionCollection() {
-			private static final long serialVersionUID = 3258131349494708277L;
-
-			// A simple PermissionCollection that only has AllPermission
-			public void add(Permission permission) {
-				//no adding to this policy
-			}
-
-			public boolean implies(Permission permission) {
-				return true;
-			}
-
-			public Enumeration elements() {
-				return new Enumeration() {
-					int cur = 0;
-
-					public boolean hasMoreElements() {
-						return cur < 1;
-					}
-
-					public Object nextElement() {
-						if (cur == 0) {
-							cur = 1;
-							return allPermission;
-						}
-						throw new NoSuchElementException();
-					}
-				};
-			}
-		};
-
-		Policy.setPolicy(new Policy() {
-
-			public PermissionCollection getPermissions(CodeSource codesource) {
-				return allPermissions;
-			}
-
-			public void refresh() {
-				// nothing
-			}
-
-		});
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (System.getSecurityManager() != null)
-			System.setSecurityManager(null);
-		Policy.setPolicy(previousPolicy);
-	}
-
-	public void testEnableSecurityManager01() {
-		File config = OSGiTestsActivator.getContext().getDataFile("testEnableSecurityManager01"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testEnableSecurityManager02() throws BundleException {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testEnableSecurityManager02"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing host and fragment to test bug 245678
-		String locationSecurityA = installer.getBundleLocation("security.a"); //$NON-NLS-1$
-		String locationSecurityAFragA = installer.getBundleLocation("security.a.frag.a"); //$NON-NLS-1$
-		// set the security for the host and fragment
-		ConditionalPermissionAdmin ca = (ConditionalPermissionAdmin) systemContext.getService(systemContext.getServiceReference(ConditionalPermissionAdmin.class.getName()));
-		ConditionalPermissionUpdate update = ca.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(ca.newConditionalPermissionInfo(null, null, new PermissionInfo[] {hostFragmentPermission, allPackagePermission}, ConditionalPermissionInfo.ALLOW));
-		assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-
-		Bundle securityA = systemContext.installBundle(locationSecurityA);
-		systemContext.installBundle(locationSecurityAFragA);
-
-		equinox.start();
-
-		try {
-			securityA.start();
-		} catch (BundleException e) {
-			fail("Failed to start securityA", e); //$NON-NLS-1$
-		} finally {
-			// put the framework back to the RESOLVED state
-			equinox.stop();
-
-			try {
-				equinox.waitForStop(10000);
-			} catch (InterruptedException e) {
-				fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-			}
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testEnableSecurityManager03() throws BundleException {
-		File config = OSGiTestsActivator.getContext().getDataFile("testEnableSecurityManager03"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
-		String locationSecurityA = installer.getBundleLocation("security.a"); //$NON-NLS-1$
-		// set the security for the bundle
-		ConditionalPermissionAdmin ca = (ConditionalPermissionAdmin) systemContext.getService(systemContext.getServiceReference(ConditionalPermissionAdmin.class.getName()));
-		ConditionalPermissionUpdate update = ca.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(ca.newConditionalPermissionInfo(null, null, new PermissionInfo[] {hostFragmentPermission, importPackagePermission}, ConditionalPermissionInfo.ALLOW));
-		assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-
-		Bundle securityA = systemContext.installBundle(locationSecurityA);
-
-		equinox.start();
-		PackageAdmin pa = (PackageAdmin) systemContext.getService(systemContext.getServiceReference(PackageAdmin.class.getName()));
-
-		try {
-			assertTrue(pa.resolveBundles(new Bundle[] {securityA}));
-			ExportedPackage[] eps = pa.getExportedPackages(securityA);
-			assertNull("Found unexpected exports", eps); //$NON-NLS-1$
-			RequiredBundle[] rbs = pa.getRequiredBundles(securityA.getSymbolicName());
-			assertNull("Found unexpected required bundle", rbs); //$NON-NLS-1$
-			// grant export permission
-			update = ca.newConditionalPermissionUpdate();
-			rows = update.getConditionalPermissionInfos();
-			rows.clear();
-			rows.add(ca.newConditionalPermissionInfo(null, null, new PermissionInfo[] {hostFragmentProvidePermission, allPackagePermission}, ConditionalPermissionInfo.ALLOW));
-			assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-
-			securityA.uninstall();
-			securityA = systemContext.installBundle(locationSecurityA);
-			assertTrue(pa.resolveBundles(new Bundle[] {securityA}));
-			eps = pa.getExportedPackages(securityA);
-			assertNotNull("Did not find expected exports", eps); //$NON-NLS-1$
-			assertEquals("Wrong number of exports found", 1, eps.length); //$NON-NLS-1$
-			rbs = pa.getRequiredBundles(securityA.getSymbolicName());
-			assertNotNull("Did not find required bundle", eps); //$NON-NLS-1$
-			assertEquals("Wrong number of required bundles found", 1, rbs.length); //$NON-NLS-1$
-
-		} finally {
-			// put the framework back to the RESOLVED state
-			equinox.stop();
-
-			try {
-				equinox.waitForStop(10000);
-			} catch (InterruptedException e) {
-				fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-			}
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testEnableSecurityManager04() throws BundleException {
-		File config = OSGiTestsActivator.getContext().getDataFile("testEnableSecurityManager04"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
-		String locationLinkA = installer.getBundleLocation("test.link.a"); //$NON-NLS-1$
-		String locationLinkAClient = installer.getBundleLocation("test.link.a.client"); //$NON-NLS-1$
-
-		// set the security for the bundles
-		ConditionInfo linkACondition = new ConditionInfo(BundleLocationCondition.class.getName(), new String[] {locationLinkA});
-		ConditionInfo linkAClientCondition = new ConditionInfo(BundleLocationCondition.class.getName(), new String[] {locationLinkAClient});
-		PermissionInfo filterPermission = new PermissionInfo(PackagePermission.class.getName(), "(&(name=test.link.a)(package.name=test.link.*))", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-		ConditionalPermissionAdmin ca = (ConditionalPermissionAdmin) systemContext.getService(systemContext.getServiceReference(ConditionalPermissionAdmin.class.getName()));
-		ConditionalPermissionUpdate update = ca.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(ca.newConditionalPermissionInfo(null, new ConditionInfo[] {linkACondition}, new PermissionInfo[] {hostFragmentProvidePermission, allPackagePermission}, ConditionalPermissionInfo.ALLOW));
-		rows.add(ca.newConditionalPermissionInfo(null, new ConditionInfo[] {linkAClientCondition}, new PermissionInfo[] {importFrameworkPackagePermission, filterPermission}, ConditionalPermissionInfo.ALLOW));
-		assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-
-		Bundle linkA = systemContext.installBundle(locationLinkA);
-		Bundle linkAClient = systemContext.installBundle(locationLinkAClient);
-		equinox.start();
-		PackageAdmin pa = (PackageAdmin) systemContext.getService(systemContext.getServiceReference(PackageAdmin.class.getName()));
-
-		try {
-			assertTrue(pa.resolveBundles(new Bundle[] {linkA, linkAClient}));
-			// change import permission to fail filter match
-			filterPermission = new PermissionInfo(PackagePermission.class.getName(), "(&(name=fail.match)(package.name=test.link.*))", "import"); //$NON-NLS-1$ //$NON-NLS-2$
-			update = ca.newConditionalPermissionUpdate();
-			rows = update.getConditionalPermissionInfos();
-			rows.clear();
-			rows.add(ca.newConditionalPermissionInfo(null, new ConditionInfo[] {linkACondition}, new PermissionInfo[] {hostFragmentProvidePermission, allPackagePermission}, ConditionalPermissionInfo.ALLOW));
-			rows.add(ca.newConditionalPermissionInfo(null, new ConditionInfo[] {linkAClientCondition}, new PermissionInfo[] {importFrameworkPackagePermission, filterPermission}, ConditionalPermissionInfo.ALLOW));
-			assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-			pa.refreshPackages(new Bundle[] {linkA, linkAClient});
-			// hack to wait for refresh to end
-			Thread.sleep(2000);
-			assertEquals("linkA has wrong state", Bundle.RESOLVED, linkA.getState()); //$NON-NLS-1$
-			assertEquals("linkAClient has wrong state", Bundle.INSTALLED, linkAClient.getState()); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// fail
-			fail("interrupted", e); //$NON-NLS-1$
-		} finally {
-			// put the framework back to the RESOLVED state
-			equinox.stop();
-
-			try {
-				equinox.waitForStop(10000);
-			} catch (InterruptedException e) {
-				fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-			}
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testEnableSecurityManager05() throws BundleException {
-		File config = OSGiTestsActivator.getContext().getDataFile(getName()); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
-		String locationLinkA = installer.getBundleLocation("test.link.a"); //$NON-NLS-1$
-		String locationLinkAClient = installer.getBundleLocation("test.link.a.client"); //$NON-NLS-1$
-
-		Bundle linkA = systemContext.installBundle(locationLinkA);
-		Bundle linkAClient = systemContext.installBundle(locationLinkAClient);
-		equinox.start();
-
-		try {
-			PackageAdmin pa = (PackageAdmin) systemContext.getService(systemContext.getServiceReference(PackageAdmin.class.getName()));
-			assertTrue(pa.resolveBundles(new Bundle[] {linkA, linkAClient}));
-			linkA.uninstall();
-			linkAClient.uninstall();
-
-			linkA = systemContext.installBundle(locationLinkA);
-			linkAClient = systemContext.installBundle(locationLinkAClient);
-			assertTrue(pa.resolveBundles(new Bundle[] {linkA, linkAClient}));
-		} finally {
-			// put the framework back to the RESOLVED state
-			equinox.stop();
-
-			try {
-				equinox.waitForStop(10000);
-			} catch (InterruptedException e) {
-				fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-			}
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testLocalization01() throws BundleException {
-		// create/start/stop/start/stop test
-		File config = OSGiTestsActivator.getContext().getDataFile("testLocalization01"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing host and fragment to test bug 245678
-		String locationSecurityA = installer.getBundleLocation("security.a"); //$NON-NLS-1$
-		String locationSecurityAFragA = installer.getBundleLocation("security.a.frag.a"); //$NON-NLS-1$
-		// set the security for the host and fragment
-		ConditionalPermissionAdmin ca = (ConditionalPermissionAdmin) systemContext.getService(systemContext.getServiceReference(ConditionalPermissionAdmin.class.getName()));
-		ConditionalPermissionUpdate update = ca.newConditionalPermissionUpdate();
-		List rows = update.getConditionalPermissionInfos();
-		rows.add(ca.newConditionalPermissionInfo(null, null, new PermissionInfo[] {hostFragmentPermission, allPackagePermission}, ConditionalPermissionInfo.ALLOW));
-		assertTrue("Cannot commit rows", update.commit()); //$NON-NLS-1$
-
-		Bundle securityA = systemContext.installBundle(locationSecurityA);
-		systemContext.installBundle(locationSecurityAFragA);
-
-		equinox.start();
-
-		try {
-			securityA.start();
-			Dictionary headers = securityA.getHeaders("en_US"); //$NON-NLS-1$
-			String name = (String) headers.get(Constants.BUNDLE_NAME);
-			assertEquals("Wrong Bundle-Name", "en_US", name); //$NON-NLS-1$ //$NON-NLS-2$
-
-			headers = securityA.getHeaders("en"); //$NON-NLS-1$
-			name = (String) headers.get(Constants.BUNDLE_NAME);
-			assertEquals("Wrong Bundle-Name", "default", name); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BundleException e) {
-			fail("Failed to start securityA", e); //$NON-NLS-1$
-		} finally {
-			// put the framework back to the RESOLVED state
-			equinox.stop();
-
-			try {
-				equinox.waitForStop(10000);
-			} catch (InterruptedException e) {
-				fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-			}
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testBug254600() {
-		File config = OSGiTestsActivator.getContext().getDataFile("testBug254600"); //$NON-NLS-1$
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-
-		Bundle securityB = null;
-		long idB = -1;
-		try {
-			String locationSecurityA = installer.getBundleLocation("security.a"); //$NON-NLS-1$
-			String locationSecurityB = installer.getBundleLocation("security.b"); //$NON-NLS-1$
-			systemContext.installBundle(locationSecurityA);
-			securityB = systemContext.installBundle(locationSecurityB);
-			idB = securityB.getBundleId();
-		} catch (BundleException e) {
-			fail("Failed to install security test bundles", e); //$NON-NLS-1$
-		}
-
-		try {
-			securityB.start();
-			securityB.stop();
-		} catch (BundleException e) {
-			fail("Failed to start security.b bundle", e); //$NON-NLS-1$
-		}
-
-		// put the framework back to the RESOLVED state
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		securityB = systemContext.getBundle(idB);
-
-		try {
-			securityB.start();
-			securityB.stop();
-		} catch (BundleException e) {
-			fail("Failed to start security.b bundle", e); //$NON-NLS-1$
-		}
-
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-	public void testBug287750() {
-		File config = OSGiTestsActivator.getContext().getDataFile(getName());
-		Properties configuration = new Properties();
-		configuration.put(Constants.FRAMEWORK_STORAGE, config.getAbsolutePath());
-		configuration.put(Constants.FRAMEWORK_SECURITY, Framework.SECURITY_OSGI);
-		Equinox equinox = new Equinox(configuration);
-		try {
-			equinox.init();
-		} catch (BundleException e) {
-			fail("Unexpected exception on init()", e); //$NON-NLS-1$
-		}
-		assertNotNull("SecurityManager is null", System.getSecurityManager()); //$NON-NLS-1$
-		// should be in the STARTING state
-		assertEquals("Wrong state for SystemBundle", Bundle.STARTING, equinox.getState()); //$NON-NLS-1$
-		try {
-			equinox.start();
-		} catch (BundleException e) {
-			fail("Failed to start the framework", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.ACTIVE, equinox.getState()); //$NON-NLS-1$
-
-		BundleContext systemContext = equinox.getBundleContext();
-		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-
-		Bundle testBundle = null;
-		try {
-			String locationTestBundle = installer.getBundleLocation("test.bug287750"); //$NON-NLS-1$
-			testBundle = systemContext.installBundle(locationTestBundle);
-		} catch (BundleException e) {
-			fail("Failed to install security test bundles", e); //$NON-NLS-1$
-		}
-
-		try {
-			testBundle.start();
-		} catch (BundleException e) {
-			fail("Failed to start security.b bundle", e); //$NON-NLS-1$
-		}
-		StartLevel sl = (StartLevel) systemContext.getService(systemContext.getServiceReference(StartLevel.class.getName()));
-		if (sl.getStartLevel() != 10)
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e1) {
-				// nothing
-			}
-		assertEquals("Wrong startlevel", 10, sl.getStartLevel()); //$NON-NLS-1$
-		try {
-			equinox.stop();
-		} catch (BundleException e) {
-			fail("Unexpected erorr stopping framework", e); //$NON-NLS-1$
-		}
-		try {
-			equinox.waitForStop(10000);
-		} catch (InterruptedException e) {
-			fail("Unexpected interrupted exception", e); //$NON-NLS-1$
-		}
-		assertEquals("Wrong state for SystemBundle", Bundle.RESOLVED, equinox.getState()); //$NON-NLS-1$
-		assertNull("SecurityManager is not null", System.getSecurityManager()); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/TestPermissionStorage.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/TestPermissionStorage.java
deleted file mode 100644
index 627d9b7..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/TestPermissionStorage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.osgi.tests.securityadmin;
-
-import java.io.IOException;
-import org.eclipse.osgi.framework.adaptor.PermissionStorage;
-
-public class TestPermissionStorage implements PermissionStorage {
-
-	private String[] conditionPermissionInfo;
-
-	public TestPermissionStorage(String[] conditionPermissionInfo) {
-		this.conditionPermissionInfo = conditionPermissionInfo;
-	}
-
-	public String[] getConditionalPermissionInfos() throws IOException {
-		return conditionPermissionInfo;
-	}
-
-	public String[] getLocations() throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public String[] getPermissionData(String location) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void saveConditionalPermissionInfos(String[] infos) throws IOException {
-		conditionPermissionInfo = infos;
-
-	}
-
-	public void setPermissionData(String location, String[] data) throws IOException {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
deleted file mode 100644
index a7c735f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.serviceregistry;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class ServiceExceptionTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(ServiceExceptionTests.class);
-	}
-
-	public void testServiceException01() {
-		final String testMethodName = "testServiceException01"; //$NON-NLS-1$
-		// test a service factory which returns wrong object types
-		ServiceExceptionServiceFactory wrongObjectFactory = new ServiceExceptionServiceFactory("A String"); //$NON-NLS-1$
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), wrongObjectFactory, props);
-		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), null, ServiceException.FACTORY_ERROR);
-		OSGiTestsActivator.getContext().addFrameworkListener(listener);
-		try {
-			ServiceReference[] refs = null;
-			try {
-				refs = OSGiTestsActivator.getContext().getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 1, refs.length); //$NON-NLS-1$
-			Runnable service = null;
-			try {
-				service = (Runnable) OSGiTestsActivator.getContext().getService(refs[0]);
-			} catch (ClassCastException e) {
-				fail("Unexpected cast exception", e); //$NON-NLS-1$
-			}
-			assertNull("service is not null", service); //$NON-NLS-1$
-			listener.waitForEvent("Failed to fire ServiceException"); //$NON-NLS-1$
-			OSGiTestsActivator.getContext().ungetService(refs[0]);
-			Error error = wrongObjectFactory.getUngetFailure();
-			if (error != null)
-				throw error;
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (listener != null)
-				OSGiTestsActivator.getContext().removeFrameworkListener(listener);
-		}
-	}
-
-	public void testServiceException02() {
-		final String testMethodName = "testServiceException02"; //$NON-NLS-1$
-		// test a service factory which returns null objects
-		ServiceExceptionServiceFactory nullObjectFactory = new ServiceExceptionServiceFactory(null);
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), nullObjectFactory, props);
-		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), null, ServiceException.FACTORY_ERROR);
-		OSGiTestsActivator.getContext().addFrameworkListener(listener);
-		try {
-			ServiceReference[] refs = null;
-			try {
-				refs = OSGiTestsActivator.getContext().getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 1, refs.length); //$NON-NLS-1$
-			Runnable service = null;
-			try {
-				service = (Runnable) OSGiTestsActivator.getContext().getService(refs[0]);
-			} catch (ClassCastException e) {
-				fail("Unexpected cast exception", e); //$NON-NLS-1$
-			}
-			assertNull("service is not null", service); //$NON-NLS-1$
-			listener.waitForEvent("Failed to fire ServiceException"); //$NON-NLS-1$
-			OSGiTestsActivator.getContext().ungetService(refs[0]);
-			Error error = nullObjectFactory.getUngetFailure();
-			if (error != null)
-				throw error;
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (listener != null)
-				OSGiTestsActivator.getContext().removeFrameworkListener(listener);
-		}
-	}
-
-	public void testServiceException03() {
-		final String testMethodName = "testServiceException03"; //$NON-NLS-1$
-		// test a service factory which throws a RuntimeException
-		RuntimeException cause = new RuntimeException(testMethodName);
-		ServiceExceptionServiceFactory runtimeExceptionFactory = new ServiceExceptionServiceFactory(cause);
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runtimeExceptionFactory, props);
-		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), cause, ServiceException.FACTORY_EXCEPTION);
-		OSGiTestsActivator.getContext().addFrameworkListener(listener);
-		try {
-			ServiceReference[] refs = null;
-			try {
-				refs = OSGiTestsActivator.getContext().getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 1, refs.length); //$NON-NLS-1$
-			Runnable service = null;
-			try {
-				service = (Runnable) OSGiTestsActivator.getContext().getService(refs[0]);
-			} catch (ClassCastException e) {
-				fail("Unexpected cast exception", e); //$NON-NLS-1$
-			}
-			assertNull("service is not null", service); //$NON-NLS-1$
-			listener.waitForEvent("Failed to fire ServiceException"); //$NON-NLS-1$
-			OSGiTestsActivator.getContext().ungetService(refs[0]);
-			Error error = runtimeExceptionFactory.getUngetFailure();
-			if (error != null)
-				throw error;
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (listener != null)
-				OSGiTestsActivator.getContext().removeFrameworkListener(listener);
-		}
-	}
-
-	public void testServiceException04() {
-		final String testMethodName = "testServiceException04"; //$NON-NLS-1$
-		// test a service factory which throws an Error
-		Error cause = new Error(testMethodName);
-		ServiceExceptionServiceFactory errorFactory = new ServiceExceptionServiceFactory(cause);
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), errorFactory, props);
-		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), cause, ServiceException.FACTORY_EXCEPTION);
-		OSGiTestsActivator.getContext().addFrameworkListener(listener);
-		try {
-			ServiceReference[] refs = null;
-			try {
-				refs = OSGiTestsActivator.getContext().getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 1, refs.length); //$NON-NLS-1$
-			Runnable service = null;
-			try {
-				service = (Runnable) OSGiTestsActivator.getContext().getService(refs[0]);
-			} catch (ClassCastException e) {
-				fail("Unexpected cast exception", e); //$NON-NLS-1$
-			}
-			assertNull("service is not null", service); //$NON-NLS-1$
-			listener.waitForEvent("Failed to fire ServiceException"); //$NON-NLS-1$
-			OSGiTestsActivator.getContext().ungetService(refs[0]);
-			Error error = errorFactory.getUngetFailure();
-			if (error != null)
-				throw error;
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (listener != null)
-				OSGiTestsActivator.getContext().removeFrameworkListener(listener);
-		}
-	}
-
-	class ServiceExceptionServiceFactory implements ServiceFactory {
-		private final Object serviceOrThrowable;
-		private Error ungetFailure;
-
-		public ServiceExceptionServiceFactory(Object serviceOrThrowable) {
-			this.serviceOrThrowable = serviceOrThrowable;
-		}
-
-		public Object getService(Bundle bundle, ServiceRegistration registration) {
-			if (serviceOrThrowable instanceof RuntimeException)
-				throw (RuntimeException) serviceOrThrowable;
-			if (serviceOrThrowable instanceof Error)
-				throw (Error) serviceOrThrowable;
-			return serviceOrThrowable;
-		}
-
-		public synchronized void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
-			try {
-				if (serviceOrThrowable instanceof RuntimeException)
-					fail("Unexpected call to ungetService: " + serviceOrThrowable); //$NON-NLS-1$
-				if (serviceOrThrowable instanceof Error)
-					fail("Unexpected call to ungetService: " + serviceOrThrowable); //$NON-NLS-1$
-			} catch (Error error) {
-				ungetFailure = error;
-			}
-		}
-
-		public Error getUngetFailure() {
-			return ungetFailure;
-		}
-	}
-
-	class ServiceExceptionFrameworkListener implements FrameworkListener {
-		private final Bundle registrationBundle;
-		private final Throwable exception;
-		private final int exceptionType;
-		private boolean waitForEvent = true;
-
-		public ServiceExceptionFrameworkListener(Bundle registrationBundle, Throwable exception, int exceptionType) {
-			this.registrationBundle = registrationBundle;
-			this.exception = exception;
-			this.exceptionType = exceptionType;
-		}
-
-		public void frameworkEvent(FrameworkEvent event) {
-			if (event.getBundle() != registrationBundle)
-				return;
-			if (!(event.getThrowable() instanceof ServiceException))
-				return;
-			if (((ServiceException) event.getThrowable()).getCause() != exception)
-				return;
-			if (((ServiceException) event.getThrowable()).getType() != exceptionType)
-				return;
-			notifyWaiter();
-		}
-
-		private synchronized void notifyWaiter() {
-			waitForEvent = false;
-			notifyAll();
-		}
-
-		public synchronized void waitForEvent(String failMessage) {
-			if (waitForEvent) {
-				try {
-					wait(10000);
-				} catch (InterruptedException e) {
-					fail("unexpected interuption", e); //$NON-NLS-1$
-				}
-				// still waiting for event; we now fail
-				if (waitForEvent)
-					fail(failMessage);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceHookTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceHookTests.java
deleted file mode 100644
index cb2f6ac..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceHookTests.java
+++ /dev/null
@@ -1,736 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.serviceregistry;
-
-import java.util.*;
-import junit.framework.*;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-import org.osgi.framework.hooks.service.*;
-
-public class ServiceHookTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(ServiceHookTests.class);
-	}
-
-	public void testFindHook01() {
-		final String testMethodName = "testFindHook01"; //$NON-NLS-1$
-		// test the FindHook is called and can remove a reference from the results
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		final BundleContext testContext = OSGiTestsActivator.getContext();
-		// register services
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$
-		props.put(Constants.SERVICE_DESCRIPTION, "service 1"); //$NON-NLS-1$
-		final ServiceRegistration reg1 = testContext.registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "service 2"); //$NON-NLS-1$
-		final ServiceRegistration reg2 = testContext.registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "service 3"); //$NON-NLS-1$
-		final ServiceRegistration reg3 = testContext.registerService(Runnable.class.getName(), runIt, props);
-
-		final int[] hookCalled = new int[] {0, 0, 0, 0, 0};
-		final boolean[] startTest = new boolean[] {false};
-		final AssertionFailedError[] hookError = new AssertionFailedError[] {null, null, null, null};
-
-		// register find hook 1
-		props.put(Constants.SERVICE_DESCRIPTION, "find hook 1"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_DESCRIPTION, "min value"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MIN_VALUE));
-		ServiceRegistration regHook1 = testContext.registerService(FindHook.class.getName(), new FindHook() {
-			public void find(BundleContext context, String name, String filter, boolean allServices, Collection references) {
-				try {
-					synchronized (hookCalled) {
-						if (!startTest[0])
-							return;
-						hookCalled[++hookCalled[0]] = 1;
-					}
-					assertEquals("wrong context in hook", testContext, context); //$NON-NLS-1$
-					assertEquals("wrong name in hook", Runnable.class.getName(), name); //$NON-NLS-1$
-					assertEquals("wrong filter in hook", "(name=" + testMethodName + ")", filter); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					assertEquals("wrong allservices in hook", false, allServices); //$NON-NLS-1$
-					assertEquals("wrong number of services in hook", 1, references.size()); //$NON-NLS-1$
-					Iterator iter = references.iterator();
-					while (iter.hasNext()) {
-						ServiceReference ref = (ServiceReference) iter.next();
-						if (ref.equals(reg1.getReference())) {
-							fail("service 1 is present"); //$NON-NLS-1$
-						}
-						if (ref.equals(reg2.getReference())) {
-							fail("service 2 is present"); //$NON-NLS-1$
-						}
-					}
-
-					try {
-						references.add(reg1.getReference());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						references.addAll(Arrays.asList(new ServiceReference[] {reg1.getReference()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[0] = a;
-					return;
-				}
-			}
-		}, props);
-
-		// register find hook 2
-		props.put(Constants.SERVICE_DESCRIPTION, "find hook 2"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_DESCRIPTION, "max value first"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration regHook2 = testContext.registerService(FindHook.class.getName(), new FindHook() {
-			public void find(BundleContext context, String name, String filter, boolean allServices, Collection references) {
-				try {
-					synchronized (hookCalled) {
-						if (!startTest[0])
-							return;
-						hookCalled[++hookCalled[0]] = 2;
-					}
-					assertEquals("wrong context in hook", testContext, context); //$NON-NLS-1$
-					assertEquals("wrong name in hook", Runnable.class.getName(), name); //$NON-NLS-1$
-					assertEquals("wrong filter in hook", "(name=" + testMethodName + ")", filter); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					assertEquals("wrong allservices in hook", false, allServices); //$NON-NLS-1$
-					assertEquals("wrong number of services in hook", 3, references.size()); //$NON-NLS-1$
-					Iterator iter = references.iterator();
-					while (iter.hasNext()) {
-						ServiceReference ref = (ServiceReference) iter.next();
-						if (ref.equals(reg2.getReference())) {
-							iter.remove();
-						}
-					}
-
-					try {
-						references.add(reg2.getReference());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						references.addAll(Arrays.asList(new ServiceReference[] {reg2.getReference()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[1] = a;
-					return;
-				}
-			}
-		}, props);
-
-		// register find hook 3
-		props.put(Constants.SERVICE_DESCRIPTION, "find hook 3"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_DESCRIPTION, "max value second"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration regHook3 = testContext.registerService(FindHook.class.getName(), new FindHook() {
-			public void find(BundleContext context, String name, String filter, boolean allServices, Collection references) {
-				try {
-					synchronized (hookCalled) {
-						if (!startTest[0])
-							return;
-						hookCalled[++hookCalled[0]] = 3;
-					}
-					assertEquals("wrong context in hook", testContext, context); //$NON-NLS-1$
-					assertEquals("wrong name in hook", Runnable.class.getName(), name); //$NON-NLS-1$
-					assertEquals("wrong filter in hook", "(name=" + testMethodName + ")", filter); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					assertEquals("wrong allservices in hook", false, allServices); //$NON-NLS-1$
-					assertEquals("wrong number of services in hook", 2, references.size()); //$NON-NLS-1$
-					Iterator iter = references.iterator();
-					while (iter.hasNext()) {
-						ServiceReference ref = (ServiceReference) iter.next();
-						if (ref.equals(reg2.getReference())) {
-							fail("service 2 is present"); //$NON-NLS-1$
-						}
-					}
-
-					try {
-						references.add(reg2.getReference());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						references.addAll(Arrays.asList(new ServiceReference[] {reg2.getReference()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[2] = a;
-					return;
-				}
-				// throw an exception from the hook to test that the next hooks are called.
-				throw new RuntimeException(testMethodName);
-			}
-		}, props);
-
-		// register find hook 4
-		props.put(Constants.SERVICE_DESCRIPTION, "find hook 4"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_DESCRIPTION, "max value third"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration regHook4 = testContext.registerService(FindHook.class.getName(), new FindHook() {
-			public void find(BundleContext context, String name, String filter, boolean allServices, Collection references) {
-				try {
-					synchronized (hookCalled) {
-						if (!startTest[0])
-							return;
-						hookCalled[++hookCalled[0]] = 4;
-					}
-					assertEquals("wrong context in hook", testContext, context); //$NON-NLS-1$
-					assertEquals("wrong name in hook", Runnable.class.getName(), name); //$NON-NLS-1$
-					assertEquals("wrong filter in hook", "(name=" + testMethodName + ")", filter); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					assertEquals("wrong allservices in hook", false, allServices); //$NON-NLS-1$
-					assertEquals("wrong number of services in hook", 2, references.size()); //$NON-NLS-1$
-					Iterator iter = references.iterator();
-					while (iter.hasNext()) {
-						ServiceReference ref = (ServiceReference) iter.next();
-						if (ref.equals(reg1.getReference())) {
-							iter.remove();
-						}
-						if (ref.equals(reg2.getReference())) {
-							fail("service 2 is present"); //$NON-NLS-1$
-						}
-					}
-
-					try {
-						references.add(reg2.getReference());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						references.addAll(Arrays.asList(new ServiceReference[] {reg2.getReference()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[3] = a;
-					return;
-				}
-			}
-		}, props);
-
-		startTest[0] = true;
-		// get reference and hook removes some services
-		try {
-			ServiceReference[] refs = null;
-			try {
-				refs = testContext.getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertEquals("all hooks not called", 4, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("hook 2 not called first", 2, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("hook 3 not called second", 3, hookCalled[2]); //$NON-NLS-1$
-			assertEquals("hook 4 not called third", 4, hookCalled[3]); //$NON-NLS-1$
-			assertEquals("hook 1 not called fourth ", 1, hookCalled[4]); //$NON-NLS-1$
-			for (int i = 0; i < hookError.length; i++) {
-				if (hookError[i] != null) {
-					throw hookError[i];
-				}
-			}
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 1, refs.length); //$NON-NLS-1$
-
-			// test removed services are not in the result
-			List refList = Arrays.asList(refs);
-			assertFalse("contains service 1", refList.contains(reg1.getReference())); //$NON-NLS-1$
-			assertFalse("contains service 2", refList.contains(reg2.getReference())); //$NON-NLS-1$
-			assertTrue("missing service 3", refList.contains(reg3.getReference())); //$NON-NLS-1$
-
-			startTest[0] = false;
-			// remove the hooks
-			regHook1.unregister();
-			regHook1 = null;
-			regHook2.unregister();
-			regHook2 = null;
-			regHook3.unregister();
-			regHook3 = null;
-			regHook4.unregister();
-			regHook4 = null;
-
-			// get services and make sure none are filtered
-			refs = null;
-			hookCalled[0] = 0;
-
-			startTest[0] = true;
-			try {
-				refs = testContext.getServiceReferences(Runnable.class.getName(), "(name=" + testMethodName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("Unexpected syntax error", e); //$NON-NLS-1$
-			}
-			assertEquals("hooks called", 0, hookCalled[0]); //$NON-NLS-1$
-			assertNotNull("service refs is null", refs); //$NON-NLS-1$
-			assertEquals("Wrong number of references", 3, refs.length); //$NON-NLS-1$
-
-			// test result contains all expected services
-			refList = Arrays.asList(refs);
-			assertTrue("missing service 1", refList.contains(reg1.getReference())); //$NON-NLS-1$
-			assertTrue("missing service 2", refList.contains(reg2.getReference())); //$NON-NLS-1$
-			assertTrue("missing service 3", refList.contains(reg3.getReference())); //$NON-NLS-1$
-		} finally {
-			// unregister hook and services
-			if (regHook1 != null)
-				regHook1.unregister();
-			if (regHook2 != null)
-				regHook2.unregister();
-			if (regHook3 != null)
-				regHook3.unregister();
-			if (regHook4 != null)
-				regHook4.unregister();
-			if (reg1 != null)
-				reg1.unregister();
-			if (reg2 != null)
-				reg2.unregister();
-			if (reg3 != null)
-				reg3.unregister();
-		}
-	}
-
-	public void testEventHook01() {
-		final String testMethodName = "testEventHook01"; //$NON-NLS-1$
-		// test the EventHook is called and can remove a reference from the results
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		final BundleContext testContext = OSGiTestsActivator.getContext();
-
-		final int[] hookCalled = new int[] {0, 0};
-		final AssertionFailedError[] hookError = new AssertionFailedError[] {null};
-		final List events = new ArrayList();
-
-		final ServiceListener sl = new ServiceListener() {
-			public void serviceChanged(ServiceEvent event) {
-				synchronized (events) {
-					events.add(event);
-				}
-			}
-		};
-
-		final String filterString = "(&(name=" + testMethodName + ")(objectClass=java.lang.Runnable))"; //$NON-NLS-1$ //$NON-NLS-2$
-		Filter tmpFilter = null;
-		try {
-			tmpFilter = testContext.createFilter(filterString);
-			testContext.addServiceListener(sl, filterString);
-		} catch (InvalidSyntaxException e) {
-			fail("Unexpected syntax error", e); //$NON-NLS-1$
-		}
-
-		final Filter filter = tmpFilter;
-		EventHook hook1 = new EventHook() {
-			public void event(ServiceEvent event, Collection contexts) {
-				try {
-					if (!filter.match(event.getServiceReference())) {
-						return;
-					}
-					synchronized (hookCalled) {
-						hookCalled[++hookCalled[0]] = 1;
-					}
-					assertTrue("does not contain test context", contexts.contains(testContext)); //$NON-NLS-1$
-
-					try {
-						contexts.add(testContext.getBundle(0).getBundleContext());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						contexts.addAll(Arrays.asList(new BundleContext[] {testContext.getBundle(0).getBundleContext()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[0] = a;
-					return;
-				}
-			}
-		};
-		EventHook hook2 = new EventHook() {
-			public void event(ServiceEvent event, Collection contexts) {
-				try {
-					if (!filter.match(event.getServiceReference())) {
-						return;
-					}
-					synchronized (hookCalled) {
-						hookCalled[++hookCalled[0]] = 1;
-					}
-					assertTrue("does not contain test context", contexts.contains(testContext)); //$NON-NLS-1$
-					contexts.remove(testContext);
-					try {
-						contexts.add(testContext.getBundle(0).getBundleContext());
-						fail("add to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-					try {
-						contexts.addAll(Arrays.asList(new BundleContext[] {testContext.getBundle(0).getBundleContext()}));
-						fail("addAll to collection succeeded"); //$NON-NLS-1$
-					} catch (UnsupportedOperationException e) {
-						// should get an exception
-					} catch (Exception e) {
-						fail("incorrect exception", e); //$NON-NLS-1$
-					}
-				} catch (AssertionFailedError a) {
-					hookError[0] = a;
-					return;
-				}
-			}
-		};
-
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$
-		// register event hook 1
-		props.put(Constants.SERVICE_DESCRIPTION, "event hook 1"); //$NON-NLS-1$
-		ServiceRegistration regHook = testContext.registerService(EventHook.class.getName(), hook1, props);
-
-		ServiceRegistration reg1 = null;
-		try {
-			props.put(Constants.SERVICE_DESCRIPTION, "service 1"); //$NON-NLS-1$
-			synchronized (events) {
-				events.clear();
-			}
-			reg1 = testContext.registerService(Runnable.class.getName(), runIt, props);
-			assertEquals("all hooks not called", 1, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("hook 1 not called first", 1, hookCalled[1]); //$NON-NLS-1$
-			for (int i = 0; i < hookError.length; i++) {
-				if (hookError[i] != null) {
-					throw hookError[i];
-				}
-			}
-			synchronized (events) {
-				assertEquals("listener not called once", 1, events.size()); //$NON-NLS-1$
-				Iterator iter = events.iterator();
-				while (iter.hasNext()) {
-					ServiceEvent event = (ServiceEvent) iter.next();
-					assertEquals("type not registered", ServiceEvent.REGISTERED, event.getType()); //$NON-NLS-1$
-					assertEquals("wrong service", reg1.getReference(), event.getServiceReference()); //$NON-NLS-1$
-				}
-			}
-
-			regHook.unregister();
-			regHook = null;
-
-			synchronized (events) {
-				events.clear();
-			}
-			hookCalled[0] = 0;
-			props.put(Constants.SERVICE_DESCRIPTION, "service 2"); //$NON-NLS-1$
-			reg1.setProperties(props);
-			synchronized (events) {
-				assertEquals("listener not called once", 1, events.size()); //$NON-NLS-1$
-				Iterator iter = events.iterator();
-				while (iter.hasNext()) {
-					ServiceEvent event = (ServiceEvent) iter.next();
-					assertEquals("type not registered", ServiceEvent.MODIFIED, event.getType()); //$NON-NLS-1$
-					assertEquals("wrong service", reg1.getReference(), event.getServiceReference()); //$NON-NLS-1$
-				}
-			}
-			assertEquals("hooks called", 0, hookCalled[0]); //$NON-NLS-1$
-
-			props.put(Constants.SERVICE_DESCRIPTION, "event hook 2"); //$NON-NLS-1$
-			regHook = testContext.registerService(EventHook.class.getName(), hook2, props);
-
-			synchronized (events) {
-				events.clear();
-			}
-			hookCalled[0] = 0;
-			reg1.unregister();
-			reg1 = null;
-			synchronized (events) {
-				assertEquals("listener called", 0, events.size()); //$NON-NLS-1$
-			}
-			assertEquals("all hooks not called", 1, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("hook 1 not called first", 1, hookCalled[1]); //$NON-NLS-1$
-			for (int i = 0; i < hookError.length; i++) {
-				if (hookError[i] != null) {
-					throw hookError[i];
-				}
-			}
-
-		} finally {
-			// unregister hook and services
-			if (regHook != null)
-				regHook.unregister();
-			if (reg1 != null)
-				reg1.unregister();
-			if (sl != null)
-				testContext.removeServiceListener(sl);
-		}
-	}
-
-	public void testListenerHook01() {
-		final String testMethodName = "testListenerHook01"; //$NON-NLS-1$
-		// test the ListenerHook is called
-		final BundleContext testContext = OSGiTestsActivator.getContext();
-		final Collection result = new ArrayList();
-		final int[] hookCalled = new int[] {0, 0};
-
-		ListenerHook hook1 = new ListenerHook() {
-			public void added(Collection listeners) {
-				synchronized (hookCalled) {
-					hookCalled[0]++;
-				}
-				result.addAll(listeners);
-			}
-
-			public void removed(Collection listeners) {
-				synchronized (hookCalled) {
-					hookCalled[1]++;
-				}
-				result.removeAll(listeners);
-			}
-		};
-
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$
-		// register listener hook 1
-		props.put(Constants.SERVICE_DESCRIPTION, "listener hook 1"); //$NON-NLS-1$
-		ServiceRegistration regHook = testContext.registerService(ListenerHook.class.getName(), hook1, props);
-
-		try {
-			assertFalse("no service listeners found", result.isEmpty()); //$NON-NLS-1$
-			assertEquals("added not called", 1, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 0, hookCalled[1]); //$NON-NLS-1$
-
-			int size = result.size();
-			ServiceListener testSL = new ServiceListener() {
-				public void serviceChanged(ServiceEvent event) {
-					// do nothing
-				}
-			};
-			String filterString1 = "(foo=bar)"; //$NON-NLS-1$
-			testContext.addServiceListener(testSL, filterString1);
-			assertEquals("added not called", 2, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 0, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not added", size + 1, result.size()); //$NON-NLS-1$
-			Iterator iter = result.iterator();
-			boolean found = false;
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (filterString1.equals(f))) {
-					if (found) {
-						fail("found more than once"); //$NON-NLS-1$
-					}
-					found = true;
-				}
-			}
-			if (!found) {
-				fail("listener not found"); //$NON-NLS-1$
-			}
-
-			String filterString2 = "(bar=foo)"; //$NON-NLS-1$
-			testContext.addServiceListener(testSL, filterString2);
-			assertEquals("added not called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed not called", 1, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not removed and added", size + 1, result.size()); //$NON-NLS-1$
-			iter = result.iterator();
-			found = false;
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (filterString2.equals(f))) {
-					if (found) {
-						fail("found more than once"); //$NON-NLS-1$
-					}
-					found = true;
-				}
-				if ((c == testContext) && (filterString1.equals(f))) {
-					fail("first listener not removed"); //$NON-NLS-1$
-				}
-			}
-			if (!found) {
-				fail("listener not found"); //$NON-NLS-1$
-			}
-
-			testContext.removeServiceListener(testSL);
-			assertEquals("added called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed not called", 2, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not removed", size, result.size()); //$NON-NLS-1$
-			iter = result.iterator();
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (filterString2.equals(f))) {
-					fail("second listener not removed"); //$NON-NLS-1$
-				}
-			}
-
-			testContext.removeServiceListener(testSL);
-			assertEquals("added called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 2, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener removed", size, result.size()); //$NON-NLS-1$
-
-		} catch (InvalidSyntaxException e) {
-			fail(e.getMessage());
-		} finally {
-			if (regHook != null) {
-				regHook.unregister();
-			}
-		}
-	}
-
-	public void testListenerHook02() {
-		final String testMethodName = "testListenerHook02"; //$NON-NLS-1$
-		// test the ListenerHook works with the FilteredServiceListener optimization in equinox
-		final BundleContext testContext = OSGiTestsActivator.getContext();
-		final Collection result = new ArrayList();
-		final int[] hookCalled = new int[] {0, 0};
-
-		ListenerHook hook1 = new ListenerHook() {
-			public void added(Collection listeners) {
-				synchronized (hookCalled) {
-					hookCalled[0]++;
-				}
-				result.addAll(listeners);
-			}
-
-			public void removed(Collection listeners) {
-				synchronized (hookCalled) {
-					hookCalled[1]++;
-				}
-				result.removeAll(listeners);
-			}
-		};
-
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$
-		// register listener hook 1
-		props.put(Constants.SERVICE_DESCRIPTION, "listener hook 1"); //$NON-NLS-1$
-		ServiceRegistration regHook = testContext.registerService(ListenerHook.class.getName(), hook1, props);
-
-		try {
-			assertFalse("no service listeners found", result.isEmpty()); //$NON-NLS-1$
-			assertEquals("added not called", 1, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 0, hookCalled[1]); //$NON-NLS-1$
-
-			int size = result.size();
-			ServiceListener testSL = new ServiceListener() {
-				public void serviceChanged(ServiceEvent event) {
-					// do nothing
-				}
-			};
-			String filterString1 = "(" + Constants.OBJECTCLASS + "=bar)"; //$NON-NLS-1$ //$NON-NLS-2$
-			testContext.addServiceListener(testSL, filterString1);
-			assertEquals("added not called", 2, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 0, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not added", size + 1, result.size()); //$NON-NLS-1$
-			Iterator iter = result.iterator();
-			boolean found = false;
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (filterString1.equals(f))) {
-					if (found) {
-						fail("found more than once"); //$NON-NLS-1$
-					}
-					found = true;
-				}
-			}
-			if (!found) {
-				fail("listener not found"); //$NON-NLS-1$
-			}
-
-			String filterString2 = null;
-			testContext.addServiceListener(testSL);
-			assertEquals("added not called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed not called", 1, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not removed and added", size + 1, result.size()); //$NON-NLS-1$
-			iter = result.iterator();
-			found = false;
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (f == filterString2)) {
-					if (found) {
-						fail("found more than once"); //$NON-NLS-1$
-					}
-					found = true;
-				}
-				if ((c == testContext) && (filterString1.equals(f))) {
-					fail("first listener not removed"); //$NON-NLS-1$
-				}
-			}
-			if (!found) {
-				fail("listener not found"); //$NON-NLS-1$
-			}
-
-			testContext.removeServiceListener(testSL);
-			assertEquals("added called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed not called", 2, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener not removed", size, result.size()); //$NON-NLS-1$
-			iter = result.iterator();
-			while (iter.hasNext()) {
-				ListenerHook.ListenerInfo info = (ListenerHook.ListenerInfo) iter.next();
-				BundleContext c = info.getBundleContext();
-				String f = info.getFilter();
-				if ((c == testContext) && (f == filterString2)) {
-					fail("second listener not removed"); //$NON-NLS-1$
-				}
-			}
-
-			testContext.removeServiceListener(testSL);
-			assertEquals("added called", 3, hookCalled[0]); //$NON-NLS-1$
-			assertEquals("removed called", 2, hookCalled[1]); //$NON-NLS-1$
-			assertEquals("listener removed", size, result.size()); //$NON-NLS-1$
-
-		} catch (InvalidSyntaxException e) {
-			fail(e.getMessage());
-		} finally {
-			if (regHook != null) {
-				regHook.unregister();
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
deleted file mode 100644
index a93f317..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.serviceregistry;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-
-public class ServiceRegistryTests extends AbstractBundleTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ServiceRegistryTests.class.getName());
-		suite.addTest(new TestSuite(ServiceRegistryTests.class));
-		suite.addTest(ServiceExceptionTests.suite());
-		suite.addTest(ServiceHookTests.suite());
-		suite.addTest(ServiceTrackerTests.suite());
-		return suite;
-	}
-
-	public void testServiceListener01() {
-		final String testMethodName = getName();
-		// simple ServiceListener test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		final boolean[] results = new boolean[] {false, false, false, false};
-		ServiceListener testListener = new ServiceListener() {
-			public void serviceChanged(ServiceEvent event) {
-				switch (event.getType()) {
-					case ServiceEvent.REGISTERED :
-						results[0] = true;
-						break;
-					case ServiceEvent.MODIFIED :
-						results[1] = true;
-						break;
-					case ServiceEvent.MODIFIED_ENDMATCH :
-						results[2] = true;
-						break;
-					case ServiceEvent.UNREGISTERING :
-						results[3] = true;
-						break;
-				}
-			}
-		};
-		try {
-			OSGiTestsActivator.getContext().addServiceListener(testListener, "(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (InvalidSyntaxException e) {
-			fail("filter error", e); //$NON-NLS-1$
-		}
-		ServiceRegistration reg = null;
-		try {
-			// register service which matches
-			Hashtable props = new Hashtable();
-			props.put(testMethodName, Boolean.TRUE);
-			reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-			assertTrue("Did not get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put(testMethodName, Boolean.FALSE);
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put("testChangeProp", Boolean.TRUE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props back to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// unregister
-			reg.unregister();
-			reg = null;
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-		} finally {
-			OSGiTestsActivator.getContext().removeServiceListener(testListener);
-			if (reg != null)
-				reg.unregister();
-		}
-	}
-
-	public void testServiceListener02() {
-		final String testMethodName = getName();
-		// simple ServiceListener test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		final boolean[] results = new boolean[] {false, false, false, false};
-		ServiceListener testListener = new ServiceListener() {
-			public void serviceChanged(ServiceEvent event) {
-				switch (event.getType()) {
-					case ServiceEvent.REGISTERED :
-						results[0] = true;
-						break;
-					case ServiceEvent.MODIFIED :
-						results[1] = true;
-						break;
-					case ServiceEvent.MODIFIED_ENDMATCH :
-						results[2] = true;
-						break;
-					case ServiceEvent.UNREGISTERING :
-						results[3] = true;
-						break;
-				}
-			}
-		};
-		try {
-			OSGiTestsActivator.getContext().addServiceListener(testListener, "(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (InvalidSyntaxException e) {
-			fail("filter error", e); //$NON-NLS-1$
-		}
-		ServiceRegistration reg = null;
-		try {
-			// register service which does not match
-			Hashtable props = new Hashtable();
-			props.put(testMethodName, Boolean.FALSE);
-			reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still not match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.TRUE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put(testMethodName, Boolean.FALSE);
-			reg.setProperties(props);
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertTrue("Did not get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// unregister
-			reg.unregister();
-			reg = null;
-			assertFalse("Did get ServiceEvent.REGISTERED", results[0]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED", results[1]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.MODIFIED_ENDMATCH", results[2]); //$NON-NLS-1$
-			assertFalse("Did get ServiceEvent.UNREGISTERING", results[3]); //$NON-NLS-1$
-			clearResults(results);
-		} finally {
-			OSGiTestsActivator.getContext().removeServiceListener(testListener);
-			if (reg != null)
-				reg.unregister();
-		}
-	}
-
-	public void testServiceListener03() {
-		final String testMethodName = getName();
-		// simple ServiceListener test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		final int[] results = new int[] {0, 0, 0, 0};
-		ServiceListener testListener = new ServiceListener() {
-			public void serviceChanged(ServiceEvent event) {
-				switch (event.getType()) {
-					case ServiceEvent.REGISTERED :
-						results[0]++;
-						break;
-					case ServiceEvent.MODIFIED :
-						results[1]++;
-						break;
-					case ServiceEvent.MODIFIED_ENDMATCH :
-						results[2]++;
-						break;
-					case ServiceEvent.UNREGISTERING :
-						results[3]++;
-						break;
-				}
-			}
-		};
-		try {
-			OSGiTestsActivator.getContext().addServiceListener(testListener, "(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (InvalidSyntaxException e) {
-			fail("filter error", e); //$NON-NLS-1$
-		}
-		ServiceRegistration reg1 = null;
-		ServiceRegistration reg2 = null;
-		try {
-			// register service which does not match
-			Hashtable props = new Hashtable();
-			props.put(testMethodName, Boolean.FALSE);
-			reg1 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-			reg2 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still not match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg1.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-			reg2.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg1.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 1, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-			reg2.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 1, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.TRUE); //$NON-NLS-1$
-			reg1.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 1, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-			reg2.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 1, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put(testMethodName, Boolean.FALSE);
-			reg1.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 1, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-			reg2.setProperties(props);
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 1, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-
-			// unregister
-			reg1.unregister();
-			reg1 = null;
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-			reg2.unregister();
-			reg2 = null;
-			assertEquals("Did get ServiceEvent.REGISTERED", 0, results[0]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED", 0, results[1]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.MODIFIED_ENDMATCH", 0, results[2]); //$NON-NLS-1$
-			assertEquals("Did get ServiceEvent.UNREGISTERING", 0, results[3]); //$NON-NLS-1$
-			clearResults(results);
-		} finally {
-			OSGiTestsActivator.getContext().removeServiceListener(testListener);
-			if (reg1 != null)
-				reg1.unregister();
-			if (reg2 != null)
-				reg2.unregister();
-		}
-	}
-
-	public void testServiceOrdering01() {
-		final String testMethodName = getName();
-		// test that getServiceReference returns the proper service
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		props.put(Constants.SERVICE_DESCRIPTION, "min value"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MIN_VALUE));
-		ServiceRegistration reg1 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "max value first"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration reg2 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "max value second"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration reg3 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		try {
-			ServiceReference ref = null;
-			ref = OSGiTestsActivator.getContext().getServiceReference(Runnable.class.getName());
-			assertNotNull("service ref is null", ref); //$NON-NLS-1$
-			assertEquals("Wrong references", reg2.getReference(), ref); //$NON-NLS-1$
-		} finally {
-			if (reg1 != null)
-				reg1.unregister();
-			if (reg2 != null)
-				reg2.unregister();
-			if (reg3 != null)
-				reg3.unregister();
-		}
-	}
-
-	public void testDuplicateObjectClass() {
-		ServiceRegistration reg = null;
-		try {
-			reg = OSGiTestsActivator.getContext().registerService(new String[] {Runnable.class.getName(), Object.class.getName(), Object.class.getName()}, new Runnable() {
-				public void run() {
-					// nothing
-				}
-			}, null);
-		} catch (Throwable t) {
-			fail("Failed to register service with duplicate objectClass names", t); //$NON-NLS-1$
-		} finally {
-			if (reg != null)
-				reg.unregister();
-		}
-	}
-
-	public void testServiceReferenceCompare01() {
-		final String testMethodName = getName();
-		// test that getServiceReference returns the proper service
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
-		props.put(Constants.SERVICE_DESCRIPTION, "min value"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MIN_VALUE));
-		ServiceRegistration reg1 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "max value first"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration reg2 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		props.put(Constants.SERVICE_DESCRIPTION, "max value second"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-		ServiceRegistration reg3 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-
-		try {
-			ServiceReference ref = OSGiTestsActivator.getContext().getServiceReference(Runnable.class.getName());
-			ServiceReference ref1 = reg1.getReference();
-			ServiceReference ref2 = reg2.getReference();
-			ServiceReference ref3 = reg3.getReference();
-
-			assertNotNull("service ref is null", ref); //$NON-NLS-1$
-			assertEquals("Wrong reference", ref2, ref); //$NON-NLS-1$
-
-			assertEquals("Wrong references", 0, ref2.compareTo(ref)); //$NON-NLS-1$
-			assertEquals("Wrong references", 0, ref.compareTo(ref2)); //$NON-NLS-1$
-
-			assertTrue("Wrong compareTo value: " + ref1.compareTo(ref1), ref1.compareTo(ref1) == 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref1.compareTo(ref2), ref1.compareTo(ref2) < 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref1.compareTo(ref3), ref1.compareTo(ref3) < 0); //$NON-NLS-1$
-
-			assertTrue("Wrong compareTo value: " + ref2.compareTo(ref1), ref2.compareTo(ref1) > 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref2.compareTo(ref2), ref2.compareTo(ref2) == 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref2.compareTo(ref3), ref2.compareTo(ref3) > 0); //$NON-NLS-1$
-
-			assertTrue("Wrong compareTo value: " + ref3.compareTo(ref1), ref3.compareTo(ref1) > 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref3.compareTo(ref2), ref3.compareTo(ref2) < 0); //$NON-NLS-1$
-			assertTrue("Wrong compareTo value: " + ref3.compareTo(ref3), ref3.compareTo(ref3) == 0); //$NON-NLS-1$
-		} finally {
-			if (reg1 != null)
-				reg1.unregister();
-			if (reg2 != null)
-				reg2.unregister();
-			if (reg3 != null)
-				reg3.unregister();
-		}
-	}
-
-	public void testModifiedRanking() {
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put(getName(), Boolean.TRUE);
-		props.put(Constants.SERVICE_RANKING, new Integer(15));
-		ServiceRegistration reg1 = getContext().registerService(Runnable.class.getName(), runIt, props);
-		props.put(Constants.SERVICE_RANKING, new Integer(10));
-		ServiceRegistration reg2 = getContext().registerService(Runnable.class.getName(), runIt, props);
-		try {
-			assertEquals("wrong service reference", reg1.getReference(), getContext().getServiceReference("java.lang.Runnable")); //$NON-NLS-1$//$NON-NLS-2$
-
-			props.put(Constants.SERVICE_RANKING, new Integer(20));
-			reg2.setProperties(props);
-			assertEquals("wrong service reference", reg2.getReference(), getContext().getServiceReference("java.lang.Runnable")); //$NON-NLS-1$//$NON-NLS-2$
-		} finally {
-			if (reg1 != null)
-				reg1.unregister();
-			if (reg2 != null)
-				reg2.unregister();
-		}
-	}
-
-	private void clearResults(boolean[] results) {
-		for (int i = 0; i < results.length; i++)
-			results[i] = false;
-	}
-
-	private void clearResults(int[] results) {
-		for (int i = 0; i < results.length; i++)
-			results[i] = 0;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceTrackerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceTrackerTests.java
deleted file mode 100644
index 6e5fea5..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceTrackerTests.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.serviceregistry;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.eclipse.osgi.tests.bundles.AbstractBundleTests;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class ServiceTrackerTests extends AbstractBundleTests {
-	public static Test suite() {
-		return new TestSuite(ServiceTrackerTests.class);
-	}
-
-	public void testServiceTracker01() {
-		final String testMethodName = getName();
-		// simple ServiceTracker test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put(testMethodName, Boolean.TRUE);
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-		ServiceTracker testTracker = null;
-		try {
-			final boolean[] results = new boolean[] {false, false, false};
-			ServiceTrackerCustomizer testCustomizer = new ServiceTrackerCustomizer() {
-				public Object addingService(ServiceReference reference) {
-					results[0] = true;
-					return reference;
-				}
-
-				public void modifiedService(ServiceReference reference, Object service) {
-					results[1] = true;
-				}
-
-				public void removedService(ServiceReference reference, Object service) {
-					results[2] = true;
-				}
-			};
-			try {
-				testTracker = new ServiceTracker(OSGiTestsActivator.getContext(), FrameworkUtil.createFilter("(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"), testCustomizer); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("filter error", e); //$NON-NLS-1$
-			}
-			testTracker.open();
-			assertTrue("Did not call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertTrue("Did not call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put(testMethodName, Boolean.FALSE);
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertTrue("Did not call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put("testChangeProp", Boolean.TRUE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props back to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg.setProperties(props);
-			assertTrue("Did not call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (testTracker != null)
-				testTracker.close();
-		}
-	}
-
-	public void testServiceTracker02() {
-		final String testMethodName = getName();
-		// simple ServiceTracker test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put(testMethodName, Boolean.FALSE);
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-		ServiceTracker testTracker = null;
-		try {
-			final boolean[] results = new boolean[] {false, false, false};
-			ServiceTrackerCustomizer testCustomizer = new ServiceTrackerCustomizer() {
-				public Object addingService(ServiceReference reference) {
-					results[0] = true;
-					return reference;
-				}
-
-				public void modifiedService(ServiceReference reference, Object service) {
-					results[1] = true;
-				}
-
-				public void removedService(ServiceReference reference, Object service) {
-					results[2] = true;
-				}
-			};
-			try {
-				testTracker = new ServiceTracker(OSGiTestsActivator.getContext(), FrameworkUtil.createFilter("(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"), testCustomizer); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("filter error", e); //$NON-NLS-1$
-			}
-			testTracker.open();
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg.setProperties(props);
-			assertTrue("Did not call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.TRUE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertTrue("Did not call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put(testMethodName, Boolean.FALSE);
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertTrue("Did not call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to no longer match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (testTracker != null)
-				testTracker.close();
-		}
-	}
-
-	public void testServiceTracker03() {
-		final String testMethodName = getName();
-		// simple ServiceTracker test
-		Runnable runIt = new Runnable() {
-			public void run() {
-				// nothing
-			}
-		};
-		Hashtable props = new Hashtable();
-		props.put(testMethodName, Boolean.TRUE);
-		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
-		ServiceTracker testTracker = null;
-		try {
-			final boolean[] results = new boolean[] {false, false, false};
-			ServiceTrackerCustomizer testCustomizer = new ServiceTrackerCustomizer() {
-				public Object addingService(ServiceReference reference) {
-					results[0] = true;
-					return reference;
-				}
-
-				public void modifiedService(ServiceReference reference, Object service) {
-					results[1] = true;
-				}
-
-				public void removedService(ServiceReference reference, Object service) {
-					results[2] = true;
-				}
-			};
-			try {
-				testTracker = new ServiceTracker(OSGiTestsActivator.getContext(), FrameworkUtil.createFilter("(&(objectclass=java.lang.Runnable)(" + testMethodName.toLowerCase() + "=true))"), testCustomizer); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (InvalidSyntaxException e) {
-				fail("filter error", e); //$NON-NLS-1$
-			}
-			testTracker.open();
-			assertTrue("Did not call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to not match
-			props.put(testMethodName, Boolean.FALSE);
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertTrue("Did not call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to match
-			props.put(testMethodName, Boolean.TRUE);
-			reg.setProperties(props);
-			assertTrue("Did not call addingService", results[0]); //$NON-NLS-1$
-			assertFalse("Did call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-
-			// change props to still match
-			props.put("testChangeProp", Boolean.FALSE); //$NON-NLS-1$
-			reg.setProperties(props);
-			assertFalse("Did call addingService", results[0]); //$NON-NLS-1$
-			assertTrue("Did not call modifiedService", results[1]); //$NON-NLS-1$
-			assertFalse("Did call removedService", results[2]); //$NON-NLS-1$
-			clearResults(results);
-		} finally {
-			if (reg != null)
-				reg.unregister();
-			if (testTracker != null)
-				testTracker.close();
-		}
-	}
-
-	private void clearResults(boolean[] results) {
-		for (int i = 0; i < results.length; i++)
-			results[i] = false;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
deleted file mode 100644
index ed8f4da..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests extends TestSuite {
-
-	public AllTests() {
-		super();
-	}
-
-	public AllTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(LocationAreaSessionTest.suite());
-		suite.addTest(BasicLocationTests.suite());
-		suite.addTest(SimpleTests.suite());
-		suite.addTest(FileManagerTests.suite());
-		suite.addTest(StreamManagerTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
deleted file mode 100644
index 5012f19..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.adaptor.LocationManager;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-
-public class BasicLocationTests extends CoreTest {
-
-	String originalUser = null;
-	String originalInstance = null;
-	String originalConfiguration = null;
-	String originalInstall = null;
-	String prefix = "";
-	boolean windows = Platform.getOS().equals(Platform.OS_WIN32);
-
-	public BasicLocationTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(BasicLocationTests.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		prefix = windows ? "c:" : "";
-		originalUser = System.getProperty(LocationManager.PROP_USER_AREA);
-		originalInstance = System.getProperty(LocationManager.PROP_INSTANCE_AREA);
-		originalConfiguration = System.getProperty(LocationManager.PROP_CONFIG_AREA);
-		originalInstall = System.getProperty(LocationManager.PROP_INSTALL_AREA);
-	}
-
-	private void setProperty(String key, String value) {
-		if (value == null)
-			System.getProperties().remove(key);
-		else
-			System.setProperty(key, value);
-	}
-
-	protected void tearDown() throws Exception {
-		setProperty(LocationManager.PROP_USER_AREA, originalUser);
-		setProperty(LocationManager.PROP_INSTANCE_AREA, originalInstance);
-		setProperty(LocationManager.PROP_CONFIG_AREA, originalConfiguration);
-		setProperty(LocationManager.PROP_INSTALL_AREA, originalInstall);
-		LocationManager.initializeLocations();
-		super.tearDown();
-	}
-
-	private void checkSlashes() {
-		checkLocation(LocationManager.getUserLocation(), true, true, null);
-		checkLocation(LocationManager.getInstanceLocation(), true, true, null);
-		checkLocation(LocationManager.getConfigurationLocation(), true, true, null);
-		checkLocation(LocationManager.getInstallLocation(), true, true, null);
-	}
-
-	private void checkLocation(Location location, boolean leading, boolean trailing, String scheme) {
-		if (location == null)
-			return;
-		URL url = location.getURL();
-		if (scheme != null)
-			assertEquals(scheme, url.getProtocol());
-		if (!url.getProtocol().equals("file"))
-			return;
-		assertTrue(url.toExternalForm() + " should " + (trailing ? "" : "not") + " have a trailing slash", url.getFile().endsWith("/") == trailing);
-		if (windows)
-			assertTrue(url.toExternalForm() + " should " + (leading ? "" : "not") + " have a leading slash", url.getFile().startsWith("/") == leading);
-	}
-
-	public void testCreateLocation01() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testCreateLocation01");
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), false);
-		} catch (Throwable t) {
-			fail("Failed to set location", t);
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.lock());
-		} catch (IOException e) {
-			fail("Failed to lock location", e);
-		}
-		testLocation.release();
-	}
-
-	public void testCreateLocation02() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testCreateLocation02");
-		Location testLocation = configLocation.createLocation(null, null, true);
-		try {
-			testLocation.set(testLocationFile.toURL(), false);
-		} catch (Throwable t) {
-			fail("Failed to set location", t);
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.lock());
-			testLocation.release();
-			fail("Should not be able to lock read-only location");
-		} catch (IOException e) {
-			// expected
-		}
-	}
-
-	public void testCreateLocation03() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testCreateLocation03");
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), true);
-		} catch (Throwable t) {
-			fail("Failed to set location", t);
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.isLocked());
-		} catch (IOException e) {
-			fail("Failed to lock location", e);
-		}
-		testLocation.release();
-	}
-
-	public void testCreateLocation04() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testCreateLocation04");
-		Location testLocation = configLocation.createLocation(null, null, true);
-		try {
-			testLocation.set(testLocationFile.toURL(), true);
-			testLocation.release();
-			fail("Should not be able to lock read-only location");
-		} catch (Throwable t) {
-			// expected
-		}
-	}
-
-	public void testCreateLocation05() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testCreateLocation01");
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), false);
-		} catch (Throwable t) {
-			fail("Failed to set location", t);
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.lock());
-			assertFalse("Could lock a secend time", testLocation.lock());
-			assertFalse("Could lock a third time", testLocation.lock());
-		} catch (IOException e) {
-			fail("Failed to lock location", e);
-		} finally {
-			testLocation.release();
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.lock());
-		} catch (IOException e) {
-			fail("Failed to lock location", e);
-		} finally {
-			testLocation.release();
-		}
-	}
-
-	private static final String INSTANCE_DATA_AREA_PREFIX = ".metadata/.plugins/"; //$NON-NLS-1$
-
-	public void testLocationDataArea01() {
-		Location instance = LocationManager.getInstanceLocation();
-		doAllTestLocationDataArea(instance, INSTANCE_DATA_AREA_PREFIX);
-
-		Location configuration = LocationManager.getConfigurationLocation();
-		doAllTestLocationDataArea(configuration, "");
-	}
-
-	private void doAllTestLocationDataArea(Location location, String dataAreaPrefix) {
-		doTestLocateDataArea(location, dataAreaPrefix, getName());
-		doTestLocateDataArea(location, dataAreaPrefix, "");
-		doTestLocateDataArea(location, dataAreaPrefix, "test/multiple/paths");
-		doTestLocateDataArea(location, dataAreaPrefix, "test/multiple/../paths");
-		doTestLocateDataArea(location, dataAreaPrefix, "test\\multiple\\paths");
-
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/" + getName());
-		Location createdLocation = location.createLocation(null, null, false);
-		try {
-			createdLocation.set(testLocationFile.toURL(), false);
-		} catch (Exception e) {
-			fail("Failed to set location", e);
-		}
-		doTestLocateDataArea(createdLocation, dataAreaPrefix, getName());
-		doTestLocateDataArea(createdLocation, dataAreaPrefix, "");
-		doTestLocateDataArea(createdLocation, dataAreaPrefix, "test/multiple/paths");
-		doTestLocateDataArea(createdLocation, dataAreaPrefix, "test/multiple/../paths");
-		doTestLocateDataArea(location, dataAreaPrefix, "test\\multiple\\paths");
-
-		createdLocation = location.createLocation(null, null, false);
-		try {
-			createdLocation.getDataArea("shouldFail");
-			fail("expected failure when location is not set");
-		} catch (IOException e) {
-			// expected;
-		}
-	}
-
-	private void doTestLocateDataArea(Location location, String dataAreaPrefix, String namespace) {
-		assertTrue("Location is not set", location.isSet());
-		URL dataArea = null;
-		try {
-			dataArea = location.getDataArea(namespace);
-		} catch (IOException e) {
-			fail("Failed to get data area.", e);
-		}
-		assertNotNull("Data area is null.", dataArea);
-
-		namespace = namespace.replace('\\', '/');
-		assertTrue("Data area is not the expected value: " + dataArea.toExternalForm(), dataArea.toExternalForm().endsWith(dataAreaPrefix + namespace));
-	}
-
-	public void testSetLocationWithEmptyLockFile() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testSetLocationWithEmptyLockFile"); //$NON-NLS-1$
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), true, ""); //$NON-NLS-1$
-			// Make sure it has created the default lock file
-			File lockFile = new File(testLocationFile, ".metadata/.lock"); //$NON-NLS-1$
-			assertTrue("Lock file does not exist!", lockFile.exists()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Failed to set location", t); //$NON-NLS-1$
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.isLocked()); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Failed to lock location", e); //$NON-NLS-1$
-		}
-		testLocation.release();
-	}
-
-	public void testSetLocationWithRelLockFile() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testSetLocationWithRelLockFile"); //$NON-NLS-1$
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), true, ".mocklock"); //$NON-NLS-1$
-			File lockFile = new File(testLocationFile, ".mocklock"); //$NON-NLS-1$
-			assertTrue("Lock file does not exist!", lockFile.exists()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Failed to set location", t); //$NON-NLS-1$
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.isLocked()); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Failed to lock location", e); //$NON-NLS-1$
-		}
-		testLocation.release();
-	}
-
-	public void testSetLocationWithAbsLockFile() {
-		Location configLocation = LocationManager.getConfigurationLocation();
-		File testLocationFile = OSGiTestsActivator.getContext().getDataFile("testLocations/testSetLocationWithAbsLockFile"); //$NON-NLS-1$
-		File testLocationLockFile = OSGiTestsActivator.getContext().getDataFile("testLocations/mock.lock"); //$NON-NLS-1$
-		assertTrue(testLocationLockFile.isAbsolute());
-		Location testLocation = configLocation.createLocation(null, null, false);
-		try {
-			testLocation.set(testLocationFile.toURL(), true, testLocationLockFile.getAbsolutePath());
-			assertTrue("The lock file should be present!", testLocationLockFile.exists()); //$NON-NLS-1$
-		} catch (Throwable t) {
-			fail("Failed to set location", t); //$NON-NLS-1$
-		}
-		try {
-			assertTrue("Could not lock location", testLocation.isLocked()); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Failed to lock location", e); //$NON-NLS-1$
-		}
-		testLocation.release();
-		assertTrue("The lock file could not be removed!", testLocationLockFile.delete()); //$NON-NLS-1$
-	}
-
-	public void testSlashes() {
-		setProperty(LocationManager.PROP_USER_AREA, prefix + "/a");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, prefix + "/c/d");
-		setProperty(LocationManager.PROP_CONFIG_AREA, prefix + "/e/f");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file:" + prefix + "/g");
-		LocationManager.initializeLocations();
-		checkSlashes();
-	}
-
-	public void testSchemes() {
-		setProperty(LocationManager.PROP_USER_AREA, "http://example.com/a");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, "ftp://example.com/c/d");
-		setProperty(LocationManager.PROP_CONFIG_AREA, "platform:/base/e/f");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file:" + prefix + "/g");
-		LocationManager.initializeLocations();
-		checkSlashes();
-		checkLocation(LocationManager.getUserLocation(), true, true, "http");
-		checkLocation(LocationManager.getInstanceLocation(), true, true, "ftp");
-		checkLocation(LocationManager.getConfigurationLocation(), true, true, "platform");
-		checkLocation(LocationManager.getInstallLocation(), true, true, "file");
-
-	}
-
-	public void testNone() {
-		setProperty(LocationManager.PROP_USER_AREA, "@none");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, "@none");
-		setProperty(LocationManager.PROP_CONFIG_AREA, "@none");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file:" + prefix + "/g");
-		LocationManager.initializeLocations();
-		assertNull("User location should be null", LocationManager.getUserLocation());
-		assertNull("Instance location should be null", LocationManager.getUserLocation());
-		assertNull("Configuration location should be null", LocationManager.getUserLocation());
-	}
-
-	public void testUserDir() {
-		setProperty(LocationManager.PROP_USER_AREA, "@user.dir");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, "@user.dir");
-		setProperty(LocationManager.PROP_CONFIG_AREA, "@user.dir");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file:" + prefix + "/g");
-		LocationManager.initializeLocations();
-		checkLocation(LocationManager.getUserLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstanceLocation(), true, true, "file");
-		checkLocation(LocationManager.getConfigurationLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstallLocation(), true, true, "file");
-	}
-
-	public void testUserHome() {
-		setProperty(LocationManager.PROP_USER_AREA, "@user.home");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, "@user.home");
-		setProperty(LocationManager.PROP_CONFIG_AREA, "@user.home");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file:" + prefix + "/g");
-		LocationManager.initializeLocations();
-		checkLocation(LocationManager.getUserLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstanceLocation(), true, true, "file");
-		checkLocation(LocationManager.getConfigurationLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstallLocation(), true, true, "file");
-	}
-
-	public void testUNC() {
-		if (!windows)
-			return;
-		setProperty(LocationManager.PROP_USER_AREA, "//server/share/a");
-		setProperty(LocationManager.PROP_INSTANCE_AREA, "//server/share/b");
-		setProperty(LocationManager.PROP_CONFIG_AREA, "//server/share/c");
-		setProperty(LocationManager.PROP_INSTALL_AREA, "file://server/share/g");
-		LocationManager.initializeLocations();
-		checkLocation(LocationManager.getUserLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstanceLocation(), true, true, "file");
-		checkLocation(LocationManager.getConfigurationLocation(), true, true, "file");
-		checkLocation(LocationManager.getInstallLocation(), true, true, "file");
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
deleted file mode 100644
index 31059a8..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.storagemanager.StorageManager;
-import org.eclipse.osgi.tests.OSGiTest;
-
-public class FileManagerTests extends OSGiTest {
-	StorageManager manager1;
-	StorageManager manager2;
-	File base;
-
-	/**
-	 * Constructs a test case with the given name.
-	 */
-	public FileManagerTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(FileManagerTests.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		base = new File(Platform.getConfigurationLocation().getURL().getPath(), "FileManagerTests");
-		manager1 = null;
-		manager2 = null;
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (manager1 != null)
-			manager1.close();
-		if (manager2 != null)
-			manager2.close();
-		rm(base);
-	}
-
-	private void rm(File file) {
-		if (file.isDirectory()) {
-			File[] list = file.listFiles();
-			if (list != null) {
-				for (int idx=0; idx<list.length; idx++) {
-					rm(list[idx]);
-				}
-			}
-		}
-		file.delete();
-	}
-	
-	
-	/**
-	 * Open a filemanager in readonly and ensure files are
-	 * not created.
-	 */
-	public void testReadOnly() {
-		File testDir = new File(base, "readOnlyManager");
-		String fileName = "testReadOnly";
-		testDir.mkdirs();
-		String[] files = testDir.list();
-		assertEquals(files.length, 0);
-		manager1 = new StorageManager(testDir, null, true);
-		try {
-			manager1.open(true);
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-		files = testDir.list();
-		assertEquals(files.length, 0);
-		try {
-			manager1.add(fileName);
-			fail("add succedded");
-		} catch(IOException e) {
-			//good
-		}
-		
-		try {
-			manager1.lookup(fileName, true);
-			fail("lookup succedded");
-		} catch(IOException e) {
-			//good
-		}
-		
-		try {
-			manager1.createTempFile(fileName);
-			fail("create temp file succedded");
-		} catch(IOException e) {
-			//good
-		}
-		files = testDir.list();
-		assertEquals(files.length, 0);
-		manager1.close();
-		manager1 = null;
-
-		try {
-			// lets create a file in a writable file manager
-			manager2 = new StorageManager(testDir, null, false);
-			manager2.open(true);
-			manager2.lookup(fileName, true);
-			File tmpFile = manager2.createTempFile(fileName);
-			writeToFile(tmpFile, "This file exists");
-			manager2.update(new String[] {fileName}, new String[] {tmpFile.getName()});
-			manager2.close();
-			manager2 = null;
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}		
-	}
-	
-	
-	void writeToFile(File file, String str) throws IOException {
-		FileOutputStream fos = new FileOutputStream(file);
-		try {
-			fos.write(str.getBytes());
-			fos.flush();
-			fos.getFD().sync();
-		} finally {
-			fos.close();
-		}
-	}
-
-	
-	private String getInputStreamContents(InputStream is) throws IOException {
-		StringBuffer sb = new StringBuffer();
-		byte[] data = new byte[64];
-		int len;
-		try {
-			while ((len = is.read(data)) != -1) {
-				sb.append(new String(data, 0, len));
-			} 
-		} finally {
-			is.close();
-		}
-		return sb.toString();
-	}
-	
-	
-	/**
-	 * This tests a FM update where the a specific file is managed with a 
-	 * revision number of (n) and an update is requested while there already
-	 * exists a file with revision number (n+1). FM should skip that generation 
-	 * number and update the database with file version set to (n+2). This test is
-	 * possible if a power loss occurs between FM rename() and FM save().
-	 */
-	public void testExistingVersion() {
-		String testFile = "testExistingVersion.txt";
-		manager1 = new StorageManager(base, null);
-		try {
-			manager1.open(false);
-			File file1 = new File(base, testFile+".1");
-			File file2 = new File(base, testFile+".2");
-			File file3 = new File(base, testFile+".3");
-			File file4 = new File(base, testFile+".4");
-			if (file1.exists() || file2.exists() || file3.exists() || file4.exists()) {
-				fail("Test files already exists.");
-				return;
-			}
-			// create file version (1)
-			manager1.add(testFile);
-			File file = manager1.createTempFile(testFile);
-			writeToFile(file, "contents irrelevant");
-			manager1.update(new String[] {testFile}, new String[] {file.getName()});
-			if (!file1.exists() || file2.exists() || file3.exists() || file4.exists()) {
-				fail("Failed to create a single test file");
-				return;
-			}
-			
-			// create file version (2) outside filemanager
-			writeToFile(file2, "file2 exists");
-
-			// update another file after generation 2 already exists...
-			file = manager1.createTempFile(testFile);
-			writeToFile(file, "file 3 contents");
-			manager1.update(new String[] {testFile}, new String[] {file.getName()});
-			if (!file3.exists() || file4.exists()) {
-				fail("Failed to skip existing filemanager file.");
-				return;
-			}
-			
-			// open a new manager, ensure a lookup results in file version (3)
-			manager2 = new StorageManager(base, null);
-			manager2.open(true);
-			file = manager2.lookup(testFile, false);
-			if (file == null) {
-				fail("Unable to lookup exising file");
-				return;
-			}
-			assertTrue(file.getName().endsWith(".3"));
-			assertTrue(file.exists());
-			FileInputStream fis = new FileInputStream(file);
-			assertEquals(getInputStreamContents(fis), "file 3 contents");
-			
-			manager2.close();
-			manager2=null;
-			
-			manager1.close();
-			manager1=null;
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-	}
-
-	
-	/**
-	 * This tests that FM apis throw exceptions if FM has not yet been opened
-	 * or if FM has been closed.  
-	 */
-	public void testNotOpen() {
-		String permanentFile = "testNotOpen.txt";
-		String scratchFile = "testNotOpenScratch";
-		manager1 = new StorageManager(base, null);
-		// create a permanent file and a managed scratch file
-		try {
-			manager1.open(true);
-			manager1.add(permanentFile);
-			File tmpFile = manager1.createTempFile(permanentFile);
-			this.writeToFile(tmpFile, "File exists");
-			manager1.update(new String[] {permanentFile}, new String[] {tmpFile.getName()});
-			manager1.add(scratchFile);
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-		
-		// create a new manager, and try making calls
-		manager2 = new StorageManager(base, null);
-		checkOpen(false, permanentFile, scratchFile);
-		// open the manager, try again
-		try {
-			manager2.open(true);
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-		checkOpen(true, permanentFile, scratchFile);
-		// close manager, try again
-		manager2.close();
-		checkOpen(false, permanentFile, scratchFile);
-		manager2 = null;
-		
-		manager1.close();
-		manager1 = null;
-	}
-
-	void checkOpen(boolean open, String permanentFile, String scratchFile) {
-		// check add()
-		try {
-			manager2.add("failFile");
-			if (!open)
-				fail("add did not fail.");
-			manager2.remove("failFile");
-		} catch(IOException e) {
-			if (open)
-				fail("unexpected exception", e);
-		}
-		// check lookup()
-		try {
-			// expect TEST2 to exist
-			manager2.lookup(permanentFile, false);
-			if (!open)
-				fail("lookup did not fail.");
-		} catch(IOException e) {
-			if (open)
-				fail("unexpected exception", e);
-		}
-		// check update, first create a real file to add
-		File tmpFile;
-		try {
-			tmpFile = manager2.createTempFile("openTest");
-			writeToFile(tmpFile, "contents irrelevant");
-		} catch (IOException e) {
-			fail("unexpected exception", e);
-			tmpFile = null;
-		}	
-		if (tmpFile != null) {
-			try {
-				manager2.update(new String[] {permanentFile}, new String[] {tmpFile.getName()});
-				if (!open)
-					fail("update did not fail.");
-			} catch(IOException e) {
-				if (open)
-					fail("unexpected exception", e);
-			}
-		}
-		// check remove()
-		try {
-			manager2.remove(scratchFile);
-			if (!open)
-				fail("remove did not fail");
-			else // add the file back if expected to complete
-				manager2.add(scratchFile);
-			} catch(IOException e) {
-			if (open)
-				fail("unexpected exception", e);
-		}
-	}
-	
-	
-	/**
-	 * This tests FM remove() then add().  On a remove(), the file can not be deleted as it may
-	 * be in use by another FM. Then add() the file back and see if the version number written to
-	 * is (n+1) where (n) is the version when remove() called.  This is likely if framework uses
-	 * -clean where on clean we remove the file, then on exit we add the file back.  Make sure 
-	 * this is orderly.
-	 * 
-	 * Currently is is a known issues that remove() will never delete any old manager contents. 
-	 */
-	public void testRemoveThenAdd() {
-		String fileName = "testRemoveThenAdd.txt";
-		File file1 = new File(base, fileName+".1");
-		File file2 = new File(base, fileName+".2");
-		File file3 = new File(base, fileName+".3");
-		manager1 = new StorageManager(base, null);
-		// create a permanent file
-		try {
-			manager1.open(true);
-			manager1.add(fileName);
-			// create version (1)
-			File tmpFile = manager1.createTempFile(fileName);
-			writeToFile(tmpFile, "File exists");
-			manager1.update(new String[] {fileName}, new String[] {tmpFile.getName()});
-			// do it again, now version (2)
-			tmpFile = manager1.createTempFile(fileName);
-			writeToFile(tmpFile, "File exists #2");
-			manager1.update(new String[] {fileName}, new String[] {tmpFile.getName()});
-			manager1.close(); // force a cleanup
-			manager1 = null;
-			// sanity check
-			if (file1.exists() || !file2.exists() || file3.exists())
-				fail("Failed creating a file revision");
-			
-			manager2 = new StorageManager(base, null);
-			manager2.open(true);
-			manager2.remove(fileName);
-			// check lookup & getInputStream
-			File testFile = manager2.lookup(fileName, false);
-			assertNull(testFile);
-			manager2.add(fileName);
-			testFile = manager2.lookup(fileName, false);
-			assertNotNull(testFile);
-			assertTrue(testFile.getName().endsWith(".0"));
-			// write new file, ensure it version 3
-			tmpFile = manager2.createTempFile(fileName);
-			writeToFile(tmpFile, "File exists #3");
-			manager2.update(new String[] {fileName}, new String[] {tmpFile.getName()});
-			testFile = manager2.lookup(fileName, false);
-			assertNotNull(testFile);
-			assertTrue(testFile.getName().endsWith(".3"));
-			assertTrue(file3.exists());
-			
-			// open a new manager, ensure that the database was updated
-			// by checking version is also #3
-			manager1 = new StorageManager(base, null);
-			manager1.open(true);
-			testFile = manager1.lookup(fileName, false);
-			assertNotNull(testFile);
-			assertTrue(testFile.getName().endsWith(".3"));
-			
-			manager1.close();
-			manager1 = null;
-			manager2.close();
-			manager2 = null;
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-	}
-	
-	/**
-	 * Test multiple FM do not cleanup any old files as they may be in use.
-	 */
-	public void testMultipleFileManagers() {
-		// This test relies on a file lock to fail if the same process already
-		//  holds a file lock. This is true on Win32 but not on Linux. So run 
-		//  this test for windows only.
-		if (!"win32".equalsIgnoreCase(System.getProperty("osgi.os")))
-			// this is a Windows-only test
-			return;
-		String fileName = "testMultipleFileManagers.txt";
-		File file1 = new File(base, fileName+".1");
-		File file2 = new File(base, fileName+".2");
-		manager1 = new StorageManager(base, null);
-		try {
-			manager1.open(true);
-			File file = manager1.lookup(fileName, true);
-			assertNotNull(file);
-			file = manager1.createTempFile(fileName);
-			writeToFile(file, "test contents #1");
-			manager1.update(new String[] {fileName}, new String[] {file.getName()});
-			
-			// ensure file is version #1
-			file = manager1.lookup(fileName, false);
-			assertNotNull(file);
-			assertTrue(file.getName().endsWith(".1"));
-			assertTrue(file1.exists());
-			
-			//new fileMangager using version #1
-			manager2 = new StorageManager(base, null);
-			manager2.open(true);
-			// sanity check
-			file = manager2.lookup(fileName, false);
-			assertNotNull(file);
-			assertTrue(file.getName().endsWith(".1"));
-			assertTrue(file1.exists() && !file2.exists());
-			
-			// back to manager #1, update file again, close
-			file = manager1.createTempFile(fileName);
-			writeToFile(file, "test contents #2");
-			manager1.update(new String[] {fileName}, new String[] {file.getName()});
-			//sanity check
-			assertTrue(file1.exists());
-			assertTrue(file2.exists());
-			manager1.close();
-			manager1 = null;
-			// both files better still exists
-			assertTrue(file1.exists());
-			assertTrue(file2.exists());
-			
-			// manager #2
-			// sanity check
-			file = manager2.lookup(fileName, false);
-			assertNotNull(file);
-			assertTrue(file.getName().endsWith(".1"));
-			// close manager2, cleanup should occur
-			manager2.close();
-			manager2 = null;
-			assertTrue(!file1.exists());
-			assertTrue(file2.exists());
-			
-			// new manager1, does it get version 1?
-			manager1 = new StorageManager(base, null);
-			manager1.open(true);
-			file = manager1.lookup(fileName, false);
-			assertNotNull(file);
-			assertTrue(file.getName().endsWith(".2"));
-			manager1.close();		
-			manager1 = null;
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-	}
-	
-	/**
-	 * This test will verify that a FM will fail if a lock is held
-	 */
-	public void testJavaIOLocking() {
-		// This type of locking is only sure to work on Win32.
-		if (!"win32".equalsIgnoreCase(System.getProperty("osgi.os")))
-			// this is a Windows-only test
-			return;
-		String fileName = "testJavaIOLocking";
-		File lockFile = new File(new File(base,".manager"),".fileTableLock");
-		lockFile.getParentFile().mkdirs();
-		try {
-			new FileOutputStream(lockFile).close();
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		}
-		assertTrue(lockFile.exists());
-		FileOutputStream fos = null;
-		try {
-			fos = new FileOutputStream(lockFile);
-			// we hold the lock, lets open a FM
-			manager1 = new StorageManager(base, "java.io");
-			try {
-				manager1.open(true); // wait for lock
-				fail("open with lock succedded");
-			} catch(IOException e) {
-				//good
-			}
-			
-			manager1.open(false); // don't wait, should work
-			try {
-				manager1.add(fileName);
-				fail("add succedded");
-			} catch(IOException e) {
-				//good
-			}
-			//sanity check, file should not be managed
-			assertNull(manager1.lookup(fileName, false));
-			manager1.close();
-			manager1 = null;
-		} catch(IOException e) {
-			fail("unexpected exception", e);
-		} finally {
-			try {
-				if (fos != null)
-					fos.close();
-			} catch(IOException e) {
-				fail("unexpected exception", e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
deleted file mode 100644
index 00bf6da..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import junit.framework.*;
-import org.eclipse.core.runtime.internal.adaptor.BasicLocation;
-import org.eclipse.core.tests.session.ConfigurationSessionTestSuite;
-import org.eclipse.core.tests.session.SetupManager.SetupException;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.tests.OSGiTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
-public class LocationAreaSessionTest extends OSGiTest {
-	private static final String JAVA_NIO = "java.nio"; //$NON-NLS-1$
-	private static final String JAVA_IO = "java.io"; //$NON-NLS-1$
-	private static final String TEST_LOCATION_DIR = "osgi.test.location.dir"; //$NON-NLS-1$
-
-	private static Location lockedTestLocation;
-	static String testLocationLockDir = OSGiTestsActivator.getContext().getDataFile("testLocation").getAbsolutePath();
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(LocationAreaSessionTest.class.getName());
-
-		// first lock with java.nio
-		suite.addTest(new TestCase("testLockJavaNIO") {
-			public void runBare() throws Throwable {
-				doLock(testLocationLockDir, JAVA_NIO, false, true);
-			}
-		});
-
-		// attempt to lock same location with a session
-		ConfigurationSessionTestSuite sessionLock = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, LocationAreaSessionTest.class.getName());
-		String[] ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++)
-			sessionLock.addBundle(ids[i]);
-		sessionLock.addBundle(PI_OSGI_TESTS);
-		try {
-			sessionLock.getSetup().setSystemProperty(TEST_LOCATION_DIR, testLocationLockDir);
-		} catch (SetupException e) {
-			// what can we do; just fail the testcase later when the prop is not set.
-			e.printStackTrace();
-		}
-		sessionLock.addTest(new LocationAreaSessionTest("testSessionFailLockJavaNIO"));
-		suite.addTest(sessionLock);
-
-		// now release lock
-		suite.addTest(new TestCase("testReleaseJavaNIO") {
-			public void runBare() throws Throwable {
-				doRelease();
-			}
-		});
-
-		// attempt to lock the location with a session
-		sessionLock = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, LocationAreaSessionTest.class.getName());
-		for (int i = 0; i < ids.length; i++)
-			sessionLock.addBundle(ids[i]);
-		sessionLock.addBundle(PI_OSGI_TESTS);
-		try {
-			sessionLock.getSetup().setSystemProperty(TEST_LOCATION_DIR, testLocationLockDir);
-		} catch (SetupException e) {
-			// what can we do; just fail the testcase later when the prop is not set.
-			e.printStackTrace();
-		}
-		sessionLock.addTest(new LocationAreaSessionTest("testSessionSuccessLockJavaNIO"));
-		suite.addTest(sessionLock);
-
-		// now test with java.io
-		suite.addTest(new TestCase("testLockJavaIO") {
-			public void runBare() throws Throwable {
-				// Note that java.io locking only seems to work reliably on windows
-				if (!Constants.OS_WIN32.equals(System.getProperty("osgi.os")))
-					return;
-				doLock(testLocationLockDir, JAVA_IO, false, true);
-			}
-		});
-
-		// attempt to lock same location with a session
-		sessionLock = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, LocationAreaSessionTest.class.getName());
-		ids = ConfigurationSessionTestSuite.MINIMAL_BUNDLE_SET;
-		for (int i = 0; i < ids.length; i++)
-			sessionLock.addBundle(ids[i]);
-		sessionLock.addBundle(PI_OSGI_TESTS);
-		try {
-			sessionLock.getSetup().setSystemProperty(TEST_LOCATION_DIR, testLocationLockDir);
-		} catch (SetupException e) {
-			// what can we do; just fail the testcase later when the prop is not set.
-			e.printStackTrace();
-		}
-		sessionLock.addTest(new LocationAreaSessionTest("testSessionFailLockJavaIO"));
-		suite.addTest(sessionLock);
-
-		// now release lock
-		suite.addTest(new TestCase("testReleaseJavaIO") {
-			public void runBare() throws Throwable {
-				if (!Constants.OS_WIN32.equals(System.getProperty("osgi.os")))
-					return;
-				doRelease();
-			}
-		});
-
-		// attempt to lock the location with a session
-		sessionLock = new ConfigurationSessionTestSuite(PI_OSGI_TESTS, LocationAreaSessionTest.class.getName());
-		for (int i = 0; i < ids.length; i++)
-			sessionLock.addBundle(ids[i]);
-		sessionLock.addBundle(PI_OSGI_TESTS);
-		try {
-			sessionLock.getSetup().setSystemProperty(TEST_LOCATION_DIR, testLocationLockDir);
-		} catch (SetupException e) {
-			// what can we do; just fail the testcase later when the prop is not set.
-			e.printStackTrace();
-		}
-		sessionLock.addTest(new LocationAreaSessionTest("testSessionSuccessLockJavaIO"));
-		suite.addTest(sessionLock);
-		return suite;
-
-	}
-
-	public LocationAreaSessionTest(String name) {
-		super(name);
-	}
-
-	static void doLock(String testLocationDir, String type, boolean release, boolean succeed) {
-		String oldLockingValue = System.setProperty(BasicLocation.PROP_OSGI_LOCKING, type);
-		try {
-			doLock(testLocationDir, release, succeed);
-		} finally {
-			if (oldLockingValue == null)
-				System.getProperties().remove(BasicLocation.PROP_OSGI_LOCKING);
-			else
-				System.setProperty(BasicLocation.PROP_OSGI_LOCKING, oldLockingValue);
-		}
-	}
-
-	static void doLock(String testLocationDir, boolean release, boolean succeed) {
-		if (testLocationDir == null)
-			fail("The testLocationDir is not set");
-		ServiceReference[] refs = null;
-		try {
-			refs = OSGiTestsActivator.getContext().getServiceReferences(Location.class.getName(), "(type=osgi.configuration.area)");
-		} catch (InvalidSyntaxException e) {
-			fail("failed to create filter", e);
-		}
-		// this is test code so we are not very careful; just assume there is at lease one service.  Do not copy and paste this code!!!
-		Location configLocation = (Location) OSGiTestsActivator.getContext().getService(refs[0]);
-		Location testLocation = null;
-		try {
-			testLocation = configLocation.createLocation(null, new File(testLocationDir).toURL(), false);
-			testLocation.setURL(testLocation.getDefault(), false);
-			// try locking location
-			if (succeed ? testLocation.isLocked() : !testLocation.isLocked())
-				fail("location should " + (succeed ? "not " : "") + "be locked");
-			if (succeed ? !testLocation.lock() : testLocation.lock())
-				fail((succeed ? "Could not" : "Could") + " lock location");
-			if (!testLocation.isLocked())
-				fail("location should be locked");
-		} catch (MalformedURLException e) {
-			fail("failed to create the location URL", e);
-		} catch (IOException e) {
-			fail("failed to lock with IOExcetpion", e);
-		} finally {
-			if (release && testLocation != null)
-				testLocation.release();
-			if (!release)
-				lockedTestLocation = testLocation;
-			OSGiTestsActivator.getContext().ungetService(refs[0]);
-		}
-	}
-
-	static void doRelease() {
-		try {
-			if (lockedTestLocation == null)
-				fail("lockedTestLocation == null !!");
-			if (!lockedTestLocation.isLocked())
-				fail("lockedTestLocation is not locked!!");
-			lockedTestLocation.release();
-			if (lockedTestLocation.isLocked())
-				fail("lockedTestLocation is still locked!!");
-		} catch (IOException e) {
-			fail("failed to unlock lockedTestLocation", e);
-		} finally {
-			lockedTestLocation = null;
-		}
-	}
-
-	public void testSessionFailLockJavaNIO() {
-		doLock(System.getProperty(TEST_LOCATION_DIR), JAVA_NIO, true, false);
-	}
-
-	public void testSessionSuccessLockJavaNIO() {
-		doLock(System.getProperty(TEST_LOCATION_DIR), JAVA_NIO, true, true);
-	}
-
-	public void testSessionFailLockJavaIO() {
-		if (!Constants.OS_WIN32.equals(System.getProperty("osgi.os")))
-			return;
-		doLock(System.getProperty(TEST_LOCATION_DIR), JAVA_IO, true, false);
-	}
-
-	public void testSessionSuccessLockJavaIO() {
-		if (!Constants.OS_WIN32.equals(System.getProperty("osgi.os")))
-			return;
-		doLock(System.getProperty(TEST_LOCATION_DIR), JAVA_IO, true, true);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
deleted file mode 100644
index f4368a4..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.storagemanager.StorageManager;
-
-public class SimpleTests extends TestCase {
-	StorageManager manager1;
-	StorageManager manager2;
-	File base;
-	static String TEST1 = "test.txt";
-
-	/**
-	 * Constructs a test case with the given name.
-	 */
-	public SimpleTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(SimpleTests.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		base = new File(Platform.getConfigurationLocation().getURL().getPath());
-		manager1 = new StorageManager(base, null);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public void testAddRemove() {
-		try {
-		manager1.open(true);
-		assertEquals(null, manager1.lookup(TEST1, false));
-		assertEquals(-1, manager1.getId(TEST1));
-
-		manager1.add(TEST1);
-		assertEquals(new File(base, TEST1 + ".0"), manager1.lookup(TEST1, false));
-		assertEquals(0, manager1.getId(TEST1));
-
-		manager1.remove(TEST1);
-		assertEquals(null, manager1.lookup(TEST1, false));
-		assertEquals(-1, manager1.getId(TEST1));
-		} catch(IOException e) {
-			//No exception can occurs since all the lookup calls are done with false
-			e.printStackTrace();
-		}
-	}
-
-//	public void testUpdate1() throws IOException {
-//		manager1.add(TEST1);
-//		update(manager1, TEST1 + ".new");
-//		assertEquals(new File(base, TEST1), manager1.lookup(TEST1, false));
-//		assertEquals(2, manager1.getId(TEST1));
-//		assertTrue(manager1.getTimeStamp(TEST1) != 0);
-//	}
-//
-//	/*
-//	 * should be run after testing single update
-//	 */
-//	public void testUpdate2() throws IOException {
-//		long oldStamp = manager1.getTimeStamp(TEST1);
-//		update(manager1, TEST1 + ".new2");
-//		assertEquals(new File(base, TEST1), manager1.lookup(TEST1));
-//		assertEquals(3, manager1.getId(TEST1));
-//		assertTrue(manager1.getTimeStamp(TEST1) != 0);
-//		assertTrue(new File(base, TEST1 + ".2").exists());
-//		assertTrue(oldStamp != manager1.getTimeStamp(TEST1));
-//	}
-//
-//	/*
-//	 * should be run after testing update2
-//	 */
-//	public void testUpdate3() throws IOException {
-//		manager2 = new FileManager(base);
-//		assertEquals(new File(base, TEST1), manager2.lookup(TEST1));
-//		assertEquals(3, manager2.getId(TEST1));
-//		assertTrue(manager2.getTimeStamp(TEST1) != 0);
-//		assertTrue(new File(base, TEST1 + ".2").exists());
-//
-//		update(manager2, TEST1 + ".new3");
-//		assertEquals(new File(base, TEST1), manager2.lookup(TEST1));
-//		assertEquals(4, manager2.getId(TEST1));
-//		assertTrue(manager2.getTimeStamp(TEST1) != 0);
-//		assertTrue(new File(base, TEST1 + ".3").exists());
-//
-//		assertNotSame(new File(base, TEST1), manager1.lookup(TEST1));
-//		assertEquals(new File(base, TEST1 + ".3"), manager1.lookup(TEST1));
-//		assertEquals(3, manager1.getId(TEST1));
-//		assertTrue(manager1.getTimeStamp(TEST1) != 0);
-//		assertTrue(manager1.getTimeStamp(TEST1) != manager2.getTimeStamp(TEST1));
-//	}
-//
-//	private void update(StorageManager manager, String filename) throws IOException {
-//		writeFile(new File(base, filename));
-//		manager.update(new String[] {TEST1}, new String[] {filename});
-//	}
-//
-//	private void writeFile(File filename) {
-//		try {
-//			FileOutputStream out = new FileOutputStream(filename);
-//			out.write(("test - " + System.currentTimeMillis()).getBytes());
-//			out.close();
-//		} catch (IOException e) {
-//		}
-//	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
deleted file mode 100644
index 457297c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.datalocation;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.storagemanager.ManagedOutputStream;
-import org.eclipse.osgi.storagemanager.StorageManager;
-import org.eclipse.osgi.tests.OSGiTest;
-
-public class StreamManagerTests extends OSGiTest {
-	StorageManager manager1;
-	StorageManager manager2;
-	File base;
-	String reliableFile;
-
-	/**
-	 * Constructs a test case with the given name.
-	 */
-	public StreamManagerTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(StreamManagerTests.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		base = new File(Platform.getConfigurationLocation().getURL().getPath(), "StreamManagerTests");
-		manager1 = null;
-		manager2 = null;
-		reliableFile = System.getProperty("osgi.useReliableFiles");
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (manager1 != null)
-			manager1.close();
-		if (manager2 != null)
-			manager2.close();
-		rm(base);
-		if (reliableFile == null)
-			System.getProperties().remove("osgi.useReliableFiles");
-		else
-			System.setProperty("osgi.useReliableFiles", reliableFile);
-	}
-	
-	private void rm(File file) {
-		if (file.isDirectory()) {
-			File[] list = file.listFiles();
-			if (list != null) {
-				for (int idx=0; idx<list.length; idx++) {
-					rm(list[idx]);
-				}
-			}
-		}
-		file.delete();
-	}
-	
-	private String getInputStreamContents(InputStream is) throws IOException {
-		StringBuffer sb = new StringBuffer();
-		byte[] data = new byte[64];
-		int len;
-		try {
-			while ((len = is.read(data)) != -1) {
-				sb.append(new String(data, 0, len));
-			} 
-		} finally {
-			is.close();
-		}
-		return sb.toString();
-	}
-	
-	
-	void writeToFile(File file, String str) throws IOException {
-		FileOutputStream fos = new FileOutputStream(file);
-		try {
-			fos.write(str.getBytes());
-			fos.flush();
-			fos.getFD().sync();
-		} finally {
-			fos.close();
-		}
-	}
-
-	
-	/**
-	 * This tests that FM will keep a backup version of a reliableFile and that
-	 * corrupting the reliableFile will recover the previous contents.
-	 * 
-	 */
-	public void testReliableFile() {
-		String fileName = "testReliableFile.txt";
-		File file1 = new File(base, fileName+".1");
-		File file2 = new File(base, fileName+".2");
-		File file3 = new File(base, fileName+".3");
-		String contents1 = "test reliable file cOntents #1";
-		String contents2 = "test reliable file cOntents #2";
-		try {
-			System.setProperty("osgi.useReliableFiles", "true"); // force reliable files
-			manager1 = new StorageManager(base, null);
-			manager1.open(true);
-			ManagedOutputStream fmos = manager1.getOutputStream(fileName);
-			assertNotNull(fmos);
-			fmos.write(contents1.getBytes());
-			fmos.close();
-			
-			// Write verion2 of the file
-			fmos = manager1.getOutputStream(fileName);
-			assertNotNull(fmos);
-			fmos.write(contents2.getBytes());
-			fmos.close();
-			assertTrue(file1.exists());
-			assertTrue(file2.exists());
-			assertTrue(!file3.exists());
-			manager1.close();
-			manager1 = null;
-			
-			//now, open new manager, verify file contents are #2
-			System.setProperty("osgi.useReliableFiles", "true"); // force reliable files
-			manager2 = new StorageManager(base, null);
-			manager2.open(true);
-			InputStream is = manager2.getInputStream(fileName);
-			assertNotNull(is);
-			assertEquals(contents2, getInputStreamContents(is));
-			manager2.close();
-			manager2 = null;
-			
-			// need to sleep, FAT32 doesn't have too fine granularity in timestamps
-			try {
-				Thread.sleep(5000);
-			} catch(InterruptedException e) {/*ignore*/}
-			//now, corrupt version 2 of the file
-			RandomAccessFile raf = new RandomAccessFile(file2, "rw");
-			raf.seek(20);
-			raf.write('0'); // change 'O' to '0'
-			raf.close();
-
-			System.setProperty("osgi.useReliableFiles", "true"); // force reliable files
-			manager1 = new StorageManager(base, null);
-			manager1.open(true);
-			
-			//request any valid stream available
-			is = manager1.getInputStream(fileName);
-			assertNotNull(is);
-			assertEquals(contents1, getInputStreamContents(is));
-			
-			//now request only the primary file
-			try {
-				InputStream[] isSet = manager1.getInputStreamSet(new String[] {fileName});
-				for (int i = 0; i < isSet.length; i++) {
-					if (isSet[i] != null)
-						isSet[i].close();
-				}
-				fail("getInputStreamSet was successful");
-			} catch(IOException e) {
-				//good
-			}
-			
-			//now, corrupt version 1 of the file
-			raf = new RandomAccessFile(file1, "rw");
-			raf.seek(20);
-			raf.write('0'); // change 'O' to '0'
-			raf.close();
-			
-			// get input stream should fail
-			try {
-				is = manager1.getInputStream(fileName);
-				fail("get input stream succedded");
-			} catch(IOException e) {
-				//good
-			}
-			manager1.close();
-			manager1 = null;
-		} catch(IOException e) {
-			fail("unexepected exception", e);
-		}
-	}
-	
-	
-	/**
-	 * This tests if migration from a prior (non-ReliableFile) .fileTable
-	 * to the current .fileTable is correct.
-	 *
-	 */
-	public void testMigration() {
-		File testDir = new File(base, "testMigrationManager");
-		File managerDir = new File(testDir, ".manager");
-		String fileName = "testMigration.txt";
-		File file2 = new File(testDir, fileName+".2");
-		File file5 = new File(testDir, fileName+".5");
-		File fileTable = new File(managerDir, ".fileTable");
-		File fileTable1 = new File(managerDir, ".fileTable.1");
-		File fileTable2 = new File(managerDir, ".fileTable.2");
-		File fileTable3 = new File(managerDir, ".fileTable.3");
-		String contents1 = "test reliable file contents #1";
-		String contents2 = "test reliable file contents #2";
-		String contents3 = "test reliable file contents #3";
-		try {
-			// create a .fileTable and a normal file
-			managerDir.mkdirs();
-			writeToFile(fileTable, "#safe table\n"+fileName+"=2\n");
-			writeToFile(file2, contents1);
-			manager1 = new StorageManager(testDir, null);
-			manager1.open(true);
-			File test = manager1.lookup(fileName, false);
-			assertNotNull(test);
-			assertTrue(test.exists());
-			
-			// update a new file
-			File testFile = manager1.createTempFile(fileName);
-			writeToFile(testFile, contents2);
-			manager1.update(new String[] {fileName}, new String[] {testFile.getName()});
-			// again
-			testFile = manager1.createTempFile(fileName);
-			writeToFile(testFile, contents3);
-			manager1.update(new String[] {fileName}, new String[] {testFile.getName()});
-			// again
-			testFile = manager1.createTempFile(fileName);
-			writeToFile(testFile, contents1);
-			manager1.update(new String[] {fileName}, new String[] {testFile.getName()});
-			manager1.close();
-			manager1= null;
-			
-			String[] files = managerDir.list();
-			assertEquals(4, files.length);
-			//original file never gets deleted
-			assertTrue(fileTable.exists());
-			//behaves like a reliableFile?
-			assertFalse(fileTable1.exists());
-			assertTrue(fileTable2.exists());
-			assertTrue(fileTable3.exists());
-			//files are as expected?
-			files = testDir.list();
-			assertEquals(2, files.length);
-			assertTrue(file5.exists());
-			
-			manager2 = new StorageManager(testDir, null);
-			manager2.open(true);
-			testFile = manager2.lookup(fileName, false);
-			assertNotNull(testFile);
-			assertTrue(testFile.exists());
-			assertTrue(testFile.getName().endsWith(".5"));
-			manager2.close();
-			manager2=null;
-			
-		} catch(IOException e) {
-			fail("unexepected exception", e);
-		}
-	}
-
-	/**
-	 * This tests that an output stream abort behave as expected.
-	 *
-	 */
-	public void testAbort() {
-		testAbort(true);
-		testAbort(false);
-	}
-	
-	private void testAbort(boolean reliable) {
-		String fileName;
-		if (reliable)
-			fileName = "abortFileReliable.txt";
-		else 
-			fileName = "abortFileStd.txt";
-		File file1 = new File(base, fileName+".1");
-		File file2 = new File(base, fileName+".2");
-		File file3 = new File(base, fileName+".3");
-		String contents1 = "test reliable file contents #1";
-		String contents2 = "test reliable file contents #2";
-		try {
-			System.setProperty("osgi.useReliableFiles", "true"); // force reliable files
-			manager1 = new StorageManager(base, null);
-			manager1.open(true);
-			//create version 1
-			ManagedOutputStream smos = manager1.getOutputStream(fileName);
-			smos.write(contents1.getBytes());
-			smos.close();
-			
-			//start creating version 2
-			smos = manager1.getOutputStream(fileName);
-			smos.write(contents2.getBytes());
-			smos.abort();
-			smos.close(); // shouldn't cause exception, check!
-			
-			// now see if we're still on version #1
-			assertEquals(1, manager1.getId(fileName));
-			// check contents also
-			InputStream is = manager1.getInputStream(fileName);
-			assertNotNull(is);
-			assertEquals(contents1, getInputStreamContents(is));
-			manager1.close();
-			manager1=null;
-			
-			// open a new manager & check the same thing to ensure the database is correct
-			System.setProperty("osgi.useReliableFiles", "true"); // force reliable files
-			manager2 = new StorageManager(base, null);
-			manager2.open(true);
-			//create version 1
-			// now see if we're still on version #1
-			assertEquals(1, manager2.getId(fileName));
-			// check contents also
-			is = manager2.getInputStream(fileName);
-			assertNotNull(is);
-			assertEquals(contents1, getInputStreamContents(is));
-			manager2.close();
-			manager2=null;
-			assertTrue(file1.exists());
-			assertFalse(file2.exists());
-			assertFalse(file3.exists());
-		} catch(IOException e) {
-			fail("unexepected exception", e);
-		}
-	}
-
-	
-	/**
-	 * This tests if getting an output stream-set work properly.
-	 *
-	 */
-	public void testGetOutputStreamSet() {
-		testGetOutputStreamSet(true);
-		testGetOutputStreamSet(false);
-	}
-	
-	private void testGetOutputStreamSet(boolean reliable) {
-		File mgrDir;
-		if (reliable)
-			mgrDir = new File(base, "getSetReliable");
-		else
-			mgrDir = new File(base, "getSetStd");
-		String fileName1 = "testSet1.txt";
-		String fileName2 = "testSet2.txt";
-		File file1_1 = new File(mgrDir, fileName1+".1");
-		File file1_2 = new File(mgrDir, fileName1+".2");
-		File file2_1 = new File(mgrDir, fileName2+".1");
-		File file2_2 = new File(mgrDir, fileName2+".2");
-		String contents1 = "test reliable file contents #1";
-		String contents2 = "test reliable file contents #2";
-		try {
-			System.setProperty("osgi.useReliableFiles", reliable ? "true" : "false"); // force reliable files
-			manager1 = new StorageManager(mgrDir, null);
-			manager1.open(true);
-			ManagedOutputStream[] outs = manager1.getOutputStreamSet(new String[] {fileName1, fileName2});
-			assertNotNull(outs);
-			assertEquals(2, outs.length);
-			
-			outs[0].write(contents1.getBytes());
-			outs[1].write(contents2.getBytes());
-			outs[1].close();
-			assertFalse(file1_1.exists());
-			assertFalse(file2_1.exists());
-			outs[0].close();
-			assertTrue(file1_1.exists());
-			assertTrue(file2_1.exists());
-			
-			outs = manager1.getOutputStreamSet(new String[] {fileName1, fileName2});
-			assertNotNull(outs);
-			
-			outs[0].write("new data #1".getBytes());
-			outs[1].write("new data #2".getBytes());
-			outs[0].close();
-			assertFalse(file1_2.exists());
-			assertFalse(file2_2.exists());
-			outs[1].close();
-			assertTrue(file1_2.exists());
-			assertTrue(file2_2.exists());
-			manager1.close();
-			manager1 = null;
-			
-			if (reliable) {
-				// verify FM thinks they are reliable
-				assertTrue(file1_1.exists());
-				assertTrue(file2_1.exists());
-			} else {
-				// verify FM thinks they are not reliable
-				assertFalse(file1_1.exists());
-				assertFalse(file2_1.exists());				
-			}
-		
-		} catch(IOException e) {
-			fail("unexepected exception", e);
-		}
-	}
-	
-	/**
-	 * This tests if aborting a managed stream-set works as expected
-	 *
-	 */
-	public void testAbortStreamSet() {
-		testAbortSet(true);
-		testAbortSet(false);
-	}
-	
-	private void testAbortSet(boolean reliable) {
-		File mgrDir;
-		if (reliable)
-			mgrDir = new File(base, "abortSetReliable");
-		else
-			mgrDir = new File(base, "abortSetStd");
-		String fileName1 = "test1.txt";
-		String fileName2 = "test2.txt";
-		String fileName3 = "test3.txt";
-		String fileName4 = "test4.txt";
-		String contents1 = "test reliable file contents #1";
-		String contents2 = "test reliable file contents #2";
-		try {
-			mgrDir.mkdirs();
-			String[] list = mgrDir.list();
-			assertEquals(0, list.length);
-			System.setProperty("osgi.useReliableFiles", reliable ? "true" : "false"); // force reliable files
-			manager1 = new StorageManager(mgrDir, null);
-			manager1.open(true);
-			ManagedOutputStream[] outs = manager1.getOutputStreamSet(new String[] {fileName1, fileName2, fileName3, fileName4});
-			assertNotNull(outs);
-			
-			outs[0].write(contents1.getBytes());
-			outs[1].write(contents2.getBytes());
-			outs[2].write(contents2.getBytes());
-			outs[3].write(contents1.getBytes());
-			//sanity check
-			list = mgrDir.list();
-			assertEquals(5, list.length);
-			outs[2].close();
-			outs[1].abort();
-			outs[0].close(); //noop
-			outs[3].close(); //noop
-			outs[2].close(); //noop
-			outs[1].close(); //noop
-			list = mgrDir.list();
-			assertEquals(1, list.length);
-			assertNull(manager1.lookup(fileName1, false));
-			assertNull(manager1.lookup(fileName2, false));
-			assertNull(manager1.lookup(fileName3, false));
-			assertNull(manager1.lookup(fileName4, false));
-			manager1.close();
-			manager1 = null;
-			
-			// open a new manager & check the same thing to ensure the database is correct
-			System.setProperty("osgi.useReliableFiles", reliable ? "true" : "false"); // force reliable files
-			manager2 = new StorageManager(mgrDir, null);
-			manager2.open(true);
-			//create version 1
-			assertNull(manager2.lookup(fileName1, false));
-			assertNull(manager2.lookup(fileName2, false));
-			assertNull(manager2.lookup(fileName3, false));
-			assertNull(manager2.lookup(fileName4, false));
-			list = mgrDir.list();
-			assertEquals(1, list.length);
-			manager2.close();
-			manager2 = null;
-		
-		} catch(IOException e) {
-			fail("unexepected exception", e);
-		}
-	}
-	
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
deleted file mode 100644
index a8aa688..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.tests.OSGiTest;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.BundleException;
-
-public abstract class AbstractStateTest extends OSGiTest {
-	protected PlatformAdmin platformAdmin;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		platformAdmin = new SimplePlatformAdmin(getRandomLocation().toFile(), OSGiTestsActivator.getContext());
-	}
-
-	public AbstractStateTest(String testName) {
-		super(testName);
-	}
-
-	public void assertContains(String tag, Object[] array, Object element) {
-		for (int i = 0; i < array.length; i++)
-			if (array[i] == element)
-				return;
-		fail(tag);
-	}
-
-	public void assertEquals(State original, State copy) {
-		assertEquals("", original, copy);
-	}
-
-	public void assertEquals(String tag, BundleDescription original, BundleDescription copy) {
-		if (original == copy)
-			return;
-		assertEquals(tag + ".0", original.getBundleId(), copy.getBundleId());
-		assertEquals(tag + ".1", original.getSymbolicName(), copy.getSymbolicName());
-		assertEquals(tag + ".2", original.getVersion(), copy.getVersion());
-		assertEquals(tag + ".3", original.getLocation(), copy.getLocation());
-		assertEquals(tag + ".4", original.isResolved(), copy.isResolved());
-		assertEquals(tag + ".5", original.getHost(), copy.getHost());
-		ExportPackageDescription[] originalExportPackages = original.getExportPackages();
-		ExportPackageDescription[] copyExportPackages = copy.getExportPackages();
-		assertEquals(tag + ".6", originalExportPackages.length, copyExportPackages.length);
-		for (int i = 0; i < originalExportPackages.length; i++)
-			assertEquals(tag + ".7." + i, originalExportPackages[i], copyExportPackages[i]);
-		ImportPackageSpecification[] originalImportPackages = original.getImportPackages();
-		ImportPackageSpecification[] copyImportPackages = copy.getImportPackages();
-		assertEquals(tag + ".8", originalImportPackages.length, copyImportPackages.length);
-		for (int i = 0; i < originalImportPackages.length; i++)
-			assertEquals(tag + ".9." + i, originalImportPackages[i], copyImportPackages[i]);
-		BundleSpecification[] originalRequiredBundles = original.getRequiredBundles();
-		BundleSpecification[] copyRequiredBundles = copy.getRequiredBundles();
-		assertEquals(tag + ".10", originalRequiredBundles.length, copyRequiredBundles.length);
-		for (int i = 0; i < originalRequiredBundles.length; i++)
-			assertEquals(tag + ".11." + i, originalRequiredBundles[i], copyRequiredBundles[i]);
-		ExportPackageDescription[] originalResolvedImports = original.getResolvedImports();
-		ExportPackageDescription[] copyResolvedImports = copy.getResolvedImports();
-		assertEquals(tag + ".12", originalResolvedImports.length, copyResolvedImports.length);
-		for (int i = 0; i < originalResolvedImports.length; i++)
-			assertEquals(tag + ".13." + i, originalResolvedImports[i], copyResolvedImports[i]);
-		BundleDescription[] originalResolvedRequires = original.getResolvedRequires();
-		BundleDescription[] copyResolvedRequires = copy.getResolvedRequires();
-		assertEquals(tag + ".14", originalResolvedRequires.length, copyResolvedRequires.length);
-		for (int i = 0; i < originalResolvedRequires.length; i++)
-			assertEquals(tag + ".15." + i, originalResolvedRequires[i], copyResolvedRequires[i]);
-	}
-
-	public void assertEquals(String tag, ExportPackageDescription original, ExportPackageDescription copy) {
-		assertEquals(tag + ".0", original.getName(), copy.getName());
-		assertEquals(tag + ".1", original.getVersion(), copy.getVersion());
-		assertEquals(tag + ".2", original.getAttributes(), copy.getAttributes());
-		assertEquals(tag + ".3", original.getDirectives(), original.getDirectives());
-	}
-
-	public void assertEquals(String tag, State original, State copy) {
-		BundleDescription[] originalBundles = original.getBundles();
-		BundleDescription[] copyBundles = copy.getBundles();
-		assertEquals(tag + ".1", originalBundles.length, copyBundles.length);
-		for (int i = 0; i < originalBundles.length; i++)
-			assertEquals(tag + ".2." + i, originalBundles[i], copyBundles[i]);
-		assertEquals(tag + ".3", original.isResolved(), copy.isResolved());
-		BundleDescription[] originalResolvedBundles = original.getResolvedBundles();
-		BundleDescription[] copyResolvedBundles = copy.getResolvedBundles();
-		assertEquals(tag + ".4", originalResolvedBundles.length, copyResolvedBundles.length);
-		for (int i = 0; i < originalResolvedBundles.length; i++)
-			assertEquals(tag + ".5." + i, originalResolvedBundles[i], copyResolvedBundles[i]);
-	}
-
-	private void assertVersionConstraintEquals(String tag, VersionConstraint original, VersionConstraint copy) {
-		assertEquals(tag + ".0", original == null, copy == null);
-		if (original == null)
-			return;
-		assertEquals(tag + ".1", original.getName(), copy.getName());
-		assertEquals(tag + ".2", original.getVersionRange(), copy.getVersionRange());
-		assertEquals(tag + ".4", original.getSupplier() == null, copy.getSupplier() == null);
-		if (original.getSupplier() != null) {
-			Object o = original.getSupplier();
-			if (o instanceof BundleDescription)
-				assertEquals(tag + ".5", (BundleDescription)original.getSupplier(), (BundleDescription)copy.getSupplier());
-			else
-				assertEquals(tag + ".5", (ExportPackageDescription)original.getSupplier(), (ExportPackageDescription)copy.getSupplier());
-		}
-	}
-
-	public void assertEquals(String tag, BundleSpecification original, BundleSpecification copy) {
-		assertVersionConstraintEquals(tag + ".0", original, copy);
-		if (original == null)
-			return;
-		assertEquals(tag + ".1", original.isExported(), copy.isExported());
-		assertEquals(tag + ".2", original.isOptional(), copy.isOptional());
-	}
-
-	public void assertEquals(String tag, ImportPackageSpecification original, ImportPackageSpecification copy) {
-		assertVersionConstraintEquals(tag + ".0", original, copy);
-		if (original == null)
-			return;
-		assertEquals(tag + ".1", original.getAttributes(), copy.getAttributes());
-		assertEquals(tag + ".2", original.getBundleSymbolicName(), copy.getBundleSymbolicName());
-		assertEquals(tag + ".3", original.getBundleVersionRange(), copy.getBundleVersionRange());
-		assertEquals(tag + ".5", original.getDirectives(), original.getDirectives());
-	}
-
-	public void assertEquals(String tag, HostSpecification original, HostSpecification copy) {
-		assertVersionConstraintEquals(tag + ".0", original, copy);
-		if (original == null)
-			return;
-		BundleDescription[] originalHosts = original.getHosts();
-		BundleDescription[] copyHosts = copy.getHosts();
-		assertEquals(tag + ".1", originalHosts == null, copyHosts == null);
-		if (originalHosts == null)
-			return;
-		assertEquals(tag + ".2", originalHosts.length, copyHosts.length);
-		for (int i = 0; i < originalHosts.length; i++)
-			assertEquals(tag + ".3." + i, originalHosts[i], copyHosts[i]);
-	}
-
-	public void assertFullyResolved(String tag, BundleDescription bundle) {
-		assertTrue(tag + "a", bundle.isResolved());
-		ImportPackageSpecification[] packages = bundle.getImportPackages();
-		for (int i = 0; i < packages.length; i++)
-			assertNotNull(tag + "b_" + i, packages[i].getSupplier());
-		HostSpecification host = bundle.getHost();
-		if (host != null)
-			assertNotNull(tag + "c", host.getHosts());
-		BundleSpecification[] requiredBundles = bundle.getRequiredBundles();
-		for (int i = 0; i < requiredBundles.length; i++)
-			assertNotNull(tag + "d_" + i, requiredBundles[i].getSupplier());
-	}
-
-	public void assertFullyUnresolved(String tag, BundleDescription bundle) {
-		assertFalse(tag + "a", bundle.isResolved());
-		ImportPackageSpecification[] packages = bundle.getImportPackages();
-		for (int i = 0; i < packages.length; i++)
-			assertNull(tag + "b_" + i, packages[i].getSupplier());
-		HostSpecification host = bundle.getHost();
-		if (host != null)
-			assertNull(tag + "c", host.getHosts());
-		BundleSpecification[] requiredBundles = bundle.getRequiredBundles();
-		for (int i = 0; i < requiredBundles.length; i++)
-			assertNull(tag + "d_" + i, requiredBundles[i].getSupplier());
-	}
-
-	public void assertIdentical(String tag, State original, State copy) {
-		assertEquals(tag + ".0a", original.isResolved(), copy.isResolved());
-		assertEquals(tag + ".0b", original.getTimeStamp(), copy.getTimeStamp());
-		assertEquals(tag, original, copy);
-	}
-
-	public State buildComplexState() throws BundleException {
-		State state = buildEmptyState();
-		/*
-		 * org.eclipse.b1_1.0 exports org.eclipse.p1_1.0 imports org.eclipse.p2
-		 */
-		final String B1_LOCATION = "org.eclipse.b1";
-		final String B1_MANIFEST = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 1.0\n" + "Export-Package: org.eclipse.p1;specification-version=1.0\n" + "Import-Package: org.eclipse.p2";
-		BundleDescription b1 = state.getFactory().createBundleDescription(parseManifest(B1_MANIFEST), B1_LOCATION, 1);
-		state.addBundle(b1);
-		/*
-		 * org.eclipse.b2_2.0 exports org.eclipse.p2 imports org.eclipse.p1
-		 */
-		final String B2_LOCATION = "org.eclipse.b2";
-		final String B2_MANIFEST = "Bundle-SymbolicName: org.eclipse.b2\n" + "Bundle-Version: 2.0\n" + "Export-Package: org.eclipse.p2\n" + "Import-Package: org.eclipse.p1";
-		BundleDescription b2 = state.getFactory().createBundleDescription(parseManifest(B2_MANIFEST), B2_LOCATION, 2);
-		state.addBundle(b2);
-		/*
-		 * org.eclipse.b3_2.0 exports org.eclipse.p2_2.0
-		 */
-		final String B3_LOCATION = "org.eclipse.b3";
-		final String B3_MANIFEST = "Bundle-SymbolicName: org.eclipse.b3\n" + "Bundle-Version: 2.0\n" + "Export-Package: org.eclipse.p2; specification-version=2.0";
-		BundleDescription b3 = state.getFactory().createBundleDescription(parseManifest(B3_MANIFEST), B3_LOCATION, 3);
-		state.addBundle(b3);
-		/*
-		 * org.eclipse.b4_1.0 requires org.eclipse.b1_*
-		 */
-		final String B4_LOCATION = "org.eclipse.b4";
-		final String B4_MANIFEST = "Bundle-SymbolicName: org.eclipse.b4\n" + "Bundle-Version: 2.0\n" + "Require-Bundle: org.eclipse.b1";
-		BundleDescription b4 = state.getFactory().createBundleDescription(parseManifest(B4_MANIFEST), B4_LOCATION, 4);
-		state.addBundle(b4);
-		/*
-		 * org.eclipse.b5_1.0 fragment for org.eclipse.b3_*
-		 */
-		final String B5_LOCATION = "org.eclipse.b5";
-		final String B5_MANIFEST = "Bundle-SymbolicName: org.eclipse.b5\n" + "Bundle-Version: 1.0\n" + "Fragment-Host: org.eclipse.b3";
-		BundleDescription b5 = state.getFactory().createBundleDescription(parseManifest(B5_MANIFEST), B5_LOCATION, 5);
-		state.addBundle(b5);
-		/*
-		 * org.eclipse.b6_1.0 requires org.eclipse.b4
-		 */
-		final String B6_LOCATION = "org.eclipse.b6";
-		final String B6_MANIFEST = "Bundle-SymbolicName: org.eclipse.b6\n" + "Bundle-Version: 1.0\n" + "Require-Bundle: org.eclipse.b4";
-		BundleDescription b6 = state.getFactory().createBundleDescription(parseManifest(B6_MANIFEST), B6_LOCATION, 6);
-		state.addBundle(b6);
-		return state;
-	}
-
-	public State buildEmptyState() {
-		State state = platformAdmin.getState();
-		state.setResolver(platformAdmin.getResolver());
-		return state;
-	}
-
-	public State buildInitialState() throws BundleException {
-		State state = buildEmptyState();
-		/*
-		 * org.eclipse.b1_1.0 exports org.eclipse.p1_1.0
-		 */
-		final String SYSTEM_BUNDLE_LOCATION = "org.eclipse.b1";
-		final String SYSTEM_BUNDLE_MANIFEST = "Bundle-SymbolicName: org.osgi.framework\n" + "Bundle-Version: 3.0\n" + "Export-Package: org.osgi.framework; specification-version=3.0";
-		BundleDescription b0 = state.getFactory().createBundleDescription(parseManifest(SYSTEM_BUNDLE_MANIFEST), SYSTEM_BUNDLE_LOCATION, 0);
-		state.addBundle(b0);
-		return state;
-	}
-
-	public State buildSimpleState() throws BundleException {
-		State state = buildEmptyState();
-		/*
-		 * org.eclipse.b1_1.0 exports org.eclipse.p1_1.0 imports org.eclipse.p2
-		 */
-		final String B1_LOCATION = "org.eclipse.b1";
-		final String B1_MANIFEST = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 1.0\n" + "Export-Package: org.eclipse.p1;specification-version=1.0\n" + "Import-Package: org.eclipse.p2";
-		BundleDescription b1 = state.getFactory().createBundleDescription(parseManifest(B1_MANIFEST), B1_LOCATION, 1);
-		state.addBundle(b1);
-		/*
-		 * org.eclipse.b2_2.0 exports org.eclipse.p2 imports org.eclipse.p1
-		 */
-		final String B2_LOCATION = "org.eclipse.b2";
-		final String B2_MANIFEST = "Bundle-SymbolicName: org.eclipse.b2\n" + "Bundle-Version: 2.0\n" + "Export-Package: org.eclipse.p2\n" + "Import-Package: org.eclipse.p1";
-		BundleDescription b2 = state.getFactory().createBundleDescription(parseManifest(B2_MANIFEST), B2_LOCATION, 2);
-		state.addBundle(b2);
-		/*
-		 * org.eclipse.b3_2.0 imports org.eclipse.p1_2.0
-		 */
-		final String B3_LOCATION = "org.eclipse.b3";
-		final String B3_MANIFEST = "Bundle-SymbolicName: org.eclipse.b3\n" + "Bundle-Version: 2.0\n" + "Import-Package: org.eclipse.p1; specification-version=2.0";
-		BundleDescription b3 = state.getFactory().createBundleDescription(parseManifest(B3_MANIFEST), B3_LOCATION, 3);
-		state.addBundle(b3);
-		return state;
-	}
-
-	public static Dictionary parseManifest(String manifest) {
-		Dictionary entries = new Hashtable();
-		StringTokenizer tokenizer = new StringTokenizer(manifest, ":\n");
-		while (tokenizer.hasMoreTokens()) {
-			String key = tokenizer.nextToken();
-			String value = tokenizer.hasMoreTokens() ? tokenizer.nextToken().trim() : "";
-			entries.put(key, value);
-		}
-		return entries;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
deleted file mode 100644
index 6c11811..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-
-	public AllTests() {
-		super(null);
-	}
-
-	public AllTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(SubstitutableExportsTest.suite());
-		suite.addTest(DisabledInfoTest.suite());
-		suite.addTest(PlatformAdminTest.suite());
-		suite.addTest(StateResolverTest.suite());
-		suite.addTest(StateCycleTest.suite());
-		suite.addTest(StateComparisonTest.suite());
-		suite.addTest(VersionRangeTests.suite());
-		suite.addTest(R4ResolverTest.suite());
-		suite.addTest(XFriendsInternalResolverTest.suite());
-		suite.addTest(GenericCapabilityTest.suite());
-		suite.addTest(DevModeTest.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
deleted file mode 100644
index eafe926..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class DevModeTest extends AbstractStateTest {
-	public static Test suite() {
-		return new TestSuite(DevModeTest.class);
-	}
-
-	public DevModeTest(String name) {
-		super(name);
-	}
-
-	private State buildDevModeState() {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.resolverMode", "development");
-		state.setPlatformProperties(props);
-		return state;
-	}
-
-	public void testDevModeDomino02() throws BundleException {
-		State state = buildDevModeState();
-
-		int bundleID = 0;
-		Hashtable manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "x, d");
-		manifest.put(Constants.REQUIRE_BUNDLE, "X, E");
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "d");
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "e");
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.resolve();
-		// bundle a has an unsatisfied constraint
-		// b, c, d, e should still be resolved though
-		assertFalse("0.1", a.isResolved());
-		assertTrue("0.3", b.isResolved());
-		assertTrue("0.4", c.isResolved());
-		assertTrue("0.5", d.isResolved());
-		assertTrue("0.5", e.isResolved());
-
-		BundleDescription[] aRequired = a.getResolvedRequires();
-		assertTrue("1.1", aRequired.length == 1);
-		assertTrue("1.2", aRequired[0] == e);
-		ExportPackageDescription[] aImported = a.getResolvedImports();
-		assertTrue("1.3", aImported.length == 1);
-		assertTrue("1.4", aImported[0].getExporter() == d);
-
-		BundleDescription[] bRequired = b.getResolvedRequires();
-		assertTrue("2.1", bRequired.length == 1);
-		assertTrue("2.2", bRequired[0] == a);
-
-		BundleDescription[] cRequired = c.getResolvedRequires();
-		assertTrue("3.1", cRequired.length == 1);
-		assertTrue("3.2", cRequired[0] == a);
-	}
-
-	public void testDevModeDomino01() throws BundleException {
-		State state = buildDevModeState();
-
-		int bundleID = 0;
-		Hashtable manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "x");
-		manifest.put(Constants.REQUIRE_BUNDLE, "X");
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.resolve();
-		// bundle a has an unsatisfied constraint
-		// b and c should still be resolved to bundle a though
-		assertFalse("0.1", a.isResolved());
-		assertTrue("0.3", b.isResolved());
-		assertTrue("0.4", c.isResolved());
-
-		BundleDescription[] bRequired = b.getResolvedRequires();
-		assertTrue("1.1", bRequired.length == 1);
-		assertTrue("1.2", bRequired[0] == a);
-
-		BundleDescription[] cRequired = c.getResolvedRequires();
-		assertTrue("2.1", cRequired.length == 1);
-		assertTrue("2.2", cRequired[0] == a);
-	}
-
-	public void testDevModeFragment01() throws BundleException {
-		State state = buildDevModeState();
-
-		int bundleID = 0;
-		Hashtable manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "c");
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.FRAGMENT_HOST, "A");
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag");
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, "a, a.frag");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "c");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.resolve();
-		// only A should not be resolved, do not want the domino effect.
-		assertFalse("0.1", a.isResolved());
-		assertTrue("0.2", aFrag.isResolved());
-		assertTrue("0.3", b.isResolved());
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		ExportPackageDescription[] bImports = b.getResolvedImports();
-		assertTrue("1.1", aExports.length == 2);
-		assertTrue("1.2", bImports.length == 2);
-		assertTrue("1.3", aExports[0] == bImports[0]);
-		assertTrue("1.4", aExports[1] == bImports[1]);
-		assertTrue("1.5", aFrag.getHost().getSupplier() == a);
-
-		state.addBundle(c);
-		state.resolve();
-		assertTrue("2.1", a.isResolved());
-		assertTrue("2.2", aFrag.isResolved());
-		assertTrue("2.3", b.isResolved());
-		assertTrue("2.4", c.isResolved());
-
-		aExports = a.getSelectedExports();
-		bImports = b.getResolvedImports();
-		assertTrue("3.1", aExports.length == 2);
-		assertTrue("3.2", bImports.length == 2);
-		assertTrue("3.3", aExports[0] == bImports[0]);
-		assertTrue("3.4", aExports[1] == bImports[1]);		
-		assertTrue("3.5", aFrag.getHost().getSupplier() == a);
-	}
-
-	public void testDevModeSingleton01() throws BundleException {
-		State state = buildDevModeState();
-
-		int bundleID = 0;
-		Hashtable manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A; singleton:=true");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A; singleton:=true");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; version=2.0");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0,2.0)\"");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a1);
-		state.addBundle(a2);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.resolve();
-		// both versions of A should be resolved
-		assertTrue("0.1", a1.isResolved());
-		assertTrue("0.2", a2.isResolved());
-		assertTrue("0.3", b.isResolved());
-		assertTrue("0.4", c.isResolved());
-
-		BundleDescription[] bRequired = b.getResolvedRequires();
-		assertTrue("1.1", bRequired.length == 1);
-		assertTrue("1.2", bRequired[0] == a2);
-
-		BundleDescription[] cRequired = c.getResolvedRequires();
-		assertTrue("2.1", cRequired.length == 1);
-		assertTrue("2.2", cRequired[0] == a1);
-	}
-
-	public void testDevModeSingleton02() throws BundleException {
-		State state = buildDevModeState();
-
-		int bundleID = 0;
-		Hashtable manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A; singleton:=true");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "x");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A; singleton:=true");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; version=2.0");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; bundle-version=\"[1.0,2.0)\"");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a1);
-		state.addBundle(a2);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.resolve();
-		// only a2 is resolved because a1 has an unsatisfied constraint
-		// c should still be resolved to a1 though
-		assertFalse("0.1", a1.isResolved());
-		assertTrue("0.2", a2.isResolved());
-		assertTrue("0.3", b.isResolved());
-		assertTrue("0.4", c.isResolved());
-
-		BundleDescription[] bRequired = b.getResolvedRequires();
-		assertTrue("1.1", bRequired.length == 1);
-		assertTrue("1.2", bRequired[0] == a2);
-
-		BundleDescription[] cRequired = c.getResolvedRequires();
-		assertTrue("2.1", cRequired.length == 1);
-		assertTrue("2.2", cRequired[0] == a1);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
deleted file mode 100644
index 8b40b5a..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.io.File;
-import java.io.IOException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-
-public class DisabledInfoTest extends AbstractStateTest {
-	private final String B1_LOCATION = "b1"; //$NON-NLS-1$
-	private final String B2_LOCATION = "b2"; //$NON-NLS-1$
-	private final String B3_LOCATION = "b3"; //$NON-NLS-1$
-	private final String POLICY = "test.policy"; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(DisabledInfoTest.class);
-	}
-
-	public DisabledInfoTest(String name) {
-		super(name);
-	}
-
-	public void testDisabledInfo01() throws BundleException {
-		State state = buildTestState();
-		BundleDescription b1 = state.getBundleByLocation(B1_LOCATION);
-		BundleDescription b2 = state.getBundleByLocation(B2_LOCATION);
-		BundleDescription b3 = state.getBundleByLocation(B3_LOCATION);
-
-		DisabledInfo info1 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info2 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-		DisabledInfo info3 = new DisabledInfo(POLICY, "message 1", b3); //$NON-NLS-1$
-
-		state.addDisabledInfo(info1);
-		state.addDisabledInfo(info2);
-		state.addDisabledInfo(info3);
-
-		State copy = state.getFactory().createState(state);
-		BundleDescription copyB1 = copy.getBundleByLocation(B1_LOCATION);
-		BundleDescription copyB2 = copy.getBundleByLocation(B2_LOCATION);
-		BundleDescription copyB3 = copy.getBundleByLocation(B3_LOCATION);
-
-		DisabledInfo copyInfo1 = copy.getDisabledInfo(copyB1, POLICY);
-		DisabledInfo copyInfo2 = copy.getDisabledInfo(copyB2, POLICY);
-		DisabledInfo copyInfo3 = copy.getDisabledInfo(copyB3, POLICY);
-
-		assertNotNull("copyInfo1", copyInfo1); //$NON-NLS-1$
-		assertNotNull("copyInfo2", copyInfo2); //$NON-NLS-1$
-		assertNotNull("copyInfo3", copyInfo3); //$NON-NLS-1$
-
-		assertTrue("copyInfo1 bundle", copyInfo1.getBundle() == copyB1); //$NON-NLS-1$
-		assertTrue("copyInfo2 bundle", copyInfo2.getBundle() == copyB2); //$NON-NLS-1$
-		assertTrue("copyInfo3 bundle", copyInfo3.getBundle() == copyB3); //$NON-NLS-1$
-	}
-
-	public void testDisabledInfo02() throws BundleException {
-		State state = buildTestState();
-		BundleDescription b1 = state.getBundleByLocation(B1_LOCATION);
-		BundleDescription b2 = state.getBundleByLocation(B2_LOCATION);
-		BundleDescription b3 = state.getBundleByLocation(B3_LOCATION);
-
-		DisabledInfo info1 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info2 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-		DisabledInfo info3 = new DisabledInfo(POLICY, "message 1", b3); //$NON-NLS-1$
-
-		state.resolve();
-		assertTrue("b1 resolved", b1.isResolved()); //$NON-NLS-1$
-		assertTrue("b2 resolved", b2.isResolved()); //$NON-NLS-1$
-		assertTrue("b3 resolved", b3.isResolved()); //$NON-NLS-1$
-
-		state.addDisabledInfo(info1);
-		state.addDisabledInfo(info2);
-		state.addDisabledInfo(info3);
-
-		state.resolve(false);
-		assertFalse("b1 resolved", b1.isResolved()); //$NON-NLS-1$
-		assertFalse("b2 resolved", b2.isResolved()); //$NON-NLS-1$
-		assertFalse("b3 resolved", b3.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testDisabledInfo03() throws BundleException {
-		State state = buildTestState();
-		BundleDescription b1 = state.getBundleByLocation(B1_LOCATION);
-		BundleDescription b2 = state.getBundleByLocation(B2_LOCATION);
-		BundleDescription b3 = state.getBundleByLocation(B3_LOCATION);
-
-		DisabledInfo info1 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info2 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-		DisabledInfo info3 = new DisabledInfo(POLICY, "message 1", b3); //$NON-NLS-1$
-
-		state.addDisabledInfo(info1);
-		state.addDisabledInfo(info2);
-		state.addDisabledInfo(info3);
-		BundleContext context = OSGiTestsActivator.getContext();
-		File stateDir = context.getDataFile("testDisabledInfo03"); //$NON-NLS-1$
-		stateDir.mkdirs();
-		try {
-			state.getFactory().writeState(state, stateDir);
-			State copy = state.getFactory().readState(stateDir);
-			BundleDescription copyB1 = copy.getBundleByLocation(B1_LOCATION);
-			BundleDescription copyB2 = copy.getBundleByLocation(B2_LOCATION);
-			BundleDescription copyB3 = copy.getBundleByLocation(B3_LOCATION);
-			DisabledInfo copyInfo1 = copy.getDisabledInfo(copyB1, POLICY);
-			DisabledInfo copyInfo2 = copy.getDisabledInfo(copyB2, POLICY);
-			DisabledInfo copyInfo3 = copy.getDisabledInfo(copyB3, POLICY);
-
-			assertNotNull("copyInfo1", copyInfo1); //$NON-NLS-1$
-			assertNotNull("copyInfo2", copyInfo2); //$NON-NLS-1$
-			assertNotNull("copyInfo3", copyInfo3); //$NON-NLS-1$
-
-			assertTrue("copyInfo1 bundle", copyInfo1.getBundle() == copyB1); //$NON-NLS-1$
-			assertTrue("copyInfo2 bundle", copyInfo2.getBundle() == copyB2); //$NON-NLS-1$
-			assertTrue("copyInfo3 bundle", copyInfo3.getBundle() == copyB3); //$NON-NLS-1$
-		} catch (IOException e) {
-			fail("Unexpected exception", e); //$NON-NLS-1$
-		}
-	}
-
-	public void testDisabledInfo04() throws BundleException {
-		State state = buildTestState();
-		BundleDescription b1 = state.getBundleByLocation(B1_LOCATION);
-		BundleDescription b2 = state.getBundleByLocation(B2_LOCATION);
-		BundleDescription b3 = state.getBundleByLocation(B3_LOCATION);
-
-		DisabledInfo info1 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info2 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-		DisabledInfo info3 = new DisabledInfo(POLICY, "message 1", b3); //$NON-NLS-1$
-
-		state.resolve();
-		assertTrue("b1 resolved", b1.isResolved()); //$NON-NLS-1$
-		assertTrue("b2 resolved", b2.isResolved()); //$NON-NLS-1$
-		assertTrue("b3 resolved", b3.isResolved()); //$NON-NLS-1$
-
-		state.addDisabledInfo(info1);
-		state.addDisabledInfo(info2);
-		state.addDisabledInfo(info3);
-
-		BundleDescription[] disabledBundles = state.getDisabledBundles();
-		assertNotNull("disabledBundles", disabledBundles); //$NON-NLS-1$
-		assertEquals("disabledBundles length", 3, disabledBundles.length); //$NON-NLS-1$
-		assertTrue("b1 not found", disabledBundles[0] == b1 || disabledBundles[1] == b1 || disabledBundles[2] == b1); //$NON-NLS-1$
-		assertTrue("b2 not found", disabledBundles[0] == b2 || disabledBundles[1] == b2 || disabledBundles[2] == b2); //$NON-NLS-1$
-		assertTrue("b3 not found", disabledBundles[0] == b3 || disabledBundles[1] == b3 || disabledBundles[2] == b3); //$NON-NLS-1$
-
-		state.removeDisabledInfo(info1);
-		disabledBundles = state.getDisabledBundles();
-		assertNotNull("disabledBundles", disabledBundles); //$NON-NLS-1$
-		assertEquals("disabledBundles length", 2, disabledBundles.length); //$NON-NLS-1$
-		assertTrue("b2 not found", disabledBundles[0] == b2 || disabledBundles[1] == b2); //$NON-NLS-1$
-		assertTrue("b3 not found", disabledBundles[0] == b3 || disabledBundles[1] == b3); //$NON-NLS-1$
-
-		state.removeDisabledInfo(info2);
-		disabledBundles = state.getDisabledBundles();
-		assertNotNull("disabledBundles", disabledBundles); //$NON-NLS-1$
-		assertEquals("disabledBundles length", 1, disabledBundles.length); //$NON-NLS-1$
-		assertTrue("b3 not found", disabledBundles[0] == b3); //$NON-NLS-1$
-
-		state.removeDisabledInfo(info3);
-		disabledBundles = state.getDisabledBundles();
-		assertNotNull("disabledBundles", disabledBundles); //$NON-NLS-1$
-		assertEquals("disabledBundles length", 0, disabledBundles.length); //$NON-NLS-1$
-	}
-
-	public void testBug251427() throws BundleException {
-		State state = buildTestState();
-		BundleDescription b1 = state.getBundleByLocation(B1_LOCATION);
-		BundleDescription b2 = state.getBundleByLocation(B2_LOCATION);
-
-		DisabledInfo info11 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info12 = new DisabledInfo(POLICY, "message 1", b1); //$NON-NLS-1$
-		DisabledInfo info21 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-		DisabledInfo info22 = new DisabledInfo(POLICY, "message 1", b2); //$NON-NLS-1$
-
-		assertEquals("infos not equal", info11, info12); //$NON-NLS-1$
-		assertEquals("infos hashCode not equal", info11.hashCode(), info12.hashCode()); //$NON-NLS-1$
-		assertEquals("infos not equal", info21, info22); //$NON-NLS-1$
-		assertEquals("infos hashCode not equal", info21.hashCode(), info22.hashCode()); //$NON-NLS-1$
-
-	}
-
-	private State buildTestState() throws BundleException {
-		State state = buildEmptyState();
-		final String B1_MANIFEST = "Bundle-ManifestVersion: 1\n" + "Bundle-SymbolicName: b1\n" + "Bundle-Version: 1.0\n" + "Import-Package: b2"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		BundleDescription b1 = state.getFactory().createBundleDescription(state, parseManifest(B1_MANIFEST), B1_LOCATION, 1);
-		state.addBundle(b1);
-		final String B2_MANIFEST = "Bundle-ManifestVersion: 1\n" + "Bundle-SymbolicName: b2\n" + "Bundle-Version: 1.0\n" + "Export-Package: b2\n" + "Import-Package: b3"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		BundleDescription b2 = state.getFactory().createBundleDescription(state, parseManifest(B2_MANIFEST), B2_LOCATION, 2);
-		state.addBundle(b2);
-		final String B3_MANIFEST = "Bundle-ManifestVersion: 1\n" + "Bundle-SymbolicName: b3\n" + "Bundle-Version: 1.0\n" + "Export-Package: b3; version=1.0"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		BundleDescription b3 = state.getFactory().createBundleDescription(state, parseManifest(B3_MANIFEST), B3_LOCATION, 3);
-		state.addBundle(b3);
-		return state;
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
deleted file mode 100644
index 41286ae..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.*;
-
-public class GenericCapabilityTest extends AbstractStateTest {
-	private static final String GENERIC_REQUIRE = "Eclipse-GenericRequire"; //$NON-NLS-1$
-	private static final String GENERIC_CAPABILITY = "Eclipse-GenericCapability"; //$NON-NLS-1$
-	public static Test suite() {
-		return new TestSuite(GenericCapabilityTest.class);
-	}
-
-	public GenericCapabilityTest(String name) {
-		super(name);
-	}
-
-	public void testGenericsBasics() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\"");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 3);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-	}
-
-	public void testGenericsUpdate() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\"");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 3);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.2\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.2\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.1\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), genCap.getBundleId());
-		
-		state.updateBundle(genCap2);
-		state.resolve(new BundleDescription[] {genCap2});
-
-		assertTrue("3.0", genCap2.isResolved());
-		assertTrue("3.1", genReq.isResolved());
-		genSpecs = genReq.getGenericRequires();
-		assertTrue("4.0", genSpecs.length == 3);
-		assertTrue("4.1", genSpecs[0].isResolved());
-		assertEquals("4.1.1", genSpecs[0].getSupplier(), genCap2.getGenericCapabilities()[0]);
-		assertTrue("4.2", genSpecs[1].isResolved());
-		assertEquals("4.2.1", genSpecs[1].getSupplier(), genCap2.getGenericCapabilities()[1]);
-		assertTrue("4.3", genSpecs[2].isResolved());
-		assertEquals("4.3.1", genSpecs[2].getSupplier(), genCap2.getGenericCapabilities()[2]);
-
-	}
-
-	public void testGenericsRefresh() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\"");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 3);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-
-
-		state.resolve(new BundleDescription[] {genCap});
-
-		assertTrue("3.0", genCap.isResolved());
-		assertTrue("3.1", genReq.isResolved());
-		genSpecs = genReq.getGenericRequires();
-		assertTrue("4.0", genSpecs.length == 3);
-		assertTrue("4.1", genSpecs[0].isResolved());
-		assertEquals("4.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("4.2", genSpecs[1].isResolved());
-		assertEquals("4.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("4.3", genSpecs[2].isResolved());
-		assertEquals("4.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-
-	}
-
-	public void testGenericsFrags() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapability.frag1");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "genericCapablity;bundle-version=\"[1.0.0,2.0.0)\"");
-		capabililty = new StringBuffer();
-		capabililty.append("fragmentStuff");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCapFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\",");
-		required.append("fragmentStuff");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genCapFrag);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		assertTrue("1.2", genCapFrag.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 4);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-		assertTrue("2.4", genSpecs[3].isResolved());
-		assertEquals("2.4.1", genSpecs[3].getSupplier(), genCapFrag.getGenericCapabilities()[0]);
-	}
-
-	public void testGenericsIntraFrags() throws BundleException {
-		State state = buildEmptyState();
-		long bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.equinox.generic.frag.a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "org.eclipse.equinox.generic.host;bundle-version=\"1.0.0\"");
-		manifest.put("Eclipse-GenericCapability", "frag.a");
-		BundleDescription genFragA = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.equinox.generic.host");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		BundleDescription genHost = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.equinox.generic.frag.b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "org.eclipse.equinox.generic.host;bundle-version=\"1.0.0\"");
-		manifest.put("Eclipse-GenericRequire", "frag.a");
-		BundleDescription genFragB = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genHost);
-		state.addBundle(genFragA);
-		state.addBundle(genFragB);
-
-		state.resolve();
-		assertTrue("1.0", genHost.isResolved());
-		assertTrue("1.1", genFragA.isResolved());
-		assertTrue("1.2", genFragB.isResolved());
-		GenericSpecification[] genSpecs = genFragB.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 1);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genFragA.getGenericCapabilities()[0]);
-	}
-	
-
-	public void testGenericsAliases() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] allPlatProps = state.getPlatformProperties();
-		Dictionary platProps = (Dictionary) ((Hashtable)allPlatProps[0]).clone();
-		platProps.put("osgi.genericAliases", "Export-Service:Import-Service:service,TJW-Export:TJW-Import:tjw");
-		state.setPlatformProperties(platProps);
-
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_SERVICE, "org.osgi.service.log.LogService; version=1.2");
-		manifest.put("TJW-Export", "my.great.stuff; aLong:long=5150; aDouble:double=3.14; aVersion:version=1.2.0");
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.IMPORT_SERVICE, "org.osgi.service.log.LogService; selection-filter=(version>=1.0.0)");
-		manifest.put("TJW-Import", "my.great.stuff; selection-filter=(&(aLong<=10000)(aLong>=5000))");
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 2);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-	}
-
-	public void testGenericsOptionalMultiple() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\",");
-		capabililty.append("test.real.optional:thisisoptional,");
-		capabililty.append("test.real.multiple:thisismultiple; version=1.0,");
-		capabililty.append("test.real.multiple:thisismultiple; version=2.0");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\",");
-		required.append("test.optional:thisisoptional; optional=true,");
-		required.append("test.real.optional:thisisoptional; optional=true,");
-		required.append("test.real.multiple:thisismultiple; multiple=true");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 6);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-		assertFalse("2.4", genSpecs[3].isResolved());
-		assertTrue("2.5", genSpecs[4].isResolved());
-		assertEquals("2.5.1", genSpecs[4].getSupplier(), genCap.getGenericCapabilities()[3]);
-		assertTrue("2.6", genSpecs[5].isResolved());
-		GenericDescription[] suppliers = genSpecs[5].getSuppliers();
-		assertTrue("2.6.1", suppliers != null && suppliers.length == 2);
-		assertEquals("2.6.2", suppliers[0], genCap.getGenericCapabilities()[5]);
-		assertEquals("2.6.3", suppliers[1], genCap.getGenericCapabilities()[4]);
-	}
-
-	public void testGenericsCycles() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		StringBuffer capabililty = new StringBuffer();
-		capabililty.append("foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\","); 
-		capabililty.append("bar:bartype; version=\"1.4.1\"; attr1=\"value1\"; attr2=\"value2\",");
-		capabililty.append("test.types:testtype;"); 
-		capabililty.append(" aVersion:version=\"2.0.0\";");
-		capabililty.append(" aLong:long=\"10000000000\";");
-		capabililty.append(" aDouble:double=\"1.000109\";");
-		capabililty.append(" aUri:uri=\"file:/test\";");
-		capabililty.append(" aSet:set=\"a,b,c,d\";");
-		capabililty.append(" aString:string=\"someString\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		StringBuffer required = new StringBuffer();
-		required.append("foo:cycle; selection-filter=\"(version>=1.3.0)\"");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genCap = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapability.frag1");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "genericCapablity;bundle-version=\"[1.0.0,2.0.0)\"");
-		capabililty = new StringBuffer();
-		capabililty.append("fragmentStuff");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		BundleDescription genCapFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		capabililty = new StringBuffer();
-		capabililty.append("foo:cycle; version:version=\"2.0\"");
-		manifest.put(GENERIC_CAPABILITY, capabililty.toString());
-		required = new StringBuffer();
-		required.append("foo; selection-filter=\"(version>=1.3.0)\",");
-		required.append("bar:bartype; selection-filter=\"(attr1=value1)\",");
-		required.append("test.types:testtype; selection-filter=\"(&(aVersion>=2.0.0)(aLong>=5555)(aDouble>=1.00)(aUri=file:/test)(aSet=c)(aString=someString))\",");
-		required.append("fragmentStuff");
-		manifest.put(GENERIC_REQUIRE, required.toString());
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap);
-		state.addBundle(genCapFrag);
-		state.addBundle(genReq);
-
-		state.resolve();
-		assertTrue("1.0", genCap.isResolved());
-		assertTrue("1.1", genReq.isResolved());
-		assertTrue("1.2", genCapFrag.isResolved());
-		GenericSpecification[] genSpecs = genReq.getGenericRequires();
-		assertTrue("2.0", genSpecs.length == 4);
-		assertTrue("2.1", genSpecs[0].isResolved());
-		assertEquals("2.1.1", genSpecs[0].getSupplier(), genCap.getGenericCapabilities()[0]);
-		assertTrue("2.2", genSpecs[1].isResolved());
-		assertEquals("2.2.1", genSpecs[1].getSupplier(), genCap.getGenericCapabilities()[1]);
-		assertTrue("2.3", genSpecs[2].isResolved());
-		assertEquals("2.3.1", genSpecs[2].getSupplier(), genCap.getGenericCapabilities()[2]);
-		assertTrue("2.4", genSpecs[3].isResolved());
-		assertEquals("2.4.1", genSpecs[3].getSupplier(), genCapFrag.getGenericCapabilities()[0]);
-		genSpecs = genCap.getGenericRequires();
-		assertTrue("3.0", genSpecs.length == 1);
-		assertTrue("3.1", genSpecs[0].isResolved());
-		assertEquals("3.1.1", genSpecs[0].getSupplier(), genReq.getGenericCapabilities()[0]);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
deleted file mode 100644
index 16df46c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-
-public class NewResolverTest extends AbstractStateTest {
-
-	public NewResolverTest(String testName) {
-		super(testName);
-	}
-	
-	public static Test suite() {
-		return new TestSuite(NewResolverTest.class);
-	}
-	
-	public void testSkeleton() throws BundleException {
-		State state = buildEmptyState();
-		state.resolve();
-	}
-	
-	public void testBasicScenario1() throws BundleException {
-		State state = buildEmptyState();
-		
-		final String MAN_A = "Bundle-SymbolicName: A\n" + 
-		                     "Export-Package: servlet; specification-version=2.1";
-		BundleDescription bA = state.getFactory().createBundleDescription(parseManifest(MAN_A),
-																		"org.eclipse.basic1A", 0);
-		state.addBundle(bA);
-		
-		final String MAN_B = "Bundle-SymbolicName: B\n" + 
-        					 "Import-Package: servlet; specification-version=2.1";
-		BundleDescription bB = state.getFactory().createBundleDescription(parseManifest(MAN_B),
-													"org.eclipse.basic1B", 1);
-		state.addBundle(bB);
-
-		state.resolve();
-		
-		BundleDescription b0 = state.getBundle(0);
-		assertNotNull("0.1", b0);
-		assertFullyResolved("0.2", b0);
-		
-		BundleDescription b1 = state.getBundle(1);
-		assertNotNull("0.3", b1);
-		assertFullyResolved("0.4", b1);
-	}
-}
-
-
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
deleted file mode 100644
index c8265d6..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.io.*;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.internal.baseadaptor.StateManager;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class PlatformAdminTest extends AbstractStateTest {
-	private static final String GENERIC_REQUIRE = "Eclipse-GenericRequire"; //$NON-NLS-1$
-	private static final String GENERIC_CAPABILITY = "Eclipse-GenericCapability"; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(PlatformAdminTest.class);
-	}
-
-	public PlatformAdminTest(String name) {
-		super(name);
-	}
-
-	private State storeAndRetrieve(State toStore) throws IOException {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		toStore.getFactory().writeState(toStore, baos);
-		ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-		return toStore.getFactory().readState(bais);
-	}
-
-	public void testCache() throws IOException, BundleException {
-		State originalState = buildSimpleState();
-		State retrievedState = storeAndRetrieve(originalState);
-		assertEquals("0.9", 0, retrievedState.getChanges().getChanges().length);
-		assertIdentical("1.0", originalState, retrievedState);
-		originalState.resolve();
-		retrievedState = storeAndRetrieve(originalState);
-		assertIdentical("2.0", originalState, retrievedState);
-	}
-
-	public void testClone() throws BundleException {
-		State original = buildSimpleState();
-		State newState = original.getFactory().createState(original);
-		assertEquals("1", original, newState);
-		original = buildComplexState();
-		newState = original.getFactory().createState(original);
-		assertEquals("2", original, newState);
-	}
-
-	public void testBug205270() throws BundleException {
-		State state = buildSimpleState();
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.BUNDLE_NATIVECODE, "libwrapper-linux-x86-32.so; wrapper-linux-x86-32; osname=linux; processor=x86");
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-		try {
-			BundleDescription aPrime = state.getFactory().createBundleDescription(a);
-			assertEquals("Copy is not equal", a, aPrime);
-		} catch (Throwable t) {
-			fail("Unexpected error while cloning a BundleDescription", t);
-		}
-	}
-
-	public void testBug184127() throws BundleException {
-		File resolverData = getContext().getDataFile("resolverData");
-		resolverData.mkdirs();
-
-		File stateFile = new File(resolverData, ".state");
-		File lazyFile = new File(resolverData, ".lazy");
-		stateFile.delete();
-		lazyFile.delete();
-		StateManager sm = new StateManager(stateFile, lazyFile, getContext());
-		State systemState = sm.readSystemState();
-		assertNull("SystemState is not null", systemState);
-		systemState = sm.createSystemState();
-
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-		manifest = new Hashtable();
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		BundleDescription a = systemState.getFactory().createBundleDescription(systemState, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "b, c");
-		manifest.put(Constants.REQUIRE_BUNDLE, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "afrag2");
-		BundleDescription b = systemState.getFactory().createBundleDescription(systemState, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "afrag2");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "afrag2");
-		manifest.put(Constants.FRAGMENT_HOST, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "c");
-		BundleDescription afrag2 = systemState.getFactory().createBundleDescription(systemState, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "afrag1");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "a");
-		manifest.put(Constants.IMPORT_PACKAGE, "b");
-		BundleDescription afrag1 = systemState.getFactory().createBundleDescription(systemState, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		systemState.addBundle(afrag1);
-		systemState.addBundle(afrag2);
-		systemState.addBundle(a);
-		systemState.addBundle(b);
-
-		systemState.resolve();
-
-		assertTrue("aFrag1 is not resolved", afrag1.isResolved());
-		assertTrue("aFrag2 is not resolved", afrag2.isResolved());
-		assertTrue("a is not resolved", a.isResolved());
-		assertTrue("b is not resolved", b.isResolved());
-
-		try {
-			sm.shutdown(stateFile, lazyFile);
-		} catch (IOException e) {
-			fail("failed to shudown StateManager", e);
-		}
-
-		sm = new StateManager(stateFile, lazyFile, getContext());
-		systemState = sm.readSystemState();
-		assertNotNull("SystemState is null", systemState);
-		b = systemState.getBundle("b", null);
-		ExportPackageDescription[] exports = null;
-		try {
-			exports = b.getExportPackages();
-		} catch (Throwable e) {
-			fail("Unexpected exception getting exports", e);
-		}
-		assertNotNull("exports is null", exports);
-		assertEquals("Wrong number of exports", 2, exports.length);
-	}
-
-	public void testBug241128_01() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "a; bundle-version=\"[1.0.0, 2.0.0)\"");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		state.addBundle(a1);
-		state.addBundle(b);
-		state.resolve(true);
-
-		assertTrue("Bundle a1 is not resolved", a1.isResolved());
-		assertTrue("Bundle b is not resolved", b.isResolved());
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), a1.getBundleId());
-		state.updateBundle(a2);
-
-		state.resolve(true);
-		assertTrue("Bundle a2 is not resolved", a2.isResolved());
-		assertFalse("Bundle b is resolved", b.isResolved());
-
-		VersionConstraint[] unsatisified = state.getStateHelper().getUnsatisfiedLeaves(state.getBundles());
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", b.getRequiredBundles()[0], unsatisified[0]);
-	}
-
-	public void testBug241128_02() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.FRAGMENT_HOST, "a; bundle-version=\"[1.0.0, 2.0.0)\"");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		state.addBundle(a1);
-		state.addBundle(b);
-		state.resolve(true);
-
-		assertTrue("Bundle a1 is not resolved", a1.isResolved());
-		assertTrue("Bundle b is not resolved", b.isResolved());
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), a1.getBundleId());
-		state.updateBundle(a2);
-
-		state.resolve(true);
-		assertTrue("Bundle a2 is not resolved", a2.isResolved());
-		assertFalse("Bundle b is resolved", b.isResolved());
-
-		VersionConstraint[] unsatisified = state.getStateHelper().getUnsatisfiedLeaves(state.getBundles());
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", b.getHost(), unsatisified[0]);
-	}
-
-	public void testBug241128_03() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a; version=1.0");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.IMPORT_PACKAGE, "a; version=\"[1.0.0, 2.0.0)\"");
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		state.addBundle(a1);
-		state.addBundle(b);
-		state.resolve(true);
-
-		assertTrue("Bundle a1 is not resolved", a1.isResolved());
-		assertTrue("Bundle b is not resolved", b.isResolved());
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a; version=2.0");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), a1.getBundleId());
-		state.updateBundle(a2);
-
-		state.resolve(true);
-		assertTrue("Bundle a2 is not resolved", a2.isResolved());
-		assertFalse("Bundle b is resolved", b.isResolved());
-
-		VersionConstraint[] unsatisified = state.getStateHelper().getUnsatisfiedLeaves(state.getBundles());
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", b.getImportPackages()[0], unsatisified[0]);
-	}
-
-	public void testBug241128_04() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.os", "win32");
-		props[0].put("osgi.arch", "x86");
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		int id = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=x86;osname=win32");
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++);
-
-		state.addBundle(a1);
-		state.resolve(true);
-
-		assertTrue("Bundle a1 is not resolved", a1.isResolved());
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=linux;osname=gtk");
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), a1.getBundleId());
-		state.updateBundle(a2);
-
-		state.resolve(true);
-		assertFalse("Bundle a2 is resolved", a2.isResolved());
-
-		VersionConstraint[] unsatisified = state.getStateHelper().getUnsatisfiedConstraints(a2);
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", a2.getNativeCodeSpecification(), unsatisified[0]);
-
-		unsatisified = state.getStateHelper().getUnsatisfiedLeaves(state.getBundles());
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", a2.getNativeCodeSpecification(), unsatisified[0]);
-	}
-
-	public void testGenericsBasics() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(GENERIC_CAPABILITY, "foo; version=\"1.3.1\"; attr1=\"value1\"; attr2=\"value2\"");
-		BundleDescription genCap1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericRequire");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(GENERIC_REQUIRE, "foo; selection-filter=\"(version>=1.3.0)\"");
-		BundleDescription genReq = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(genCap1);
-		state.addBundle(genReq);
-
-		state.resolve();
-
-		assertTrue("Bundle genCap1 is not resolved", genCap1.isResolved());
-		assertTrue("Bundle genReq is not resolved", genReq.isResolved());
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "genericCapablity");
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0");
-		manifest.put(GENERIC_CAPABILITY, "foo; version=\"1.0\"; attr1=\"value1\"; attr2=\"value2\"");
-		BundleDescription genCap2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), genCap1.getBundleId());
-
-		state.updateBundle(genCap2);
-
-		state.resolve(true);
-		assertTrue("Bundle genCap2 is not resolved", genCap2.isResolved());
-		assertFalse("Bundle genReq is resolved", genReq.isResolved());
-
-		VersionConstraint[] unsatisified = state.getStateHelper().getUnsatisfiedLeaves(state.getBundles());
-		assertEquals("Wrong number of unsatisified leaves", 1, unsatisified.length);
-		assertEquals("Wrong unsatisfied constraint", genReq.getGenericRequires()[0], unsatisified[0]);
-	}
-}
-//TODO tests to enable
-//testFragmentUpdateNoVersionChanged()
-//testFragmentUpdateVersionChanged()
-//testHostUpdateNoVersionChanged()
-//testHostUpdateVersionChanged()
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
deleted file mode 100644
index 26d5a3e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import junit.framework.*;
-import org.eclipse.osgi.tests.resolver.*;
-
-public class R4ResolverTest extends TestCase {
-
-	public R4ResolverTest(String testName) {
-		super(testName);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(R4ResolverTest.class.getName());
-		suite.addTest(new TestSuite(TestAttributes_001.class));
-		suite.addTest(new TestSuite(TestBSN_001.class));
-		suite.addTest(new TestSuite(TestCycle_001.class));
-		suite.addTest(new TestSuite(TestCycle_002.class));
-		suite.addTest(new TestSuite(TestCycle_003.class));
-		suite.addTest(new TestSuite(TestCycle_004.class));
-		suite.addTest(new TestSuite(TestCycle_005.class));
-		suite.addTest(new TestSuite(TestCycle_006.class));
-		suite.addTest(new TestSuite(TestDynamic_001.class));
-		suite.addTest(new TestSuite(TestDynamic_002.class));
-		suite.addTest(new TestSuite(TestDynamic_003.class));
-		suite.addTest(new TestSuite(TestDynamic_004.class));
-		suite.addTest(new TestSuite(TestDynamic_005.class));
-		suite.addTest(new TestSuite(TestDynamic_006.class));
-		suite.addTest(new TestSuite(TestGenerated_001.class));
-		suite.addTest(new TestSuite(TestGrouping_001.class));
-		suite.addTest(new TestSuite(TestGrouping_002.class));
-		suite.addTest(new TestSuite(TestGrouping_003.class));
-		suite.addTest(new TestSuite(TestGrouping_006.class));
-		suite.addTest(new TestSuite(TestGrouping_008.class));
-		suite.addTest(new TestSuite(TestOptional_001.class));
-		suite.addTest(new TestSuite(TestOptional_002.class));
-		suite.addTest(new TestSuite(TestPropagation_001.class));
-		suite.addTest(new TestSuite(TestPropagation_003.class));
-		suite.addTest(new TestSuite(TestRFC79_001.class));
-		suite.addTest(new TestSuite(TestRFC79_002.class));
-		suite.addTest(new TestSuite(TestRFC79_003.class));
-		suite.addTest(new TestSuite(TestRFC79_004.class));
-		suite.addTest(new TestSuite(TestRFC79_005.class));
-		suite.addTest(new TestSuite(TestRFC79_006.class));
-		suite.addTest(new TestSuite(TestRFC79_007.class));
-		suite.addTest(new TestSuite(TestVersion_001.class));
-		suite.addTest(new TestSuite(TestVersion_002.class));
-		suite.addTest(new TestSuite(TestVersion_003.class));
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SimplePlatformAdmin.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SimplePlatformAdmin.java
deleted file mode 100644
index 10b6aff..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SimplePlatformAdmin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.io.File;
-import org.eclipse.osgi.internal.baseadaptor.StateManager;
-import org.osgi.framework.BundleContext;
-
-public class SimplePlatformAdmin extends StateManager {
-	public SimplePlatformAdmin(File bundleRootDir, BundleContext context) {
-		super(new File(bundleRootDir, ".state"), new File(bundleRootDir, ".lazy"), context); //$NON-NLS-1$//$NON-NLS-2$
-		createSystemState();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
deleted file mode 100644
index 29c48fe..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-
-public class StateComparisonTest extends AbstractStateTest {
-
-	public StateComparisonTest(String testName) {
-		super(testName);
-	}
-
-	public void testAddition() throws BundleException {
-		State state1 = buildEmptyState();
-		State state2 = state1.getFactory().createState(state1);
-		StateDelta delta = state1.compare(state2);
-		assertEquals("1.0", 0, delta.getChanges().length);
-		delta = state2.compare(state1);
-		assertEquals("1.1", 0, delta.getChanges().length);
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.a\nBundle-Version: 1.0\n";
-		BundleDescription bundleA = state2.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.a", -1);
-		assertTrue("2.0", state2.addBundle(bundleA));
-		delta = state1.compare(state2);
-		assertEquals("2.1", 1, delta.getChanges().length);
-		BundleDelta removal = delta.getChanges()[0];
-		assertEquals("2.2", bundleA, removal.getBundle());
-		assertEquals("2.3", BundleDelta.REMOVED, removal.getType());
-		delta = state2.compare(state1);
-		assertEquals("3.1", 1, delta.getChanges().length);
-		BundleDelta addition = delta.getChanges()[0];
-		assertEquals("3.2", bundleA, addition.getBundle());
-		assertEquals("3.3", BundleDelta.ADDED, addition.getType());
-	}
-
-	public void testRemoval() throws BundleException {
-		State state1 = buildSimpleState();
-		State state2 = state1.getFactory().createState(state1);
-		StateDelta delta = state1.compare(state2);
-		assertEquals("1.0", 0, delta.getChanges().length);
-		delta = state2.compare(state1);
-		assertEquals("1.1", 0, delta.getChanges().length);
-		BundleDescription bundle1 = state1.getBundleByLocation("org.eclipse.b1");
-		assertNotNull("1.9", bundle1);
-		assertTrue("2.0", state1.removeBundle(bundle1));
-		delta = state1.compare(state2);
-		assertEquals("2.1", 1, delta.getChanges().length);
-		BundleDelta removal = delta.getChanges()[0];
-		assertEquals("2.2", bundle1, removal.getBundle());
-		assertEquals("2.3", BundleDelta.REMOVED, removal.getType());
-		delta = state2.compare(state1);
-		assertEquals("3.1", 1, delta.getChanges().length);
-		BundleDelta addition = delta.getChanges()[0];
-		assertEquals("3.2", bundle1, addition.getBundle());
-		assertEquals("3.3", BundleDelta.ADDED, addition.getType());
-	}
-
-	public void testUpdate() throws BundleException {
-		State state1 = buildSimpleState();
-		State state2 = state1.getFactory().createState(state1);
-		StateDelta delta = state1.compare(state2);
-		assertEquals("1.0", 0, delta.getChanges().length);
-		delta = state2.compare(state1);
-		assertEquals("1.1", 0, delta.getChanges().length);
-		assertNotNull("1.9", state1.getBundleByLocation("org.eclipse.b1"));
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.b1\nBundle-Version: 2.0\n";
-		BundleDescription bundle1 = state1.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.b1", 1);
-		assertTrue("2.0", state1.updateBundle(bundle1));
-		delta = state1.compare(state2);
-		assertEquals("2.1", 1, delta.getChanges().length);
-		BundleDelta update = delta.getChanges()[0];
-		assertEquals("2.2", bundle1, update.getBundle());
-		assertEquals("2.3", BundleDelta.UPDATED, update.getType());
-		delta = state2.compare(state1);
-		assertEquals("3.1", 0, delta.getChanges().length);
-	}
-
-	public static Test suite() {
-		return new TestSuite(StateComparisonTest.class);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
deleted file mode 100644
index c784f90..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class StateCycleTest extends AbstractStateTest {
-
-	public static Test suite() {
-		return new TestSuite(StateCycleTest.class);
-	}
-
-	public StateCycleTest(String testName) {
-		super(testName);
-	}
-
-	public void testCycle1() throws BundleException {
-		State state1 = buildEmptyState();
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.a\nBundle-Version: 1.0\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.a", 1));
-		String B_MANIFEST = "Bundle-SymbolicName: org.eclipse.b\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.c\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(B_MANIFEST), "org.eclipse.b", 2));
-		String C_MANIFEST = "Bundle-SymbolicName: org.eclipse.c\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.b\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(C_MANIFEST), "org.eclipse.c", 3));
-		String D_MANIFEST = "Bundle-SymbolicName: org.eclipse.d\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.c\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(D_MANIFEST), "org.eclipse.d", 4));
-		String E_MANIFEST = "Bundle-SymbolicName: org.eclipse.e\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.b; optional=true\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(E_MANIFEST), "org.eclipse.e", 5));
-		String F_MANIFEST = "Bundle-SymbolicName: org.eclipse.f\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.f\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(F_MANIFEST), "org.eclipse.f", 6));
-		State state = state1;
-		state.resolve();
-		BundleDescription bundleA = state.getBundleByLocation("org.eclipse.a");
-		BundleDescription bundleB = state.getBundleByLocation("org.eclipse.b");
-		BundleDescription bundleC = state.getBundleByLocation("org.eclipse.c");
-		BundleDescription bundleD = state.getBundleByLocation("org.eclipse.d");
-		BundleDescription bundleE = state.getBundleByLocation("org.eclipse.e");
-		BundleDescription bundleF = state.getBundleByLocation("org.eclipse.f");
-		BundleDescription[] allBundles = state.getBundles();
-		assertContains("0.5", allBundles, bundleA);
-		assertContains("0.6", allBundles, bundleB);
-		assertContains("0.7", allBundles, bundleC);
-		assertContains("0.8", allBundles, bundleD);
-		assertContains("0.9", allBundles, bundleE);
-		assertContains("0.10", allBundles, bundleF);
-
-		// cycles must resolve now
-		assertTrue("1.0", bundleA.isResolved());
-		assertTrue("2.0", bundleB.isResolved());
-		assertTrue("3.0", bundleC.isResolved());
-		assertTrue("4.0", bundleD.isResolved());
-		assertTrue("5.0", bundleE.isResolved());
-		assertTrue("6.0", bundleF.isResolved());
-	}
-
-	public void testCycle2() throws BundleException {
-		State state1 = buildEmptyState();
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.a\nBundle-Version: 1.0\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.a", 1));
-		String B_MANIFEST = "Bundle-SymbolicName: org.eclipse.b\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.c\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(B_MANIFEST), "org.eclipse.b", 2));
-		String C_MANIFEST = "Bundle-SymbolicName: org.eclipse.c\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.d\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(C_MANIFEST), "org.eclipse.c", 3));
-		String D_MANIFEST = "Bundle-SymbolicName: org.eclipse.d\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.b\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(D_MANIFEST), "org.eclipse.d", 4));
-		String E_MANIFEST = "Bundle-SymbolicName: org.eclipse.e\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.a,org.eclipse.b; optional=true\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(E_MANIFEST), "org.eclipse.e", 5));
-		String F_MANIFEST = "Bundle-SymbolicName: org.eclipse.f\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.f\n";
-		state1.addBundle(state1.getFactory().createBundleDescription(parseManifest(F_MANIFEST), "org.eclipse.f", 6));
-		State state = state1;
-		state.resolve();
-		BundleDescription bundleA = state.getBundleByLocation("org.eclipse.a");
-		BundleDescription bundleB = state.getBundleByLocation("org.eclipse.b");
-		BundleDescription bundleC = state.getBundleByLocation("org.eclipse.c");
-		BundleDescription bundleD = state.getBundleByLocation("org.eclipse.d");
-		BundleDescription bundleE = state.getBundleByLocation("org.eclipse.e");
-		BundleDescription bundleF = state.getBundleByLocation("org.eclipse.f");
-		BundleDescription[] allBundles = state.getBundles();
-		assertContains("0.5", allBundles, bundleA);
-		assertContains("0.6", allBundles, bundleB);
-		assertContains("0.7", allBundles, bundleC);
-		assertContains("0.8", allBundles, bundleD);
-		assertContains("0.9", allBundles, bundleE);
-		assertContains("0.10", allBundles, bundleF);
-
-		// cycles must resolve now
-		assertTrue("1.0", bundleA.isResolved());
-		assertTrue("2.0", bundleB.isResolved());
-		assertTrue("3.0", bundleC.isResolved());
-		assertTrue("4.0", bundleD.isResolved());
-		assertTrue("5.0", bundleE.isResolved());
-		assertTrue("6.0", bundleF.isResolved());
-
-	}
-
-	public void testCycle3() throws BundleException {
-		State state = buildEmptyState();
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.a\nBundle-Version: 1.0\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.a", 1));
-		String B_MANIFEST = "Bundle-SymbolicName: org.eclipse.b\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.c\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(B_MANIFEST), "org.eclipse.b", 2));
-		String C_MANIFEST = "Bundle-SymbolicName: org.eclipse.c\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.d\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(C_MANIFEST), "org.eclipse.c", 3));
-		String D_MANIFEST = "Bundle-SymbolicName: org.eclipse.d\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.b\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(D_MANIFEST), "org.eclipse.d", 4));
-
-		state.resolve();
-		BundleDescription bundleC = state.getBundleByLocation("org.eclipse.c");
-		BundleDescription bundleB = state.getBundleByLocation("org.eclipse.b");
-		BundleDescription bundleA = state.getBundleByLocation("org.eclipse.a");
-		BundleDescription bundleD = state.getBundleByLocation("org.eclipse.d");
-		BundleDescription[] allBundles = state.getBundles();
-		assertContains("0.5", allBundles, bundleC);
-		assertContains("0.6", allBundles, bundleB);
-		assertContains("0.7", allBundles, bundleA);
-		assertContains("0.8", allBundles, bundleD);
-
-		// cycles must resolve now
-		assertTrue("0.9", bundleA.isResolved());
-		assertTrue("1.0", bundleC.isResolved());
-		assertTrue("2.0", bundleB.isResolved());
-		assertTrue("3.0", bundleD.isResolved());
-	}
-
-	public void testCycle4() throws BundleException {
-		State state = buildEmptyState();
-		String A_MANIFEST = "Bundle-SymbolicName: org.eclipse.a\nBundle-Version: 1.0\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(A_MANIFEST), "org.eclipse.a", 1));
-		String B_MANIFEST = "Bundle-SymbolicName: org.eclipse.b\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.c\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(B_MANIFEST), "org.eclipse.b", 2));
-		String C_MANIFEST = "Bundle-SymbolicName: org.eclipse.c\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.d\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(C_MANIFEST), "org.eclipse.c", 3));
-		String D_MANIFEST = "Bundle-SymbolicName: org.eclipse.d\nBundle-Version: 1.0\nRequire-Bundle: org.eclipse.b; optional=true\n";
-		state.addBundle(state.getFactory().createBundleDescription(parseManifest(D_MANIFEST), "org.eclipse.d", 4));
-
-		state.resolve();
-		BundleDescription bundleC = state.getBundleByLocation("org.eclipse.c");
-		BundleDescription bundleB = state.getBundleByLocation("org.eclipse.b");
-		BundleDescription bundleA = state.getBundleByLocation("org.eclipse.a");
-		BundleDescription bundleD = state.getBundleByLocation("org.eclipse.d");
-		BundleDescription[] allBundles = state.getBundles();
-		assertContains("0.5", allBundles, bundleC);
-		assertContains("0.6", allBundles, bundleB);
-		assertContains("0.7", allBundles, bundleA);
-		assertContains("0.8", allBundles, bundleD);
-
-		// cycles must resolve now
-		assertTrue("0.9", bundleA.isResolved());
-		assertTrue("1.0", bundleC.isResolved());
-		assertTrue("2.0", bundleB.isResolved());
-		assertTrue("3.0", bundleD.isResolved());
-	}
-
-	public void test185285() throws BundleException {
-		// if two versions of the same bundle export and import two different packages at the same version
-		// then we should resolve both sets of imports to the first bundle installed.
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "X");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "foo; version=\"1.0.0\", bar; version=\"1.0.0\"");
-		manifest.put(Constants.IMPORT_PACKAGE, "foo, bar");
-		BundleDescription a_100 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "X");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1");
-		manifest.put(Constants.EXPORT_PACKAGE, "foo; version=\"1.0.0\", bar; version=\"1.0.0\"");
-		manifest.put(Constants.IMPORT_PACKAGE, "foo, bar");
-		BundleDescription a_101 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(a_100);
-		state.addBundle(a_101);
-
-		state.resolve();
-		assertTrue("1.0", a_100.isResolved());
-		assertTrue("1.1", a_101.isResolved());
-		ExportPackageDescription[] selectedExportsA100 = a_100.getSelectedExports();
-		ExportPackageDescription[] selectedExportsA101 = a_101.getSelectedExports();
-		assertTrue("2.0", selectedExportsA100.length == 2);
-		assertTrue("2.1", selectedExportsA101.length == 0);
-		ExportPackageDescription[] resolvedImportsA100 = a_100.getResolvedImports();
-		ExportPackageDescription[] resolvedImportsA101 = a_100.getResolvedImports();
-		assertTrue("3.0", resolvedImportsA100.length == 2);
-		assertTrue("3.1", resolvedImportsA101.length == 2);
-		for (int i = 0; i < resolvedImportsA100.length; i++) {
-			assertTrue("3.2.1." + i, selectedExportsA100[i] == resolvedImportsA100[i]);
-			assertTrue("3.2.1." + i, selectedExportsA100[i] == resolvedImportsA101[i]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
deleted file mode 100644
index a94f5ae..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
+++ /dev/null
@@ -1,3754 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.tests.OSGiTestsActivator;
-import org.osgi.framework.*;
-
-public class StateResolverTest extends AbstractStateTest {
-	public static Test suite() {
-		return new TestSuite(StateResolverTest.class);
-	}
-
-	public StateResolverTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests adding 3 new bundles to an already resolved state and then
-	 * resolving only one of the bundles. The result should be all 3 added
-	 * bundles being resolved.
-	 *  
-	 */
-	public void testAdd3Resolve1() throws BundleException {
-		State state = buildInitialState();
-		StateDelta delta = state.resolve();
-		BundleDelta[] deltas = delta.getChanges();
-		BundleDescription b0 = state.getBundle(0);
-		assertNotNull("0.1", b0); //$NON-NLS-1$
-		assertFullyResolved("0.2", b0); //$NON-NLS-1$
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p1; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b1 = null;
-		try {
-			b1 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b1", 1); //$NON-NLS-1$
-			state.removeBundle(1);
-			state.addBundle(b1);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p2; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b2 = null;
-		try {
-			b2 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b2", 2); //$NON-NLS-1$
-			state.removeBundle(2);
-			state.addBundle(b2);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p2"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p3; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b3 = null;
-		try {
-			b3 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b3", 3); //$NON-NLS-1$
-			state.removeBundle(3);
-			state.addBundle(b3);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		delta = state.resolve(new BundleDescription[] {state.getBundle(1)});
-		deltas = delta.getChanges();
-		assertEquals("1.0", 3, deltas.length); //$NON-NLS-1$
-		Map deltasMap = new HashMap();
-		for (int i = 0; i < deltas.length; i++)
-			deltasMap.put(new Long(deltas[i].getBundle().getBundleId()), deltas[i]);
-		assertNotNull("1.1", deltasMap.get(new Long(1))); //$NON-NLS-1$
-		assertNotNull("1.2", deltasMap.get(new Long(2))); //$NON-NLS-1$
-		assertNotNull("1.3", deltasMap.get(new Long(3))); //$NON-NLS-1$
-		assertEquals("2.1", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(1))).getType()); //$NON-NLS-1$
-		assertEquals("2.2", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(2))).getType()); //$NON-NLS-1$
-		assertEquals("2.3", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(3))).getType()); //$NON-NLS-1$
-	}
-
-	public void testBasicResolution() throws BundleException {
-		State state = buildSimpleState();
-		StateDelta delta = state.resolve();
-		BundleDescription b1 = state.getBundle(1);
-		BundleDescription b2 = state.getBundle(2);
-		BundleDescription b3 = state.getBundle(3);
-		assertNotNull("0.1", b1); //$NON-NLS-1$
-		assertNotNull("0.2", b2); //$NON-NLS-1$
-		assertNotNull("0.3", b3); //$NON-NLS-1$
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.0", 3, changes.length); //$NON-NLS-1$
-		BundleDelta[] additions = delta.getChanges(BundleDelta.ADDED, false);
-		assertEquals("2.0", 3, additions.length); //$NON-NLS-1$
-		BundleDelta[] resolutions = delta.getChanges(BundleDelta.RESOLVED, false);
-		assertEquals("3.0", 2, resolutions.length); //$NON-NLS-1$
-		Map deltasMap = new HashMap();
-		for (int i = 0; i < resolutions.length; i++)
-			deltasMap.put(resolutions[i].getBundle().getSymbolicName(), resolutions[i]);
-		assertNotNull("3.1", deltasMap.get(b1.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.2", deltasMap.get(b2.getSymbolicName())); //$NON-NLS-1$
-		// TODO why do we expect unresolved deltas here when the bundle was not resolved in the first place?
-		//BundleDelta[] unresolutions = delta.getChanges(BundleDelta.UNRESOLVED, false);
-		//assertEquals("4.0", 1, unresolutions.length);
-		//assertEquals("4.1", unresolutions[0].getBundle(), b3);
-		assertFullyResolved("5.1", b1); //$NON-NLS-1$
-		assertFullyResolved("5.2", b2); //$NON-NLS-1$
-		assertFullyUnresolved("5.3", b3); //$NON-NLS-1$
-	}
-
-	public void testComplexResolution() throws BundleException {
-		State state = buildComplexState();
-		StateDelta delta = state.resolve();
-		BundleDescription b1 = state.getBundle("org.eclipse.b1", Version.parseVersion("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b2 = state.getBundle("org.eclipse.b2", Version.parseVersion("2.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b3 = state.getBundle("org.eclipse.b3", Version.parseVersion("2.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b4 = state.getBundle("org.eclipse.b4", Version.parseVersion("2.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b5 = state.getBundle("org.eclipse.b5", Version.parseVersion("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b6 = state.getBundle("org.eclipse.b6", Version.parseVersion("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull("0.1", b1); //$NON-NLS-1$
-		assertNotNull("0.2", b2); //$NON-NLS-1$
-		assertNotNull("0.3", b3); //$NON-NLS-1$
-		assertNotNull("0.4", b4); //$NON-NLS-1$
-		assertNotNull("0.5", b5); //$NON-NLS-1$
-		assertNotNull("0.6", b6); //$NON-NLS-1$
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.0", 6, changes.length); //$NON-NLS-1$
-		BundleDelta[] additions = delta.getChanges(BundleDelta.ADDED, false);
-		assertEquals("2.0", 6, additions.length); //$NON-NLS-1$
-		BundleDelta[] resolutions = delta.getChanges(BundleDelta.RESOLVED, false);
-		assertEquals("3.0", 6, resolutions.length); //$NON-NLS-1$
-		Map deltasMap = new HashMap();
-		for (int i = 0; i < resolutions.length; i++)
-			deltasMap.put(resolutions[i].getBundle().getSymbolicName(), resolutions[i]);
-		assertNotNull("3.1", deltasMap.get(b1.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.2", deltasMap.get(b2.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.3", deltasMap.get(b3.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.4", deltasMap.get(b4.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.5", deltasMap.get(b5.getSymbolicName())); //$NON-NLS-1$
-		assertNotNull("3.6", deltasMap.get(b6.getSymbolicName())); //$NON-NLS-1$
-		BundleDelta[] unresolutions = delta.getChanges(BundleDelta.UNRESOLVED, false);
-		assertEquals("4.0", 0, unresolutions.length); //$NON-NLS-1$
-		assertFullyResolved("5.1", b1); //$NON-NLS-1$
-		assertFullyResolved("5.2", b2); //$NON-NLS-1$
-		assertFullyResolved("5.3", b3); //$NON-NLS-1$
-		assertFullyResolved("5.4", b4); //$NON-NLS-1$
-		assertFullyResolved("5.5", b5); //$NON-NLS-1$
-		assertFullyResolved("5.6", b6); //$NON-NLS-1$
-	}
-
-	public void testDependentBundles() throws BundleException {
-		State state = buildComplexState();
-		state.resolve();
-		BundleDescription[] dependent;
-		dependent = platformAdmin.getStateHelper().getDependentBundles(new BundleDescription[] {state.getBundle(2)});
-		assertEquals("1.0", 1, dependent.length); //$NON-NLS-1$
-		assertEquals("1.1", state.getBundle(2), dependent[0]); //$NON-NLS-1$
-		dependent = platformAdmin.getStateHelper().getDependentBundles(new BundleDescription[] {state.getBundle(1)});
-		assertEquals("2.0", 4, dependent.length); //$NON-NLS-1$
-		assertContains("2.1", dependent, state.getBundle(1)); //$NON-NLS-1$
-		assertContains("2.2", dependent, state.getBundle(2)); //$NON-NLS-1$
-		assertContains("2.3", dependent, state.getBundle(4)); //$NON-NLS-1$
-		assertContains("2.4", dependent, state.getBundle(6)); //$NON-NLS-1$
-	}
-
-	public void testPrerequisiteBundle() throws BundleException {
-		State state = buildComplexState();
-		state.resolve();
-		BundleDescription[] prereqs;
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(state.getResolvedBundles());
-		assertEquals("1.0", 6, prereqs.length); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(1)});
-		assertEquals("2.0", 2, prereqs.length); //$NON-NLS-1$
-		assertContains("2.1", prereqs, state.getBundle(1)); //$NON-NLS-1$
-		assertContains("2.2", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(2)});
-		assertEquals("3.0", 3, prereqs.length); //$NON-NLS-1$
-		assertContains("3.1", prereqs, state.getBundle(1)); //$NON-NLS-1$
-		assertContains("3.2", prereqs, state.getBundle(2)); //$NON-NLS-1$
-		assertContains("3.3", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(3)});
-		assertEquals("4.0", 1, prereqs.length); //$NON-NLS-1$
-		assertContains("4.1", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(4)});
-		assertEquals("5.0", 3, prereqs.length); //$NON-NLS-1$
-		assertContains("5.1", prereqs, state.getBundle(1)); //$NON-NLS-1$
-		assertContains("5.2", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		assertContains("5.3", prereqs, state.getBundle(4)); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(5)});
-		assertEquals("6.0", 2, prereqs.length); //$NON-NLS-1$
-		assertContains("6.1", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		assertContains("6.2", prereqs, state.getBundle(5)); //$NON-NLS-1$
-		prereqs = platformAdmin.getStateHelper().getPrerequisites(new BundleDescription[] {state.getBundle(6)});
-		assertEquals("6.0", 4, prereqs.length); //$NON-NLS-1$
-		assertContains("6.1", prereqs, state.getBundle(1)); //$NON-NLS-1$
-		assertContains("6.2", prereqs, state.getBundle(3)); //$NON-NLS-1$
-		assertContains("6.3", prereqs, state.getBundle(4)); //$NON-NLS-1$
-		assertContains("6.4", prereqs, state.getBundle(6)); //$NON-NLS-1$
-	}
-
-	// temporarily disabled
-	public void testLinkageChange() throws BundleException {
-		State state = buildEmptyState();
-		// don't add b1 for now
-		String B1_LOCATION = "org.eclipse.b1"; //$NON-NLS-1$
-		final String B1_MANIFEST = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 1.0\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b1 = state.getFactory().createBundleDescription(parseManifest(B1_MANIFEST), B1_LOCATION, (long) (Math.random() * Long.MAX_VALUE));
-		// b2 requires b1 optionally, so should resolve
-		String B2_LOCATION = "org.eclipse.b2"; //$NON-NLS-1$
-		final String B2_MANIFEST = "Bundle-SymbolicName: org.eclipse.b2\n" + "Bundle-Version: 2.0\n" + "Require-Bundle: org.eclipse.b1;optional=true"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		BundleDescription b2 = state.getFactory().createBundleDescription(parseManifest(B2_MANIFEST), B2_LOCATION, (long) (Math.random() * Long.MAX_VALUE));
-		// b3 requires b1, so should not resolve
-		String B3_LOCATION = "org.eclipse.b3"; //$NON-NLS-1$
-		final String B3_MANIFEST = "Bundle-SymbolicName: org.eclipse.b3\n" + "Bundle-Version: 2.0\n" + "Require-Bundle: org.eclipse.b1"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		BundleDescription b3 = state.getFactory().createBundleDescription(parseManifest(B3_MANIFEST), B3_LOCATION, (long) (Math.random() * Long.MAX_VALUE));
-		// add b2 and b3
-		state.addBundle(b2);
-		state.addBundle(b3);
-		StateDelta delta = state.resolve();
-		// ensure we didn't add b1 yet
-		assertFullyUnresolved("0.1", b1); //$NON-NLS-1$
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.0", 2, changes.length); //$NON-NLS-1$
-		BundleDelta[] additions = delta.getChanges(BundleDelta.ADDED, false);
-		assertEquals("2.0", 2, additions.length); //$NON-NLS-1$
-		BundleDelta[] resolutions = delta.getChanges(BundleDelta.RESOLVED, false);
-		assertEquals("3.0", 1, resolutions.length); //$NON-NLS-1$
-		assertEquals("3.1", b2, resolutions[0].getBundle()); //$NON-NLS-1$
-		BundleDelta[] addtionsNotResolved = delta.getChanges(BundleDelta.ADDED, true);
-		assertEquals("4.0", 1, addtionsNotResolved.length); //$NON-NLS-1$
-		assertEquals("4.1", b3, addtionsNotResolved[0].getBundle()); //$NON-NLS-1$
-		state.addBundle(b1);
-		delta = state.resolve();
-		changes = delta.getChanges();
-		assertEquals("5.0", 2, changes.length); //$NON-NLS-1$
-		additions = delta.getChanges(BundleDelta.ADDED, false);
-		assertEquals("6.0", 1, additions.length); //$NON-NLS-1$
-		assertEquals("6.1", b1, additions[0].getBundle()); //$NON-NLS-1$
-		resolutions = delta.getChanges(BundleDelta.RESOLVED, false);
-		assertEquals("7.0", 2, resolutions.length); //$NON-NLS-1$
-		BundleDelta[] existingResolved = delta.getChanges(BundleDelta.RESOLVED, true);
-		assertEquals("8.0", 1, existingResolved.length); //$NON-NLS-1$
-		assertEquals("8.1", b3, existingResolved[0].getBundle()); //$NON-NLS-1$
-		// TODO linkage changed types are no longer valid
-		//BundleDelta[] optionalLinkageChanged = delta.getChanges(BundleDelta.OPTIONAL_LINKAGE_CHANGED, true);
-		//assertEquals("9.0", 1, optionalLinkageChanged.length);
-		//assertEquals("9.1", b2, optionalLinkageChanged[0].getBundle());
-		delta = state.resolve(new BundleDescription[] {b2});
-		changes = delta.getChanges();
-		assertEquals("9.0", 1, changes.length); //$NON-NLS-1$
-		resolutions = delta.getChanges(BundleDelta.RESOLVED, true);
-		assertEquals("9.1", 1, resolutions.length); //$NON-NLS-1$
-		assertEquals("9.2", b2, resolutions[0].getBundle()); //$NON-NLS-1$
-		assertFullyResolved("10.1", b1); //$NON-NLS-1$
-		assertFullyResolved("10.2", b2); //$NON-NLS-1$
-		assertFullyResolved("10.3", b3); //$NON-NLS-1$
-	}
-
-	// temporarily disabled
-	public void testReinstall() throws BundleException {
-		State state = buildComplexState();
-		StateDelta delta = state.resolve();
-		// remove bundle 4 - should cause 6 to be unresolved
-		state.removeBundle(4);
-		delta = state.resolve();
-		assertEquals("1.0", 1, delta.getChanges(BundleDelta.REMOVED | BundleDelta.UNRESOLVED | BundleDelta.REMOVAL_COMPLETE, true).length); //$NON-NLS-1$
-		assertEquals("1.1", 4, delta.getChanges(BundleDelta.REMOVED | BundleDelta.UNRESOLVED | BundleDelta.REMOVAL_COMPLETE, true)[0].getBundle().getBundleId()); //$NON-NLS-1$
-		assertEquals("2.0", 1, delta.getChanges(BundleDelta.UNRESOLVED, true).length); //$NON-NLS-1$
-		assertEquals("2.1", 6, delta.getChanges(BundleDelta.UNRESOLVED, true)[0].getBundle().getBundleId()); //$NON-NLS-1$
-		// reinstall bundle 4 - should cause 6 to be resolved again
-		BundleDescription b4 = delta.getChanges(BundleDelta.REMOVED | BundleDelta.UNRESOLVED | BundleDelta.REMOVAL_COMPLETE, true)[0].getBundle();
-		state.addBundle(b4);
-		delta = state.resolve();
-		assertEquals("3.0", 1, delta.getChanges(BundleDelta.ADDED | BundleDelta.RESOLVED, true).length); //$NON-NLS-1$
-		assertEquals("3.1", 4, delta.getChanges(BundleDelta.ADDED | BundleDelta.RESOLVED, true)[0].getBundle().getBundleId()); //$NON-NLS-1$
-		assertEquals("4.0", 1, delta.getChanges(BundleDelta.RESOLVED, true).length); //$NON-NLS-1$
-		assertEquals("4.1", 6, delta.getChanges(BundleDelta.RESOLVED, true)[0].getBundle().getBundleId()); //$NON-NLS-1$
-	}
-
-	public void testRemoval() throws BundleException {
-		String B1_LOCATION = "org.eclipse.b1"; //$NON-NLS-1$
-		final String B1_MANIFEST = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 1.0\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		String B2_LOCATION = "org.eclipse.b2"; //$NON-NLS-1$
-		final String B2_MANIFEST = "Bundle-SymbolicName: org.eclipse.b2\n" + "Bundle-Version: 1.0\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		State state = platformAdmin.getState();
-		state.setResolver(platformAdmin.getResolver());
-		BundleDescription b1 = platformAdmin.getFactory().createBundleDescription(parseManifest(B1_MANIFEST), B1_LOCATION, 1);
-		BundleDescription b2 = platformAdmin.getFactory().createBundleDescription(parseManifest(B2_MANIFEST), B2_LOCATION, 2);
-		state.addBundle(b1);
-		state.addBundle(b2);
-		StateDelta delta = state.resolve();
-		assertTrue("1.1", contains(state.getResolvedBundles(), b1)); //$NON-NLS-1$
-		assertTrue("1.2", contains(state.getResolvedBundles(), b2)); //$NON-NLS-1$
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.3", 2, changes.length); //$NON-NLS-1$
-		assertEquals("1.4 - " + changes[0].getBundle(), (BundleDelta.ADDED | BundleDelta.RESOLVED), changes[0].getType()); //$NON-NLS-1$
-		assertEquals("1.5 - " + changes[1].getBundle(), (BundleDelta.ADDED | BundleDelta.RESOLVED), changes[1].getType()); //$NON-NLS-1$
-		assertFullyResolved("1.6", b1); //$NON-NLS-1$
-		assertFullyResolved("1.7", b2); //$NON-NLS-1$
-		// remove a resolved bundle
-		state.removeBundle(b1);
-		assertTrue("2.0", !contains(state.getResolvedBundles(), b1)); //$NON-NLS-1$
-		assertTrue("2.1", contains(state.getResolvedBundles(), b2)); //$NON-NLS-1$
-		delta = state.resolve();
-		changes = delta.getChanges();
-		assertEquals("2.2", 1, changes.length); //$NON-NLS-1$
-		assertEquals("2.3", b1, changes[0].getBundle()); //$NON-NLS-1$
-		assertEquals("2.4", BundleDelta.REMOVED | BundleDelta.UNRESOLVED, changes[0].getType()); //$NON-NLS-1$
-	}
-
-	public void testRemoveAndAdd() throws BundleException {
-		String B_LOCATION = "org.eclipse.b"; //$NON-NLS-1$
-		final String B_MANIFEST = "Bundle-SymbolicName: org.eclipse.b\n" + "Bundle-Version: 1.0\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		State state = platformAdmin.getState();
-		state.setResolver(platformAdmin.getResolver());
-		BundleDescription b1 = platformAdmin.getFactory().createBundleDescription(parseManifest(B_MANIFEST), B_LOCATION, 1);
-		BundleDescription b2 = platformAdmin.getFactory().createBundleDescription(parseManifest(B_MANIFEST), B_LOCATION, 2);
-		state.addBundle(b1);
-		StateDelta delta = state.resolve();
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.0", 1, changes.length); //$NON-NLS-1$
-		assertEquals("1.1", b1, changes[0].getBundle()); //$NON-NLS-1$
-		assertEquals("1.2", (BundleDelta.ADDED | BundleDelta.RESOLVED), changes[0].getType()); //$NON-NLS-1$
-		assertFullyResolved("1.3", b1); //$NON-NLS-1$
-		state.removeBundle(b1);
-		state.addBundle(b2);
-		delta = state.resolve();
-		assertEquals("2.0", 2, delta.getChanges().length); //$NON-NLS-1$
-		assertEquals("2.1", 1, delta.getChanges(BundleDelta.UNRESOLVED | BundleDelta.REMOVED, true).length); //$NON-NLS-1$
-		assertEquals("2.2", b1, delta.getChanges(BundleDelta.UNRESOLVED | BundleDelta.REMOVED, true)[0].getBundle()); //$NON-NLS-1$
-		assertEquals("2.3", 1, delta.getChanges(BundleDelta.RESOLVED | BundleDelta.ADDED, true).length); //$NON-NLS-1$
-		assertEquals("2.3", b2, delta.getChanges(BundleDelta.RESOLVED | BundleDelta.ADDED, true)[0].getBundle()); //$NON-NLS-1$
-	}
-
-	public void testRemovalResolve() throws BundleException {
-		State state = buildInitialState();
-		StateDelta delta = state.resolve();
-		BundleDelta[] deltas = delta.getChanges();
-		BundleDescription b0 = state.getBundle(0);
-		assertNotNull("0.1", b0); //$NON-NLS-1$
-		assertFullyResolved("0.2", b0); //$NON-NLS-1$
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p1; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b1 = null;
-		try {
-			b1 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b1", 1); //$NON-NLS-1$
-			state.removeBundle(1);
-			state.addBundle(b1);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p2; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b2 = null;
-		try {
-			b2 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b2", 2); //$NON-NLS-1$
-			state.removeBundle(2);
-			state.addBundle(b2);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p2"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p3; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b3 = null;
-		try {
-			b3 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b3", 3); //$NON-NLS-1$
-			state.removeBundle(3);
-			state.addBundle(b3);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		delta = state.resolve(false);
-		deltas = delta.getChanges();
-		assertEquals("1.0", 4, deltas.length); //$NON-NLS-1$
-		Map deltasMap = new HashMap();
-		for (int i = 0; i < deltas.length; i++)
-			deltasMap.put(new Long(deltas[i].getBundle().getBundleId()), deltas[i]);
-		assertNotNull("1.1", deltasMap.get(new Long(1))); //$NON-NLS-1$
-		assertNotNull("1.2", deltasMap.get(new Long(2))); //$NON-NLS-1$
-		assertNotNull("1.3", deltasMap.get(new Long(3))); //$NON-NLS-1$
-		assertEquals("2.1", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(1))).getType()); //$NON-NLS-1$
-		assertEquals("2.2", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(2))).getType()); //$NON-NLS-1$
-		assertEquals("2.3", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(3))).getType()); //$NON-NLS-1$
-		state.removeBundle(1);
-		delta = state.resolve(false);
-		deltas = delta.getChanges();
-		b2 = state.getBundle(2);
-		b3 = state.getBundle(3);
-		assertEquals("3.1", false, b2.isResolved()); //$NON-NLS-1$
-		assertEquals("3.2", false, b3.isResolved()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests adding 3 new bundles to an already resolved state and then
-	 * resolving only one of the bundles. The result should be all 3 added
-	 * bundles being resolved. Then re-resolving the same bundle. The result
-	 * should be only the one bundle being resolved.
-	 *  
-	 */
-	public void testReresolveBundle() throws BundleException {
-		State state = buildInitialState();
-		StateDelta delta = state.resolve();
-		BundleDelta[] deltas = delta.getChanges();
-		BundleDescription b0 = state.getBundle(0);
-		assertNotNull("0.1", b0); //$NON-NLS-1$
-		assertFullyResolved("0.2", b0); //$NON-NLS-1$
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p1; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b1 = null;
-		try {
-			b1 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b1", 1); //$NON-NLS-1$
-			state.removeBundle(1);
-			state.addBundle(b1);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p2; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b2 = null;
-		try {
-			b2 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b2", 2); //$NON-NLS-1$
-			state.removeBundle(2);
-			state.addBundle(b2);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.b3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "org.osgi.framework,org.eclipse.p2"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "org.eclipse.p3; specification-version=1.0"); //$NON-NLS-1$
-		BundleDescription b3 = null;
-		try {
-			b3 = state.getFactory().createBundleDescription(manifest, "org.eclipse.b3", 3); //$NON-NLS-1$
-			state.removeBundle(3);
-			state.addBundle(b3);
-		} catch (BundleException e) {
-			fail("Failed to create BundleDescription: " + e.getMessage()); //$NON-NLS-1$
-		}
-		delta = state.resolve(new BundleDescription[] {state.getBundle(1)});
-		deltas = delta.getChanges();
-		assertEquals("1.0", 3, deltas.length); //$NON-NLS-1$
-		Map deltasMap = new HashMap();
-		for (int i = 0; i < deltas.length; i++)
-			deltasMap.put(new Long(deltas[i].getBundle().getBundleId()), deltas[i]);
-		assertNotNull("1.1", deltasMap.get(new Long(1))); //$NON-NLS-1$
-		assertNotNull("1.2", deltasMap.get(new Long(2))); //$NON-NLS-1$
-		assertNotNull("1.3", deltasMap.get(new Long(3))); //$NON-NLS-1$
-		assertEquals("2.1", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(1))).getType()); //$NON-NLS-1$
-		assertEquals("2.2", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(2))).getType()); //$NON-NLS-1$
-		assertEquals("2.3", (BundleDelta.RESOLVED | BundleDelta.ADDED), ((BundleDelta) deltasMap.get(new Long(3))).getType()); //$NON-NLS-1$
-		delta = state.resolve(new BundleDescription[] {state.getBundle(1)});
-		deltas = delta.getChanges();
-		assertEquals("3.0", 3, deltas.length); //$NON-NLS-1$
-		deltasMap = new HashMap();
-		for (int i = 0; i < deltas.length; i++)
-			deltasMap.put(new Long(deltas[i].getBundle().getBundleId()), deltas[i]);
-		assertNotNull("3.1", deltasMap.get(new Long(1))); //$NON-NLS-1$
-		assertNotNull("3.2", deltasMap.get(new Long(2))); //$NON-NLS-1$
-		assertNotNull("3.3", deltasMap.get(new Long(3))); //$NON-NLS-1$
-		assertEquals("3.4", BundleDelta.RESOLVED, ((BundleDelta) deltasMap.get(new Long(1))).getType()); //$NON-NLS-1$
-		assertEquals("3.5", BundleDelta.RESOLVED, ((BundleDelta) deltasMap.get(new Long(2))).getType()); //$NON-NLS-1$
-		assertEquals("3.6", BundleDelta.RESOLVED, ((BundleDelta) deltasMap.get(new Long(3))).getType()); //$NON-NLS-1$
-
-	}
-
-	public void testUpdate() throws BundleException {
-		State state = buildEmptyState();
-		String B1_LOCATION = "org.eclipse.b"; //$NON-NLS-1$
-		final String B1_RESOLVED = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 1.0\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		final String B1_UNRESOLVED = "Bundle-SymbolicName: org.eclipse.b1\n" + "Bundle-Version: 2.0\nRequire-Bundle: non.existant.bundle\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b1 = state.getFactory().createBundleDescription(parseManifest(B1_RESOLVED), B1_LOCATION, 1);
-		assertTrue("0.9", state.addBundle(b1)); //$NON-NLS-1$
-		StateDelta delta = state.resolve();
-		b1 = state.getBundleByLocation(b1.getLocation());
-		BundleDelta[] changes = delta.getChanges();
-		assertEquals("1.0", 1, changes.length); //$NON-NLS-1$
-		assertEquals("1.1", b1, changes[0].getBundle()); //$NON-NLS-1$
-		assertEquals("1.2", (BundleDelta.ADDED | BundleDelta.RESOLVED), changes[0].getType()); //$NON-NLS-1$
-		assertFullyResolved("1.3", b1); //$NON-NLS-1$
-		assertTrue("1.8", contains(state.getResolvedBundles(), b1)); //$NON-NLS-1$
-		BundleDescription b11 = state.getFactory().createBundleDescription(parseManifest(B1_UNRESOLVED), B1_LOCATION, 1);
-		assertTrue("1.8b", state.updateBundle(b11)); //$NON-NLS-1$
-		b11 = state.getBundle(b11.getBundleId());
-		assertTrue("1.9", !contains(state.getResolvedBundles(), b11)); //$NON-NLS-1$
-		delta = state.resolve();
-		changes = delta.getChanges();
-		assertEquals("2.0", 2, changes.length); //$NON-NLS-1$
-		HashMap deltasMap = new HashMap();
-		for (int i = 0; i < changes.length; i++)
-			deltasMap.put(changes[i].getBundle(), changes[i]);
-		assertNotNull("2.1", deltasMap.get(b1)); //$NON-NLS-1$
-		assertNotNull("2.2", deltasMap.get(b11)); //$NON-NLS-1$
-		assertEquals("2.3", BundleDelta.UNRESOLVED, ((BundleDelta) deltasMap.get(b1)).getType()); //$NON-NLS-1$
-		assertEquals("2.4", BundleDelta.UPDATED, ((BundleDelta) deltasMap.get(b11)).getType()); //$NON-NLS-1$
-		BundleDescription b111 = state.getFactory().createBundleDescription(parseManifest(B1_RESOLVED), B1_LOCATION, 1);
-		assertTrue("3.0", state.updateBundle(b111)); //$NON-NLS-1$
-		b111 = state.getBundle(b111.getBundleId());
-		assertTrue("3.1", !contains(state.getResolvedBundles(), b111)); //$NON-NLS-1$
-		delta = state.resolve();
-		changes = delta.getChanges();
-		assertEquals("3.2", 1, changes.length); //$NON-NLS-1$
-		assertEquals("3.1", b111, changes[0].getBundle()); //$NON-NLS-1$
-		assertEquals("3.2", BundleDelta.UPDATED | BundleDelta.RESOLVED, changes[0].getType()); //$NON-NLS-1$
-		assertFullyResolved("3.3", b111); //$NON-NLS-1$
-	}
-
-	public void testSingletons() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testHost101 = state.getFactory().createBundleDescription(state, manifest, "test.host101", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testFrag101 = state.getFactory().createBundleDescription(state, manifest, "test.frag101", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.dependent; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.host; bundle-version=\"[1.0.1,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testDependent = state.getFactory().createBundleDescription(state, manifest, "test.frag101", 4); //$NON-NLS-1$
-
-		state.addBundle(testHost100);
-		state.addBundle(testFrag100);
-		state.addBundle(testHost101);
-		state.addBundle(testFrag101);
-		state.addBundle(testDependent);
-		state.resolve();
-		assertFalse("1.0", testHost100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", testHost101.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2", testFrag100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", testFrag101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", testDependent.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSameVersion() throws BundleException {
-		// this is a testcase to handle how PDE build is using the state
-		// with multiple singleton bundles installed with the same BSN and version
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost101 = state.getFactory().createBundleDescription(state, manifest, "test.host101", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag101 = state.getFactory().createBundleDescription(state, manifest, "test.frag101", 3); //$NON-NLS-1$
-
-		state.addBundle(testHost100);
-		state.addBundle(testFrag100);
-		state.resolve();
-		state.addBundle(testHost101);
-		state.addBundle(testFrag101);
-		state.resolve();
-		assertTrue("1.0", testHost100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.1", testHost101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", testFrag100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.3", testFrag101.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection1() throws BundleException {
-		State state = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state.getFactory().createBundleDescription(state, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state.getFactory().createBundleDescription(state, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state.getFactory().createBundleDescription(state, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state.getFactory().createBundleDescription(state, manifest, "gef10", 3); //$NON-NLS-1$
-
-		state.addBundle(sdk10);
-		state.addBundle(platform10);
-		state.addBundle(rcp10);
-		state.addBundle(gef10);
-		state.resolve();
-
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk20 = state.getFactory().createBundleDescription(state, manifest, "sdk20", 4); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform20 = state.getFactory().createBundleDescription(state, manifest, "platform20", 5); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription rcp20 = state.getFactory().createBundleDescription(state, manifest, "rcp20", 6); //$NON-NLS-1$
-
-		state.addBundle(sdk20);
-		state.addBundle(platform20);
-		state.addBundle(rcp20);
-		state.resolve(false);
-
-		assertTrue("2.0", sdk20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", platform20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", gef10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.4", sdk10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", platform10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.6", rcp20.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection2() throws BundleException {
-		State state = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; test with cycle added
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\", cycle"); //$NON-NLS-1$
-		BundleDescription sdk10 = state.getFactory().createBundleDescription(state, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state.getFactory().createBundleDescription(state, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state.getFactory().createBundleDescription(state, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\", sdk"); //$NON-NLS-1$
-		BundleDescription gef10 = state.getFactory().createBundleDescription(state, manifest, "gef10", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "cycle; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "gef"); //$NON-NLS-1$
-		BundleDescription cycle10 = state.getFactory().createBundleDescription(state, manifest, "gef10", 4); //$NON-NLS-1$
-
-		state.addBundle(sdk10);
-		state.addBundle(platform10);
-		state.addBundle(rcp10);
-		state.addBundle(gef10);
-		state.addBundle(cycle10);
-		state.resolve();
-
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", cycle10.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk20 = state.getFactory().createBundleDescription(state, manifest, "sdk20", 5); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform20 = state.getFactory().createBundleDescription(state, manifest, "platform20", 6); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription rcp20 = state.getFactory().createBundleDescription(state, manifest, "rcp20", 7); //$NON-NLS-1$
-
-		state.addBundle(sdk20);
-		state.addBundle(platform20);
-		state.addBundle(rcp20);
-		state.resolve(false);
-
-		assertTrue("2.0", sdk20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", platform20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", gef10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", cycle10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", sdk10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.6", platform10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.7", rcp20.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection3() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state.getFactory().createBundleDescription(state, manifest, "sdk10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "sdk"); //$NON-NLS-1$
-		BundleDescription sdk_frag10 = state.getFactory().createBundleDescription(state, manifest, "sdk.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "sdk; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription sdk_frag210 = state.getFactory().createBundleDescription(state, manifest, "sdk.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state.getFactory().createBundleDescription(state, manifest, "platform10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "platform"); //$NON-NLS-1$
-		BundleDescription platform_frag10 = state.getFactory().createBundleDescription(state, manifest, "platform.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "platform; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription platform_frag210 = state.getFactory().createBundleDescription(state, manifest, "platform.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state.getFactory().createBundleDescription(state, manifest, "rcp10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "rcp"); //$NON-NLS-1$
-		BundleDescription rcp_frag10 = state.getFactory().createBundleDescription(state, manifest, "rcp.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "rcp; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription rcp_frag210 = state.getFactory().createBundleDescription(state, manifest, "rcp.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state.getFactory().createBundleDescription(state, manifest, "gef10", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(sdk10);
-		state.addBundle(sdk_frag10);
-		state.addBundle(sdk_frag210);
-		state.addBundle(platform10);
-		state.addBundle(platform_frag10);
-		state.addBundle(platform_frag210);
-		state.addBundle(rcp10);
-		state.addBundle(rcp_frag10);
-		state.addBundle(rcp_frag210);
-		state.addBundle(gef10);
-		state.resolve();
-
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", sdk_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.0.2", sdk_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", platform_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.1.2", platform_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", rcp_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2.2", rcp_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk20 = state.getFactory().createBundleDescription(state, manifest, "sdk20", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform20 = state.getFactory().createBundleDescription(state, manifest, "platform20", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription rcp20 = state.getFactory().createBundleDescription(state, manifest, "rcp20", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(sdk20);
-		state.addBundle(platform20);
-		state.addBundle(rcp20);
-		state.resolve(false);
-
-		assertTrue("2.0", sdk20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.0.1", sdk_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.0.2", sdk_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", platform20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1.1", platform_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1.2", platform_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2.1", rcp_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", gef10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.4", sdk10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", platform10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.6", rcp20.isResolved()); //$NON-NLS-1$
-		assertFalse("2.2.2", rcp_frag210.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection4() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "sdk; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "platform; version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state.getFactory().createBundleDescription(state, manifest, "sdk10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "sdk"); //$NON-NLS-1$
-		BundleDescription sdk_frag10 = state.getFactory().createBundleDescription(state, manifest, "sdk.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "sdk; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription sdk_frag210 = state.getFactory().createBundleDescription(state, manifest, "sdk.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "platform; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "rcp; version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state.getFactory().createBundleDescription(state, manifest, "platform10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "platform"); //$NON-NLS-1$
-		BundleDescription platform_frag10 = state.getFactory().createBundleDescription(state, manifest, "platform.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "platform; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription platform_frag210 = state.getFactory().createBundleDescription(state, manifest, "platform.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "rcp; version=1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state.getFactory().createBundleDescription(state, manifest, "rcp10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp.frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "rcp"); //$NON-NLS-1$
-		BundleDescription rcp_frag10 = state.getFactory().createBundleDescription(state, manifest, "rcp.frag10", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp.frag2; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "rcp; bundle-version=2.0"); //$NON-NLS-1$
-		BundleDescription rcp_frag210 = state.getFactory().createBundleDescription(state, manifest, "rcp.frag210", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "rcp; version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state.getFactory().createBundleDescription(state, manifest, "gef10", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(sdk10);
-		state.addBundle(sdk_frag10);
-		state.addBundle(sdk_frag210);
-		state.addBundle(platform10);
-		state.addBundle(platform_frag10);
-		state.addBundle(platform_frag210);
-		state.addBundle(rcp10);
-		state.addBundle(rcp_frag10);
-		state.addBundle(rcp_frag210);
-		state.addBundle(gef10);
-		state.resolve();
-
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", sdk_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.0.2", sdk_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", platform_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.1.2", platform_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", rcp_frag10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2.2", rcp_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "sdk; version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "platform; version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk20 = state.getFactory().createBundleDescription(state, manifest, "sdk20", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "platform; version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "rcp; version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform20 = state.getFactory().createBundleDescription(state, manifest, "platform20", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.EXPORT_PACKAGE, "rcp; version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription rcp20 = state.getFactory().createBundleDescription(state, manifest, "rcp20", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(sdk20);
-		state.addBundle(platform20);
-		state.addBundle(rcp20);
-		state.resolve(false);
-
-		assertTrue("2.0", sdk20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.0.1", sdk_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.0.2", sdk_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", platform20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1.1", platform_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1.2", platform_frag210.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2.1", rcp_frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", gef10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.4", sdk10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", platform10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.6", rcp20.isResolved()); //$NON-NLS-1$
-		assertFalse("2.2.2", rcp_frag210.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection5() throws BundleException {
-		State state = buildEmptyState();
-
-		long id = 0;
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "base; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription base10 = state.getFactory().createBundleDescription(state, manifest, "base10", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "base; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.6"); //$NON-NLS-1$
-		BundleDescription base11 = state.getFactory().createBundleDescription(state, manifest, "base11", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "requires; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "base; bundle-version=\"[1.0,1.1)\""); //$NON-NLS-1$
-		BundleDescription requires10 = state.getFactory().createBundleDescription(state, manifest, "requires10", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "requires; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "base; bundle-version=\"[1.1,1.2)\""); //$NON-NLS-1$
-		BundleDescription requires11 = state.getFactory().createBundleDescription(state, manifest, "requires11", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "requires; bundle-version=\"[1.0,1.1)\""); //$NON-NLS-1$
-		BundleDescription frag10 = state.getFactory().createBundleDescription(state, manifest, "frag10", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "frag; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "requires; bundle-version=\"[1.1,1.2)\""); //$NON-NLS-1$
-		BundleDescription frag11 = state.getFactory().createBundleDescription(state, manifest, "frag11", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "fragb; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "requires; bundle-version=\"[1.0,1.1)\""); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "fragb; version=1.0"); //$NON-NLS-1$
-		BundleDescription fragb10 = state.getFactory().createBundleDescription(state, manifest, "frag10", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "fragb; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "requires; bundle-version=\"[1.0,1.1)\""); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "fragb; version=1.1"); //$NON-NLS-1$
-		BundleDescription fragb11 = state.getFactory().createBundleDescription(state, manifest, "frag11", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "import"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "fragb; version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription import10 = state.getFactory().createBundleDescription(state, manifest, "import10", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "import"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "fragb; version=\"[1.1,1.1]\""); //$NON-NLS-1$
-		BundleDescription import11 = state.getFactory().createBundleDescription(state, manifest, "import11", id++); //$NON-NLS-1$
-
-		state.addBundle(base10);
-		state.addBundle(base11);
-		state.addBundle(requires10);
-		state.addBundle(requires11);
-		state.addBundle(frag10);
-		state.addBundle(frag11);
-		state.addBundle(fragb10);
-		state.addBundle(fragb11);
-		state.addBundle(import10);
-		state.addBundle(import11);
-		state.resolve();
-
-		assertTrue("1.0", base10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", requires10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", frag10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", fragb11.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", import11.isResolved()); //$NON-NLS-1$
-		assertFalse("1.5", base11.isResolved()); //$NON-NLS-1$
-		assertFalse("1.6", requires11.isResolved()); //$NON-NLS-1$
-		assertFalse("1.7", frag11.isResolved()); //$NON-NLS-1$
-		assertFalse("1.8", fragb10.isResolved()); //$NON-NLS-1$
-		assertFalse("1.9", import10.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection6() throws BundleException {
-		State state = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state.getFactory().createBundleDescription(state, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state.getFactory().createBundleDescription(state, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state.getFactory().createBundleDescription(state, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state.getFactory().createBundleDescription(state, manifest, "gef10", 3); //$NON-NLS-1$
-
-		state.addBundle(sdk10);
-		state.addBundle(platform10);
-		state.addBundle(rcp10);
-		state.addBundle(gef10);
-		state.resolve();
-
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk20 = state.getFactory().createBundleDescription(state, manifest, "sdk20", 4); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform20 = state.getFactory().createBundleDescription(state, manifest, "platform20", 5); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription rcp20 = state.getFactory().createBundleDescription(state, manifest, "rcp20", 6); //$NON-NLS-1$
-
-		state.removeBundle(sdk10);
-		state.removeBundle(platform10);
-		state.removeBundle(rcp10);
-		state.removeBundle(gef10);
-
-		// reorder the bundles to test that order of bundles does not effect resolution outcome
-		state.addBundle(sdk20);
-		state.addBundle(platform20);
-		state.addBundle(rcp20);
-		state.addBundle(sdk10);
-		state.addBundle(platform10);
-		state.addBundle(rcp10);
-		state.addBundle(gef10);
-		state.resolve(false);
-
-		assertTrue("2.0", sdk20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", platform20.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", gef10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.4", sdk10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", platform10.isResolved()); //$NON-NLS-1$
-		assertFalse("2.6", rcp20.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testSingletonsSelection7() throws BundleException {
-		State state = buildEmptyState();
-		long id = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "singleton; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "singleton"); //$NON-NLS-1$
-		BundleDescription singleton1 = state.getFactory().createBundleDescription(state, manifest, "singleton1", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "singleton"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a;version=1.0.0"); //$NON-NLS-1$
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, "a1", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "b", id++); //$NON-NLS-1$
-
-		state.addBundle(singleton1);
-		state.addBundle(a1);
-		state.addBundle(b);
-		state.resolve();
-
-		assertTrue("1.0", singleton1.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a1.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "singleton; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "singleton"); //$NON-NLS-1$
-		BundleDescription singleton2 = state.getFactory().createBundleDescription(state, manifest, "singleton2", id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.1"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "singleton"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a;version=1.0.1"); //$NON-NLS-1$
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, "a2", id++); //$NON-NLS-1$
-
-		state.addBundle(singleton2);
-		state.addBundle(a2);
-		state.resolve(new BundleDescription[] {singleton1, singleton2, a1, a2});
-
-		assertFalse("2.0", singleton1.isResolved()); //$NON-NLS-1$
-		assertTrue("2.1", singleton2.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", a1.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", a2.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", b.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] imports = b.getResolvedImports();
-		assertEquals("Unexpected number of imports", 1, imports.length); //$NON-NLS-1$
-		assertEquals("Unexpected exporter", a2, imports[0].getExporter()); //$NON-NLS-1$
-	}
-
-	public void testNonSingletonsSameVersion() throws BundleException {
-		// this is a testcase to handle how PDE build is using the state
-		// with multiple singleton bundles installed with the same BSN and version
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost101 = state.getFactory().createBundleDescription(state, manifest, "test.host101", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag101 = state.getFactory().createBundleDescription(state, manifest, "test.frag101", 3); //$NON-NLS-1$
-
-		state.addBundle(testHost100);
-		state.addBundle(testFrag100);
-		state.resolve();
-		state.addBundle(testHost101);
-		state.addBundle(testFrag101);
-		state.resolve();
-		assertTrue("1.0", testHost100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", testHost101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", testFrag100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", testFrag101.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testTransitiveUses() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a2_100 = state.getFactory().createBundleDescription(state, manifest, "a2_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A2"); //$NON-NLS-1$
-		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b"); //$NON-NLS-1$
-		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a, c"); //$NON-NLS-1$
-		BundleDescription d1_100 = state.getFactory().createBundleDescription(state, manifest, "d1_100", 4); //$NON-NLS-1$
-
-		state.addBundle(a1_100);
-		state.addBundle(a2_100);
-		state.addBundle(b1_100);
-		state.addBundle(c1_100);
-		state.addBundle(d1_100);
-		state.resolve();
-
-		ExportPackageDescription[] b1ResolvedImports = b1_100.getResolvedImports();
-		ExportPackageDescription[] d1ResolvedImports = d1_100.getResolvedImports();
-		ExportPackageDescription[] isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A1"); //$NON-NLS-1$
-		b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-		state.updateBundle(b1_100);
-		state.resolve();
-
-		b1ResolvedImports = b1_100.getResolvedImports();
-		d1ResolvedImports = d1_100.getResolvedImports();
-		isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.2 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-	}
-
-	public void testMultipleExportsUses01() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; version=2.0; uses:=d, d; version=2.0"); //$NON-NLS-1$
-		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; version=1.0; uses:=d, d; version=1.0"); //$NON-NLS-1$
-		BundleDescription a2_100 = state.getFactory().createBundleDescription(state, manifest, "a2_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b, b; mandatory:=\"test\"; test=value; uses:=d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A2, d"); //$NON-NLS-1$
-		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; test=value, d"); //$NON-NLS-1$
-		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a, c, d"); //$NON-NLS-1$
-		BundleDescription d1_100 = state.getFactory().createBundleDescription(state, manifest, "d1_100", 4); //$NON-NLS-1$
-
-		state.addBundle(a1_100);
-		state.addBundle(a2_100);
-		state.addBundle(b1_100);
-		state.addBundle(c1_100);
-		state.addBundle(d1_100);
-		state.resolve();
-
-		ExportPackageDescription[] b1ResolvedImports = b1_100.getResolvedImports();
-		ExportPackageDescription[] d1ResolvedImports = d1_100.getResolvedImports();
-		ExportPackageDescription[] isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A1"); //$NON-NLS-1$
-		b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-		state.updateBundle(b1_100);
-		state.resolve();
-
-		b1ResolvedImports = b1_100.getResolvedImports();
-		d1ResolvedImports = d1_100.getResolvedImports();
-		isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.2 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-	}
-
-	public void testRequireBundleUses() throws BundleException {
-		State state = buildEmptyState();
-		int id = 0;
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a_100 = state.getFactory().createBundleDescription(state, manifest, "a_100", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a_200 = state.getFactory().createBundleDescription(state, manifest, "a_200", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription b_100 = state.getFactory().createBundleDescription(state, manifest, "b_100", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=b"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A, B"); //$NON-NLS-1$
-		BundleDescription c_100 = state.getFactory().createBundleDescription(state, manifest, "c_100", id++); //$NON-NLS-1$
-
-		state.addBundle(a_100);
-		state.addBundle(b_100);
-		// first resolve just A and B
-		state.resolve();
-		assertTrue("0.1", a_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", b_100.isResolved()); //$NON-NLS-1$
-		// now add A v2 and resolve it
-		state.addBundle(a_200);
-		state.resolve();
-		assertTrue("1.1", a_200.isResolved()); //$NON-NLS-1$
-		// now add C and make sure it does not get packages from A v2
-		state.addBundle(c_100);
-		state.resolve();
-		assertTrue("1.2", c_100.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] c1ResolvedImports = state.getStateHelper().getVisiblePackages(c_100);
-		assertTrue("2.1", c1ResolvedImports.length == 2); //$NON-NLS-1$
-		int index = c1ResolvedImports[0].getName().equals("a") ? 0 : c1ResolvedImports[1].getName().equals("a") ? 1 : -1; //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("2.2", index >= 0); //$NON-NLS-1$
-		assertEquals("2.2", c1ResolvedImports[index].getExporter(), a_100); //$NON-NLS-1$
-	}
-
-	public void testCyclicTransitiveUses() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "d"); //$NON-NLS-1$
-		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "d"); //$NON-NLS-1$
-		BundleDescription a2_100 = state.getFactory().createBundleDescription(state, manifest, "a2_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A2"); //$NON-NLS-1$
-		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b"); //$NON-NLS-1$
-		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d; uses:=c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a, c"); //$NON-NLS-1$
-		BundleDescription d1_100 = state.getFactory().createBundleDescription(state, manifest, "d1_100", 4); //$NON-NLS-1$
-
-		state.addBundle(a1_100);
-		state.addBundle(a2_100);
-		state.addBundle(b1_100);
-		state.addBundle(c1_100);
-		state.addBundle(d1_100);
-		state.resolve();
-
-		assertFalse("0.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", a2_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] b1ResolvedImports = b1_100.getResolvedImports();
-		ExportPackageDescription[] d1ResolvedImports = d1_100.getResolvedImports();
-		ExportPackageDescription[] isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A1"); //$NON-NLS-1$
-		b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-		state.updateBundle(b1_100);
-		state.resolve();
-
-		assertTrue("2.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("2.2", a2_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		b1ResolvedImports = b1_100.getResolvedImports();
-		d1ResolvedImports = d1_100.getResolvedImports();
-		isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("3.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-	}
-
-	public void testFragmentTransitiveUses() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "d"); //$NON-NLS-1$
-		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag; uses:=a"); //$NON-NLS-1$
-		BundleDescription a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d, a.frag; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "d"); //$NON-NLS-1$
-		BundleDescription a2_100 = state.getFactory().createBundleDescription(state, manifest, "a2_100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A2, a.frag"); //$NON-NLS-1$
-		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 3); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; uses:=b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b"); //$NON-NLS-1$
-		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", 4); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d; uses:=c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a.frag, c"); //$NON-NLS-1$
-		BundleDescription d1_100 = state.getFactory().createBundleDescription(state, manifest, "d1_100", 5); //$NON-NLS-1$
-
-		state.addBundle(a1_100);
-		state.addBundle(a1frag_100);
-		state.addBundle(a2_100);
-		state.addBundle(b1_100);
-		state.addBundle(c1_100);
-		state.addBundle(d1_100);
-		state.resolve();
-
-		assertFalse("0.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", a2_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] b1ResolvedImports = b1_100.getResolvedImports();
-		ExportPackageDescription[] d1ResolvedImports = d1_100.getResolvedImports();
-		ExportPackageDescription[] isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("1.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; uses:=a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a;bundle-symbolic-name=A1"); //$NON-NLS-1$
-		b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 2); //$NON-NLS-1$
-		state.updateBundle(b1_100);
-		state.resolve();
-
-		assertTrue("2.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("2.2", a2_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		b1ResolvedImports = b1_100.getResolvedImports();
-		d1ResolvedImports = d1_100.getResolvedImports();
-		isConsistent = isConsistent(b1ResolvedImports, d1ResolvedImports);
-		assertNull("3.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-	}
-
-	public void testFragmentUses01() throws BundleException {
-		long id = 0;
-		State state = buildEmptyState();
-
-		Hashtable manifest = new Hashtable();
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C2"); //$NON-NLS-1$
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; good=true"); //$NON-NLS-1$
-		BundleDescription a1frag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; good=true; uses:=c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "c; good=true"); //$NON-NLS-1$
-		BundleDescription b1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; good=true"); //$NON-NLS-1$
-		BundleDescription c1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; bad=true"); //$NON-NLS-1$
-		BundleDescription c2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a1);
-		state.addBundle(a1frag);
-		state.addBundle(b1);
-		state.addBundle(c1);
-		state.addBundle(c2);
-		state.resolve();
-
-		assertTrue("0.1", a1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", a1frag.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", c2.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testFragmentUses02() throws BundleException {
-		long id = 0;
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.resolverMode", "development"); //$NON-NLS-1$ //$NON-NLS-2$
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C2"); //$NON-NLS-1$
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; good=true"); //$NON-NLS-1$
-		BundleDescription a1frag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; good=true; uses:=c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "c; good=true"); //$NON-NLS-1$
-		BundleDescription b1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; good=true"); //$NON-NLS-1$
-		BundleDescription c1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c; bad=true"); //$NON-NLS-1$
-		BundleDescription c2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a1);
-		state.addBundle(a1frag);
-		state.addBundle(b1);
-		state.addBundle(c1);
-		state.addBundle(c2);
-		state.resolve();
-
-		assertTrue("0.1", a1.isResolved()); //$NON-NLS-1$
-		// uses constraints are ignored when in dev mode (see 261849)
-		assertTrue("0.2", a1frag.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", c2.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testCyclicUsesExportDrop() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "W"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; b; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "c, a, b"); //$NON-NLS-1$
-		BundleDescription w1_100 = state.getFactory().createBundleDescription(state, manifest, "w1_100", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "X"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "d"); //$NON-NLS-1$
-		BundleDescription x1_100 = state.getFactory().createBundleDescription(state, manifest, "x1_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Y"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription y1_100 = state.getFactory().createBundleDescription(state, manifest, "y1_100", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; version = 2.0"); //$NON-NLS-1$
-		BundleDescription z1_100 = state.getFactory().createBundleDescription(state, manifest, "z1_100", 3); //$NON-NLS-1$
-
-		state.addBundle(w1_100);
-		state.addBundle(x1_100);
-		state.addBundle(y1_100);
-		state.addBundle(z1_100);
-		state.resolve();
-
-		assertTrue("0.1", w1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", x1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", y1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", z1_100.isResolved()); //$NON-NLS-1$
-
-		assertEquals("1.1", 1, w1_100.getSelectedExports().length); //$NON-NLS-1$
-		assertEquals("1.2", "b", w1_100.getSelectedExports()[0].getName()); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testRemovalPending() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable wManifest = new Hashtable();
-		wManifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		wManifest.put(Constants.BUNDLE_SYMBOLICNAME, "W"); //$NON-NLS-1$
-		wManifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		wManifest.put(Constants.EXPORT_PACKAGE, "a; b; version=1.0"); //$NON-NLS-1$
-		wManifest.put(Constants.IMPORT_PACKAGE, "a, b"); //$NON-NLS-1$
-		BundleDescription w1_100 = state.getFactory().createBundleDescription(state, wManifest, "w1_100", 0); //$NON-NLS-1$
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "X"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription x1_100 = state.getFactory().createBundleDescription(state, manifest, "x1_100", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Y"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription y1_100 = state.getFactory().createBundleDescription(state, manifest, "y1_100", 2); //$NON-NLS-1$
-
-		state.addBundle(w1_100);
-		state.addBundle(x1_100);
-		state.addBundle(y1_100);
-
-		state.resolve();
-
-		assertTrue("0.1", w1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", x1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", y1_100.isResolved()); //$NON-NLS-1$
-
-		BundleDescription w1_100_prime = state.getFactory().createBundleDescription(state, wManifest, "w1_100", 0); //$NON-NLS-1$
-		state.updateBundle(w1_100_prime);
-		state.resolve(new BundleDescription[0]);
-
-		assertTrue("1.1", w1_100_prime.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", x1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", y1_100.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] exports_w1_100 = w1_100.getSelectedExports();
-		ExportPackageDescription[] imports_w1_100_prime = w1_100_prime.getResolvedImports();
-		ExportPackageDescription[] isConsistent = isConsistent(exports_w1_100, imports_w1_100_prime);
-		assertNull("2.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-
-		state.resolve(new BundleDescription[] {w1_100});
-		assertTrue("3.1", w1_100_prime.isResolved()); //$NON-NLS-1$
-		assertTrue("3.2", x1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("3.3", y1_100.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] exports_w1_100_prime = w1_100_prime.getSelectedExports();
-		imports_w1_100_prime = w1_100_prime.getResolvedImports();
-		isConsistent = isConsistent(exports_w1_100_prime, imports_w1_100_prime);
-		assertNull("4.1 Packages are not consistent: " + isConsistent, isConsistent); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints01() throws BundleException {
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		BundleDescription d1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", id++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.0, 3.0)\""); //$NON-NLS-1$
-		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.0, 3.0)\""); //$NON-NLS-1$
-		BundleDescription a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b; version=2.1"); //$NON-NLS-1$
-		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0.1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c"); //$NON-NLS-1$
-		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", id++); //$NON-NLS-1$
-
-		state.addBundle(d1_100);
-		state.addBundle(a1_100);
-		state.addBundle(a1frag_100);
-		state.addBundle(b1_100);
-		state.addBundle(c1_100);
-		state.resolve();
-
-		assertTrue("0.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", a1frag_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		// now use a fragment that has conflicting imports/requires with the host
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; version=2.1"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.5, 4.0)\""); //$NON-NLS-1$
-		a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", a1frag_100.getBundleId()); //$NON-NLS-1$
-		state.updateBundle(a1frag_100);
-		state.resolve(new BundleDescription[] {a1frag_100});
-
-		assertTrue("1.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2", a1frag_100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", a1frag_100.getBundleId()); //$NON-NLS-1$
-		state.updateBundle(a1frag_100);
-		state.resolve(new BundleDescription[] {a1frag_100});
-
-		assertTrue("2.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("2.2", a1frag_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("2.5", d1_100.isResolved()); //$NON-NLS-1$
-
-		// now use a fragment that has conflicting imports/requires with the host
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A1"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[1.0, 1.5)\""); //$NON-NLS-1$
-		a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", a1frag_100.getBundleId()); //$NON-NLS-1$
-		state.updateBundle(a1frag_100);
-		state.resolve(new BundleDescription[] {a1frag_100});
-
-		assertTrue("3.1", a1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("3.2", a1frag_100.isResolved()); //$NON-NLS-1$
-		assertTrue("3.3", b1_100.isResolved()); //$NON-NLS-1$
-		assertTrue("3.4", c1_100.isResolved()); //$NON-NLS-1$
-		assertFalse("3.5", d1_100.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints02() throws BundleException {
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, d"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, e"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a, b, c"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aResolvedImports = a.getResolvedImports();
-		ExportPackageDescription[] bSelectedExports = b.getSelectedExports();
-
-		assertEquals("1.0", 3, aResolvedImports.length); //$NON-NLS-1$
-		assertEquals("1.1", 3, bSelectedExports.length); //$NON-NLS-1$
-		for (int i = 0; i < aResolvedImports.length; i++) {
-			assertEquals(bSelectedExports[i], aResolvedImports[i]);
-		}
-	}
-
-	public void testFragmentConstraints03() throws BundleException {
-		// same as testFragmentConstraints02 but with a cycle
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, d"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, e"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a, b, c"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aResolvedImports = a.getResolvedImports();
-		ExportPackageDescription[] aSelectedExports = a.getSelectedExports();
-		ExportPackageDescription[] bResolvedImports = b.getResolvedImports();
-		ExportPackageDescription[] bSelectedExports = b.getSelectedExports();
-
-		assertEquals("1.0", 3, aResolvedImports.length); //$NON-NLS-1$
-		assertEquals("1.1", 3, bSelectedExports.length); //$NON-NLS-1$
-		for (int i = 0; i < aResolvedImports.length; i++)
-			assertEquals("1.2", bSelectedExports[i], aResolvedImports[i]); //$NON-NLS-1$
-		assertEquals("2.0", 1, aSelectedExports.length); //$NON-NLS-1$
-		assertEquals("2.1", 1, bResolvedImports.length); //$NON-NLS-1$
-		assertEquals("2.2", aSelectedExports[0], bResolvedImports[0]); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints04() throws BundleException {
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, e"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, f"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b1, b2, b3"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "c"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c1, c2, c3"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "d"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d1, d2, d3"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-		assertTrue("0.6", c.isResolved()); //$NON-NLS-1$
-		assertTrue("0.7", d.isResolved()); //$NON-NLS-1$
-
-		BundleDescription[] aResolvedRequires = a.getResolvedRequires();
-		assertEquals("1.0", 3, aResolvedRequires.length); //$NON-NLS-1$
-		assertEquals("1.1", b, aResolvedRequires[0]); //$NON-NLS-1$
-		assertEquals("1.2", c, aResolvedRequires[1]); //$NON-NLS-1$
-		assertEquals("1.3", d, aResolvedRequires[2]); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints05() throws BundleException {
-		// same as testFragmentConstraints04 but with a cycle
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, e"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, f"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "b1, b2, b3"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "c"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c1, c2, c3"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "d"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d1, d2, d3"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-		assertTrue("0.6", c.isResolved()); //$NON-NLS-1$
-		assertTrue("0.7", d.isResolved()); //$NON-NLS-1$
-
-		BundleDescription[] aResolvedRequires = a.getResolvedRequires();
-		assertEquals("1.0", 3, aResolvedRequires.length); //$NON-NLS-1$
-		assertEquals("1.1", b, aResolvedRequires[0]); //$NON-NLS-1$
-		assertEquals("1.2", c, aResolvedRequires[1]); //$NON-NLS-1$
-		assertEquals("1.3", d, aResolvedRequires[2]); //$NON-NLS-1$
-		BundleDescription[] dResolvedRequires = d.getResolvedRequires();
-		assertEquals("2.0", 1, dResolvedRequires.length); //$NON-NLS-1$
-		assertEquals("2.1", a, dResolvedRequires[0]); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints06() throws BundleException {
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, d"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, e"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, e"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, f"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a, b, c"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "c"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c1, c2, c3"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "d"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d1, d2, d3"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-		assertTrue("0.6", c.isResolved()); //$NON-NLS-1$
-		assertTrue("0.7", d.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aResolvedImports = a.getResolvedImports();
-		ExportPackageDescription[] bSelectedExports = b.getSelectedExports();
-
-		assertEquals("1.0", 3, aResolvedImports.length); //$NON-NLS-1$
-		assertEquals("1.1", 3, bSelectedExports.length); //$NON-NLS-1$
-		for (int i = 0; i < aResolvedImports.length; i++) {
-			assertEquals(bSelectedExports[i], aResolvedImports[i]);
-		}
-
-		BundleDescription[] aResolvedRequires = a.getResolvedRequires();
-		assertEquals("1.0", 3, aResolvedRequires.length); //$NON-NLS-1$
-		assertEquals("1.1", b, aResolvedRequires[0]); //$NON-NLS-1$
-		assertEquals("1.2", c, aResolvedRequires[1]); //$NON-NLS-1$
-		assertEquals("1.3", d, aResolvedRequires[2]); //$NON-NLS-1$
-	}
-
-	public void testFragmentConstraints07() throws BundleException {
-		// same as testFragmentConstraints06 but with a cycle
-		int id = 0;
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag1"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, d"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, e"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c, e"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d, f"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "aFrag3"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "b, c"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "c, d"); //$NON-NLS-1$
-		BundleDescription aFrag3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a, b, c"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "c"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c1, c2, c3"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "d"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "d1, d2, d3"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "a"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + "_" + manifest.get(Constants.BUNDLE_VERSION), id++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag1);
-		state.addBundle(aFrag2);
-		state.addBundle(aFrag3);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.resolve();
-
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertFalse("0.3", aFrag2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag3.isResolved()); //$NON-NLS-1$
-		assertTrue("0.5", b.isResolved()); //$NON-NLS-1$
-		assertTrue("0.6", c.isResolved()); //$NON-NLS-1$
-		assertTrue("0.7", d.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aResolvedImports = a.getResolvedImports();
-		ExportPackageDescription[] aSelectedExports = a.getSelectedExports();
-		ExportPackageDescription[] bSelectedExports = b.getSelectedExports();
-		ExportPackageDescription[] dResolvedImports = d.getResolvedImports();
-
-		assertEquals("1.0", 3, aResolvedImports.length); //$NON-NLS-1$
-		assertEquals("1.1", 3, bSelectedExports.length); //$NON-NLS-1$
-		for (int i = 0; i < aResolvedImports.length; i++) {
-			assertEquals(bSelectedExports[i], aResolvedImports[i]);
-		}
-
-		BundleDescription[] aResolvedRequires = a.getResolvedRequires();
-		assertEquals("1.0", 3, aResolvedRequires.length); //$NON-NLS-1$
-		assertEquals("1.1", b, aResolvedRequires[0]); //$NON-NLS-1$
-		assertEquals("1.2", c, aResolvedRequires[1]); //$NON-NLS-1$
-		assertEquals("1.3", d, aResolvedRequires[2]); //$NON-NLS-1$
-		assertEquals("2.0", 1, aSelectedExports.length); //$NON-NLS-1$
-		assertEquals("2.1", 1, dResolvedImports.length); //$NON-NLS-1$
-		assertEquals("2.2", aSelectedExports[0], dResolvedImports[0]); //$NON-NLS-1$
-	}
-
-	public void testFragmentsBug188199() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "c"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "a.frag"); //$NON-NLS-1$
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "a, a.frag"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "c"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, "C", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.resolve();
-		assertTrue("0.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", b.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", c.isResolved()); //$NON-NLS-1$
-
-		state.removeBundle(c);
-		state.resolve(false);
-		assertFalse("1.1", a.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2", aFrag.isResolved()); //$NON-NLS-1$
-		assertFalse("1.3", b.isResolved()); //$NON-NLS-1$
-
-		state.addBundle(c);
-		state.resolve();
-		assertTrue("2.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("2.3", b.isResolved()); //$NON-NLS-1$
-		assertTrue("2.4", c.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		ExportPackageDescription[] bImports = b.getResolvedImports();
-		assertTrue("3.1", aExports.length == 2); //$NON-NLS-1$
-		assertTrue("3.2", bImports.length == 2); //$NON-NLS-1$
-		assertTrue("3.3", aExports[0] == bImports[0]); //$NON-NLS-1$
-		assertTrue("3.4", aExports[1] == bImports[1]); //$NON-NLS-1$
-	}
-
-	public void testFragmentsMultipleVersion() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription a1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + '_' + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		BundleDescription aFrag1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + '_' + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription a2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + '_' + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		BundleDescription aFrag2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + '_' + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a1);
-		state.addBundle(aFrag1);
-		state.addBundle(a2);
-		state.addBundle(aFrag2);
-		state.resolve();
-		assertTrue("0.1", a1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.2", aFrag1.isResolved()); //$NON-NLS-1$
-		assertTrue("0.3", a2.isResolved()); //$NON-NLS-1$
-		assertTrue("0.4", aFrag2.isResolved()); //$NON-NLS-1$
-
-		state.removeBundle(a2);
-		state.resolve(false);
-		assertTrue("1.1", a1.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", aFrag2.isResolved()); //$NON-NLS-1$
-		assertFalse("1.3", aFrag1.isResolved()); //$NON-NLS-1$
-		assertEquals("1.4", a1, aFrag2.getHost().getSupplier()); //$NON-NLS-1$
-	}
-
-	public void testPlatformProperties01() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "org.eclipse.osgi"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle = state.getFactory().createBundleDescription(state, manifest, "org.eclipse.osgi", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.b, pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.4"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription systemB = state.getFactory().createBundleDescription(state, manifest, "system.b", bundleID++); //$NON-NLS-1$
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.executionenvironment", "J2SE-1.4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(systemB);
-		state.resolve();
-
-		assertTrue("1.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", systemB.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[1].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.1", b.getResolvedImports()[0].getExporter() == systemB); //$NON-NLS-1$
-
-		// now test the uses clause for pkg.b such that bundle 'A' will be forced to used
-		// pkg.system from bundle 'system.b'
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.b; uses:=\"pkg.system.b\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription b_updated = state.getFactory().createBundleDescription(state, manifest, "B", b.getBundleId()); //$NON-NLS-1$
-		state.updateBundle(b_updated);
-		state.resolve(new BundleDescription[] {b_updated});
-
-		assertTrue("3.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("3.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("3.2", b_updated.isResolved()); //$NON-NLS-1$
-		assertTrue("3.3", systemB.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[1].getExporter() == systemB); //$NON-NLS-1$
-		assertTrue("2.1", b_updated.getResolvedImports()[0].getExporter() == systemB); //$NON-NLS-1$
-	}
-
-	public void testPlatformProperties02() throws BundleException {
-		// same as 01 except use alias system.bundle to another name "test.system.bundle"
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.system.bundle"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle = state.getFactory().createBundleDescription(state, manifest, "test.system.bundle", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.b, pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.4"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.b"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription systemB = state.getFactory().createBundleDescription(state, manifest, "system.b", bundleID++); //$NON-NLS-1$
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("osgi.system.bundle", "test.system.bundle"); // set the system.bundle to another system bundle (other than org.eclipse.osgi) //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.executionenvironment", "J2SE-1.4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(systemB);
-		state.resolve();
-
-		assertTrue("1.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", systemB.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[1].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.1", b.getResolvedImports()[0].getExporter() == systemB); //$NON-NLS-1$
-
-		// now test the uses clause for pkg.b such that bundle 'A' will be forced to used
-		// pkg.system from bundle 'system.b'
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "pkg.b; uses:=\"pkg.system.b\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription b_updated = state.getFactory().createBundleDescription(state, manifest, "B", b.getBundleId()); //$NON-NLS-1$
-		state.updateBundle(b_updated);
-		state.resolve(new BundleDescription[] {b_updated});
-
-		assertTrue("3.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("3.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("3.2", b_updated.isResolved()); //$NON-NLS-1$
-		assertTrue("3.3", systemB.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[1].getExporter() == systemB); //$NON-NLS-1$
-		assertTrue("2.1", b_updated.getResolvedImports()[0].getExporter() == systemB); //$NON-NLS-1$
-	}
-
-	public void testPlatformProperties03() throws BundleException {
-		// test that require-bundle, fragment-host, and import-package of system.bundle can be aliased properly
-		State state = buildEmptyState();
-		int bundleID = 0;
-		String configuredSystemBundle = "org.eclipse.osgi"; //$NON-NLS-1$
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.EXPORT_PACKAGE, "system.bundle.exported.pkg"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle, bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "system.bundle"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, configuredSystemBundle);
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "system.bundle.exported.pkg; bundle-symbolic-name=\"system.bundle\""); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, "C", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "system.bundle.exported.pkg; bundle-symbolic-name=\"" + configuredSystemBundle + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, "D", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.a; bundle-symbolic-name=\"system.bundle\""); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, "E", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.a; bundle-symbolic-name=\"" + configuredSystemBundle + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, "F", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "system.bundle"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, "G", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, configuredSystemBundle);
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, "H", bundleID++); //$NON-NLS-1$
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.resolve();
-
-		assertTrue("1.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", h.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedRequires()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.1", b.getResolvedRequires()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.2", c.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.3", d.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.4", e.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.5", f.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.6", g.getHost().getHosts()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.7", h.getHost().getHosts()[0] == systemBundle); //$NON-NLS-1$
-	}
-
-	public void testPlatformProperties04() throws BundleException {
-		// same as 03 except use a different system.bundle alias other than org.eclipse.osgi
-		// test that require-bundle, fragment-host, and import-package of system.bundle can be aliased properly
-		State state = buildEmptyState();
-		int bundleID = 0;
-		String configuredSystemBundle = "test.system.bundle"; //$NON-NLS-1$
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.EXPORT_PACKAGE, "system.bundle.exported.pkg"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle, bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "system.bundle"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, configuredSystemBundle);
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "system.bundle.exported.pkg; bundle-symbolic-name=\"system.bundle\""); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, "C", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "system.bundle.exported.pkg; bundle-symbolic-name=\"" + configuredSystemBundle + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, "D", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.a; bundle-symbolic-name=\"system.bundle\""); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, "E", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.a; bundle-symbolic-name=\"" + configuredSystemBundle + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, "F", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "system.bundle"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, "G", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, configuredSystemBundle);
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, "H", bundleID++); //$NON-NLS-1$
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("osgi.system.bundle", configuredSystemBundle); // set the system.bundle to another system bundle (other than org.eclipse.osgi) //$NON-NLS-1$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.resolve();
-
-		assertTrue("1.0", systemBundle.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", h.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedRequires()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.1", b.getResolvedRequires()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.2", c.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.3", d.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.4", e.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.5", f.getResolvedImports()[0].getExporter() == systemBundle); //$NON-NLS-1$
-		assertTrue("2.6", g.getHost().getHosts()[0] == systemBundle); //$NON-NLS-1$
-		assertTrue("2.7", h.getHost().getHosts()[0] == systemBundle); //$NON-NLS-1$
-	}
-
-	public void testPlatformPropertiesBug188075() throws BundleException, IOException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put("Eclipse-PlatformFilter", "(!(test=value))"); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put("Eclipse-PlatformFilter", "(test=value)"); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		Dictionary props = new Hashtable();
-		props.put("test", "value"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.resolve();
-
-		assertFalse("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-
-		BundleContext context = OSGiTestsActivator.getContext();
-		File stateCache = context.getDataFile("statecache"); //$NON-NLS-1$
-		stateCache.mkdirs();
-		StateObjectFactory.defaultFactory.writeState(state, stateCache);
-		state = StateObjectFactory.defaultFactory.readState(stateCache);
-		props = state.getPlatformProperties()[0];
-		assertEquals("2.0", "value", props.get("test")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		BundleDescription aCache = state.getBundle("A", null); //$NON-NLS-1$
-		BundleDescription bCache = state.getBundle("B", null); //$NON-NLS-1$
-		assertFalse("2.1", aCache.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", bCache.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testPlatformPropertiesBug207500a() throws BundleException, IOException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put("Eclipse-PlatformFilter", "(test=value1)"); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put("Eclipse-PlatformFilter", "(test=value2)"); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, "B", bundleID++); //$NON-NLS-1$
-
-		Dictionary props = new Hashtable();
-		props.put("test", new CatchAllValue("*")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.resolve();
-
-		// Both should resolve
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", b.isResolved()); //$NON-NLS-1$
-
-		BundleContext context = OSGiTestsActivator.getContext();
-		File stateCache = context.getDataFile("statecache"); //$NON-NLS-1$
-		stateCache.mkdirs();
-		StateObjectFactory.defaultFactory.writeState(state, stateCache);
-		state = StateObjectFactory.defaultFactory.readState(stateCache);
-		props = state.getPlatformProperties()[0];
-		// we do not persist custom properties
-		assertNull("2.0", props.get("test")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription aCache = state.getBundle("A", null); //$NON-NLS-1$
-		BundleDescription bCache = state.getBundle("B", null); //$NON-NLS-1$
-		assertTrue("2.1", aCache.isResolved()); //$NON-NLS-1$
-		assertTrue("2.2", bCache.isResolved()); //$NON-NLS-1$
-
-		// re-resolve without the custom value
-		state.setResolver(platformAdmin.getResolver());
-		state.resolve(false);
-		// both should fail to resolve
-		assertFalse("3.1", aCache.isResolved()); //$NON-NLS-1$
-		assertFalse("3.2", bCache.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testPlatformPropertiesBug207500b() throws BundleException, IOException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_NATIVECODE, "libwrapper-linux-x86-32.so; wrapper-linux-x86-32; osname=linux; processor=x86"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		Dictionary props = new Hashtable();
-		props.put("osgi.os", new CatchAllValue("*")); //$NON-NLS-1$ //$NON-NLS-2$
-		props.put("osgi.arch", new CatchAllValue("*")); //$NON-NLS-1$ //$NON-NLS-2$
-		props.put("osgi.lang", new CatchAllValue("*")); //$NON-NLS-1$ //$NON-NLS-2$
-		props.put("osgi.ws", new CatchAllValue("*")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(a);
-		state.resolve();
-
-		// should resolve
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testPlatformPropertiesBug246640a() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		String configuredSystemBundle = "org.eclipse.osgi; singleton:=true"; //$NON-NLS-1$
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle1 = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription systemBundle2 = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "require.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "org.eclipse.osgi; bundle-version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription requireSystemBundle = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.executionenvironment", "J2SE-1.4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle1);
-		state.addBundle(systemBundle2);
-		state.addBundle(a);
-		state.addBundle(requireSystemBundle);
-		state.resolve();
-
-		assertFalse("1.0", systemBundle1.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", systemBundle2.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", requireSystemBundle.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[0].getExporter() == systemBundle2); //$NON-NLS-1$
-	}
-
-	public void testPlatformPropertiesBug246640b() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		String configuredSystemBundle = "test.system.bundle; singleton:=true"; //$NON-NLS-1$
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription systemBundle1 = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, configuredSystemBundle);
-		manifest.put(Constants.BUNDLE_VERSION, "2.0"); //$NON-NLS-1$
-		BundleDescription systemBundle2 = state.getFactory().createBundleDescription(state, manifest, configuredSystemBundle + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "pkg.system.b"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, "A", bundleID++); //$NON-NLS-1$
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "require.system.b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.system.bundle; bundle-version=2.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.2"); //$NON-NLS-1$
-		BundleDescription requireSystemBundle = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		Dictionary[] props = new Dictionary[] {new Hashtable(), new Hashtable()};
-		props[0].put("osgi.system.bundle", "test.system.bundle"); // set the system.bundle to another system bundle (other than org.eclipse.osgi) //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("org.osgi.framework.executionenvironment", "J2SE-1.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.system.packages", "pkg.system.a, pkg.system.b, pkg.system.c"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[1].put("org.osgi.framework.executionenvironment", "J2SE-1.4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		state.setPlatformProperties(props);
-		state.addBundle(systemBundle1);
-		state.addBundle(systemBundle2);
-		state.addBundle(a);
-		state.addBundle(requireSystemBundle);
-		state.resolve();
-
-		assertFalse("1.0", systemBundle1.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", systemBundle2.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", requireSystemBundle.isResolved()); //$NON-NLS-1$
-
-		assertTrue("2.0", a.getResolvedImports()[0].getExporter() == systemBundle2); //$NON-NLS-1$
-	}
-
-	private ExportPackageDescription[] isConsistent(ExportPackageDescription[] pkgs1, ExportPackageDescription[] pkgs2) {
-		for (int i = 0; i < pkgs1.length; i++)
-			for (int j = 0; j < pkgs2.length; j++)
-				if (pkgs1[i].getName().equals(pkgs2[j].getName()) && pkgs1[i] != pkgs2[j])
-					return new ExportPackageDescription[] {pkgs1[i], pkgs2[j]};
-		return null;
-	}
-
-	private boolean contains(Object[] array, Object element) {
-		for (int i = 0; i < array.length; i++)
-			if (array[i].equals(element))
-				return true;
-		return false;
-	}
-
-	public void testSelectionPolicy() throws BundleException {
-		State state = buildEmptyState();
-		Resolver resolver = state.getResolver();
-		resolver.setSelectionPolicy(new Comparator() {
-			public int compare(Object o1, Object o2) {
-				if (!(o1 instanceof BaseDescription) || !(o2 instanceof BaseDescription))
-					throw new IllegalArgumentException();
-				Version v1 = null;
-				Version v2 = null;
-				v1 = ((BaseDescription) o1).getVersion();
-				v2 = ((BaseDescription) o2).getVersion();
-				// only take version in to account and use lower versions over higher ones
-				return v1.compareTo(v2);
-			}
-		});
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testHost101 = state.getFactory().createBundleDescription(state, manifest, "test.host101", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testFrag101 = state.getFactory().createBundleDescription(state, manifest, "test.frag101", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.dependent; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testDependent = state.getFactory().createBundleDescription(state, manifest, "test.frag101", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(testHost100);
-		state.addBundle(testFrag100);
-		state.addBundle(testHost101);
-		state.addBundle(testFrag101);
-		state.addBundle(testDependent);
-		state.resolve();
-		assertTrue("1.0", testHost100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.1", testHost101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", testFrag100.isResolved()); //$NON-NLS-1$
-		assertFalse("1.3", testFrag101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", testDependent.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testBug187616() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testHost101 = state.getFactory().createBundleDescription(state, manifest, "test.host101", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.1"); //$NON-NLS-1$
-		BundleDescription testFrag101 = state.getFactory().createBundleDescription(state, manifest, "test.frag101", bundleID++); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.dependent; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testDependent = state.getFactory().createBundleDescription(state, manifest, "test.frag101", bundleID++); //$NON-NLS-1$
-
-		state.addBundle(testHost100);
-		state.addBundle(testFrag100);
-		state.addBundle(testHost101);
-		state.addBundle(testFrag101);
-		state.addBundle(testDependent);
-		StateDelta stateDelta = state.resolve();
-		assertFalse("1.0", testHost100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", testHost101.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2", testFrag100.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", testFrag101.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", testDependent.isResolved()); //$NON-NLS-1$
-		BundleDelta[] bDelta = stateDelta.getChanges(BundleDelta.ADDED | BundleDelta.RESOLVED, false);
-		assertTrue("2.0", bDelta.length == 5); //$NON-NLS-1$
-	}
-
-	public void testBug217150() throws BundleException {
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.host; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testHost100 = state.getFactory().createBundleDescription(state, manifest, "test.host100", bundleID++); //$NON-NLS-1$
-
-		try {
-			testHost100.getFragments();
-			fail("Expected to get an exception here!!!"); //$NON-NLS-1$
-		} catch (IllegalStateException e) {
-			// Expected exception.
-		}
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.frag; singleton:=true"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "test.host; bundle-version=\"[1.0.0,2.0.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription testFrag100 = state.getFactory().createBundleDescription(state, manifest, "test.frag100", bundleID++); //$NON-NLS-1$
-		BundleDescription[] hosts = testFrag100.getHost().getHosts();
-		assertNotNull("hosts is null", hosts); //$NON-NLS-1$
-		assertEquals("Unexpected number of hosts", 0, hosts.length); //$NON-NLS-1$
-	}
-
-	public void testNativeCodeResolution01() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.ws", "win32"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("osgi.os", "win32"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("osgi.arch", "x86"); //$NON-NLS-1$ //$NON-NLS-2$
-		props[0].put("osgi.nl", "en_US"); //$NON-NLS-1$ //$NON-NLS-2$
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "NativeBundle"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=x86;osname=Windows2000;osname=\"Windows 2003\";osname=Windows95;osname=Windows98;osname=WindowsNT;osname=WindowsXP;osname=\"Windows NT (unknown)\";osname=\"Windows Vista\"; language=en"); //$NON-NLS-1$
-		BundleDescription testNativeBundle = state.getFactory().createBundleDescription(state, manifest, "NativeBundle", bundleID++); //$NON-NLS-1$
-		state.addBundle(testNativeBundle);
-		state.resolve();
-		assertTrue("1.0", testNativeBundle.isResolved()); //$NON-NLS-1$
-
-	}
-
-	public void testNativeCodeResolution02() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put(Constants.FRAMEWORK_OS_NAME, "WIN32"); // Use different case for osname //$NON-NLS-1$
-		props[0].put(Constants.FRAMEWORK_PROCESSOR, "x86"); //$NON-NLS-1$
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "NativeBundle"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=x86;osname=Windows2000;osname=\"Windows 2003\";osname=Windows95;osname=Windows98;osname=WindowsNT;osname=WindowsXP;osname=\"Windows NT (unknown)\";osname=\"Windows Vista\""); //$NON-NLS-1$
-		BundleDescription testNativeBundle = state.getFactory().createBundleDescription(state, manifest, "NativeBundle", bundleID++); //$NON-NLS-1$
-		state.addBundle(testNativeBundle);
-		state.resolve();
-		assertTrue("1.0", testNativeBundle.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testNativeCodeResolution03() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put(Constants.FRAMEWORK_OS_NAME, "win32"); //$NON-NLS-1$
-		props[0].put(Constants.FRAMEWORK_PROCESSOR, "X86"); // Use different case for processor //$NON-NLS-1$
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "NativeBundle"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=x86;osname=Windows2000;osname=\"Windows 2003\";osname=Windows95;osname=Windows98;osname=WindowsNT;osname=WindowsXP;osname=\"Windows NT (unknown)\";osname=\"Windows Vista\""); //$NON-NLS-1$
-		BundleDescription testNativeBundle = state.getFactory().createBundleDescription(state, manifest, "NativeBundle", bundleID++); //$NON-NLS-1$
-		state.addBundle(testNativeBundle);
-		state.resolve();
-		assertTrue("1.0", testNativeBundle.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testNativeCodeResolution04() throws BundleException {
-		State state = buildEmptyState();
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put(Constants.FRAMEWORK_OS_NAME, "DoesNotExist"); // Use different case for osname //$NON-NLS-1$
-		props[0].put(Constants.FRAMEWORK_PROCESSOR, "InVaLid"); // Use different case for processor //$NON-NLS-1$
-		state.setPlatformProperties(props);
-
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "NativeBundle"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_NATIVECODE, "Bundle-NativeCode: nativefile1.txt;processor=iNvAlid;osname=doeSnoTexist"); //$NON-NLS-1$
-		BundleDescription testNativeBundle = state.getFactory().createBundleDescription(state, manifest, "NativeBundle", bundleID++); //$NON-NLS-1$
-		state.addBundle(testNativeBundle);
-		state.resolve();
-		assertTrue("1.0", testNativeBundle.isResolved()); //$NON-NLS-1$
-	}
-
-	public void testMultiStateAdd01() throws BundleException {
-		State state1 = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state1.getFactory().createBundleDescription(state1, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state1.getFactory().createBundleDescription(state1, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state1.getFactory().createBundleDescription(state1, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state1.getFactory().createBundleDescription(state1, manifest, "gef10", 3); //$NON-NLS-1$
-
-		state1.addBundle(sdk10);
-		state1.addBundle(platform10);
-		state1.addBundle(rcp10);
-		state1.addBundle(gef10);
-		state1.resolve();
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		State state2 = buildEmptyState();
-		try {
-			state2.addBundle(rcp10);
-			fail("Expected IllegalStateException on adding to multiple states"); //$NON-NLS-1$
-		} catch (IllegalStateException e) {
-			// expected
-		}
-	}
-
-	public void testMultiStateAdd02() throws BundleException {
-		State state1 = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state1.getFactory().createBundleDescription(state1, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state1.getFactory().createBundleDescription(state1, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state1.getFactory().createBundleDescription(state1, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state1.getFactory().createBundleDescription(state1, manifest, "gef10", 3); //$NON-NLS-1$
-
-		state1.addBundle(sdk10);
-		state1.addBundle(platform10);
-		state1.addBundle(rcp10);
-		state1.addBundle(gef10);
-		state1.resolve();
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		// remove the rcp10 bundle.  The bundle will be removal pending
-		// this should still throw an exception until the removal is no longer pending
-		state1.removeBundle(rcp10);
-		State state2 = buildEmptyState();
-		try {
-			state2.addBundle(rcp10);
-			fail("Expected IllegalStateException on adding to multiple states"); //$NON-NLS-1$
-		} catch (IllegalStateException e) {
-			// expected
-		}
-	}
-
-	public void testMultiStateAdd03() throws BundleException {
-		State state1 = buildEmptyState();
-
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "sdk; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "platform; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription sdk10 = state1.getFactory().createBundleDescription(state1, manifest, "sdk10", 0); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "platform; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,2.0]\""); //$NON-NLS-1$
-		BundleDescription platform10 = state1.getFactory().createBundleDescription(state1, manifest, "platform10", 1); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "rcp; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		BundleDescription rcp10 = state1.getFactory().createBundleDescription(state1, manifest, "rcp10", 2); //$NON-NLS-1$
-
-		manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "gef; " + Constants.SINGLETON_DIRECTIVE + ":=true"); //$NON-NLS-1$ //$NON-NLS-2$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "rcp; bundle-version=\"[1.0,1.0]\""); //$NON-NLS-1$
-		BundleDescription gef10 = state1.getFactory().createBundleDescription(state1, manifest, "gef10", 3); //$NON-NLS-1$
-
-		state1.addBundle(sdk10);
-		state1.addBundle(platform10);
-		state1.addBundle(rcp10);
-		state1.addBundle(gef10);
-		state1.resolve();
-		assertTrue("1.0", sdk10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", platform10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", rcp10.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", gef10.isResolved()); //$NON-NLS-1$
-
-		// remove the rcp10 bundle.  The bundle will be removal pending
-		// this should still throw an exception until the removal is no longer pending
-		state1.removeBundle(rcp10);
-		state1.resolve(new BundleDescription[] {rcp10});
-		State state2 = buildEmptyState();
-
-		try {
-			state2.addBundle(rcp10);
-		} catch (IllegalStateException e) {
-			fail("Unexpected IllegalStateException on adding to state", e); //$NON-NLS-1$
-		}
-	}
-
-	private State createBug266935State() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments
-		Hashtable manifest = new Hashtable();
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "a"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-
-		state.resolve();
-		assertTrue("A is not resolved", a.isResolved()); //$NON-NLS-1$
-		assertTrue("B is not resolved", b.isResolved()); //$NON-NLS-1$
-		return state;
-	}
-
-	private BundleDescription updateStateBug266935(State state, BundleDescription a) throws BundleException {
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, a.getSymbolicName());
-		manifest.put(Constants.BUNDLE_VERSION, a.getVersion().toString());
-		BundleDescription newA = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + manifest.get(Constants.BUNDLE_VERSION), a.getBundleId());
-		state.updateBundle(newA);
-		return newA;
-	}
-
-	public void testBug266935_01() throws BundleException {
-		State state = createBug266935State();
-		BundleDescription a = state.getBundle("a", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription newA = updateStateBug266935(state, a);
-		state.removeBundle(a);
-		state.resolve(new BundleDescription[] {newA});
-	}
-
-	public void testBug266935_02() throws BundleException {
-		State state = createBug266935State();
-		BundleDescription a = state.getBundle("a", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		updateStateBug266935(state, a);
-		state.removeBundle(a);
-		state.resolve(new BundleDescription[] {a});
-	}
-
-	public void testBug266935_03() throws BundleException {
-		State state = createBug266935State();
-		BundleDescription a = state.getBundle("a", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription newA = updateStateBug266935(state, a);
-		state.removeBundle(newA);
-		state.resolve(new BundleDescription[] {newA});
-	}
-
-	public void testBug266935_04() throws BundleException {
-		State state = createBug266935State();
-		BundleDescription a = state.getBundle("a", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-		BundleDescription newA = updateStateBug266935(state, a);
-		state.removeBundle(newA);
-		state.resolve(new BundleDescription[] {a});
-	}
-
-	public static class CatchAllValue {
-		public CatchAllValue(String s) {
-			//do nothing
-		}
-
-		public boolean equals(Object obj) {
-			return true;
-		}
-	}
-}
-//testFragmentUpdateNoVersionChanged()
-//testFragmentUpdateVersionChanged()
-//testHostUpdateNoVersionChanged()
-//testHostUpdateVersionChanged()
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
deleted file mode 100644
index 4d5d289..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
+++ /dev/null
@@ -1,2782 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.Hashtable;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class SubstitutableExportsTest extends AbstractStateTest {
-	public static Test suite() {
-		return new TestSuite(SubstitutableExportsTest.class);
-	}
-
-	public SubstitutableExportsTest(String name) {
-		super(name);
-	}
-
-	private State getSubstituteBasicState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// D, E, F all requiring A, B, C respectively to access x, y packages
-		// all should get packages x and y from A
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		return state;
-	}
-
-	private State getSubstituteUsesState() throws BundleException {
-		// Same as basic substitutable export test with A, B, C all exporting and importing x,y packages + "uses" clause
-		// D, E, F all requiring A, B, C respectively to access x, y packages
-		// all should get packages x and y from A
-		// bundle G cannot resolve because of uses conflict with x package from Z
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; version=0.5; bundle=Z"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x;  bundle=Z"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		return state;
-	}
-
-	private State getSubstituteUsesCycleState() throws BundleException {
-		// Same as basic substitutable export test with A, B, C all exporting and importing x,y packages + "uses" clause + cycle
-		// D, E, F all requiring A, B, C respectively to access x, y packages
-		// all should get packages x and y from A and package z from G
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; z; version=0.5"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		return state;
-	}
-
-	private State getSubstituteBasicFragState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// Each have a fragment that exports and imports z package
-		// D, E, F all requiring A, B, C respectively to access x, y, z packages
-		// all should get packages x, y and z from A + fragment
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "BFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "B"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription bFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "CFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription cFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.addBundle(bFrag);
-		state.addBundle(c);
-		state.addBundle(cFrag);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		return state;
-	}
-
-	private State getSubstituteUsesFragState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages + "uses" clause
-		// Each have a fragment that exports and imports z package
-		// D, E, F all requiring A, B, C respectively to access x, y, z packages
-		// all should get packages x, y and z from A + fragment
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; version=0.5; bundle=Z"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "BFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "B"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription bFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "CFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		BundleDescription cFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x;  bundle=Z"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.addBundle(bFrag);
-		state.addBundle(c);
-		state.addBundle(cFrag);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		return state;
-	}
-
-	private State getSubstituteUsesFragCycleState() throws BundleException {
-		// Same as basic substitutable export test with A, B, C all exporting and importing x,y packages + "uses" clause + cycle + frags
-		// D, E, F all requiring A, B, C respectively to access x, y packages
-		// all should get packages x and y from A and package z from G
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; z; version=2.0"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=\"[1.0,2.0)\", q"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=\"[1.0,2.0)\", q"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "BFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "B"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription bFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=\"[1.0,2.0)\", q"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "CFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription cFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "q; version=1.0; uses:=x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "q; version=1.0"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "q; version=1.0; uses:=x"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "q; version=1.0"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "q; x; version=1.0"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.addBundle(bFrag);
-		state.addBundle(c);
-		state.addBundle(cFrag);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		return state;
-	}
-
-	private State getSubstituteBasicReexportState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// D, E, F all requiring A, B, C respectively to access x, y packages are reexporting
-		// G, H, I all requiring D, E, F repectively to access x, y packages
-		// all should get packages x and y from A
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "D"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "E"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		return state;
-	}
-
-	private State getSubstituteUsesReexportState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages + "uses" clause
-		// D, E, F all requiring A, B, C respectively to access x, y packages are reexporting
-		// G, H, I all requiring D, E, F repectively to access x, y packages
-		// all should get packages x and y from A
-		// J cannot resolve because of uses conflicy with package x from Z
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; version=0.5; bundle=Z"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "D"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "E"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "J"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x;  bundle=Z"); //$NON-NLS-1$
-		BundleDescription j = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		state.addBundle(j);
-		return state;
-	}
-
-	private State getSubstituteUsesReexportCycleState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages + uses clause + cycle
-		// D, E, F all requiring A, B, C respectively to access x, y packages are reexporting
-		// G, H, I all requiring D, E, F repectively to access x, y packages
-		// all should get packages x and y from A
-		// J cannot resolve because of uses conflicy with package x from Z
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Z"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; z; version=2.0"); //$NON-NLS-1$
-		BundleDescription z = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,z\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C; visibility:=reexport"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "D"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "E"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "J"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0; uses=\"x,y\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription j = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(z);
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		state.addBundle(j);
-		return state;
-	}
-
-	private State getSubstituteUnresolvedFragState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// Each have a fragment that exports and imports z package and an extra unresolved import of q
-		// D, E, F all requiring A, B, C respectively to access x, y. z should not be accessible
-		// all should get packages x, y.
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "AFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "A"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; q; version=1.0"); //$NON-NLS-1$
-		BundleDescription aFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "BFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "B"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z; q; version=1.0"); //$NON-NLS-1$
-		BundleDescription bFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "CFrag"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.FRAGMENT_HOST, "C"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "z; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "z, q; version=1.0"); //$NON-NLS-1$
-		BundleDescription cFrag = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(aFrag);
-		state.addBundle(b);
-		state.addBundle(bFrag);
-		state.addBundle(c);
-		state.addBundle(cFrag);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		return state;
-	}
-
-	private State getSubstituteSplitState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// D, E, F all requiring A, B, C respectively to access x, y packages and export more content (split)
-		// all should get packages x and y from A
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "D"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "E"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "J"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription j = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		state.addBundle(j);
-		return state;
-	}
-
-	private State getSubstituteSplitUsesState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages + uses
-		// D, E, F all requiring A, B, C respectively to access x, y packages and add more content (split)
-		// all should get packages x and y from A
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split, q; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split, q; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; split=split; mandatory:=split; uses:=\"x,y,q\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; split=split, q; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,r\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0, r; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,r\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0, r; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0; uses:=\"x,y,r\""); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0, r; version=\"[1.0,2.0)\""); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "G"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription g = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "H"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "D"); //$NON-NLS-1$
-		BundleDescription h = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "I"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "E"); //$NON-NLS-1$
-		BundleDescription i = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "J"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription j = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "K"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "q; r; version=2.0"); //$NON-NLS-1$
-		BundleDescription k = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "L"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "q; r; version=1.0"); //$NON-NLS-1$
-		BundleDescription l = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "M"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x, y, q, r"); //$NON-NLS-1$
-		BundleDescription m = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "N"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "q, r"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "F"); //$NON-NLS-1$
-		BundleDescription n = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		state.addBundle(g);
-		state.addBundle(h);
-		state.addBundle(i);
-		state.addBundle(j);
-		state.addBundle(k);
-		state.addBundle(l);
-		state.addBundle(m);
-		state.addBundle(n);
-		return state;
-	}
-
-	private State getNonOverlapingSubstituteBasicState() throws BundleException {
-		// Basic substitutable export test with A, B, C all exporting and importing x,y packages
-		// D, E, F all requiring A, B, C respectively to access x, y packages
-		// all should get packages x and y from A
-		State state = buildEmptyState();
-		Hashtable manifest = new Hashtable();
-		long bundleID = 0;
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0; nomatch=nomatch"); //$NON-NLS-1$
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		manifest.put(Constants.IMPORT_PACKAGE, "x; y; version=1.0"); //$NON-NLS-1$
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "A"); //$NON-NLS-1$
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "B"); //$NON-NLS-1$
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.REQUIRE_BUNDLE, "C"); //$NON-NLS-1$
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), bundleID++);
-
-		state.addBundle(a);
-		state.addBundle(b);
-		state.addBundle(c);
-		state.addBundle(d);
-		state.addBundle(e);
-		state.addBundle(f);
-		return state;
-	}
-
-	public void testSubstitutableExports001() throws BundleException {
-		State state = getSubstituteBasicState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		ExportPackageDescription[] aSubtitutes = new ExportPackageDescription[] {aExports[0], aExports[1]};
-		assertEquals("aVisible not correct", aExports, a.getExportPackages()); //$NON-NLS-1$
-		assertEquals("bVisible not correct", aSubtitutes, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aSubtitutes, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aSubtitutes, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aSubtitutes, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports002() throws BundleException {
-		State state = getSubstituteUsesState();
-		state.resolve();
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertFalse("1.6", g.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 0, gVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("aVisible not correct", aExports, a.getExportPackages()); //$NON-NLS-1$
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports003() throws BundleException {
-		State state = getSubstituteUsesCycleState();
-		state.resolve();
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 1, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 3, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 3, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 3, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 3, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 2, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 3, hVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExported = a.getSelectedExports();
-		ExportPackageDescription[] gExported = g.getSelectedExports();
-		ExportPackageDescription[] expected = new ExportPackageDescription[aExported.length + gExported.length];
-		System.arraycopy(aExported, 0, expected, 0, aExported.length);
-		System.arraycopy(gExported, 0, expected, aExported.length, gExported.length);
-		for (int i = 0; i < expected.length; i++) {
-			if (i == 2)
-				assertContains("aVisible not correct", aVisible, expected[i]); //$NON-NLS-1$
-			assertContains("bVisible not correct", bVisible, expected[i]); //$NON-NLS-1$
-			assertContains("cVisible not correct", cVisible, expected[i]); //$NON-NLS-1$
-			assertContains("dVisible not correct", dVisible, expected[i]); //$NON-NLS-1$
-			assertContains("eVisible not correct", eVisible, expected[i]); //$NON-NLS-1$
-			assertContains("fVisible not correct", fVisible, expected[i]); //$NON-NLS-1$
-			if (i == 0 || i == 1)
-				assertContains("gVisible not correct", gVisible, expected[i]); //$NON-NLS-1$
-			assertContains("hVisible not correct", hVisible, expected[i]); //$NON-NLS-1$
-		}
-	}
-
-	public void testSubstitutableExports004() throws BundleException {
-		State state = getSubstituteBasicFragState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(0);
-		BundleDescription aFrag = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription bFrag = state.getBundle(3);
-		BundleDescription c = state.getBundle(4);
-		BundleDescription cFrag = state.getBundle(5);
-		BundleDescription d = state.getBundle(6);
-		BundleDescription e = state.getBundle(7);
-		BundleDescription f = state.getBundle(8);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", bFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", cFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] aFragVisible = state.getStateHelper().getVisiblePackages(aFrag);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] bFragVisible = state.getStateHelper().getVisiblePackages(bFrag);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] cFragVisible = state.getStateHelper().getVisiblePackages(cFrag);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("aFragVisible is null", aFragVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("bFragVisible is null", bFragVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("cFragVisible is null", cFragVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("aFragVisible wrong number", 0, aFragVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("bFragVisible wrong number", 1, bFragVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("cFragVisible wrong number", 1, cFragVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 3, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 3, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("a has wrong number of exports", 3, aExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] aDeclaredExports = a.getExportPackages();
-		ExportPackageDescription[] aFragExports = new ExportPackageDescription[] {aExports[2]};
-		assertEquals("bVisible not correct", aDeclaredExports, bVisible); //$NON-NLS-1$
-		assertEquals("bFragVisible not correct", aFragExports, bFragVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aDeclaredExports, cVisible); //$NON-NLS-1$
-		assertEquals("cFragVisible not correct", aFragExports, cFragVisible); //$NON-NLS-1$
-
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports005() throws BundleException {
-		State state = getSubstituteUsesFragState();
-		state.resolve();
-
-		//		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription aFrag = state.getBundle(2);
-		BundleDescription b = state.getBundle(3);
-		BundleDescription bFrag = state.getBundle(4);
-		BundleDescription c = state.getBundle(5);
-		BundleDescription cFrag = state.getBundle(6);
-		BundleDescription d = state.getBundle(7);
-		BundleDescription e = state.getBundle(8);
-		BundleDescription f = state.getBundle(9);
-		BundleDescription g = state.getBundle(10);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", bFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", cFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertFalse("1.6", g.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] aFragVisible = state.getStateHelper().getVisiblePackages(aFrag);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] bFragVisible = state.getStateHelper().getVisiblePackages(bFrag);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] cFragVisible = state.getStateHelper().getVisiblePackages(cFrag);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("aFragVisible is null", aFragVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("bFragVisible is null", bFragVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("cFragVisible is null", cFragVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("aFragVisible wrong number", 0, aFragVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("bFragVisible wrong number", 1, bFragVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("cFragVisible wrong number", 1, cFragVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 3, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 3, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 0, gVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("a has wrong number of exports", 3, aExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] aDeclaredExports = a.getExportPackages();
-		ExportPackageDescription[] aFragExports = new ExportPackageDescription[] {aExports[2]};
-		assertEquals("bVisible not correct", aDeclaredExports, bVisible); //$NON-NLS-1$
-		assertEquals("bFragVisible not correct", aFragExports, bFragVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aDeclaredExports, cVisible); //$NON-NLS-1$
-		assertEquals("cFragVisible not correct", aFragExports, cFragVisible); //$NON-NLS-1$
-
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports006() throws BundleException {
-		State state = getSubstituteUsesFragCycleState();
-		state.resolve();
-
-		//		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription aFrag = state.getBundle(2);
-		BundleDescription b = state.getBundle(3);
-		BundleDescription bFrag = state.getBundle(4);
-		BundleDescription c = state.getBundle(5);
-		BundleDescription cFrag = state.getBundle(6);
-		BundleDescription d = state.getBundle(7);
-		BundleDescription e = state.getBundle(8);
-		BundleDescription f = state.getBundle(9);
-		BundleDescription g = state.getBundle(10);
-		BundleDescription h = state.getBundle(11);
-		BundleDescription i = state.getBundle(12);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", bFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", cFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", i.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] aFragVisible = state.getStateHelper().getVisiblePackages(aFrag);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] bFragVisible = state.getStateHelper().getVisiblePackages(bFrag);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] cFragVisible = state.getStateHelper().getVisiblePackages(cFrag);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("aFragVisible is null", aFragVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("bFragVisible is null", bFragVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("cFragVisible is null", cFragVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 1, aVisible.length); //$NON-NLS-1$
-		assertEquals("aFragVisible wrong number", 0, aFragVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 3, bVisible.length); //$NON-NLS-1$
-		assertEquals("bFragVisible wrong number", 1, bFragVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 3, cVisible.length); //$NON-NLS-1$
-		assertEquals("cFragVisible wrong number", 1, cFragVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 3, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 3, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 3, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 4, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 4, iVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-
-		assertEquals("a has wrong number of exports", 3, aExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] aDeclaredExports = a.getExportPackages();
-		ExportPackageDescription[] bcExpectedVisible = new ExportPackageDescription[aDeclaredExports.length + 1];
-		System.arraycopy(aDeclaredExports, 0, bcExpectedVisible, 0, aDeclaredExports.length);
-		bcExpectedVisible[2] = g.getSelectedExports()[0];
-		ExportPackageDescription[] aFragExports = new ExportPackageDescription[] {aExports[2]};
-		assertEquals("aVisible not correct", g.getSelectedExports(), aVisible); //$NON-NLS-1$
-		assertEquals("bVisible not correct", bcExpectedVisible, bVisible); //$NON-NLS-1$
-		assertEquals("bFragVisible not correct", aFragExports, bFragVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", bcExpectedVisible, cVisible); //$NON-NLS-1$
-		assertEquals("cFragVisible not correct", aFragExports, cFragVisible); //$NON-NLS-1$
-
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-
-		ExportPackageDescription[] gExports = g.getSelectedExports();
-		assertEquals("g has wrong number of exports", 1, gExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] expectedHIVisible = new ExportPackageDescription[] {gExports[0], aExports[0], aExports[1], aExports[2]};
-		assertEquals("gVisible not correct", aExports, gVisible); //$NON-NLS-1$
-		assertEquals("hVisible not correct", expectedHIVisible, hVisible); //$NON-NLS-1$
-		assertEquals("iVisible not correct", expectedHIVisible, iVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports007() throws BundleException {
-		State state = getSubstituteBasicReexportState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-		BundleDescription g = state.getBundle(5);
-		BundleDescription h = state.getBundle(5);
-		BundleDescription i = state.getBundle(5);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", i.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("hVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 2, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 2, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 2, iVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-		assertEquals("gVisible not correct", aExports, gVisible); //$NON-NLS-1$
-		assertEquals("hVisible not correct", aExports, hVisible); //$NON-NLS-1$
-		assertEquals("iVisible not correct", aExports, iVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports008() throws BundleException {
-		State state = getSubstituteUsesReexportState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-		BundleDescription i = state.getBundle(9);
-		BundleDescription j = state.getBundle(10);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", i.isResolved()); //$NON-NLS-1$
-		assertFalse("1.9", j.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-		ExportPackageDescription[] jVisible = state.getStateHelper().getVisiblePackages(j);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("hVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-		assertNotNull("jVisible is null", jVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 2, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 2, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 2, iVisible.length); //$NON-NLS-1$
-		assertEquals("jVisible wrong number", 0, jVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-		assertEquals("gVisible not correct", aExports, gVisible); //$NON-NLS-1$
-		assertEquals("hVisible not correct", aExports, hVisible); //$NON-NLS-1$
-		assertEquals("iVisible not correct", aExports, iVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports009() throws BundleException {
-		State state = getSubstituteUsesReexportCycleState();
-		state.resolve();
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-		BundleDescription i = state.getBundle(9);
-		BundleDescription j = state.getBundle(10);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", i.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", j.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-		ExportPackageDescription[] jVisible = state.getStateHelper().getVisiblePackages(j);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("hVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-		assertNotNull("jVisible is null", jVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 1, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 3, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 3, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 2, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 2, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 2, iVisible.length); //$NON-NLS-1$
-		assertEquals("jVisible wrong number", 2, jVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("aExports count wrong", 2, aExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] jExports = j.getSelectedExports();
-		assertEquals("aExports count wrong", 1, jExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] bcExpected = new ExportPackageDescription[] {aExports[0], aExports[1], jExports[0]};
-		assertEquals("aVisible not correct", jExports, aVisible); //$NON-NLS-1$
-		assertEquals("bVisible not correct", bcExpected, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", bcExpected, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-		assertEquals("gVisible not correct", aExports, gVisible); //$NON-NLS-1$
-		assertEquals("hVisible not correct", aExports, hVisible); //$NON-NLS-1$
-		assertEquals("iVisible not correct", aExports, iVisible); //$NON-NLS-1$
-		assertEquals("jVisible not correct", aExports, jVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports010() throws BundleException {
-		State state = getSubstituteBasicState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-
-		BundleDescription[] allBundles = new BundleDescription[] {a, b, c, d, e, f};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 6, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allBundles[i]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports011() throws BundleException {
-		State state = getSubstituteUsesState();
-		state.resolve();
-		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, b, c, d, e, f};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 6, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allRefreshBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allRefreshBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[i]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {z});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports012() throws BundleException {
-		State state = getSubstituteUsesCycleState();
-		state.resolve();
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, b, c, d, e, f, g, h};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 8, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allRefreshBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allRefreshBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[i]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {c});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 8, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allRefreshBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allRefreshBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[i]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void testSubstitutableExports013() throws BundleException {
-		State state = getSubstituteBasicFragState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(0);
-		BundleDescription aFrag = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription bFrag = state.getBundle(3);
-		BundleDescription c = state.getBundle(4);
-		BundleDescription cFrag = state.getBundle(5);
-		BundleDescription d = state.getBundle(6);
-		BundleDescription e = state.getBundle(7);
-		BundleDescription f = state.getBundle(8);
-
-		BundleDescription[] allBundles = new BundleDescription[] {a, aFrag, b, bFrag, c, cFrag, d, e, f};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 9, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allBundles[i]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {c});
-		bundleDeltas = stateDelta.getChanges();
-		BundleDescription[] expectedRefresh = new BundleDescription[] {c, cFrag, f};
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 3, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < expectedRefresh.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == expectedRefresh[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + expectedRefresh[i]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void testSubstitutableExports014() throws BundleException {
-		State state = getSubstituteUsesFragState();
-		state.resolve();
-
-		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription aFrag = state.getBundle(2);
-		BundleDescription b = state.getBundle(3);
-		BundleDescription bFrag = state.getBundle(4);
-		BundleDescription c = state.getBundle(5);
-		BundleDescription cFrag = state.getBundle(6);
-		BundleDescription d = state.getBundle(7);
-		BundleDescription e = state.getBundle(8);
-		BundleDescription f = state.getBundle(9);
-		//BundleDescription g = state.getBundle(10);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, aFrag, b, bFrag, c, cFrag, d, e, f};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < allRefreshBundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == allRefreshBundles[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[i]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {z});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {c});
-		bundleDeltas = stateDelta.getChanges();
-		BundleDescription[] expectedRefresh = new BundleDescription[] {c, cFrag, f};
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 3, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int i = 0; i < expectedRefresh.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < bundleDeltas.length && !found; j++) {
-				assertEquals("unexpected delta type " + bundleDeltas[j], BundleDelta.RESOLVED, bundleDeltas[j].getType()); //$NON-NLS-1$
-				found = bundleDeltas[j].getBundle() == expectedRefresh[i];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + expectedRefresh[i]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void testSubstitutableExports015() throws BundleException {
-		State state = getSubstituteUsesFragCycleState();
-		state.resolve();
-		//		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription aFrag = state.getBundle(2);
-		BundleDescription b = state.getBundle(3);
-		BundleDescription bFrag = state.getBundle(4);
-		BundleDescription c = state.getBundle(5);
-		BundleDescription cFrag = state.getBundle(6);
-		BundleDescription d = state.getBundle(7);
-		BundleDescription e = state.getBundle(8);
-		BundleDescription f = state.getBundle(9);
-		BundleDescription g = state.getBundle(10);
-		BundleDescription h = state.getBundle(11);
-		BundleDescription i = state.getBundle(12);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, aFrag, b, bFrag, c, cFrag, d, e, f, g, h, i};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int j = 0; j < allRefreshBundles.length; j++) {
-			boolean found = false;
-			for (int k = 0; k < bundleDeltas.length && !found; k++) {
-				assertEquals("unexpected delta type " + bundleDeltas[k], BundleDelta.RESOLVED, bundleDeltas[k].getType()); //$NON-NLS-1$
-				found = bundleDeltas[k].getBundle() == allRefreshBundles[j];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[j]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {c});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int j = 0; j < allRefreshBundles.length; j++) {
-			boolean found = false;
-			for (int k = 0; k < bundleDeltas.length && !found; k++) {
-				assertEquals("unexpected delta type " + bundleDeltas[k], BundleDelta.RESOLVED, bundleDeltas[k].getType()); //$NON-NLS-1$
-				found = bundleDeltas[k].getBundle() == allRefreshBundles[j];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[j]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void testSubstitutableExports016() throws BundleException {
-		State state = getSubstituteBasicReexportState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-		BundleDescription g = state.getBundle(6);
-		BundleDescription h = state.getBundle(7);
-		BundleDescription i = state.getBundle(8);
-
-		BundleDescription[] allBundles = new BundleDescription[] {a, b, c, d, e, f, g, h, i};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int j = 0; j < allBundles.length; j++) {
-			boolean found = false;
-			for (int k = 0; k < bundleDeltas.length && !found; k++) {
-				assertEquals("unexpected delta type " + bundleDeltas[k], BundleDelta.RESOLVED, bundleDeltas[k].getType()); //$NON-NLS-1$
-				found = bundleDeltas[k].getBundle() == allBundles[j];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allBundles[j]); //$NON-NLS-1$
-			}
-		}
-
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		BundleDescription[] expectedRefresh = new BundleDescription[] {f, i};
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", expectedRefresh.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int j = 0; j < expectedRefresh.length; j++) {
-			boolean found = false;
-			for (int k = 0; k < bundleDeltas.length && !found; k++) {
-				assertEquals("unexpected delta type " + bundleDeltas[k], BundleDelta.RESOLVED, bundleDeltas[k].getType()); //$NON-NLS-1$
-				found = bundleDeltas[k].getBundle() == expectedRefresh[j];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + expectedRefresh[j]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {i});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports017() throws BundleException {
-		State state = getSubstituteUsesReexportState();
-		state.resolve();
-		BundleDescription z = state.getBundle(0);
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-		BundleDescription i = state.getBundle(9);
-		//BundleDescription j = state.getBundle(10);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, b, c, d, e, f, g, h, i};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int l = 0; l < allRefreshBundles.length; l++) {
-			boolean found = false;
-			for (int m = 0; m < bundleDeltas.length && !found; m++) {
-				assertEquals("unexpected delta type " + bundleDeltas[m], BundleDelta.RESOLVED, bundleDeltas[m].getType()); //$NON-NLS-1$
-				found = bundleDeltas[m].getBundle() == allRefreshBundles[l];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[l]); //$NON-NLS-1$
-			}
-		}
-
-		stateDelta = state.resolve(new BundleDescription[] {f});
-		bundleDeltas = stateDelta.getChanges();
-		BundleDescription[] expectedRefresh = new BundleDescription[] {f, i};
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", expectedRefresh.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int l = 0; l < expectedRefresh.length; l++) {
-			boolean found = false;
-			for (int m = 0; m < bundleDeltas.length && !found; m++) {
-				assertEquals("unexpected delta type " + bundleDeltas[m], BundleDelta.RESOLVED, bundleDeltas[m].getType()); //$NON-NLS-1$
-				found = bundleDeltas[m].getBundle() == expectedRefresh[l];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + expectedRefresh[l]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {i});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {z});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports018() throws BundleException {
-		State state = getSubstituteUsesReexportCycleState();
-		state.resolve();
-		BundleDescription a = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription c = state.getBundle(3);
-		BundleDescription d = state.getBundle(4);
-		BundleDescription e = state.getBundle(5);
-		BundleDescription f = state.getBundle(6);
-		BundleDescription g = state.getBundle(7);
-		BundleDescription h = state.getBundle(8);
-		BundleDescription i = state.getBundle(9);
-		BundleDescription j = state.getBundle(10);
-
-		BundleDescription[] allRefreshBundles = new BundleDescription[] {a, b, c, d, e, f, g, h, i, j};
-		StateDelta stateDelta = state.resolve(new BundleDescription[] {a});
-		BundleDelta[] bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int k = 0; k < allRefreshBundles.length; k++) {
-			boolean found = false;
-			for (int l = 0; l < bundleDeltas.length && !found; l++) {
-				assertEquals("unexpected delta type " + bundleDeltas[l], BundleDelta.RESOLVED, bundleDeltas[l].getType()); //$NON-NLS-1$
-				found = bundleDeltas[l].getBundle() == allRefreshBundles[k];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[k]); //$NON-NLS-1$
-			}
-		}
-		stateDelta = state.resolve(new BundleDescription[] {i});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", 1, bundleDeltas.length); //$NON-NLS-1$
-
-		stateDelta = state.resolve(new BundleDescription[] {c});
-		bundleDeltas = stateDelta.getChanges();
-		assertNotNull("bundleDeltas is null", bundleDeltas); //$NON-NLS-1$
-		assertEquals("bunldeDeltas wrong number", allRefreshBundles.length, bundleDeltas.length); //$NON-NLS-1$
-
-		for (int k = 0; k < allRefreshBundles.length; k++) {
-			boolean found = false;
-			for (int l = 0; l < bundleDeltas.length && !found; l++) {
-				assertEquals("unexpected delta type " + bundleDeltas[l], BundleDelta.RESOLVED, bundleDeltas[l].getType()); //$NON-NLS-1$
-				found = bundleDeltas[l].getBundle() == allRefreshBundles[k];
-			}
-			if (!found) {
-				fail("Did not find RESOLVED BundleDelta for " + allRefreshBundles[k]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void testSubstitutableExports019() throws BundleException {
-		State state = getSubstituteUnresolvedFragState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(0);
-		BundleDescription aFrag = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription bFrag = state.getBundle(3);
-		BundleDescription c = state.getBundle(4);
-		BundleDescription cFrag = state.getBundle(5);
-		BundleDescription d = state.getBundle(6);
-		BundleDescription e = state.getBundle(7);
-		BundleDescription f = state.getBundle(8);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertFalse("1.0.1", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertFalse("1.1.1", bFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertFalse("1.2.1", cFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] aFragVisible = state.getStateHelper().getVisiblePackages(aFrag);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] bFragVisible = state.getStateHelper().getVisiblePackages(bFrag);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] cFragVisible = state.getStateHelper().getVisiblePackages(cFrag);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("aFragVisible is null", aFragVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("bFragVisible is null", bFragVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("cFragVisible is null", cFragVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("aFragVisible wrong number", 0, aFragVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("bFragVisible wrong number", 0, bFragVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("cFragVisible wrong number", 0, cFragVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("a has wrong number of exports", 2, aExports.length); //$NON-NLS-1$
-
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports020() throws BundleException {
-		State state = getSubstituteUnresolvedFragState();
-		state.resolve();
-
-		BundleDescription a = state.getBundle(0);
-		BundleDescription aFrag = state.getBundle(1);
-		BundleDescription b = state.getBundle(2);
-		BundleDescription bFrag = state.getBundle(3);
-		BundleDescription c = state.getBundle(4);
-		BundleDescription cFrag = state.getBundle(5);
-		BundleDescription d = state.getBundle(6);
-		BundleDescription e = state.getBundle(7);
-		BundleDescription f = state.getBundle(8);
-
-		// add a bundle to resolve the fragments import of q
-		Hashtable manifest = new Hashtable();
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "Q"); //$NON-NLS-1$
-		manifest.put(Constants.BUNDLE_VERSION, "1.0.0"); //$NON-NLS-1$
-		manifest.put(Constants.EXPORT_PACKAGE, "q; version=1.0"); //$NON-NLS-1$
-		BundleDescription q = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME) + (String) manifest.get(Constants.BUNDLE_VERSION), f.getBundleId() + 1);
-		state.addBundle(q);
-		state.resolve(new BundleDescription[] {a});
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.0.1", aFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1.1", bFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2.1", cFrag.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] aFragVisible = state.getStateHelper().getVisiblePackages(aFrag);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] bFragVisible = state.getStateHelper().getVisiblePackages(bFrag);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] cFragVisible = state.getStateHelper().getVisiblePackages(cFrag);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("aFragVisible is null", aFragVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("bFragVisible is null", bFragVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("cFragVisible is null", cFragVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("aFragVisible wrong number", 1, aFragVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("bFragVisible wrong number", 2, bFragVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("cFragVisible wrong number", 2, cFragVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 3, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 3, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("a has wrong number of exports", 3, aExports.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aDeclaredExports = a.getExportPackages();
-		ExportPackageDescription[] aFragExpected = new ExportPackageDescription[] {aExports[2], q.getExportPackages()[0]};
-		assertEquals("aFragVisible not correct", q.getSelectedExports(), aFragVisible); //$NON-NLS-1$
-		assertEquals("bVisible not correct", aDeclaredExports, bVisible); //$NON-NLS-1$
-		assertEquals("bFragVisible not correct", aFragExpected, bFragVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aDeclaredExports, cVisible); //$NON-NLS-1$
-		assertEquals("cFragVisible not correct", aFragExpected, cFragVisible); //$NON-NLS-1$
-
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports021() throws BundleException {
-		State state = getSubstituteBasicState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-
-		state.removeBundle(a);
-		state.resolve(new BundleDescription[] {a});
-		assertFalse("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertFalse("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("bVisible wrong number", 0, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 0, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] bExports = b.getSelectedExports();
-		assertEquals("cVisible not correct", bExports, cVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", bExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", bExports, fVisible); //$NON-NLS-1$
-	}
-
-	public void testSubstitutableExports022() throws BundleException {
-		State state = getSubstituteSplitState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-		BundleDescription g = state.getBundle(6);
-		BundleDescription h = state.getBundle(7);
-		BundleDescription i = state.getBundle(8);
-		BundleDescription j = state.getBundle(9);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", i.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", j.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-		ExportPackageDescription[] jVisible = state.getStateHelper().getVisiblePackages(j);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("hVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-		assertNotNull("jVisible is null", jVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 4, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 4, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 4, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 4, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 4, iVisible.length); //$NON-NLS-1$
-		assertEquals("jVisible wrong number", 4, jVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("aVisible not correct", aExports, a.getExportPackages()); //$NON-NLS-1$
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExported = a.getSelectedExports();
-		ExportPackageDescription[] dExported = d.getSelectedExports();
-		ExportPackageDescription[] expected = new ExportPackageDescription[aExported.length + dExported.length];
-		System.arraycopy(aExported, 0, expected, 0, aExported.length);
-		System.arraycopy(dExported, 0, expected, aExported.length, dExported.length);
-		for (int index = 0; index < expected.length; index++) {
-			assertContains("eVisible not correct", eVisible, expected[index]); //$NON-NLS-1$
-			assertContains("fVisible not correct", fVisible, expected[index]); //$NON-NLS-1$
-			assertContains("gVisible not correct", gVisible, expected[index]); //$NON-NLS-1$
-			assertContains("hVisible not correct", hVisible, expected[index]); //$NON-NLS-1$
-			assertContains("iVisible not correct", iVisible, expected[index]); //$NON-NLS-1$
-			assertContains("jVisible not correct", jVisible, expected[index]); //$NON-NLS-1$
-		}
-	}
-
-	public void testSubstitutableExports023() throws BundleException {
-		State state = getSubstituteSplitUsesState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-		BundleDescription g = state.getBundle(6);
-		BundleDescription h = state.getBundle(7);
-		BundleDescription i = state.getBundle(8);
-		BundleDescription j = state.getBundle(9);
-		BundleDescription k = state.getBundle(10);
-		BundleDescription l = state.getBundle(11);
-		BundleDescription m = state.getBundle(12);
-		BundleDescription n = state.getBundle(13);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-		assertTrue("1.6", g.isResolved()); //$NON-NLS-1$
-		assertTrue("1.7", h.isResolved()); //$NON-NLS-1$
-		assertTrue("1.8", i.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", j.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", k.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", l.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", j.isResolved()); //$NON-NLS-1$
-		assertTrue("1.9", n.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-		ExportPackageDescription[] gVisible = state.getStateHelper().getVisiblePackages(g);
-		ExportPackageDescription[] hVisible = state.getStateHelper().getVisiblePackages(h);
-		ExportPackageDescription[] iVisible = state.getStateHelper().getVisiblePackages(i);
-		ExportPackageDescription[] jVisible = state.getStateHelper().getVisiblePackages(j);
-		ExportPackageDescription[] kVisible = state.getStateHelper().getVisiblePackages(k);
-		ExportPackageDescription[] lVisible = state.getStateHelper().getVisiblePackages(l);
-		ExportPackageDescription[] mVisible = state.getStateHelper().getVisiblePackages(m);
-		ExportPackageDescription[] nVisible = state.getStateHelper().getVisiblePackages(n);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-		assertNotNull("gVisible is null", gVisible); //$NON-NLS-1$
-		assertNotNull("hVisible is null", hVisible); //$NON-NLS-1$
-		assertNotNull("iVisible is null", iVisible); //$NON-NLS-1$
-		assertNotNull("jVisible is null", jVisible); //$NON-NLS-1$
-		assertNotNull("kVisible is null", kVisible); //$NON-NLS-1$
-		assertNotNull("lVisible is null", lVisible); //$NON-NLS-1$
-		assertNotNull("mVisible is null", mVisible); //$NON-NLS-1$
-		assertNotNull("nVisible is null", nVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 1, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 3, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 3, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 3, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 5, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 5, fVisible.length); //$NON-NLS-1$
-		assertEquals("gVisible wrong number", 4, gVisible.length); //$NON-NLS-1$
-		assertEquals("hVisible wrong number", 4, hVisible.length); //$NON-NLS-1$
-		assertEquals("iVisible wrong number", 4, iVisible.length); //$NON-NLS-1$
-		assertEquals("jVisible wrong number", 4, jVisible.length); //$NON-NLS-1$
-		assertEquals("kVisible wrong number", 0, kVisible.length); //$NON-NLS-1$
-		assertEquals("lVisible wrong number", 0, lVisible.length); //$NON-NLS-1$
-		assertEquals("mVisible wrong number", 6, mVisible.length); //$NON-NLS-1$
-		assertEquals("nVisible wrong number", 6, nVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("aExports wrong number", 2, aExports.length); //$NON-NLS-1$
-		ExportPackageDescription[] bcExpected = new ExportPackageDescription[] {aExports[0], aExports[1], l.getSelectedExports()[0]};
-		ExportPackageDescription[] aExpected = new ExportPackageDescription[] {l.getSelectedExports()[0]};
-		assertEquals("aVisible not correct", aExpected, aVisible); //$NON-NLS-1$
-		assertEquals("bVisible not correct", bcExpected, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", bcExpected, cVisible); //$NON-NLS-1$
-
-		ExportPackageDescription[] dExpected = new ExportPackageDescription[] {l.getSelectedExports()[1], aExports[0], aExports[1]};
-		assertEquals("dVisible not correct", dExpected, dVisible); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExported = a.getSelectedExports();
-		ExportPackageDescription[] dExported = d.getSelectedExports();
-		ExportPackageDescription[] efExpected = new ExportPackageDescription[aExported.length + dExported.length + 1];
-		System.arraycopy(aExported, 0, efExpected, 0, aExported.length);
-		System.arraycopy(dExported, 0, efExpected, aExported.length, dExported.length);
-		efExpected[aExported.length + dExported.length] = l.getSelectedExports()[1];
-		for (int index = 0; index < efExpected.length; index++) {
-			assertContains("eVisible not correct", eVisible, efExpected[index]); //$NON-NLS-1$
-			assertContains("fVisible not correct", fVisible, efExpected[index]); //$NON-NLS-1$
-		}
-
-		ExportPackageDescription[] ghijExpected = new ExportPackageDescription[aExported.length + dExported.length];
-		System.arraycopy(aExported, 0, ghijExpected, 0, aExported.length);
-		System.arraycopy(dExported, 0, ghijExpected, aExported.length, dExported.length);
-		for (int index = 0; index < ghijExpected.length; index++) {
-			assertContains("gVisible not correct", gVisible, ghijExpected[index]); //$NON-NLS-1$
-			assertContains("hVisible not correct", hVisible, ghijExpected[index]); //$NON-NLS-1$
-			assertContains("iVisible not correct", iVisible, ghijExpected[index]); //$NON-NLS-1$
-			assertContains("jVisible not correct", jVisible, ghijExpected[index]); //$NON-NLS-1$
-		}
-
-		ExportPackageDescription[] lExported = l.getSelectedExports();
-		ExportPackageDescription[] mnExpected = new ExportPackageDescription[aExported.length + dExported.length + lExported.length];
-		System.arraycopy(aExported, 0, mnExpected, 0, aExported.length);
-		System.arraycopy(dExported, 0, mnExpected, aExported.length, dExported.length);
-		System.arraycopy(lExported, 0, mnExpected, aExported.length + dExported.length, lExported.length);
-		for (int index = 0; index < mnExpected.length; index++) {
-			assertContains("mVisible not correct", mVisible, mnExpected[index]); //$NON-NLS-1$
-			assertContains("nVisible not correct", nVisible, mnExpected[index]); //$NON-NLS-1$
-		}
-	}
-
-	public void testSubstitutableExports024() throws BundleException {
-		State state = getNonOverlapingSubstituteBasicState();
-		state.resolve();
-		BundleDescription a = state.getBundle(0);
-		BundleDescription b = state.getBundle(1);
-		BundleDescription c = state.getBundle(2);
-		BundleDescription d = state.getBundle(3);
-		BundleDescription e = state.getBundle(4);
-		BundleDescription f = state.getBundle(5);
-
-		assertTrue("1.0", a.isResolved()); //$NON-NLS-1$
-		assertTrue("1.1", b.isResolved()); //$NON-NLS-1$
-		assertTrue("1.2", c.isResolved()); //$NON-NLS-1$
-		assertTrue("1.3", d.isResolved()); //$NON-NLS-1$
-		assertTrue("1.4", e.isResolved()); //$NON-NLS-1$
-		assertTrue("1.5", f.isResolved()); //$NON-NLS-1$
-
-		ExportPackageDescription[] aVisible = state.getStateHelper().getVisiblePackages(a);
-		ExportPackageDescription[] bVisible = state.getStateHelper().getVisiblePackages(b);
-		ExportPackageDescription[] cVisible = state.getStateHelper().getVisiblePackages(c);
-		ExportPackageDescription[] dVisible = state.getStateHelper().getVisiblePackages(d);
-		ExportPackageDescription[] eVisible = state.getStateHelper().getVisiblePackages(e);
-		ExportPackageDescription[] fVisible = state.getStateHelper().getVisiblePackages(f);
-
-		assertNotNull("aVisible is null", aVisible); //$NON-NLS-1$
-		assertNotNull("bVisible is null", bVisible); //$NON-NLS-1$
-		assertNotNull("cVisible is null", cVisible); //$NON-NLS-1$
-		assertNotNull("dVisible is null", dVisible); //$NON-NLS-1$
-		assertNotNull("eVisible is null", eVisible); //$NON-NLS-1$
-		assertNotNull("fVisible is null", fVisible); //$NON-NLS-1$
-
-		assertEquals("aVisible wrong number", 0, aVisible.length); //$NON-NLS-1$
-		assertEquals("bVisible wrong number", 2, bVisible.length); //$NON-NLS-1$
-		assertEquals("cVisible wrong number", 2, cVisible.length); //$NON-NLS-1$
-		assertEquals("dVisible wrong number", 2, dVisible.length); //$NON-NLS-1$
-		assertEquals("eVisible wrong number", 2, eVisible.length); //$NON-NLS-1$
-		assertEquals("fVisible wrong number", 2, fVisible.length); //$NON-NLS-1$
-
-		ExportPackageDescription[] aExports = a.getSelectedExports();
-		assertEquals("aVisible not correct", aExports, a.getExportPackages()); //$NON-NLS-1$
-		assertEquals("bVisible not correct", aExports, bVisible); //$NON-NLS-1$
-		assertEquals("cVisible not correct", aExports, cVisible); //$NON-NLS-1$
-		assertEquals("dVisible not correct", aExports, dVisible); //$NON-NLS-1$
-		assertEquals("eVisible not correct", aExports, eVisible); //$NON-NLS-1$
-		assertEquals("fVisible not correct", aExports, fVisible); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
deleted file mode 100644
index 893fb12..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import junit.framework.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class VersionRangeTests extends TestCase {
-	public void testSingleVersionRange() {
-		VersionRange range;
-		range = new VersionRange("[1.0.0, 1.0.0.-)"); //$NON-NLS-1$
-		assertEquals("0.1", Version.parseVersion("1.0"), range.getMinimum()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("0.9", !range.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.0", range.isIncluded(Version.parseVersion("1"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.1", range.isIncluded(Version.parseVersion("1.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", range.isIncluded(Version.parseVersion("1.0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("2.1", !range.isIncluded(Version.parseVersion("1.0.0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("2.2", !range.isIncluded(Version.parseVersion("1.0.1"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("2.3", !range.isIncluded(Version.parseVersion("1.1"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("2.4", !range.isIncluded(Version.parseVersion("2"))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testInvertedRange() {
-		VersionRange range;
-		range = new VersionRange("[2.0.0, 1.0.0]"); //$NON-NLS-1$
-		assertTrue("1.0", !range.isIncluded(Version.parseVersion("1"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.1", !range.isIncluded(Version.parseVersion("1.5"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", !range.isIncluded(Version.parseVersion("2.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.3", !range.isIncluded(Version.parseVersion("2.5"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.4", !range.isIncluded(Version.parseVersion("0.5"))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testGreaterThan() {
-		// any version equal or greater than 1.0 is ok 
-		VersionRange lowerBound = new VersionRange("1.0.0"); //$NON-NLS-1$
-		assertTrue("1.0", !lowerBound.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.1", lowerBound.isIncluded(Version.parseVersion("1.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", lowerBound.isIncluded(Version.parseVersion("1.9.9.x"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.3", lowerBound.isIncluded(Version.parseVersion("999.999.999.foo"))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testLowerThan() {
-		// any version lower than 2.0 is ok 		
-		VersionRange upperBound = new VersionRange("[0,2.0)"); //$NON-NLS-1$
-		assertTrue("1.0", upperBound.isIncluded(Version.parseVersion("0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.1", upperBound.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", upperBound.isIncluded(Version.parseVersion("1.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.3", upperBound.isIncluded(Version.parseVersion("1.9.9.x"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.4", !upperBound.isIncluded(Version.parseVersion("2.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.5", !upperBound.isIncluded(Version.parseVersion("2.1"))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testNullMin() {
-		VersionRange nullMin = new VersionRange(null, true, new Version("1.0"), false); //$NON-NLS-1$
-		assertNotNull("0.1", nullMin.getMinimum()); //$NON-NLS-1$
-		assertEquals("0.2", Version.emptyVersion, nullMin.getMinimum()); //$NON-NLS-1$
-		assertTrue("1.0", nullMin.isIncluded(null)); //$NON-NLS-1$
-		assertTrue("1.1", nullMin.isIncluded(new Version("0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", nullMin.isIncluded(new Version("0.9.9"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.3", nullMin.isIncluded(Version.parseVersion("0.9.9.x"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertFalse("1.4", nullMin.isIncluded(Version.parseVersion("2.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertFalse("1.5", nullMin.isIncluded(Version.parseVersion("2.1"))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void testNullMax() {
-		VersionRange nullMaxAny = new VersionRange(new Version("0"), true, null, true); //$NON-NLS-1$
-		assertTrue("1.0", nullMaxAny.isIncluded(Version.parseVersion("0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.1", nullMaxAny.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.2", nullMaxAny.isIncluded(Version.parseVersion("1.0"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.3", nullMaxAny.isIncluded(Version.parseVersion("1.9.9.x"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.4", nullMaxAny.isIncluded(Version.parseVersion("999.999.999.foo"))); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("1.5", nullMaxAny.isIncluded(new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE))); //$NON-NLS-1$
-	}
-
-	public static Test suite() {
-		return new TestSuite(VersionRangeTests.class);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
deleted file mode 100644
index 480df3c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.tests.services.resolver;
-
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.*;
-
-public class XFriendsInternalResolverTest extends AbstractStateTest {
-	public static Test suite() {
-		return new TestSuite(XFriendsInternalResolverTest.class);
-	}
-
-	public XFriendsInternalResolverTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests the x-friends directive.  A bundle should not be allowed to import a package which
-	 * declares an x-friends directive and the importer is not a friend.  When a bundle requires
-	 * anther bundle which exports packages which declare an x-friends directive it should not 
-	 * have access to the packages unless the requiring bundle is a friend.
-	 * @throws BundleException
-	 */
-	public void testXFriends() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-		// test the selection algorithm of the resolver to pick the bundles which
-		// resolve the largest set of bundles; with fragments using Import-Package
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.exporter");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, 
-				"test.exporter.foo1; x-friends:=\"test.importer1, test.requirer1\"," +
-				"test.exporter.foo2; x-friends:=\"test.importer2, test.requirer2\"," +
-				"test.exporter.bar1; x-friends:=\"test.importer1, test.requirer1\"," +
-				"test.exporter.bar2; x-friends:=\"test.importer2, test.requirer2\"");
-		BundleDescription testExporter = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer1");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
-				"test.exporter.foo1," +
-				"test.exporter.bar1," +
-				"test.exporter.foo2; resolution:=optional," +
-				"test.exporter.bar2; resolution:=optional");
-		BundleDescription testImporter1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer2");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
-				"test.exporter.foo1; resolution:=optional," +
-				"test.exporter.bar1; resolution:=optional," +
-				"test.exporter.foo2," +
-				"test.exporter.bar2");
-		BundleDescription testImporter2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer3");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
-				"test.exporter.foo1," +
-				"test.exporter.bar1," +
-				"test.exporter.foo2; resolution:=optional," +
-				"test.exporter.bar2; resolution:=optional");
-		BundleDescription testImporter3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.requirer1");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.exporter");
-		BundleDescription testRequirer1 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.requirer2");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.exporter");
-		BundleDescription testRequirer2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.resolverMode", "strict");
-
-		state.setPlatformProperties(props);
-		state.addBundle(testExporter);
-		state.addBundle(testImporter1);
-		state.addBundle(testImporter2);
-		state.addBundle(testImporter3);
-		state.addBundle(testRequirer1);
-		state.addBundle(testRequirer2);
-		state.resolve();
-
-		// make sure all bundles are resolved that should be
-		assertTrue("1.0", testExporter.isResolved());
-		assertTrue("1.1", testImporter1.isResolved());
-		assertTrue("1.2", testImporter2.isResolved());
-		assertFalse("1.3", testImporter3.isResolved()); // should not be resolved
-		assertTrue("1.4", testRequirer1.isResolved());
-		assertTrue("1.5", testRequirer2.isResolved());
-
-		String[] validPackages1 = {"test.exporter.foo1", "test.exporter.bar1"};
-		String[] validPackages2 = {"test.exporter.foo2", "test.exporter.bar2"};
-		// make sure the importers only got the packages they are really friends to
-		ExportPackageDescription[] imported1 = testImporter1.getResolvedImports();
-		assertTrue("2.0", imported1 != null && imported1.length == 2); // should only have 2 resolved imports
-		assertTrue("2.1", contains(validPackages1, imported1[0].getName()));
-		assertTrue("2.2", contains(validPackages1, imported1[1].getName()));
-
-		ExportPackageDescription[] imported2 = testImporter2.getResolvedImports();
-		assertTrue("3.0", imported2 != null && imported2.length == 2); // should only have 2 resolved imports
-		assertTrue("3.1", contains(validPackages2, imported2[0].getName()));
-		assertTrue("3.2", contains(validPackages2, imported2[1].getName()));
-
-		StateHelper helper = state.getStateHelper();
-		ExportPackageDescription[] required1 = helper.getVisiblePackages(testRequirer1);
-		assertTrue("4.0", required1 != null && required1.length == 2); // should only have 2 visible imports
-		assertTrue("4.1", contains(validPackages1, required1[0].getName()));
-		assertTrue("4.2", contains(validPackages1, required1[1].getName()));
-
-		ExportPackageDescription[] required2 = helper.getVisiblePackages(testRequirer2);
-		assertTrue("5.0", required2 != null && required2.length == 2); // should only have 2 visible imports
-		assertTrue("5.1", contains(validPackages2, required2[0].getName()));
-		assertTrue("5.2", contains(validPackages2, required2[1].getName()));
-	}
-
-	public void testVisiblePackages001() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a.base");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "a.split.pkg; a.base=split; mandatory:=a.base");
-		BundleDescription aBase = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "a.extra");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "a.base");
-		manifest.put(Constants.EXPORT_PACKAGE, "a.split.pkg");
-		BundleDescription aExtra = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "b");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "a.extra");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base.exporter.require");
-		BundleDescription b= state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		state.addBundle(aBase);
-		state.addBundle(aExtra);
-		state.addBundle(b);
-		state.resolve();
-
-		// make sure all bundles are resolved that should be
-		assertTrue("1.0", aBase.isResolved());
-		assertTrue("1.1", aExtra.isResolved());
-		assertTrue("1.2", b.isResolved());
-
-		StateHelper helper = state.getStateHelper();
-		ExportPackageDescription[] visImporter = helper.getVisiblePackages(b);
-		assertTrue("2.0", visImporter != null && visImporter.length == 2);
-		assertEquals("2.1", visImporter[0].getName(), "a.split.pkg");
-		assertEquals("2.2", visImporter[1].getName(), "a.split.pkg");
-		BundleDescription exporter1 = visImporter[0].getExporter();
-		BundleDescription exporter2 = visImporter[1].getExporter();
-		assertTrue("2.3", exporter1 != exporter2);
-		assertTrue("2.4", exporter1 == aBase || exporter1 == aExtra);
-		assertTrue("2.4", exporter2 == aBase || exporter2 == aExtra);
-	}
-
-	public void testVisiblePackages002() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, 
-				"test.base; base.exporter=split; mandatory:=base.exporter");
-		BundleDescription baseExporter = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter.require");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.base.exporter");
-		manifest.put(Constants.EXPORT_PACKAGE, 
-				"test.base; base.exporter.require=split; mandatory:=base.exporter.require");
-		BundleDescription baseExporterRequire = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter.require2");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, 
-				"test.base.exporter.require");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base.exporter.require");
-		BundleDescription baseExporterRequire2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.importer");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, 
-				"test.base.exporter.require");
-		BundleDescription baseImporter = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.importer2");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "test.base.exporter.require2");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base");
-		BundleDescription baseImporter2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.importer3");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, "test.base; bundle-symbolic-name=test.base.importer2");
-		BundleDescription baseImporter3 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.resolverMode", "strict");
-
-		state.setPlatformProperties(props);
-		state.addBundle(baseExporter);
-		state.addBundle(baseExporterRequire);
-		state.addBundle(baseExporterRequire2);
-		state.addBundle(baseImporter);
-		state.addBundle(baseImporter2);
-		state.addBundle(baseImporter3);
-		state.resolve();
-
-		// make sure all bundles are resolved that should be
-		assertTrue("1.0", baseExporter.isResolved());
-		assertTrue("1.1", baseExporterRequire.isResolved());
-		assertTrue("1.2", baseExporterRequire2.isResolved());
-		assertTrue("1.3", baseImporter.isResolved());
-		assertTrue("1.4", baseImporter2.isResolved());
-		assertTrue("1.5", baseImporter3.isResolved());
-
-		StateHelper helper = state.getStateHelper();
-		ExportPackageDescription[] visImporter = helper.getVisiblePackages(baseImporter);
-		assertTrue("2.0", visImporter != null && visImporter.length == 2);
-		assertEquals("2.1", visImporter[0].getName(), "test.base");
-		assertEquals("2.2", visImporter[1].getName(), "test.base");
-		BundleDescription exporter1 = visImporter[0].getExporter();
-		BundleDescription exporter2 = visImporter[1].getExporter();
-		assertTrue("2.3", exporter1 != exporter2);
-		assertTrue("2.4", exporter1 == baseExporter || exporter1 == baseExporterRequire);
-		assertTrue("2.5", exporter2 == baseExporter || exporter2 == baseExporterRequire);
-
-		ExportPackageDescription[] visImporter2 = helper.getVisiblePackages(baseImporter2);
-		assertTrue("3.0", visImporter2 != null && visImporter2.length == 1);
-		assertEquals("3.1", visImporter2[0].getName(), "test.base.exporter.require");
-		assertTrue("3.2", visImporter2[0].getExporter() == baseExporterRequire2);
-
-		ExportPackageDescription[] visImporter3 = helper.getVisiblePackages(baseImporter3);
-		assertTrue("4.0", visImporter3 != null && visImporter3.length == 1);
-		assertEquals("4.1", visImporter3[0].getName(), "test.base");
-		assertTrue("4.2", visImporter3[0].getExporter() == baseImporter2);
-	}
-
-	public void testVisiblePackages003() throws BundleException {
-		State state = buildEmptyState();
-		int bundleID = 0;
-
-		Hashtable manifest = new Hashtable();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "E");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base; E=split; mandatory:=E");
-		BundleDescription e = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "D");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "E");
-		BundleDescription d = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "D");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base; D=split; mandatory:=D");
-		BundleDescription c = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "F; " + Constants.VISIBILITY_DIRECTIVE + ":=" + Constants.VISIBILITY_REEXPORT );
-		BundleDescription b = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "F");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, "test.base; F=split; mandatory:=F");
-		BundleDescription f = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		manifest.clear();
-		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
-		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
-		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "B; " + Constants.VISIBILITY_DIRECTIVE + ":=" + Constants.VISIBILITY_REEXPORT + 
-																	",C");
-		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
-
-		Dictionary[] props = new Dictionary[] {new Hashtable()};
-		props[0].put("osgi.resolverMode", "strict");
-
-		state.setPlatformProperties(props);
-		state.addBundle(f);
-		state.addBundle(e);
-		state.addBundle(d);
-		state.addBundle(c);
-		state.addBundle(b);
-		state.addBundle(a);
-
-		state.resolve();
-
-		// make sure all bundles are resolved that should be
-		assertTrue("1.0", a.isResolved());
-		assertTrue("1.1", b.isResolved());
-		assertTrue("1.2", c.isResolved());
-		assertTrue("1.3", d.isResolved());
-		assertTrue("1.4", e.isResolved());
-		assertTrue("1.5", f.isResolved());
-
-		StateHelper helper = state.getStateHelper();
-		ExportPackageDescription[] visImporter = helper.getVisiblePackages(a);
-		assertTrue("2.0", visImporter != null && visImporter.length == 2);
-		assertEquals("2.1", visImporter[0].getName(), "test.base");
-		assertEquals("2.2", visImporter[1].getName(), "test.base");
-		BundleDescription exporter1 = visImporter[0].getExporter();
-		BundleDescription exporter2 = visImporter[1].getExporter();
-		assertTrue("2.3", exporter1 != exporter2);
-		assertTrue("2.4", exporter1 == c || exporter1 == f);
-		assertTrue("2.5", exporter2 == c || exporter2 == f);
-	}
-
-	private boolean contains(Object[] array, Object element) {
-		for (int i = 0; i < array.length; i++)
-			if (array[i].equals(element))
-				return true;
-		return false;
-	}
-}
-
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/AllTests.java
deleted file mode 100644
index 43b7b91..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/AllTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.util;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests extends TestSuite {
-
-	// Test suite to run all text processor session tests
-	public static Test suite() {
-		return new AllTests();
-	}
-
-	public AllTests() {
-		addTest(new TestSuite(ObjectPoolTestCase.class));
-		addTest(new TestSuite(ManifestElementTestCase.class));
-		addTest(new TestSuite(NLSTestCase.class));
-		addBidiTests();
-		addLatinTests();
-	}
-
-	private void addBidiTests() {
-		addTest(new TextProcessorSessionTest("org.eclipse.osgi.tests", BidiTextProcessorTestCase.class, "iw"));
-	}
-
-	private void addLatinTests() {
-		addTest(new TextProcessorSessionTest("org.eclipse.osgi.tests", LatinTextProcessorTestCase.class, "en"));
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
deleted file mode 100644
index cb2584f..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.util;
-
-import org.eclipse.osgi.util.TextProcessor;
-
-/**
- * Tests for strings that use the TextProcessor and are run in a bidi locale.
- * 
- * NOTE: Run these tests as a session test in order to have the correct
- *		 locale set.  Run class AllTests.
- */
-public class BidiTextProcessorTestCase extends TextProcessorTestCase {
-
-	// left to right marker
-	protected static final char LRM = '\u200e';
-	// left to right embedding
-	protected static final char LRE = '\u202a';
-	// pop directional format	
-	protected static final char PDF = '\u202c';
-
-	private static String PATH_1_RESULT = LRE + PATH_1 + PDF;
-	private static String PATH_2_RESULT = LRE + PATH_2 + PDF;
-	private static String PATH_3_RESULT = LRE + PATH_3 + PDF;
-	private static String PATH_4_RESULT = LRE + PATH_4 + PDF;
-	private static String PATH_5_RESULT = LRE + "d" + ":" + "\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\" + "xyz" + "\\" + "abcdef" + "\\" + HEBREW_STRING_4 + LRM + "\\" + HEBREW_STRING_5 + "." + "java" + PDF;
-	private static String PATH_6_RESULT = LRE + "d" + ":" + "\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\" + "xyz" + "\\" + "abcdef" + "\\" + HEBREW_STRING_4 + LRM + "\\" + HEBREW_STRING_5 + LRM + "." + HEBREW_STRING_6 + PDF;
-	private static String PATH_7_RESULT = LRE + "d" + ":" + "\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\" + "xyz" + "\\" + "abcdef" + "\\" + HEBREW_STRING_4 + "\\" + "Test" + "." + "java" + PDF;
-	private static String PATH_8_RESULT = LRE + PATH_8 + PDF;
-	private static String PATH_9_RESULT = LRE + PATH_9 + PDF;
-	private static String PATH_10_RESULT = LRE + PATH_10 + PDF;
-	private static String PATH_11_RESULT = LRE + PATH_11 + PDF;
-	private static String PATH_12_RESULT = PATH_12;
-	private static String PATH_13_RESULT = LRE + PATH_13 + PDF;
-
-	// additional strings
-	private static String STRING_1_RESULT = STRING_1;
-	private static String STRING_2_RESULT = STRING_2;
-	private static String STRING_3_RESULT = LRE + STRING_3 + PDF;
-	private static String STRING_4_RESULT = LRE + STRING_4 + PDF;
-	private static String STRING_5_RESULT = LRE + STRING_5 + PDF;
-	private static String STRING_6_RESULT = LRE + STRING_6 + PDF;
-	private static String STRING_7_RESULT = STRING_7;
-	private static String STRING_8_RESULT = LRE + STRING_8 + PDF;
-	private static String STRING_9_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_5 + LRM + "\\" + HEBREW_STRING_6 + ".java" + PDF;
-	private static String STRING_10_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + LRM + "\\123/" + HEBREW_STRING_3 + ".java" + PDF;
-	private static String STRING_11_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + LRM + "\\123/" + HEBREW_STRING_3 + LRM + "." + HEBREW_STRING_5 + PDF;
-	private static String STRING_12_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + LRM + "\\123" + HEBREW_STRING_3 + LRM + "." + HEBREW_STRING_6 + PDF;
-	private static String STRING_13_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + LRM + "\\123/myfile." + HEBREW_STRING_6 + PDF;
-	private static String STRING_14_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + LRM + "\\123myfile." + HEBREW_STRING_6 + PDF;
-	private static String STRING_15_RESULT = LRE + "d:\\myFolder\\" + HEBREW_STRING_2 + "12-=" + LRM + "\\<>?34" + HEBREW_STRING_6 + ".java" + PDF;
-	private static String STRING_16_RESULT = LRE + HEBREW_STRING_2 + LRM + "/" + HEBREW_STRING_6 + LRM + "/" + HEBREW_STRING_4 + LRM + "." + HEBREW_STRING_5 + PDF;
-	private static String STRING_17_RESULT = LRE + HEBREW_STRING_7 + LRM + "/" + HEBREW_STRING_8 + LRM + "/" + HEBREW_STRING_9 + LRM + "/" + HEBREW_STRING_10 + LRM + "/" + HEBREW_STRING_11 + LRM + "/" + HEBREW_STRING_12 + LRM + "/" + HEBREW_STRING_13 + PDF;
-	private static String STRING_18_RESULT = LRE + "_" + HEBREW_STRING_2 + " mixed text starts and ends with neutral." + PDF;
-	private static String STRING_19_RESULT = LRE + "english and " + HEBREW_STRING_2 + " text starts with LTR ends with neutral _" + PDF;
-
-	private static String OTHER_STRING_NO_DELIM = LRE + "\u05ea\u05e9\u05e8\u05e7\u05e6 abcdef-\u05e5\u05e4\u05e3" + PDF;
-
-	private static String OTHER_STRING_1_RESULT = LRE + "*" + "." + "java" + PDF;
-	private static String OTHER_STRING_2_RESULT = LRE + "*" + "." + "\u05d0\u05d1\u05d2" + PDF;
-	private static String OTHER_STRING_3_RESULT = LRE + "\u05d0\u05d1\u05d2 " + LRM + "=" + " \u05ea\u05e9\u05e8\u05e7\u05e6" + PDF;
-	// result strings if null delimiter is passed 
-	private static String OTHER_STRING_1_ND_RESULT = LRE + "*" + "." + "java" + PDF;
-	private static String OTHER_STRING_2_ND_RESULT = LRE + "*" + "." + "\u05d0\u05d1\u05d2" + PDF;
-	private static String OTHER_STRING_3_ND_RESULT = LRE + "\u05d0\u05d1\u05d2 " + "=" + " \u05ea\u05e9\u05e8\u05e7\u05e6" + PDF;
-
-	private static String[] RESULT_DEFAULT_PATHS = {PATH_1_RESULT, PATH_2_RESULT, PATH_3_RESULT, PATH_4_RESULT, PATH_5_RESULT, PATH_6_RESULT, PATH_7_RESULT, PATH_8_RESULT, PATH_9_RESULT, PATH_10_RESULT, PATH_11_RESULT, PATH_12_RESULT, PATH_13_RESULT};
-
-	private static String[] RESULT_ADDITIONAL_STRINGS = {STRING_1_RESULT, STRING_2_RESULT, STRING_3_RESULT, STRING_4_RESULT, STRING_5_RESULT, STRING_6_RESULT, STRING_7_RESULT, STRING_8_RESULT, STRING_9_RESULT, STRING_10_RESULT, STRING_11_RESULT, STRING_12_RESULT, STRING_13_RESULT, STRING_14_RESULT, STRING_15_RESULT, STRING_16_RESULT, STRING_17_RESULT, STRING_18_RESULT, STRING_19_RESULT};
-
-	private static String[] RESULT_STAR_PATHS = {OTHER_STRING_1_RESULT, OTHER_STRING_2_RESULT};
-
-	private static String[] RESULT_EQUALS_PATHS = {OTHER_STRING_3_RESULT};
-
-	private static String[] RESULT_STAR_PATHS_ND = {OTHER_STRING_1_ND_RESULT, OTHER_STRING_2_ND_RESULT};
-
-	private static String[] RESULT_EQUALS_PATHS_ND = {OTHER_STRING_3_ND_RESULT};
-
-	// whether or not the current platform supports directional characters
-	private static boolean isSupportedPlatform = false;
-	static {
-		String osName = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		if (osName.startsWith("windows") || osName.startsWith("linux") || osName.startsWith("mac")) { //$NON-NLS-1$	//$NON-NLS-2$ //$NON-NLS-3$
-
-			// Only consider platforms that can support control characters
-			isSupportedPlatform = true;
-		}
-	}
-
-	protected static String defaultDelimiters = TextProcessor.getDefaultDelimiters();
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param name test name
-	 */
-	public BidiTextProcessorTestCase(String name) {
-		super(name);
-	}
-
-	/*
-	 * Test TextProcessor for file paths.
-	 */
-	public void testBidiPaths() {
-		for (int i = 0; i < TEST_DEFAULT_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_DEFAULT_PATHS[i]);
-			if (isSupportedPlatform)
-				verifyBidiResult("Process path " + (i + 1), result, RESULT_DEFAULT_PATHS[i]);
-			else
-				verifyResult("Process path " + (i + 1), result, TEST_DEFAULT_PATHS[i]);
-		}
-	}
-
-	public void testBidiPathsDeprocess() {
-		for (int i = 0; i < TEST_DEFAULT_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_DEFAULT_PATHS[i]);
-			String resultDP = TextProcessor.deprocess(result);
-			verifyBidiResult("Deprocess path " + (i + 1), resultDP, TEST_DEFAULT_PATHS[i]);
-		}
-	}
-
-	public void testBidiPathsWithNullDelimiter() {
-		// should use default delimiters
-		for (int i = 0; i < TEST_DEFAULT_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_DEFAULT_PATHS[i], null);
-			if (isSupportedPlatform)
-				verifyBidiResult("Process path " + (i + 1), result, RESULT_DEFAULT_PATHS[i]);
-			else
-				verifyResult("Process path " + (i + 1), result, TEST_DEFAULT_PATHS[i]);
-		}
-	}
-
-	public void testBidiStringWithNoDelimiters() {
-		String result = TextProcessor.process(OTHER_STRING_NO_DELIM);
-		assertEquals("Other string containing no delimiters not equivalent.", OTHER_STRING_NO_DELIM, result);
-	}
-
-	/*
-	 * Test other possible uses for TextProcessor, including file associations and 
-	 * variable assignment statements.
-	 */
-	public void testOtherStrings() {
-		int testNum = 1;
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], "*.");
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (star) string" + testNum, result, RESULT_STAR_PATHS[i]);
-			else
-				verifyResult("Other (star) string" + testNum, result, TEST_STAR_PATHS[i]);
-			testNum++;
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], "=");
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (equals) string" + testNum, result, RESULT_EQUALS_PATHS[i]);
-			else
-				verifyResult("Other (equals) string" + testNum, result, TEST_EQUALS_PATHS[i]);
-			testNum++;
-		}
-	}
-
-	public void testOtherStringsDeprocess() {
-		int testNum = 1;
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], "*.");
-			String resultDP = TextProcessor.deprocess(result);
-			verifyBidiResult("Deprocess other (star) string" + testNum, resultDP, TEST_STAR_PATHS[i]);
-			testNum++;
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], "=");
-			String resultDP = TextProcessor.deprocess(result);
-			verifyBidiResult("Deprocess other (equals) string" + testNum, resultDP, TEST_EQUALS_PATHS[i]);
-			testNum++;
-		}
-	}
-
-	public void testOtherStringsWithNullDelimiter() {
-		int testNum = 1;
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], null);
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (star) string" + testNum, result, RESULT_STAR_PATHS_ND[i]);
-			else
-				verifyResult("Other (star) string" + testNum, result, TEST_STAR_PATHS[i]);
-			testNum++;
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], null);
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (equals) string" + testNum, result, RESULT_EQUALS_PATHS_ND[i]);
-			else {
-				verifyResult("Other (equals) string" + testNum, result, TEST_EQUALS_PATHS[i]);
-			}
-			testNum++;
-		}
-	}
-
-	/*
-	 * Test the result to ensure markers aren't added more than once if the 
-	 * string is processed multiple times.
-	 */
-	public void testDoubleProcessPaths() {
-		for (int i = 0; i < TEST_DEFAULT_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_DEFAULT_PATHS[i]);
-			result = TextProcessor.process(result);
-			if (isSupportedPlatform)
-				verifyBidiResult("Path " + (i + 1), result, RESULT_DEFAULT_PATHS[i]);
-			else
-				verifyResult("Path " + (i + 1), result, TEST_DEFAULT_PATHS[i]);
-		}
-	}
-
-	/*
-	 * Test the result to ensure markers aren't added more than once if the 
-	 * string is processed multiple times.
-	 */
-	public void testDoubleProcessOtherStrings() {
-		int testNum = 1;
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], "*.");
-			result = TextProcessor.process(result, "*.");
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (star) string " + testNum, result, RESULT_STAR_PATHS[i]);
-			else
-				verifyResult("Other (star) string " + testNum, result, TEST_STAR_PATHS[i]);
-			testNum++;
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], "=");
-			result = TextProcessor.process(result, "=");
-			if (isSupportedPlatform)
-				verifyBidiResult("Other (equals) string" + testNum, result, RESULT_EQUALS_PATHS[i]);
-			else
-				verifyResult("Other (equals) string" + testNum, result, TEST_EQUALS_PATHS[i]);
-			testNum++;
-		}
-	}
-
-	public void testAdditionalStrings() {
-		for (int i = 0; i < TEST_ADDITIONAL_STRINGS.length; i++) {
-			String result = TextProcessor.process(TEST_ADDITIONAL_STRINGS[i]);
-			if (isSupportedPlatform)
-				verifyBidiResult("Additional string " + (i + 1), result, RESULT_ADDITIONAL_STRINGS[i]);
-			else
-				verifyResult("Additional string " + (i + 1), result, TEST_ADDITIONAL_STRINGS[i]);
-		}
-	}
-
-	public void testAdditionalStringsDeprocess() {
-		for (int i = 0; i < TEST_ADDITIONAL_STRINGS.length; i++) {
-			String result = TextProcessor.process(TEST_ADDITIONAL_STRINGS[i]);
-			String resultDP = TextProcessor.deprocess(result);
-			verifyBidiResult("Additional string " + (i + 1), resultDP, TEST_ADDITIONAL_STRINGS[i]);
-		}
-	}
-
-	public void testEmptyStringParams() {
-		verifyBidiResult("TextProcessor.process(String) for empty string ", TextProcessor.process(""), EMPTY_STRING);
-		verifyBidiResult("TextProcessor.process(String, String) for empty strings ", TextProcessor.process("", ""), EMPTY_STRING);
-	}
-
-	public void testEmptyStringParamsDeprocess() {
-		verifyBidiResult("TextProcessor.deprocess(String) for empty string ", TextProcessor.deprocess(""), EMPTY_STRING);
-	}
-
-	public void testNullParams() {
-		assertNull("TextProcessor.process(String) for null param ", TextProcessor.process(null));
-		assertNull("TextProcessor.process(String, String) for params ", TextProcessor.process(null, null));
-	}
-
-	public void testNullParamsDeprocess() {
-		assertNull("TextProcessor.deprocess(String) for null param ", TextProcessor.deprocess(null));
-	}
-
-	private void verifyBidiResult(String testName, String result, String expected) {
-		boolean testResult = result.equals(expected);
-		assertTrue(testName + " result string is not the same as expected string.", testResult);
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
deleted file mode 100644
index e115e92..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.osgi.tests.util;
-
-import org.eclipse.osgi.util.TextProcessor;
-
-/**
- * Test for strings that use the TextProcessor but are not run in a bidi locale. 
- * Latin locales should return the same String that was passed in.
- *
- */
-public class LatinTextProcessorTestCase extends TextProcessorTestCase {
-	protected static String[] ALL_PATHS;
-	static {
-		// merge all test strings into one array for Latin locales
-		int size = TEST_DEFAULT_PATHS.length + TEST_STAR_PATHS.length + TEST_EQUALS_PATHS.length + TEST_ADDITIONAL_STRINGS.length;
-		ALL_PATHS = new String[size];
-		int idx = 0;
-		for (int i = 0; i < TEST_DEFAULT_PATHS.length; i++) {
-			ALL_PATHS[idx] = TEST_DEFAULT_PATHS[i];
-			idx++;
-		}
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			ALL_PATHS[idx] = TEST_STAR_PATHS[i];
-			idx++;
-		}
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			ALL_PATHS[idx] = TEST_EQUALS_PATHS[i];
-			idx++;
-		}
-		for (int i = 0; i < TEST_ADDITIONAL_STRINGS.length; i++) {
-			ALL_PATHS[idx] = TEST_ADDITIONAL_STRINGS[i];
-			idx++;
-		}
-	}
-
-	/**
-	 * Constructor for class.
-	 * 
-	 * @param name test name
-	 */
-	public LatinTextProcessorTestCase(String name) {
-		super(name);
-	}
-
-	public void testLatinPaths() {
-		// test all strings using process(String) method
-		for (int i = 0; i < ALL_PATHS.length; i++) {
-			String result = TextProcessor.process(ALL_PATHS[i]);
-			verifyResult("Process string " + (i + 1), result, ALL_PATHS[i]);
-		}
-	}
-	
-	public void testLatinPathsDeprocess(){
-		// test all strings using process(String) method
-		for (int i = 0; i < ALL_PATHS.length; i++) {
-			String result = TextProcessor.process(ALL_PATHS[i]);
-			String resultDP = TextProcessor.deprocess(result);
-			verifyResult("Deprocess string " + (i + 1), resultDP, ALL_PATHS[i]);
-		}		
-	}
-
-	public void testLatinPathsWithNullDelimiter() {
-		// should use default delimiters
-		for (int i = 0; i < ALL_PATHS.length; i++) {
-			String result = TextProcessor.process(ALL_PATHS[i], null);
-			verifyResult("Process string " + (i + 1), result, ALL_PATHS[i]);
-		}
-	}
-	
-	public void testLatinOtherStrings() {
-		// test the process(String, String) method
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], "*.");
-			verifyResult("File association " + (i + 1), result, TEST_STAR_PATHS[i]);
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], "=");
-			verifyResult("Equals expression " + (i + 1), result, TEST_EQUALS_PATHS[i]);
-		}
-	}
-	
-	public void testLatinOtherStringsDeprocess() {
-		// test the process(String, String) method
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], "*.");
-			String resultDP = TextProcessor.deprocess(result);
-			verifyResult("File association " + (i + 1), resultDP, TEST_STAR_PATHS[i]);
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], "=");
-			String resultDP = TextProcessor.deprocess(result);
-			verifyResult("Equals expression " + (i + 1), resultDP, TEST_EQUALS_PATHS[i]);
-		}
-	}	
-
-	public void testLatinOtherStringsWithNoDelimiter() {
-		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_STAR_PATHS[i], null);
-			verifyResult("File association " + (i + 1), result, TEST_STAR_PATHS[i]);
-		}
-
-		for (int i = 0; i < TEST_EQUALS_PATHS.length; i++) {
-			String result = TextProcessor.process(TEST_EQUALS_PATHS[i], null);
-			verifyResult("Equals expression " + (i + 1), result, TEST_EQUALS_PATHS[i]);
-		}
-	}
-
-	public void testEmptyStringParams() {
-		verifyResult("TextProcessor.process(String) for empty string ", TextProcessor.process(""), EMPTY_STRING);
-		verifyResult("TextProcessor.process(String, String) for empty strings ", TextProcessor.process("", ""), EMPTY_STRING);
-	}
-	
-	public void testEmptyStringParamsDeprocess() {
-		verifyResult("TextProcessor.deprocess(String) for empty string ", TextProcessor.deprocess(""), EMPTY_STRING);
-	}
-	
-	public void testNullParams() {
-		assertNull("TextProcessor.process(String) for null param ", TextProcessor.process(null));
-		assertNull("TextProcessor.process(String, String) for params ", TextProcessor.process(null, null));
-	}
-	
-	public void testNullParamsDeprocess() {
-		assertNull("TextProcessor.deprocess(String) for null param ", TextProcessor.deprocess(null));
-	}	
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ManifestElementTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ManifestElementTestCase.java
deleted file mode 100644
index 32fe71c..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ManifestElementTestCase.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.util;
-
-import junit.framework.TestCase;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-public class ManifestElementTestCase extends TestCase {
-
-	public void testSpacesInValues() throws BundleException {
-		ManifestElement[] elements = ManifestElement.parseHeader("test-spaces", "\"comp 1\";\"comp 2\";\"comp 3\";attr=\"val 1\";dir:=\"val 2\"");
-		assertNotNull("1.0", elements);
-		assertEquals("1.1", elements.length, 1);
-		String[] components = elements[0].getValueComponents();
-		assertEquals("1.2", components.length, 3);
-
-		assertEquals("2.0", components[0], "comp 1");
-		assertEquals("2.1", components[1], "comp 2");
-		assertEquals("2.2", components[2], "comp 3");
-
-		assertEquals("3.0", elements[0].getAttribute("attr"), "val 1");
-		assertEquals("3.1", elements[0].getDirective("dir"), "val 2");
-	}
-
-	public void testBug238675_01() throws BundleException {
-		ManifestElement[] elements = ManifestElement.parseHeader("Bundle-NativeCode", "\"external:C:/tmp/x.dll\";\"external:C:/tmp/y.dll\"; osname =WindowsXP; osverison = 2.0; processor = x86"); //$NON-NLS-1$//$NON-NLS-2$
-		assertNotNull("1.0", elements);
-		assertEquals("1.1", 1, elements.length);
-		String[] components = elements[0].getValueComponents();
-		assertEquals("1.2", 2, components.length);
-
-		assertEquals("2.0", "external:C:/tmp/x.dll", components[0]);
-		assertEquals("2.1", "external:C:/tmp/y.dll", components[1]);
-	}
-
-	public void testBug238675_02() throws BundleException {
-		ManifestElement[] elements = ManifestElement.parseHeader("Bundle-NativeCode", "\"external:test1:test2\";\"test3:test4:\"; osname =WindowsXP; osverison = 2.0; processor = x86"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull("1.0", elements);
-		assertEquals("1.1", 1, elements.length);
-		String[] components = elements[0].getValueComponents();
-		assertEquals("1.2", 2, components.length);
-
-		assertEquals("2.0", components[0], "external:test1:test2");
-		assertEquals("2.1", components[1], "test3:test4:");
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/NLSTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/NLSTestCase.java
deleted file mode 100644
index 8b4fbc0..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/NLSTestCase.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.util;
-
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.util.NLS;
-
-public class NLSTestCase extends CoreTest {
-
-	public void testEmptyMessageBug200296() {
-		try {
-			NLS.bind("", new Integer(0));
-		} catch (NegativeArraySizeException e) {
-			fail("1.0", e);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ObjectPoolTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ObjectPoolTestCase.java
deleted file mode 100644
index ffeaebd..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/ObjectPoolTestCase.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.osgi.tests.util;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.tests.harness.CoreTest;
-import org.eclipse.osgi.framework.util.ObjectPool;
-import org.osgi.framework.Version;
-
-public class ObjectPoolTestCase extends CoreTest {
-	public void testObjectPool01() {
-		// Tests ObjectPool with strings only
-		List objects = new ArrayList();
-		int num = 2000;
-		// new objects are added to the object pool; interning should add the object to the pool and return the same object
-		for (int i = 0; i < num; i++) {
-			String test1 = getName() + "_" + i; //$NON-NLS-1$
-			String test2 = (String) ObjectPool.intern(test1);
-			assertTrue("Strings are not the same: " + test1, test1 == test2); //$NON-NLS-1$
-			objects.add(test2);
-		}
-		doGC();
-		// after doing a GC the interned objects should still be in the pool; interning a duplicate should return the objects that were added above
-		for (int i = 0; i < num; i++) {
-			String test1 = getName() + "_" + i; //$NON-NLS-1$
-			String test2 = (String) ObjectPool.intern(test1);
-			assertFalse("Strings are the same: " + test1, test1 == test2); //$NON-NLS-1$
-			assertTrue("Strings are not the same: " + test1, test2 == objects.get(i)); //$NON-NLS-1$
-		}
-		// clear the hard references to the interned objects
-		objects.clear();
-		doGC();
-		// after doing a GC the interned objects should have been removed from the object pool
-		for (int i = 0; i < num; i++) {
-			String test1 = getName() + "_" + i; //$NON-NLS-1$
-			String test2 = (String) ObjectPool.intern(test1);
-			assertTrue("Strings are not the same: " + test1, test1 == test2); //$NON-NLS-1$
-			objects.add(test2);
-		}
-		// flush out the objects again.
-		objects.clear();
-		doGC();
-	}
-
-	public void testObjectPool02() {
-		// Test both strings and versions
-		List strings = new ArrayList();
-		List versions = new ArrayList();
-		int num = 2000;
-		// new objects are added to the object pool; interning should add the object to the pool and return the same object
-		for (int i = 0; i < num; i++) {
-			String testString1 = getName() + "_" + i; //$NON-NLS-1$
-			String testString2 = (String) ObjectPool.intern(testString1);
-			assertTrue("Strings are not the same: " + testString1, testString1 == testString2); //$NON-NLS-1$
-			strings.add(testString2);
-			Version testVersion1 = new Version(i, i, i, getName() + "_" + i); //$NON-NLS-1$
-			Version testVersion2 = (Version) ObjectPool.intern(testVersion1);
-			assertTrue("Versions are not the same: " + testVersion1, testVersion1 == testVersion2); //$NON-NLS-1$
-			versions.add(testVersion2);
-		}
-		doGC();
-		// after doing a GC the interned objects should still be in the pool; interning a duplicate should return the objects that were added above
-		for (int i = 0; i < num; i++) {
-			String testString1 = getName() + "_" + i; //$NON-NLS-1$
-			String testString2 = (String) ObjectPool.intern(testString1);
-			assertFalse("Strings are the same: " + testString1, testString1 == testString2); //$NON-NLS-1$
-			assertTrue("Strings are not the same: " + testString1, testString2 == strings.get(i)); //$NON-NLS-1$
-			Version testVersion1 = new Version(i, i, i, getName() + "_" + i); //$NON-NLS-1$
-			Version testVersion2 = (Version) ObjectPool.intern(testVersion1);
-			assertFalse("Versions are the same: " + testVersion1, testVersion1 == testVersion2); //$NON-NLS-1$
-			assertTrue("Versions are not the same: " + testVersion1, testVersion2 == versions.get(i)); //$NON-NLS-1$
-		}
-		// clear the hard references to the interned objects
-		strings.clear();
-		versions.clear();
-		// after doing a GC the interned objects should have been removed from the object pool
-		doGC();
-		for (int i = 0; i < num; i++) {
-			String testString1 = getName() + "_" + i; //$NON-NLS-1$
-			String testString2 = (String) ObjectPool.intern(testString1);
-			assertTrue("Strings are not the same: " + testString1, testString1 == testString2); //$NON-NLS-1$
-			strings.add(testString2);
-			Version testVersion1 = new Version(i, i, i, getName() + "_" + i); //$NON-NLS-1$
-			Version testVersion2 = (Version) ObjectPool.intern(testVersion1);
-			assertTrue("Versions are not the same: " + testVersion1, testVersion1 == testVersion2); //$NON-NLS-1$
-			versions.add(testVersion2);
-		}
-		// flush out the objects again.
-		strings.clear();
-		versions.clear();
-		doGC();
-	}
-
-	private static void doGC() {
-		// We go through great effort to force the VM to throw our weakly referenced objects away.
-		System.gc();
-		System.runFinalization();
-		System.gc();
-		System.runFinalization();
-	}
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
deleted file mode 100644
index 6513426..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.osgi.tests.util;
-
-import org.eclipse.core.tests.session.SessionTestSuite;
-import org.eclipse.core.tests.session.Setup;
-import org.eclipse.core.tests.session.SetupManager.SetupException;
-
-public class TextProcessorSessionTest extends SessionTestSuite {
-	private String lang = null;
-	
-	/**
-	 * Create a session test for the given class.  
-	 * @param pluginId tests plugin id
-	 * @param clazz the test class to run
-	 * @param language the language to run the tests under (the -nl parameter value)
-	 */
-	public TextProcessorSessionTest(String pluginId, Class clazz, String language) {
-		super(pluginId, clazz);
-		lang = language;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.tests.session.SessionTestSuite#newSetup()
-	 */
-	protected Setup newSetup() throws SetupException {
-		Setup base = super.newSetup();
-		// the base implementation will have set this to the host configuration
-		base.setEclipseArgument("nl", lang);	// Setup.NL is private
-		return base;
-	}
-
-}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
deleted file mode 100644
index 0bc535e..0000000
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.osgi.tests.util;
-
-import junit.framework.TestCase;
-
-/**
- * Common class for TextProcessor test cases.
- *
- */
-public abstract class TextProcessorTestCase extends TestCase {
-	// some Hebrew strings to use for test cases
-	protected static String HEBREW_STRING_1 = "\u05d0\u05d1\u05d2\u05d3 \u05d4\u05d5";
-	protected static String HEBREW_STRING_2 = "\u05ea\u05e9\u05e8\u05e7\u05e6";
-	protected static String HEBREW_STRING_3 = "\u05e5\u05e4\u05e3";
-	protected static String HEBREW_STRING_4 = "\u05e2\u05e1\u05e0";
-	protected static String HEBREW_STRING_5 = "\u05df\u05fd\u05dd";
-	protected static String HEBREW_STRING_6 = "\u05dc\u05db\u05da";	
-	protected static String HEBREW_STRING_7 = "\u05d0";
-	protected static String HEBREW_STRING_8 = "\u05e9";
-	protected static String HEBREW_STRING_9 = "\u05dc";
-	protected static String HEBREW_STRING_10 = "\u05e3";
-	protected static String HEBREW_STRING_11 = "\u05d4";
-	protected static String HEBREW_STRING_12 = "\u05da";
-	protected static String HEBREW_STRING_13 = "\u05df";
-		
-	// strings to test
-	
-	// paths
-	protected static String PATH_1 = "d:\\test\\" + HEBREW_STRING_1 + "\\segment";
-	protected static String PATH_2 = "\\test\\" + HEBREW_STRING_1 + "\\segment";
-	protected static String PATH_3 = "d:\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\xyz\\abcdef\\" + HEBREW_STRING_4;
-	protected static String PATH_4 = "\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\xyz\\abcdef\\" + HEBREW_STRING_4;
-	protected static String PATH_5 = "d:\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\xyz\\abcdef\\" + HEBREW_STRING_4 + "\\" + HEBREW_STRING_5 + ".java";
-	protected static String PATH_6 = "d:\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\xyz\\abcdef\\" + HEBREW_STRING_4 + "\\" + HEBREW_STRING_5 + "." + HEBREW_STRING_6;
-	protected static String PATH_7 = "d:\\" + HEBREW_STRING_2 + " abcdef-" + HEBREW_STRING_3 + "\\xyz\\abcdef\\" + HEBREW_STRING_4 + "\\Test.java";
-	protected static String PATH_8 = "\\test\\jkl" + HEBREW_STRING_1 + "\\segment";
-	protected static String PATH_9 = "\\test\\" + HEBREW_STRING_1 + "jkl\\segment";
-	protected static String PATH_10 = "d:\\t\\" + HEBREW_STRING_7 + "\\segment";
-	protected static String PATH_11 = "\\t\\" + HEBREW_STRING_7 + "\\segment";
-	protected static String PATH_12 = "d:\\";
-	protected static String PATH_13 = "\\t";
-	
-	protected static String STRING_1 = "d:\\all\\english";
-	protected static String STRING_2 = "all english with neutrals (spaces) in the middle";
-	protected static String STRING_3 = "_d:all/english with leading neutral";
-	protected static String STRING_4 = "d:all/english with trailing neutral_";
-	protected static String STRING_5 = "3d:all/english with leading digit";
-	protected static String STRING_6 = "english with some " + HEBREW_STRING_5 + " in the middle";
-	protected static String STRING_7 = "d:all/english with trailing neutral then digits_123";
-	protected static String STRING_8 = "==>";
-	protected static String STRING_9 = "d:\\myFolder\\" + HEBREW_STRING_5 + "\\" + HEBREW_STRING_6 + ".java";
-	protected static String STRING_10 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123/" + HEBREW_STRING_3 + ".java";
-	protected static String STRING_11 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123/" + HEBREW_STRING_3 + "." + HEBREW_STRING_5;
-	protected static String STRING_12 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123" + HEBREW_STRING_3 + "." + HEBREW_STRING_6;
-	protected static String STRING_13 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123/myfile." + HEBREW_STRING_6;
-	protected static String STRING_14 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123myfile." + HEBREW_STRING_6;
-	protected static String STRING_15= "d:\\myFolder\\" + HEBREW_STRING_2 + "12-=\\<>?34" + HEBREW_STRING_6 + ".java";
-	protected static String STRING_16 = HEBREW_STRING_2 + "/" + HEBREW_STRING_6 + "/" + HEBREW_STRING_4 + "." + HEBREW_STRING_5; 
-	protected static String STRING_17 = HEBREW_STRING_7 + "/" + HEBREW_STRING_8 + "/" + HEBREW_STRING_9 + "/" + HEBREW_STRING_10 + "/" +HEBREW_STRING_11 + "/" + HEBREW_STRING_12 + "/" + HEBREW_STRING_13;
-	protected static String STRING_18 = "_" + HEBREW_STRING_2 + " mixed text starts and ends with neutral.";
-	protected static String STRING_19 = "english and " + HEBREW_STRING_2 + " text starts with LTR ends with neutral _";
-
-	// other strings - file associations and assignment statements
-	protected static String OTHER_STRING_1 = "*.java";
-	protected static String OTHER_STRING_2 = "*.\u05d0\u05d1\u05d2";
-	protected static String OTHER_STRING_3 = "\u05d0\u05d1\u05d2 = \u05ea\u05e9\u05e8\u05e7\u05e6";
-
-	protected static String EMPTY_STRING = "";
-
-	protected static String[] TEST_DEFAULT_PATHS = { PATH_1, PATH_2, PATH_3,
-			PATH_4, PATH_5, PATH_6, PATH_7, PATH_8, PATH_9 };
-
-	protected static String[] TEST_ADDITIONAL_STRINGS = { STRING_1, STRING_2,
-			STRING_3, STRING_4, STRING_5, STRING_6, STRING_7, STRING_8,
-			STRING_9, STRING_10, STRING_11, STRING_12, STRING_13, STRING_14,
-			STRING_15, STRING_16, STRING_17, STRING_18, STRING_19 };
-
-	protected static String[] TEST_STAR_PATHS = { OTHER_STRING_1,
-			OTHER_STRING_2 };
-
-	protected static String[] TEST_EQUALS_PATHS = { OTHER_STRING_3 };
-
-	/**
-	 * Constructor for class
-	 * 
-	 * @param name
-	 */
-	public TextProcessorTestCase(String name) {
-		super(name);
-	}
-
-	protected void verifyResult(String testName, String expected, String result){
-		assertTrue(testName + " result string is not the same as string passed in.", result.equals(expected));		
-	}
-	
-}
diff --git a/bundles/org.eclipse.osgi.tests/test.xml b/bundles/org.eclipse.osgi.tests/test.xml
deleted file mode 100644
index 16a5594..0000000
--- a/bundles/org.eclipse.osgi.tests/test.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<project name="Core Resources Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="osgi_location" value="${eclipse-home}/osgi_sniff_folder"/>  
-  <property name="plugin-name" value="org.eclipse.osgi.tests"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are created. -->
-  <target name="cleanup">
-    <delete dir="${runtime_location}" quiet="true"/>
-    <delete dir="${resources_location}" quiet="true"/>
-    <delete dir="${osgi_location}" quiet="true"/>    
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-  
-  <!-- This target runs the performance test suites. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="performance" depends="init,performance-suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>  
-  </target>  
-
-  <target name="OSGiTests" depends="init,cleanup">
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${osgi_location}"/>
-      <property name="plugin-name" value="org.eclipse.osgi.tests"/>
-      <property name="classname" value="org.eclipse.osgi.tests.AutomatedTests"/>
-    </ant>
-  </target>
-   
-  <target name="OSGiPerformanceTests" depends="init,cleanup">
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${osgi_location}"/>
-      <property name="plugin-name" value="org.eclipse.osgi.tests"/>
-      <property name="classname" value="org.eclipse.osgi.tests.perf.AllTests"/>
-    </ant>
-  </target>  
-    
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite" depends="OSGiTests"/>  
-  
-  <!-- This target defines the performance tests that need to be run. -->
-  <target name="performance-suite" depends="OSGiPerformanceTests"/>  
-	
- </project>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle01/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle01/META-INF/MANIFEST.MF
deleted file mode 100644
index e480ba0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle01/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Bundle-SymbolicName: bundle01
-Bundle-Version: 1.0
-Bundle-ClassPath: .
diff --git a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle02/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle02/plugin.xml
deleted file mode 100644
index 8facff5..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle02/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle02"
-  id="bundle02"
-  provider-name="Eclipse.org"
-  version="1.0"/>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle03/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle03/META-INF/MANIFEST.MF
deleted file mode 100644
index 31ffa56..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/configuration/bundle03/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Bundle-SymbolicName: bundle03
-Bundle-Version: 1.0
-Bundle-ClassPath: .
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/META-INF/MANIFEST.MF
deleted file mode 100644
index bb0ba28..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test1 bundle
-Bundle-SymbolicName: appadmin.test01;singleton:=true
-Bundle-Version: 1.0.0
-Import-Package: org.eclipse.osgi.tests.appadmin
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/plugin.xml
deleted file mode 100644
index 1836adf..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/appAdminTests/appadmin.test01/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         id="simpleApp"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.osgi.tests.appadmin.SimpleApp">
-         </run>
-      </application>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle 01/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle 01/plugin.xml
deleted file mode 100644
index c7dda4b..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle 01/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle01"
-  id="bundle01"
-  provider-name="Eclipse.org"
-  version="1.0"/>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle02_1.0.0/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle02_1.0.0/plugin.xml
deleted file mode 100644
index f81c059..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle02_1.0.0/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle02"
-  id="bundle02"
-  provider-name="Eclipse.org"
-  version="2.0"/>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle03/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle03/plugin.xml
deleted file mode 100644
index 06ac671..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle03/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- version attribute is intentionally missing -->
-<plugin
-  name="bundle03"
-  id="bundle03"
-  provider-name="Eclipse.org"    
-  />
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle04/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle04/plugin.xml
deleted file mode 100644
index f3ea6f2..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle04/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- single extension point -->
-<plugin
-  name="bundle04"
-  id="bundle04"
-  version="1.3.7"
-  provider-name="Eclipse.org">
-  <extension-point id="id" name="name"/>
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle05/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle05/plugin.xml
deleted file mode 100644
index b66bad7..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle05/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- single extension -->
-<plugin
-  name="bundle05"
-  id="bundle05"
-  version="1.3.8"
-  provider-name="Eclipse.org">
-  <extension point="id"/>
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle06/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle06/plugin.xml
deleted file mode 100644
index 85db4ff..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle06/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- single extension -->
-<plugin
-  name="bundle06"
-  id="bundle06"
-  version="1.3.9"
-  provider-name="Eclipse.org">
-  <extension-point id="id" name="name"/>
-  <extension point="bundle06.id"/>  
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07/plugin.xml
deleted file mode 100644
index 4843296..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle07"
-  id="bundle07"
-  version="1.0.0"
-  provider-name="Eclipse.org">
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07b/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07b/plugin.xml
deleted file mode 100644
index f05780e..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle07b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle07"
-  id="bundle07"
-  version="1.0.0.b"
-  provider-name="Eclipse.org">
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08/plugin.xml
deleted file mode 100644
index 1e3e9a1..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle08"
-  id="bundle08"
-  version="1.0.0"
-  provider-name="Eclipse.org">
-  <extension-point id="id" name="name"/>
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08b/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08b/plugin.xml
deleted file mode 100644
index ff536d0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle08b/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle08"
-  id="bundle08"
-  version="1.0.0.b"
-  provider-name="Eclipse.org">
-  <extension-point id="id" name="name"/>  
-</plugin>
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle09/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle09/plugin.xml
deleted file mode 100644
index acba287..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle09/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle09"
-  id="bundle09"
-  provider-name="Eclipse.org"    
-  version="1.0.0"
-  />
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle10/plugin.xml b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle10/plugin.xml
deleted file mode 100644
index 3a06969..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle10/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="bundle10"
-  id="bundle10"
-  provider-name="Eclipse.org"    
-  version="1.0.0"
-  />
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle11/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle11/META-INF/MANIFEST.MF
deleted file mode 100644
index f4ce85a..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle11/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name:  bundle11
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle12/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle12/META-INF/MANIFEST.MF
deleted file mode 100644
index b96f5cd..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle12/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle12
-Bundle-SymbolicName: bundle12
-Export-package: a; test:=value2; test:=value1 
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle13/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle13/META-INF/MANIFEST.MF
deleted file mode 100644
index f9dcb87..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle13/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle13
-Bundle-SymbolicName: bundle13
-Export-package: a; test=value2; test=value1 
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle14/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle14/META-INF/MANIFEST.MF
deleted file mode 100644
index 0ee19b1..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle14/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle14
-Bundle-SymbolicName: bundle14
-Import-package: a; attr=value1, a; attr=value2
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle15/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle15/META-INF/MANIFEST.MF
deleted file mode 100644
index abf1275..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle15/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle15
-Bundle-SymbolicName: bundle15
-Import-package: willnotresolve
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle16/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle16/META-INF/MANIFEST.MF
deleted file mode 100644
index e90f72d..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle16/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle16
-Bundle-SymbolicName: bundle16
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle17/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle17/META-INF/MANIFEST.MF
deleted file mode 100644
index fe607de..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle17/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle17
-Bundle-SymbolicName: bundle17
-Fragment-Host: bundle16
diff --git a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle18/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle18/META-INF/MANIFEST.MF
deleted file mode 100644
index d1a44a0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/internal/plugins/installTests/bundle18/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: bundle18
-Bundle-SymbolicName: bundle18
-Fragment-Host: system.bundle; extension:=bootclasspath
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/README b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/README
deleted file mode 100644
index 7770c3e..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/README
+++ /dev/null
@@ -1 +0,0 @@
-Test jarfiles, signed by CA1_LEAFA (and sometimes CA1_LEAFB) as well.
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed.jar
deleted file mode 100644
index 82fc348..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed_with_corrupt.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed_with_corrupt.jar
deleted file mode 100644
index 84c087c..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/multiply_signed_with_corrupt.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed.jar
deleted file mode 100644
index e1cad7b..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_tsa.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_tsa.jar
deleted file mode 100644
index 9575425..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_tsa.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_corrupt.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_corrupt.jar
deleted file mode 100644
index e61fab4..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_corrupt.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata.jar
deleted file mode 100644
index 9d693ca..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_added.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_added.jar
deleted file mode 100644
index e97d7c0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_added.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_corrupt.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_corrupt.jar
deleted file mode 100644
index fc717d2..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_corrupt.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_removed.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_removed.jar
deleted file mode 100644
index 3f6493b..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_metadata_removed.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_sf_corrupted.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_sf_corrupted.jar
deleted file mode 100644
index 99b9550..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/signed_with_sf_corrupted.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/test.bug252098.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/test.bug252098.jar
deleted file mode 100644
index 3f40316..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/test.bug252098.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/unsigned.jar b/bundles/org.eclipse.osgi.tests/test_files/security/bundles/unsigned.jar
deleted file mode 100644
index 9b62db0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/bundles/unsigned.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/eclipse.jks b/bundles/org.eclipse.osgi.tests/test_files/security/eclipse.jks
deleted file mode 100644
index 8d8784f..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/eclipse.jks
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/keystore.jks b/bundles/org.eclipse.osgi.tests/test_files/security/keystore.jks
deleted file mode 100644
index f902fe2..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/keystore.jks
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/leafkeys.jks b/bundles/org.eclipse.osgi.tests/test_files/security/leafkeys.jks
deleted file mode 100644
index f84d2c7..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/leafkeys.jks
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/README b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/README
deleted file mode 100644
index 0698813..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/README
+++ /dev/null
@@ -1 +0,0 @@
-Certificate files for each test cert. Password is "password" (no quotes) for all files. 
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafa.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafa.p12
deleted file mode 100644
index 4b3a3e0..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafa.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafb.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafb.p12
deleted file mode 100644
index fd57d86..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_leafb.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_ou.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_ou.p12
deleted file mode 100644
index bf7744e..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_ou.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_root.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_root.p12
deleted file mode 100644
index 0a7cd38..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca1_root.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafa.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafa.p12
deleted file mode 100644
index 8e7e21b..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafa.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafb.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafb.p12
deleted file mode 100644
index 10c9c32..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_leafb.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_ou.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_ou.p12
deleted file mode 100644
index b64a2c4..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_ou.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_root.p12 b/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_root.p12
deleted file mode 100644
index 28796cb..0000000
--- a/bundles/org.eclipse.osgi.tests/test_files/security/pkcs12/ca2_root.p12
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/.classpath b/bundles/org.eclipse.osgi.util/.classpath
deleted file mode 100644
index ad7732c..0000000
--- a/bundles/org.eclipse.osgi.util/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry path="" kind="lib" sourcepath="src.zip"/>
-	<classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OSGi%Minimum-1.2" kind="con"/>
-	<classpathentry path="org.eclipse.pde.core.requiredPlugins" kind="con"/>
-	<classpathentry path="bin" kind="output"/>
-</classpath>
diff --git a/bundles/org.eclipse.osgi.util/.cvsignore b/bundles/org.eclipse.osgi.util/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.osgi.util/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.osgi.util/.project b/bundles/org.eclipse.osgi.util/.project
deleted file mode 100644
index 778609c..0000000
--- a/bundles/org.eclipse.osgi.util/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.osgi.util</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.osgi.util/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.osgi.util/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 72b5ec5..0000000
--- a/bundles/org.eclipse.osgi.util/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue May 25 15:00:37 EDT 2004
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.osgi.util/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.osgi.util/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f786cfa..0000000
--- a/bundles/org.eclipse.osgi.util/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,76 +0,0 @@
-#Tue Jun 06 11:23:10 CDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.osgi.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.util/META-INF/MANIFEST.MF
deleted file mode 100644
index e8a692a..0000000
--- a/bundles/org.eclipse.osgi.util/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %osgiUtil
-Bundle-SymbolicName: org.eclipse.osgi.util
-Bundle-Version: 3.2.100.qualifier
-Bundle-Description: %osgiUtilDes
-Bundle-Vendor: %eclipse.org
-Bundle-Localization: plugin
-Bundle-DocUrl: http://www.eclipse.org
-Bundle-ContactAddress: www.eclipse.org
-Bundle-Copyright: %copyright
-Export-Package: org.osgi.util.measurement; version="1.0.1",
- org.osgi.util.position; version="1.0.1",
- org.osgi.util.xml; version="1.0.1"
-Import-Package: org.osgi.framework; version=1.1,
- javax.xml.parsers; resolution:=optional,
- org.osgi.util.measurement; version="[1.0.1, 1.2)",
- org.osgi.util.position; version="[1.0.1, 1.2)",
- org.osgi.util.xml; version="[1.0.1, 1.2)"
-Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.2,
- CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.osgi.util/about.html b/bundles/org.eclipse.osgi.util/about.html
deleted file mode 100644
index c57db22..0000000
--- a/bundles/org.eclipse.osgi.util/about.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>August 25, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>OSGi Materials</h4>
-
-<p>All files in the following sub-directories (and their sub-directories):</p>
-
-<ul>
-	<li>org/osgi</li>
-</ul>
-
-<p>and the following files (which may not be present in all cases):</p>
-
-<ul>
-	<li>osgi/ee.foundation.jar</li>
-	<li>osgi/ee.minimum.jar</li>	
-</ul>
-
-<p>shall be defined as the &quot;OSGi Materials.&quot;  The OSGi Materials are:</p>
-
-<blockquote>
-Copyright (c) 2000, 2006
-<br /><br />
-OSGi Alliance
-Bishop Ranch 6<br/>
-2400 Camino Ramon, Suite 375<br/>
-San Ramon, CA 94583 USA
-<br /><br />
-All Rights Reserved.
-</blockquote>
-
-<p>The OSGi Materials are provided to you under the terms and conditions of the Apache License, Version 2.0.  A copy of the license is contained
-in the file <a href="about_files/LICENSE-2.0.txt" target="_blank">LICENSE-2.0.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>.</p>
-
-<p>Implementation of certain elements of the OSGi Materials may be subject to third party intellectual property rights, including without limitation, patent rights (such a third party may
-or may not be a member of the OSGi Alliance).  The OSGi Alliance and its members are not responsible and shall not be held responsible in any manner for identifying or failing to identify any or all such third party
-intellectual property rights.</p>
-
-<small>OSGi&trade; is a trademark, registered trademark, or service mark of The OSGi Alliance in the US and other countries. Java is a trademark,
-registered trademark, or service mark of Sun Microsystems, Inc. in the US and other countries. All other trademarks, registered trademarks, or
-service marks used in the Content are the property of their respective owners and are hereby recognized.</small>
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.util/about_files/LICENSE-2.0.txt b/bundles/org.eclipse.osgi.util/about_files/LICENSE-2.0.txt
deleted file mode 100644
index d645695..0000000
--- a/bundles/org.eclipse.osgi.util/about_files/LICENSE-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/bundles/org.eclipse.osgi.util/build.properties b/bundles/org.eclipse.osgi.util/build.properties
deleted file mode 100644
index 2a015f5..0000000
--- a/bundles/org.eclipse.osgi.util/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               org/,\
-               about.html,\
-               META-INF/,\
-               about_files/
-src.includes = src.zip,\
-               about.html,\
-               about_files/
-source.. = .
-output.. = .
-customBuildCallbacks=customBuildCallbacks.xml
diff --git a/bundles/org.eclipse.osgi.util/customBuildCallbacks.xml b/bundles/org.eclipse.osgi.util/customBuildCallbacks.xml
deleted file mode 100644
index d6250e8..0000000
--- a/bundles/org.eclipse.osgi.util/customBuildCallbacks.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the compilation target <name>                      -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="pre.name">
-	</target>
-
-	<target name="pre.@dot">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do during the compilation target <name>, after the compile   -->
-	<!-- but before jaring.  Substitute "name" with the name of the compilation-->
-	<!-- target, eg @dot                                                       -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="post.compile.name">
-	</target>
-
-	<target name="post.compile.@dot">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the compilation target <name>                       -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   jar.location - the location of the compilation results              -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="post.name">
-	</target>
-
-	<target name="post.@dot">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.bin.parts">
-	</target>
-		
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-		<unzip src="${target.folder}/src.zip" dest="${target.folder}" overwrite="false"/>
-		<delete file="${destination.temp.folder}/src.zip" />	
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">        
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">       
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">
-		<move file="src.zip" tofile="util_src.zip"/>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">
-		<move file="util_src.zip" tofile="src.zip"/>
-	</target>
-</project>
diff --git a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Measurement.class b/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Measurement.class
deleted file mode 100644
index 87566ff..0000000
--- a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Measurement.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/State.class b/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/State.class
deleted file mode 100644
index 38e90d6..0000000
--- a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/State.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Unit.class b/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Unit.class
deleted file mode 100644
index 83487e2..0000000
--- a/bundles/org.eclipse.osgi.util/org/osgi/util/measurement/Unit.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/org/osgi/util/position/Position.class b/bundles/org.eclipse.osgi.util/org/osgi/util/position/Position.class
deleted file mode 100644
index 1475b2c..0000000
--- a/bundles/org.eclipse.osgi.util/org/osgi/util/position/Position.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/org/osgi/util/xml/XMLParserActivator.class b/bundles/org.eclipse.osgi.util/org/osgi/util/xml/XMLParserActivator.class
deleted file mode 100644
index e215e38..0000000
--- a/bundles/org.eclipse.osgi.util/org/osgi/util/xml/XMLParserActivator.class
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi.util/plugin.properties b/bundles/org.eclipse.osgi.util/plugin.properties
deleted file mode 100644
index 7aa8609..0000000
--- a/bundles/org.eclipse.osgi.util/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-osgiUtil = OSGi Release 4.2.0 Utility Classes
-eclipse.org = Eclipse.org - Equinox
-osgiUtilDes = OSGi Service Platform Release 4.2.0 Utility Classes
-copyright = Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials  are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
diff --git a/bundles/org.eclipse.osgi.util/src.zip b/bundles/org.eclipse.osgi.util/src.zip
deleted file mode 100644
index 8f64acb..0000000
--- a/bundles/org.eclipse.osgi.util/src.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/module/MappedList.java b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/module/MappedList.java
index ade618a..f9f066b 100644
--- a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/module/MappedList.java
+++ b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/module/MappedList.java
@@ -75,7 +75,7 @@
 		while (iter.hasNext()) {
 			Object value = iter.next();
 			if (value.getClass().isArray()) {
-				Object[] values = (Object[]) iter.next();
+				Object[] values = (Object[]) value;
 				for (int i = 0; i < values.length; i++)
 					results.add(values[i]);
 			} else
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
deleted file mode 100644
index 6345a3f..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osgi.framework.eventmgr;
-
-import java.util.*;
-
-/**
- * A copy-on-write identity map. Write operations result in copying the underlying data so that
- * simultaneous read operations are not affected.
- * This allows for safe, unsynchronized traversal.
- * 
- * <p>
- * Note: This class uses identity for key and value comparison, not equals.
- * 
- * @since 3.5
- */
-public class CopyOnWriteIdentityMap implements Map {
-	/**
-	 * The empty array singleton instance.
-	 */
-	private static final Entry[] emptyArray = new Entry[0];
-
-	/**
-	 * The array of entries. This field is volatile so it can be 
-	 * accessed from unsynchronized reader methods.
-	 */
-	private volatile Entry[] entries;
-
-	/**
-	 * Creates an empty map.
-	 *
-	 */
-	public CopyOnWriteIdentityMap() {
-		entries = emptyArray;
-	}
-
-	/**
-	 * Copy constructor.
-	 *
-	 * @param source The CopyOnWriteMap to copy.
-	 */
-	public CopyOnWriteIdentityMap(CopyOnWriteIdentityMap source) {
-		this.entries = source.entries();
-	}
-
-	/* These methods modify the map and are synchronized. */
-
-	/**
-	 * Add a key, value pair to the map.
-	 * If the key object is already in the map, then its value is replaced with the new value.
-	 * Keys are compared using identity.
-	 *
-	 * @param key The key object to be added to the list.
-	 * @param value The value object to be associated with the key.
-	 * This may be null.
-	 * @return <code>null</code> if the specified key was newly added to the map.
-	 * Otherwise the previous value of the key.
-	 * @throws IllegalArgumentException If key is null.
-	 */
-	public synchronized Object put(Object key, Object value) {
-		if (key == null) {
-			throw new IllegalArgumentException();
-		}
-
-		int size = entries.length;
-		for (int i = 0; i < size; i++) {
-			if (entries[i].key == key) {
-				Object v = entries[i].value;
-				if (v == value) {
-					return v;
-				}
-				Entry[] newEntries = new Entry[size];
-				System.arraycopy(entries, 0, newEntries, 0, size);
-				newEntries[i] = new Entry(key, value);
-				entries = newEntries;
-				return v;
-			}
-		}
-
-		Entry[] newEntries = new Entry[size + 1];
-		if (size > 0) {
-			System.arraycopy(entries, 0, newEntries, 0, size);
-		}
-		newEntries[size] = new Entry(key, value);
-		entries = newEntries;
-		return null;
-	}
-
-	/**
-	 * Add all the entries from the specified map to this map.
-	 * 
-	 * @param source The map whose entries are to be added to this map.
-	 */
-	public void putAll(Map source) {
-		int sourceSize = source.size();
-		if (sourceSize == 0) {
-			return;
-		}
-		if (source instanceof CopyOnWriteIdentityMap) {
-			putAll(((CopyOnWriteIdentityMap) source).entries());
-			return;
-		}
-
-		Entry[] toCopy = new Entry[sourceSize];
-		Iterator iter = source.entrySet().iterator();
-		for (int i = 0; i < sourceSize; i++) {
-			Map.Entry mapEntry = (Map.Entry) iter.next();
-			toCopy[i] = new Entry(mapEntry.getKey(), mapEntry.getValue());
-		}
-		putAll(toCopy);
-	}
-
-	/**
-	 * Add all the keys from the specified array to this map with the value
-	 * <code>null</code>.
-	 * 
-	 * @param keys The array of keys to be added to this map.
-	 */
-	public void putAll(Object[] keys) {
-		int sourceSize = keys.length;
-		if (sourceSize == 0) {
-			return;
-		}
-		Entry[] toCopy = new Entry[sourceSize];
-		for (int i = 0; i < sourceSize; i++) {
-			toCopy[i] = new Entry(keys[i], null);
-		}
-		putAll(toCopy);
-	}
-
-	/**
-	 * Add all the entries to this map.
-	 * 
-	 * @param toCopy Array of entries to add to this map.
-	 */
-	private synchronized void putAll(Entry[] toCopy) {
-		int sourceSize = toCopy.length;
-		int size = entries.length;
-		Entry[] newEntries = new Entry[size + sourceSize];
-		System.arraycopy(entries, 0, newEntries, 0, size);
-		copy: for (int n = 0; n < sourceSize; n++) {
-			Entry copy = toCopy[n];
-			for (int i = 0; i < size; i++) {
-				if (newEntries[i].key == copy.key) {
-					newEntries[i] = copy;
-					continue copy;
-				}
-			}
-			newEntries[size] = copy;
-			size++;
-		}
-		if (size == newEntries.length) {
-			entries = newEntries;
-			return;
-		}
-		Entry[] e = new Entry[size];
-		System.arraycopy(newEntries, 0, e, 0, size);
-		entries = e;
-	}
-
-	/**
-	 * Remove a key from the map and returns the value associated with the key.
-	 * Key objects are compared using identity.
-	 *
-	 * @param key The key object to be removed from the map.
-	 * @return <code>null</code> if the key was not in the list. 
-	 * Otherwise, the value associated with the key.
-	 * @throws IllegalArgumentException If key is null.
-	 */
-	public synchronized Object remove(Object key) {
-		if (key == null) {
-			throw new IllegalArgumentException();
-		}
-
-		int size = entries.length;
-		for (int i = 0; i < size; i++) {
-			if (entries[i].key == key) {
-				Object v = entries[i].value;
-				if (size == 1) {
-					entries = emptyArray;
-					return v;
-				}
-				Entry[] newEntries = new Entry[size - 1];
-				if (i > 0) {
-					System.arraycopy(entries, 0, newEntries, 0, i);
-				}
-				int next = size - 1 - i;
-				if (next > 0) {
-					System.arraycopy(entries, i + 1, newEntries, i, next);
-				}
-				entries = newEntries;
-				return v;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Remove all entries from the map.
-	 * 
-	 */
-	public synchronized void clear() {
-		entries = emptyArray;
-	}
-
-	/* These methods only read the map and are not synchronized. */
-
-	/**
-	 * Accessor for methods which only read the entries.
-	 * @return The array of entries. Callers to this method MUST NOT
-	 * modify the returned array.
-	 */
-	private Entry[] entries() {
-		return entries;
-	}
-
-	/**
-	 * Is the map empty?
-	 * 
-	 * @return <code>true</code> if the list is empty.
-	 */
-	public boolean isEmpty() {
-		return size() == 0;
-	}
-
-	/**
-	 * Return the number of entries in the map.
-	 * 
-	 * @return The number of entries in the map.
-	 */
-	public int size() {
-		return entries().length;
-	}
-
-	/**
-	 * Return the value object for the specified key.
-	 * Keys are compared using identity.
-	 * 
-	 * @param key The key object.
-	 * @return The value object for the specified key.
-	 * @throws IllegalArgumentException If key is null.
-	 */
-	public Object get(Object key) {
-		if (key == null) {
-			throw new IllegalArgumentException();
-		}
-
-		Entry[] e = entries();
-		for (int i = 0; i < e.length; i++) {
-			if (e[i].key == key) {
-				return e[i].value;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Check if the map contains the specified key.
-	 * Keys are compared using identity.
-	 * 
-	 * @param key The key object.
-	 * @return <code>true</code> if the specified key is in the map.
-	 * @throws IllegalArgumentException If key is null.
-	 */
-	public boolean containsKey(Object key) {
-		if (key == null) {
-			throw new IllegalArgumentException();
-		}
-
-		Entry[] e = entries();
-		for (int i = 0; i < e.length; i++) {
-			if (e[i].key == key) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Check if the map contains the specified value.
-	 * Values are compared using identity.
-	 * 
-	 * @param value The value object.
-	 * @return <code>true</code> if the specified value is in the map.
-	 */
-	public boolean containsValue(Object value) {
-		Entry[] e = entries();
-		for (int i = 0; i < e.length; i++) {
-			if (e[i].value == value) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns a snapshot of the entries in this map.
-	 * The returned set will NOT be changed by future changes to this map.
-	 * 
-	 * @return A Set of Map.Entry for each entry in this map.
-	 * The set and the entries returned by the set cannot be modified.
-	 */
-	public Set entrySet() {
-		return new EntrySet(entries(), EntrySet.ENTRY);
-	}
-
-	/**
-	 * Returns a snapshot of the keys in this map.
-	 * The returned set will NOT be changed by future changes to this map.
-	 * 
-	 * @return A Set of the key objects in this map
-	 * The set cannot be modified.
-	 */
-	public Set keySet() {
-		return new EntrySet(entries(), EntrySet.KEY);
-	}
-
-	/**
-	 * Returns a snapshot of the values in this map.
-	 * The returned collection will NOT be changed by future changes to this map.
-	 * 
-	 * @return A Collection of the value objects in this map.
-	 * The collection cannot be modified.
-	 */
-	public Collection values() {
-		return new EntrySet(entries(), EntrySet.VALUE);
-	}
-
-	/**
-	 * This class represents the entry in this Map.
-	 * Entry is immutable.
-	 */
-	private static class Entry implements Map.Entry {
-		/**
-		 * Key object.
-		 */
-		final Object key;
-
-		/**
-		 * Value object.
-		 */
-		final Object value;
-
-		/**
-		 * Constructor for map entry.
-		 * @param key Key object in entry. Used for uniqueness.
-		 * @param value Value object stored with key object.
-		 */
-		Entry(final Object key, final Object value) {
-			this.key = key;
-			this.value = value;
-		}
-
-		public Object getKey() {
-			return key;
-		}
-
-		public Object getValue() {
-			return value;
-		}
-
-		public Object setValue(Object value) {
-			throw new UnsupportedOperationException(); // entries cannot be modified.
-		}
-	}
-
-	/**
-	 * Set class used for entry and key sets and values collections.
-	 *
-	 * This class is immutable.
-	 */
-	private static class EntrySet extends AbstractSet {
-		private final Entry[] entries;
-		private final int returnType;
-		final static int ENTRY = 1;
-		final static int KEY = 2;
-		final static int VALUE = 3;
-
-		EntrySet(Entry[] entries, int returnType) {
-			this.entries = entries;
-			this.returnType = returnType;
-		}
-
-		public Iterator iterator() {
-			return new EntryIterator(entries, returnType);
-		}
-
-		public int size() {
-			return entries.length;
-		}
-	}
-
-	/** 
-	 * Iterator class used for entry and key sets and values collections.
-	 *
-	 */
-	private static class EntryIterator implements Iterator {
-		private final Entry[] entries;
-		private final int returnType;
-		private int cursor = 0;
-
-		EntryIterator(Entry[] entries, int returnType) {
-			this.entries = entries;
-			this.returnType = returnType;
-		}
-
-		public boolean hasNext() {
-			return cursor < entries.length;
-		}
-
-		public Object next() {
-			if (cursor == entries.length) {
-				throw new NoSuchElementException();
-			}
-			switch (returnType) {
-				case EntrySet.ENTRY :
-					return entries[cursor++];
-				case EntrySet.KEY :
-					return entries[cursor++].key;
-				case EntrySet.VALUE :
-					return entries[cursor++].value;
-			}
-			throw new InternalError();
-		}
-
-		public void remove() {
-			throw new UnsupportedOperationException(); // the collection cannot be modified.
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
deleted file mode 100644
index 3e6f3cb..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osgi.framework.eventmgr;
-
-/**
- * The EventDispatcher interface contains the method that is called by the
- * Event Manager to complete the event delivery to the event listener.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface EventDispatcher {
-	/**
-	 * This method is called once for each listener.
-	 * This method must cast the event listener object to the appropriate listener
-	 * class for the event type and call the appropriate listener method.
-	 * 
-	 * <p>The method should properly log/handle any exceptions thrown by the called
-	 * listener. The EventManager will ignore any Throwable thrown by this method
-	 * in order to continue delivery of the event to the next listener.
-	 *
-	 * @param eventListener This is the key in the Map.Entry for the listener.
-	 * The implementation of this method must cast it to the appropriate listener
-	 * class for the event to be delivered and the appropriate listener method
-	 * must then be called.
-	 * @param listenerObject This is the value in the Map.Entry for the listener.
-	 * @param eventAction This value was passed to the ListenerQueue object via one of its
-	 * dispatchEvent* method calls. It can provide information (such
-	 * as which listener method to call) so that the EventDispatcher
-	 * can complete the delivery of the event to the listener.
-	 * @param eventObject This object was passed to the ListenerQueue object via one of its
-	 * dispatchEvent* method calls. This object was created by the event source and
-	 * is passed to this method. It should contain all the necessary information (such
-	 * as what event object to pass) so that this method
-	 * can complete the delivery of the event to the listener.
-	 * This is typically the actual event object.
-	 */
-	public void dispatchEvent(Object eventListener, Object listenerObject, int eventAction, Object eventObject);
-}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
deleted file mode 100644
index fee66ae..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osgi.framework.eventmgr;
-
-import java.util.Set;
-
-/**
- * This class manages a list of listeners. 
- * 
- * Listeners may be added or removed as necessary.
- * 
- * This class uses identity for comparison, not equals.
- * 
- * @since 3.1
- * @deprecated As of 3.5. Replaced by CopyOnWriteIdentityMap.
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class EventListeners {
-	private final CopyOnWriteIdentityMap list = new CopyOnWriteIdentityMap();
-
-	/**
-	 * Creates an empty listener list.
-	 *
-	 */
-	public EventListeners() {
-		super();
-	}
-
-	/**
-	 * Creates an empty listener list.
-	 *
-	 * @param capacity This argument is ignored.
-	 */
-	public EventListeners(int capacity) {
-		this();
-	}
-
-	/**
-	 * Add a listener to the list.
-	 * If a listener object is already in the list, then it is replaced.
-	 * This method calls the put method.
-	 *
-	 * @param listener This is the listener object to be added to the list.
-	 * @param listenerObject This is an optional listener-specific object.
-	 * This object will be passed to the EventDispatcher along with the listener
-	 * when the listener is to be called. This may be null
-	 * @throws IllegalArgumentException If listener is null.
-	 */
-	public void addListener(Object listener, Object listenerObject) {
-		list.put(listener, listenerObject);
-	}
-
-	/**
-	 * Remove a listener from the list.
-	 * This method calls the remove method.
-	 *
-	 * @param listener This is the listener object to be removed from the list.
-	 * @throws IllegalArgumentException If listener is null.
-	 */
-	public void removeListener(Object listener) {
-		list.remove(listener);
-	}
-
-	/**
-	 * Remove all listeners from the list.
-	 * 
-	 * This method calls the clear method.
-	 */
-	public void removeAllListeners() {
-		list.clear();
-	}
-
-	/**
-	 * Get the entry Set from the internal CopyOnWriteIdentityMap.
-	 * @return The entry Set.
-	 */
-	Set entrySet() {
-		return list.entrySet();
-	}
-}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
deleted file mode 100644
index 2dc7188..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osgi.framework.eventmgr;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.*;
-
-/**
- * This class is the central class for the Event Manager. Each
- * program that wishes to use the Event Manager should construct
- * an EventManager object and use that object to construct
- * ListenerQueue for dispatching events. CopyOnWriteIdentityMap objects
- * must be used to manage listener lists.
- *
- * <p>This example uses the fictitious SomeEvent class and shows how to use this package 
- * to deliver a SomeEvent to a set of SomeEventListeners.  
- * <pre>
- *
- * 	// Create an EventManager with a name for an asynchronous event dispatch thread
- * 	EventManager eventManager = new EventManager("SomeEvent Async Event Dispatcher Thread");
- * 	// Create a CopyOnWriteIdentityMap to hold the list of SomeEventListeners
- *	Map eventListeners = new CopyOnWriteIdentityMap();
- *
- *	// Add a SomeEventListener to the listener list
- *	eventListeners.put(someEventListener, null);
- *
- *	// Asynchronously deliver a SomeEvent to registered SomeEventListeners
- *	// Create the listener queue for this event delivery
- *	ListenerQueue listenerQueue = new ListenerQueue(eventManager);
- *	// Add the listeners to the queue and associate them with the event dispatcher
- *	listenerQueue.queueListeners(eventListeners.entrySet(), new EventDispatcher() {
- *		public void dispatchEvent(Object eventListener, Object listenerObject, 
- *                                    int eventAction, Object eventObject) {
- * 			try {
- *				(SomeEventListener)eventListener.someEventOccured((SomeEvent)eventObject);
- * 			} catch (Throwable t) {
- * 				// properly log/handle any Throwable thrown by the listener
- * 			}
- *		}
- *	});
- *	// Deliver the event to the listeners. 
- *	listenerQueue.dispatchEventAsynchronous(0, new SomeEvent());
- *		
- *	// Remove the listener from the listener list
- *	eventListeners.remove(someEventListener);
- *
- *	// Close EventManager to clean when done to terminate async event dispatch thread.
- *	// Note that closing the event manager while asynchronously delivering events 
- *	// may cause some events to not be delivered before the async event dispatch 
- *	// thread terminates
- *	eventManager.close();
- * </pre>
- * 
- * <p>At first glance, this package may seem more complicated than necessary
- * but it has support for some important features. The listener list supports
- * companion objects for each listener object. This is used by the OSGi framework
- * to create wrapper objects for a listener which are passed to the event dispatcher.
- * The ListenerQueue class is used to build a snap shot of the listeners prior to beginning
- * event dispatch. 
- * 
- * The OSGi framework uses a 2 level listener list for each listener type (4 types). 
- * Level one is managed per framework instance and contains the list of BundleContexts which have 
- * registered a listener. Level 2 is managed per BundleContext for the listeners in that 
- * context. This allows all the listeners of a bundle to be easily and atomically removed from 
- * the level one list. To use a "flat" list for all bundles would require the list to know which 
- * bundle registered a listener object so that the list could be traversed when stopping a bundle 
- * to remove all the bundle's listeners. 
- * 
- * When an event is fired, a snapshot list (ListenerQueue) must be made of the current listeners before delivery 
- * is attempted. The snapshot list is necessary to allow the listener list to be modified while the 
- * event is being delivered to the snapshot list. The memory cost of the snapshot list is
- * low since the ListenerQueue object uses the copy-on-write semantics 
- * of the CopyOnWriteIdentityMap. This guarantees the snapshot list is never modified once created.
- * 
- * The OSGi framework also uses a 2 level dispatch technique (EventDispatcher).
- * Level one dispatch is used by the framework to add the level 2 listener list of each 
- * BundleContext to the snapshot in preparation for delivery of the event.
- * Level 2 dispatch is used as the final event deliverer and must cast the listener 
- * and event objects to the proper type before calling the listener. Level 2 dispatch
- * will cancel delivery of an event 
- * to a bundle that has stopped between the time the snapshot was created and the
- * attempt was made to deliver the event.
- * 
- * <p> The highly dynamic nature of the OSGi framework had necessitated these features for 
- * proper and efficient event delivery.  
- * @since 3.1
- * @noextend This class is not intended to be subclassed by clients.
- */
-
-public class EventManager {
-	static final boolean DEBUG = false;
-
-	/**
-	 * EventThread for asynchronous dispatch of events.
-	 * Access to this field must be protected by a synchronized region.
-	 */
-	private EventThread thread;
-
-	/** 
-	 * Once closed, an attempt to create a new EventThread will result in an 
-	 * IllegalStateException. 
-	 */
-	private boolean closed;
-
-	/**
-	 * Thread name used for asynchronous event delivery
-	 */
-	protected final String threadName;
-
-	/**
-	 * The thread group used for asynchronous event delivery
-	 */
-	protected final ThreadGroup threadGroup;
-
-	/**
-	 * EventManager constructor. An EventManager object is responsible for
-	 * the delivery of events to listeners via an EventDispatcher.
-	 *
-	 */
-	public EventManager() {
-		this(null, null);
-	}
-
-	/**
-	 * EventManager constructor. An EventManager object is responsible for
-	 * the delivery of events to listeners via an EventDispatcher.
-	 *
-	 * @param threadName The name to give the event thread associated with
-	 * this EventManager.  A <code>null</code> value is allowed.
-	 */
-	public EventManager(String threadName) {
-		this(threadName, null);
-	}
-
-	/**
-	 * EventManager constructor. An EventManager object is responsible for
-	 * the delivery of events to listeners via an EventDispatcher.
-	 *
-	 * @param threadName The name to give the event thread associated with
-	 * this EventManager.  A <code>null</code> value is allowed.
-	 * @param threadGroup The thread group to use for the asynchronous event
-	 * thread associated with this EventManager. A <code>null</code> value is allowed.
-	 * @since 3.4
-	 */
-	public EventManager(String threadName, ThreadGroup threadGroup) {
-		thread = null;
-		closed = false;
-		this.threadName = threadName;
-		this.threadGroup = threadGroup;
-	}
-
-	/**
-	 * This method can be called to release any resources associated with this
-	 * EventManager.
-	 * <p>
-	 * Closing this EventManager while it is asynchronously delivering events 
-	 * may cause some events to not be delivered before the async event dispatch 
-	 * thread terminates.
-	 */
-	public synchronized void close() {
-		if (closed) {
-			return;
-		}
-		if (thread != null) {
-			thread.close();
-			thread = null;
-		}
-		closed = true;
-	}
-
-	/**
-	 * Returns the EventThread to use for dispatching events asynchronously for
-	 * this EventManager.
-	 *
-	 * @return EventThread to use for dispatching events asynchronously for
-	 * this EventManager.
-	 */
-	synchronized EventThread getEventThread() {
-		if (closed) {
-			throw new IllegalStateException();
-		}
-		if (thread == null) {
-			/* if there is no thread, then create a new one */
-			thread = (EventThread) AccessController.doPrivileged(new PrivilegedAction() {
-				public Object run() {
-					EventThread t = new EventThread(threadGroup, threadName);
-					return t;
-				}
-			});
-			/* start the new thread */
-			thread.start();
-		}
-		return thread;
-	}
-
-	/**
-	 * This method calls the EventDispatcher object to complete the dispatch of
-	 * the event. If there are more elements in the list, call dispatchEvent
-	 * on the next item on the list.
-	 * This method is package private.
-	 *
-	 * @param listeners A Set of entries from a CopyOnWriteIdentityMap map.
-	 * @param dispatcher Call back object which is called to complete the delivery of
-	 * the event.
-	 * @param eventAction This value was passed by the event source and
-	 * is passed to this method. This is passed on to the call back object.
-	 * @param eventObject This object was created by the event source and
-	 * is passed to this method. This is passed on to the call back object.
-	 */
-	static void dispatchEvent(Set/*<Map.Entry<Object,Object>>*/listeners, EventDispatcher dispatcher, int eventAction, Object eventObject) {
-		for (Iterator iter = listeners.iterator(); iter.hasNext();) { /* iterate over the list of listeners */
-			Map.Entry listener = (Map.Entry) iter.next();
-			Object eventListener = listener.getKey();
-			Object listenerObject = listener.getValue();
-			try {
-				/* Call the EventDispatcher to complete the delivery of the event. */
-				dispatcher.dispatchEvent(eventListener, listenerObject, eventAction, eventObject);
-			} catch (Throwable t) {
-				/* Consume and ignore any exceptions thrown by the listener */
-				if (DEBUG) {
-					System.out.println("Exception in " + listener.getKey()); //$NON-NLS-1$
-					t.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/**
-	 * This package private class is used for asynchronously dispatching events.
-	 */
-
-	static class EventThread extends Thread {
-		private static int nextThreadNumber;
-
-		/**
-		 * Queued is a nested top-level (non-member) class. This class
-		 * represents the items which are placed on the asynch dispatch queue.
-		 * This class is private.
-		 */
-		private static class Queued {
-			/** listener list for this event */
-			final Set/*<Map.Entry<Object,Object>>*/listeners;
-			/** dispatcher of this event */
-			final EventDispatcher dispatcher;
-			/** action for this event */
-			final int action;
-			/** object for this event */
-			final Object object;
-			/** next item in event queue */
-			Queued next;
-
-			/**
-			 * Constructor for event queue item
-			 *
-			 * @param l Listener list for this event
-			 * @param d Dispatcher for this event
-			 * @param a Action for this event
-			 * @param o Object for this event
-			 */
-			Queued(Set/*<Map.Entry<Object,Object>>*/l, EventDispatcher d, int a, Object o) {
-				listeners = l;
-				dispatcher = d;
-				action = a;
-				object = o;
-				next = null;
-			}
-		}
-
-		/** item at the head of the event queue */
-		private Queued head;
-		/** item at the tail of the event queue */
-		private Queued tail;
-		/** if false the thread must terminate */
-		private volatile boolean running;
-
-		/**
-		 * Constructor for the event thread. 
-		 * @param threadName Name of the EventThread 
-		 */
-		EventThread(ThreadGroup threadGroup, String threadName) {
-			super(threadGroup, threadName == null ? getNextName() : threadName);
-			running = true;
-			head = null;
-			tail = null;
-
-			setDaemon(true); /* Mark thread as daemon thread */
-		}
-
-		private static synchronized String getNextName() {
-			return "EventManagerThread-" + nextThreadNumber++; //$NON-NLS-1$
-		}
-
-		/**
-		 * Constructor for the event thread. 
-		 * @param threadName Name of the EventThread 
-		 */
-		EventThread(String threadName) {
-			this(null, threadName);
-		}
-
-		/**
-		 * Constructor for the event thread.
-		 */
-		EventThread() {
-			this(null, null);
-		}
-
-		/**
-		 * Stop thread.
-		 */
-		void close() {
-			running = false;
-			interrupt();
-		}
-
-		/**
-		 * This method pulls events from
-		 * the queue and dispatches them.
-		 */
-		public void run() {
-			try {
-				while (true) {
-					Queued item = getNextEvent();
-					if (item == null) {
-						return;
-					}
-					EventManager.dispatchEvent(item.listeners, item.dispatcher, item.action, item.object);
-					// Bug 299589: since the call to getNextEvent() will eventually block for a long time, we need to make sure that the 'item'
-					// variable is cleared of the previous value before the call to getNextEvent(). See VM SPec 2.5.7 for why the compiler 
-					// will not automatically clear this variable for each loop iteration.
-					item = null;
-				}
-			} catch (RuntimeException e) {
-				if (EventManager.DEBUG) {
-					e.printStackTrace();
-				}
-				throw e;
-			} catch (Error e) {
-				if (EventManager.DEBUG) {
-					e.printStackTrace();
-				}
-				throw e;
-			}
-		}
-
-		/**
-		 * This methods takes the input parameters and creates a Queued
-		 * object and queues it.
-		 * The thread is notified.
-		 *
-		 * @param l Listener list for this event
-		 * @param d Dispatcher for this event
-		 * @param a Action for this event
-		 * @param o Object for this event
-		 */
-		synchronized void postEvent(Set/*<Map.Entry<Object,Object>>*/l, EventDispatcher d, int a, Object o) {
-			if (!isAlive()) { /* If the thread is not alive, throw an exception */
-				throw new IllegalStateException();
-			}
-
-			Queued item = new Queued(l, d, a, o);
-
-			if (head == null) /* if the queue was empty */
-			{
-				head = item;
-				tail = item;
-			} else /* else add to end of queue */
-			{
-				tail.next = item;
-				tail = item;
-			}
-
-			notify();
-		}
-
-		/**
-		 * This method is called by the thread to remove
-		 * items from the queue so that they can be dispatched to their listeners.
-		 * If the queue is empty, the thread waits.
-		 *
-		 * @return The Queued removed from the top of the queue or null
-		 * if the thread has been requested to stop.
-		 */
-		private synchronized Queued getNextEvent() {
-			while (running && (head == null)) {
-				try {
-					wait();
-				} catch (InterruptedException e) {
-					// If interrupted, we will loop back up and check running
-				}
-			}
-
-			if (!running) { /* if we are stopping */
-				return null;
-			}
-
-			Queued item = head;
-			head = item.next;
-			if (head == null) {
-				tail = null;
-			}
-
-			return item;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
deleted file mode 100644
index 0f63ecc..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osgi.framework.eventmgr;
-
-import java.util.*;
-import org.eclipse.osgi.framework.eventmgr.EventManager.EventThread;
-
-/**
- * The ListenerQueue is used to snapshot the list of listeners at the time the event
- * is fired. The snapshot list is then used to dispatch
- * events to those listeners. A ListenerQueue object is associated with a
- * specific EventManager object. ListenerQueue objects constructed with the same
- * EventManager object will get in-order delivery of events when
- * using asynchronous delivery. No delivery order is guaranteed for synchronous
- * delivery to avoid any potential deadly embraces.
- *
- * <p>ListenerQueue objects are created as necessary to build a list of listeners
- * that should receive a specific event or events. Once the list is created, the event
- * can then be synchronously or asynchronously delivered to the list of
- * listeners. After the event has been dispatched for delivery, the
- * ListenerQueue object should be discarded as it is likely the list of listeners is stale.
- * A new ListenerQueue object should be created when it is time to deliver 
- * another event. The Sets used to build the list of listeners must not change after being 
- * added to the list.
- * @since 3.1
- */
-public class ListenerQueue {
-	/**
-	 * EventManager with which this queue is associated.
-	 */
-	protected final EventManager manager;
-	/**
-	 * A list of listener lists.
-	 */
-	private final Map /*<Set<Map.Entry<Object,Object>>,EventDispatcher>*/queue;
-
-	/**
-	 * Once the listener queue has been used to dispatch an event, 
-	 * you cannot add modify the queue.
-	 * Access to this field must be protected by a synchronized region.
-	 */
-	private boolean readOnly;
-
-	/**
-	 * ListenerQueue constructor. This method creates an empty snapshot list.
-	 *
-	 * @param manager The EventManager this queue is associated with.
-	 * @throws IllegalArgumentException If manager is null.
-	 */
-	public ListenerQueue(EventManager manager) {
-		if (manager == null) {
-			throw new IllegalArgumentException();
-		}
-
-		this.manager = manager;
-		queue = new CopyOnWriteIdentityMap();
-		readOnly = false;
-	}
-
-	/**
-	 * Add a listener list to the snapshot list. This method can be called multiple times, prior to
-	 * calling one of the dispatchEvent methods, to build the set of listeners for the
-	 * delivery of a specific event. The current list of listeners in the specified EventListeners
-	 * object is added to the snapshot list.
-	 *
-	 * @param listeners An EventListeners object to add to the queue. The current listeners
-	 * in the EventListeners object will be called when an event is dispatched.
-	 * @param dispatcher An EventDispatcher object to use when dispatching an event
-	 * to the listeners on the specified EventListeners.
-	 * @throws IllegalStateException If called after one of the dispatch methods has been called.
-	 * @deprecated As of 3.5. Replaced by {@link #queueListeners(Set, EventDispatcher)}.
-	 */
-	public void queueListeners(EventListeners listeners, EventDispatcher dispatcher) {
-		queueListeners(listeners.entrySet(), dispatcher);
-	}
-
-	/**
-	 * Add a set of listeners to the snapshot list. This method can be called multiple times, prior to
-	 * calling one of the dispatchEvent methods, to build the list of listeners for the
-	 * delivery of a specific event. The specified listeners
-	 * are added to the snapshot list.
-	 *
-	 * @param listeners A Set of Map.Entries to add to the queue. This is typically the entrySet
-	 * from a CopyOnWriteIdentityMap object. This set must not change after being added to this
-	 * snapshot list.
-	 * @param dispatcher An EventDispatcher object to use when dispatching an event
-	 * to the specified listeners.
-	 * @throws IllegalStateException If called after one of the dispatch methods has been called.
-	 * @since 3.5
-	 */
-	public synchronized void queueListeners(Set/*<Map.Entry<Object,Object>>*/listeners, EventDispatcher dispatcher) {
-		if (readOnly) {
-			throw new IllegalStateException();
-		}
-
-		if (listeners.size() != 0) {
-			queue.put(listeners, dispatcher); // enqueue the list and its dispatcher
-		}
-	}
-
-	/**
-	 * Asynchronously dispatch an event to the snapshot list. An event dispatch thread
-	 * maintained by the associated EventManager is used to deliver the events.
-	 * This method may return immediately to the caller.
-	 *
-	 * @param eventAction This value is passed to the EventDispatcher.
-	 * @param eventObject This object is passed to the EventDispatcher.
-	 */
-	public void dispatchEventAsynchronous(int eventAction, Object eventObject) {
-		synchronized (this) {
-			readOnly = true;
-		}
-		EventThread eventThread = manager.getEventThread();
-		synchronized (eventThread) { /* synchronize on the EventThread to ensure no interleaving of posting to the event thread */
-			for (Iterator iter = queue.entrySet().iterator(); iter.hasNext();) { /* iterate over the list of listener lists */
-				Map.Entry entry = (Map.Entry) iter.next();
-				eventThread.postEvent((Set) entry.getKey(), (EventDispatcher) entry.getValue(), eventAction, eventObject);
-			}
-		}
-	}
-
-	/**
-	 * Synchronously dispatch an event to the snapshot list. The event may
-	 * be dispatched on the current thread or an event dispatch thread
-	 * maintained by the associated EventManager.
-	 * This method will not return to the caller until the EventDispatcher
-	 * has been called (and has returned) for each listener on the queue.
-	 *
-	 * @param eventAction This value is passed to the EventDispatcher.
-	 * @param eventObject This object is passed to the EventDispatcher.
-	 */
-	public void dispatchEventSynchronous(int eventAction, Object eventObject) {
-		synchronized (this) {
-			readOnly = true;
-		}
-		// We can't guarantee any delivery order for synchronous events.
-		// Attempts to do so result in deadly embraces.
-		for (Iterator iter = queue.entrySet().iterator(); iter.hasNext();) { /* iterate over the list of listener lists */
-			Map.Entry entry = (Map.Entry) iter.next();
-			EventManager.dispatchEvent((Set) entry.getKey(), (EventDispatcher) entry.getValue(), eventAction, eventObject);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/package.html b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/package.html
deleted file mode 100644
index 41e344c..0000000
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the event manager API.
-<h2>
-Package Specification</h2>
-This package specifies the API for the event manager.
-<p>
-Clients which implement an event bus to deliver synchronous and/or asynchronous
-events to listeners will likely be interested in the types provided by this package.
-</p>
-</body>
-</html>
diff --git a/features/org.eclipse.equinox.core.sdk/.project b/features/org.eclipse.equinox.core.sdk/.project
deleted file mode 100644
index 2209541..0000000
--- a/features/org.eclipse.equinox.core.sdk/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.core.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.equinox.core.sdk/build.properties b/features/org.eclipse.equinox.core.sdk/build.properties
deleted file mode 100644
index 532bf01..0000000
--- a/features/org.eclipse.equinox.core.sdk/build.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 EclipseSource and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     EclipseSource - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,license.html,epl-v10.html,license.html,feature.properties
-
-generate.plugin@org.eclipse.equinox.common.source=org.eclipse.equinox.common
-generate.plugin@org.eclipse.equinox.concurrent.source=org.eclipse.equinox.concurrent
-generate.plugin@org.eclipse.equinox.launcher.source=org.eclipse.equinox.launcher
-generate.plugin@org.eclipse.equinox.registry.source=org.eclipse.equinox.registry
-generate.plugin@org.eclipse.equinox.simpleconfigurator.source=org.eclipse.equinox.simpleconfigurator
-generate.plugin@org.eclipse.equinox.supplement.source=org.eclipse.equinox.supplement
-generate.plugin@org.eclipse.equinox.transforms.hook.source=org.eclipse.equinox.transforms.hook
-generate.plugin@org.eclipse.equinox.transforms.xslt.source=org.eclipse.equinox.transforms.xslt
-generate.plugin@org.eclipse.osgi.services.source=org.eclipse.osgi.services
-generate.plugin@org.eclipse.osgi.source=org.eclipse.osgi
-generate.plugin@org.eclipse.osgi.util.source=org.eclipse.osgi.util
-generate.plugin@org.eclipse.equinox.security.win32.x86.source=org.eclipse.equinox.security.win32.x86
-generate.plugin@org.eclipse.equinox.security.macosx.source=org.eclipse.equinox.security.macosx
-generate.plugin@org.eclipse.equinox.security.source=org.eclipse.equinox.security
-generate.plugin@org.eclipse.equinox.security.ui.source=org.eclipse.equinox.security.ui
diff --git a/features/org.eclipse.equinox.core.sdk/epl-v10.html b/features/org.eclipse.equinox.core.sdk/epl-v10.html
deleted file mode 100755
index ed4b196..0000000
--- a/features/org.eclipse.equinox.core.sdk/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.equinox.core.sdk/feature.properties b/features/org.eclipse.equinox.core.sdk/feature.properties
deleted file mode 100755
index f9c9561..0000000
--- a/features/org.eclipse.equinox.core.sdk/feature.properties
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 EclipseSource and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     EclipseSource - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Equinox Core SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Equinox Project
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Equinox Project Repository
-
-# "description" property - description of the feature
-description=A collection of core Equinox bundles and source including the Equinox framework \
-implementation itself. \n\
-This feature includes the corresponding source and is intended \
-to be added to target platforms at development time rather than \
-deployed with end-user systems.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 EclipseSource and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    EclipseSource - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.equinox.core.sdk/feature.xml b/features/org.eclipse.equinox.core.sdk/feature.xml
deleted file mode 100644
index d83351c..0000000
--- a/features/org.eclipse.equinox.core.sdk/feature.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.core.sdk"
-      label="%featureName"
-      version="3.6.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.services"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.services.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.launcher.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.registry"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.registry.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.supplement"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.supplement.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.transforms.xslt"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.transforms.xslt.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.transforms.hook"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.transforms.hook.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.util"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.util.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.concurrent"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.concurrent.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.win32.x86"
-         os="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.win32.x86.source"
-         os="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx"
-         os="macosx"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx"
-         os="macosx"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx"
-         os="macosx"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx.source"
-         os="macosx"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx.source"
-         os="macosx"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.macosx.source"
-         os="macosx"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.equinox.core.sdk/license.html b/features/org.eclipse.equinox.core.sdk/license.html
deleted file mode 100755
index c184ca3..0000000
--- a/features/org.eclipse.equinox.core.sdk/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/releng/org.eclipse.equinox.launcher.releng/.project b/releng/org.eclipse.equinox.launcher.releng/.project
deleted file mode 100644
index 8433d04..0000000
--- a/releng/org.eclipse.equinox.launcher.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.launcher.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/releng/org.eclipse.equinox.launcher.releng/build.xml b/releng/org.eclipse.equinox.launcher.releng/build.xml
deleted file mode 100644
index 28d06a6..0000000
--- a/releng/org.eclipse.equinox.launcher.releng/build.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<!--
-    Copyright (c) 2009 IBM Corporation and others.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-   
-    Contributors:
-        IBM Corporation - initial API and implementation
- -->
-<project name="Launcher Build" basedir="." default="build">
-	<property name="cvsLogin" value=":pserver:anonymous" />
-	<property name="cvsRoot" value="${cvsLogin}@dev.eclipse.org:/cvsroot/rt" />
-	<property name="cvsrsh" value="ssh" />
-	<property name="cvsExecutablePath" value="org.eclipse.equinox/framework/bundles/org.eclipse.equinox.executable" />
-	<property name="cvsTag" value="HEAD" />
-	
-	<!-- Macro for execing scp -->
-	<macrodef name="SCP">
-		<attribute name="dir" />
-		<attribute name="source"/>
-		<attribute name="destination" />
-		<attribute name="failonerror" default="true" />
-		<sequential>
-			<echo message="Copying @{source} to @{destination}."/>
-			<exec dir="@{dir}" executable="scp" failonerror="@{failonerror}">
-				<arg value="-q"/>
-				<arg line="@{source}" />
-				<arg value="@{destination}" />
-			</exec>
-		</sequential>
-	</macrodef>
-	
-	<!-- macro to resolve properties because we can't do ${${prop}} -->
-	<macrodef name="resolveProperty">
-		<attribute name="name" />
-		<attribute name="value" />
-		<sequential>
-			<condition property="@{name}" value="${@{value}}" >
-				<isset property="@{value}"/>
-			</condition>
-		</sequential>
-	</macrodef>
-	
-	<target name="init_exeFolder" >
-		<!-- set to "bin" or "contributed" according to which folder under org.eclipse.equinox.executable to store the built eclipse -->
-		<condition property="exeFolder" value="contributed" else="bin">
-			<or>
-				<equals arg1="s390" arg2="${arch}" />
-				<equals arg1="s390x" arg2="${arch}" />
-				<equals arg1="motif.sparc" arg2="${ws}.${arch}" />
-				<equals arg1="win32.ia64" arg2="${ws}.${arch}" />
-			</or>
-		</condition>
-	</target>
-	
-	<target name="init_fragment" >
-		<!-- set to "contributed" or "fragments" according to which folder under org.eclipse.equinox.launcher to find the fragment -->
-		<condition property="subFolder" value="contributed" else="fragments">
-			<or>
-				<equals arg1="s390" arg2="${arch}" />
-				<equals arg1="s390x" arg2="${arch}" />
-				<equals arg1="solaris.x86" arg2="${os}.${arch}" />
-			</or>
-		</condition>
-		<!-- mac only has arch in fragment name for x86_64 -->
-		<condition property="fragmentFolder" value="${subFolder}/org.eclipse.equinox.launcher.${ws}.${os}.${arch}" 
-											 else="${subFolder}/org.eclipse.equinox.launcher.${ws}.${os}" >
-			<not>
-				<and>
-					<equals arg1="macosx" arg2="${os}"/>
-					<not> <equals arg1="x86_64" arg2="${arch}"/> </not>
-				</and>
-			</not>
-		</condition>
-	</target>
-
-	<target name="fetchExecutableSource" >
-		<!-- fetch the source and put it in a folder unique to this platform so we don't interfere with other
-		     compiles if the working folder is shared accross multiple machines -->
-		<delete dir="${basedir}/${os}.${ws}.${arch}/library" failonerror="false"/> 
-		<cvs command="export -d ${os}.${ws}.${arch}/library" tag="${cvsTag}" cvsrsh="${cvsrsh}" package="${cvsExecutablePath}/library" cvsRoot="${cvsRoot}" dest="${basedir}" quiet="true" failonerror="true"/>
-	</target>
-	
-	<target name="buildNix" if="buildNix">
-		<!-- exec the build.sh for flavors of unix -->
-		<exec dir="${libraryFolder}/${ws}" executable="sh" failonerror="true">
-				<arg value="build.sh"/>
-				<arg line="-ws ${ws} -os ${os} -arch ${arch}"/>
-				<arg line="-java ${javaHome}"/>
-				<arg value="clean all" />
-				<env key="PATH" value="/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin" />
-		</exec>	
-		
-		<!-- copy the resulting executable and .so -->
-		<SCP dir="${libraryFolder}/${ws}" source="eclipse" destination="${resultsBaseFolder}/org.eclipse.equinox.executable/${exeFolder}/${ws}/${os}/${arch}" />
-		<SCP dir="${libraryFolder}/${ws}" source="eclipse_${maj_ver}${min_ver}.so" destination="${resultsBaseFolder}/org.eclipse.equinox.launcher/${fragmentFolder}" />
-		
-		<condition property="copyMotifLib" >
-			<equals arg1="aix.motif" arg2="${os}.${ws}" />
-		</condition>
-		<antcall target="copyMotifLib" />
-	</target>
-			
-	<target name="copyMotifLib" if="copyMotifLib" >
-		<SCP dir="${libraryFolder}/${ws}" source="libeclipse-motif.so" destination="${resultsBaseFolder}/org.eclipse.equinox.launcher/${fragmentFolder}" failonerror="false" />
-	</target>
-	
-	<target name="buildWindows" if="buildWindows">
-		<!-- exec the batch file to build on windows -->
-		<exec dir="${libraryFolder}/${ws}" executable="cmd" failonerror="true">
-			<arg value="/c" />
-			<arg value="build.bat" />
-			<arg line="${arch}"/>
-			<arg value="-java"/>
-			<arg value="${javaHome}"/>
-			<arg line="clean all" />
-		</exec>
-		
-		<SCP dir="${libraryFolder}/${ws}" source="eclipse.exe eclipsec.exe" destination="${resultsBaseFolder}/org.eclipse.equinox.executable/${exeFolder}/${ws}/${os}/${arch}" />
-		<SCP dir="${libraryFolder}/${ws}" source="eclipse_${maj_ver}${min_ver}.dll" destination="${resultsBaseFolder}/org.eclipse.equinox.launcher/${fragmentFolder}" />
-		<condition property="copyWPF">
-			<equals arg1="${ws}" arg2="wpf" />
-		</condition>
-		<antcall target="copyWPF" />
-	</target>
-	
-	<target name="copyWPF" if="copyWPF" >
-		<SCP dir="${libraryFolder}/${ws}" source="com_${maj_ver}${min_ver}.dll" destination="${resultsBaseFolder}/org.eclipse.equinox.launcher/${fragmentFolder}" failonerror="false" />
-	</target>
-	
-	<target name="buildMac" if="buildMac">
-		<exec dir="${libraryFolder}/carbon" executable="sh" failonerror="true">
-			<arg value="build.sh"/>
-			<arg line="-ws ${ws} -arch ${arch}"/>
-			<arg value="clean all" />
-			<env key="PATH" value="/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:${extraPath}" />
-		</exec>	
-			
-		<SCP dir="${libraryFolder}/carbon" source="eclipse" destination="${resultsBaseFolder}/org.eclipse.equinox.executable/${exeFolder}/${ws}/${os}/${arch}/Eclipse.app/Contents/MacOS" />
-		<SCP dir="${libraryFolder}/carbon" source="eclipse_${maj_ver}${min_ver}.so" destination="${resultsBaseFolder}/org.eclipse.equinox.launcher/${fragmentFolder}" />
-		<!-- x86 and ppc are the same universal binary, copy to both under the executable feature -->
-		<condition property="copyMacPPC">
-			<equals arg1="${arch}" arg2="x86" />
-		</condition>
-		<antcall target="copyMacPPC" />
-	</target>
-	
-	<target name="copyMacPPC" if="copyMacPPC" >
-		<SCP dir="${libraryFolder}/carbon" source="eclipse" destination="${resultsBaseFolder}/org.eclipse.equinox.executable/${exeFolder}/${ws}/${os}/ppc/Eclipse.app/Contents/MacOS" />
-	</target>
-	
-	<target name="determineBuild" >
-		<condition property="buildWindows" >
-			<equals arg1="${os}" arg2="win32"/>
-		</condition>
-		<condition property="buildMac" >
-			<equals arg1="${os}" arg2="macosx" />
-		</condition>
-		<condition property="buildNix" >
-			<not><or>
-				<isset property="buildWindows" />
-				<isset property="buildMac" />
-			</or></not>
-		</condition>
-	</target>
-	
-	<target name="initProperties" >
-		<property name="ws" value="${env.ws}"/>
-		<property name="os" value="${env.os}" />	
-		<property name="arch" value="${env.arch}" />
-		
-		<resolveProperty name="machine" value="m_${os}.${arch}" />
-		<resolveProperty name="javaArg" value="j_${os}.${arch}" />
-		<resolveProperty name="userName" value="u_${os}.${arch}" />
-		
-		<!-- windows is built locally, everything else is remote -->
-		<condition property="local" >
-			<equals arg1="${os}" arg2="win32"/>
-		</condition>
-		<condition property="remote" >
-			<not> <isset property="local"/> </not>
-		</condition>
-		
-		<!-- working directory defaults for our machines.  Others should
-		     pass in workspace as a property on the command line  -->
-		<condition property="workspace" value="/Users/swtbuild/build/equinox" >
-			<equals arg1="${os}" arg2="macosx"/>
-		</condition>
-		<condition property="workspace" value="~/equinox" >
-			<equals arg1="${os}.${arch}" arg2="solaris.x86" />
-		</condition>
-		<property name="workspace" value="/bluebird/teamswt/equinox" />
-	</target>
-	
-	
-	<!-- 
-		Main entry point.  We expect the following properties:
-			 os, ws, arch  - to be passed as ant properties or set as environment variables.
-			 resultsBaseFolder - location to scp the resulting binaries to, usually a workspace containing the executable & launcher projects (eg: user@machine:~/workspace)
-			 m_<os>.<arch> - name of a machine to ssh to for this os & arch
-			 u_<os>.<arch> - optional user on the machine for this platform
-			 j_<os>.<arch> - location of a jdk we can compile against
-		We expect ssh keys to be set up so that we don't need passwords
-		
-		The j_<os>.<arch> properties work together with remote.sh, and are either
-		   -javaHome /path/to/jdk
-		or -java relative/path/to/jdk
-	-->
-	<target name="build" depends="initProperties">
-		<echo message="Building for ${os}, ${ws}, ${arch}"/>
-		<antcall target="buildLocal" />
-		<antcall target="buildRemote" />
-	</target>
-	
-	<target name="buildLocal" if="local" >
-		<condition property="javaHome" value="${j_win32}" else="${java.home}" >
-			<isset property="j_win32"/>
-		</condition>
-		<antcall target="buildConfig" />
-	</target>
-	
-	<target name="buildRemote" if="remote">
-		<echo message="Machine: ${machine}" />
-		<condition property="scpDest" value="${userName}@${machine}" else="${machine}" >
-			<isset property="userName" />
-		</condition>
-		<condition property="sshUser" value="-l ${userName}" else="" >
-			<isset property="userName" />
-		</condition>
-		<SCP dir="${basedir}" source="remote.sh build.xml" destination="${scpDest}:${workspace}" />
-		<echo message="Execing ssh ${machine}" />
-		<exec executable="ssh" failonerror="true" >
-			<arg line="${sshUser} ${machine}" />
-			<arg line="sh ${workspace}/remote.sh" />
-			<arg line="${javaArg}" />
-			<arg line="-Dos=${os} -Dws=${ws} -Darch=${arch} -DcvsLogin=${cvsLogin} -DcvsTag=${cvsTag}" />
-			<arg value="-DresultsBaseFolder=${resultsBaseFolder}" />
-		</exec>
-	</target>
-
-	<target name="buildConfig" depends="init_exeFolder,init_fragment,determineBuild" >
-		<antcall target="fetchExecutableSource" />
-		<property name="javaHome" value="${java.home}/.." />
-		<property name="libraryFolder" value="${basedir}/${os}.${ws}.${arch}/library" />
-		<property file="${libraryFolder}/make_version.mak" />
-		
-		<antcall target="buildNix" />
-		<antcall target="buildWindows" />
-		<antcall target="buildMac" />
-	</target>
-	
-</project>
-
-
-
-
diff --git a/releng/org.eclipse.equinox.launcher.releng/remote.sh b/releng/org.eclipse.equinox.launcher.releng/remote.sh
deleted file mode 100644
index 82eb226..0000000
--- a/releng/org.eclipse.equinox.launcher.releng/remote.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-#the directory containing this script
-scriptDir=`dirname "$0"`
-
-ANT_HOME=/bluebird/teamswt/swt-builddir/build/apache-ant-1.7.1
-extraArgs=""
-
-while [ "$1" != "" ]; do
-	if [ "$1" = "-java" ] && [ "$2" != "" ]; then
-        JAVA_HOME=/bluebird/teamswt/swt-builddir/build/JRE/$2
-        shift
-    elif [ "$1" = "-javaHome" ] && [ "$2" != "" ]; then
-		JAVA_HOME="$2"
-		shift
-    elif [ "$1" = "-antHome" ] && [ "$2" != "" ]; then
-		ANT_HOME="$2"
-		shift
-    else
-        extraArgs="$extraArgs $1"
-    fi
-    shift
-done
-
-OS=`uname -s`
-case $OS in 
-	"SunOS")
-		if [ "$PROC" = "" ];  then
-		    PROC=`uname -p`
-		fi
-		case ${PROC} in
-			"i386")
-				ANT_HOME=~/equinox/apache-ant-1.7.1
-				;;
-		esac
-		;;
-	"AIX")
-		PATH=/bluebird/teamswt/swt-builddir/build/cvs_bin/AIX:$PATH
-		;;
-esac
-
-PATH=$JAVA_HOME/jre/bin:$ANT_HOME/bin:$PATH
-
-export JAVA_HOME ANT_HOME PATH
-echo JAVA_HOME = $JAVA_HOME
-echo ANT_HOME = $ANT_HOME
-echo ant -f ${scriptDir}/build.xml buildConfig $extraArgs 
-ant -f ${scriptDir}/build.xml buildConfig $extraArgs