Today's 3.3 I-Build I20061219-1300,
contains the new Equinox launchers. These new launcher use JNI to
start the Java VM in the same process as the launcher. Using JNI
also allows us to use SWT widgets in the splash screen.
This was done as part of the plan item
to improve the launching experience (bug 154088). See the wiki page
for details: http://wiki.eclipse.org/index.php/Equinox_Launcher.
Because of the number of dependencies
across multiple components, there is actually a regression in the splash
screen until all the pieces are in place. Currently only changes
for the launchers, startup.jar, org.eclipse.osgi and pde.ui are in.
So with this build you will not see
a progress bar and there will not be painting after the choose workspace
dialog.
But if you had a splash bundle, you
could do cool stuff in the splash screen :)
If the launcher knows where the splash
bitmap is it can show the splash map before starting Java, in this case
the splash screen can appear significantly sooner than it used to. To
see this, add the location of the splash bitmap in your eclipse.ini file
by adding these 2 lines to the beginning:
-showsplash
plugins/org.eclipse.platform_3.2.100.v20061215/splash.bmp
Some basic changes to note:
- startup.jar is gone, it is now a bundle
in the plugins directory: org.eclipse.equinox.launcher
- there are fragments for each platform:
ie org.eclise.equinox.launcher.win32.win32.x86. These contain launcher
shared libraries that can be loaded in Java using JNI to show the splash
screen.
- the org.eclipse.platform.launchers
feature is now org.eclipse.equinox.executable
As a side note, we do not yet have creating
the VM through JNI working on linux.x86_64, linux.ppc and aix.ppc. (See
bugs 168271, 168278, and 168281). For these platforms, the old launchers
are still used and in the root is a startup.jar which is a copy of the
org.eclipse.equinox.launcher bundle. Even though we are not using
JNI to launch the VM on these platform, we are using JNI to load the launcher
library and enable the SWT splash screen.
In getting this far, thanks go Sonia
Dimitrov for all the work in switching the builds to the new shape. Also
thanks to the SWT team, particularly Silenio Quarti and Grant Gayed, as
well as Wassim Melhem and Tom Watson.