[SCM] eclipse - Powerful IDE written in java - Debian package. branch, master-3.6, updated. eclipse-ppa/maverick-16-g24c28b4

Benjamin Drung bdrung-guest at alioth.debian.org
Thu Jun 10 17:36:10 UTC 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "eclipse - Powerful IDE written in java - Debian package.".

The branch, master-3.6 has been updated
       via  24c28b487dfba568f652f8a724cd1aaf4c30a5ba (commit)
       via  e99ddaa0212ad59404b7d82bdef924a0e9b42cd8 (commit)
       via  3dab1bfaa147ec841f827a6ce64c063bd2b685b8 (commit)
      from  448af370585bf2c3a772bfda2d50bae40d0f3ca1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 24c28b487dfba568f652f8a724cd1aaf4c30a5ba
Author: Benjamin Drung <bdrung at ubuntu.com>
Date:   Thu Jun 10 19:36:04 2010 +0200

    Apply and refresh patches.

commit e99ddaa0212ad59404b7d82bdef924a0e9b42cd8
Author: Benjamin Drung <bdrung at ubuntu.com>
Date:   Thu Jun 10 19:32:29 2010 +0200

    Drop backported bp-hover-visability.patch.

commit 3dab1bfaa147ec841f827a6ce64c063bd2b685b8
Author: Benjamin Drung <bdrung at ubuntu.com>
Date:   Thu Jun 10 19:30:49 2010 +0200

    Refresh patches.

-----------------------------------------------------------------------

Summary of changes:
 build.xml                                          |   61 ++-
 debian/patches/bp-hover-visability.patch           |  428 --------------
 debian/patches/compile-IPluginDescriptor.patch     |    2 +-
 debian/patches/compile-jarinjarloader.patch        |    2 +-
 debian/patches/ecj-gccmain-java.patch              |    2 +-
 debian/patches/eclipse-manpage.patch               |    2 +-
 debian/patches/fix-shell-script-perm.patch         |    4 +-
 debian/patches/fix-tooltip-color.patch             |    2 +-
 debian/patches/lucene.patch                        |    8 +-
 debian/patches/osgi-services-symlink-javax.patch   |    4 +-
 debian/patches/osgi-services.patch                 |    6 +-
 debian/patches/series                              |    1 -
 debian/patches/swt-compile-xpt.patch               |    4 +-
 debian/patches/symlink-system-files.patch          |    6 +-
 eclipse.1.xml                                      |  616 ++++++++++++++++++++
 .../internal/jsp/jasper/JspClassLoader.java        |   15 +
 .../org.eclipse.help.base/META-INF/MANIFEST.MF     |    4 +-
 .../jdt/internal/compiler/batch/GCCMain.java       |  501 ++++++++++++++++
 .../internal/compiler/batch/messages.properties    |    5 +
 .../compiler/batch/messages.properties.orig        |  341 +++++++++++
 nonosgidependencies.properties                     |    5 +
 patches/eclipse-swt-buildagainstxulrunner.patch    |    4 +-
 patches/eclipse-swt-compile-xpt.patch              |   31 +
 patches/osgi-services-build.patch                  |   58 ++
 patches/tooltip-color.patch                        |   47 ++
 pdebuild.xml                                       |    3 +-
 pdebuild/eclipse-pdebuild.sh                       |   24 +-
 stubs/org/eclipse/core/runtime/CoreException.java  |    4 +
 stubs/org/eclipse/core/runtime/IExtension.java     |    2 +
 .../org/eclipse/core/runtime/IExtensionPoint.java  |    2 +
 stubs/org/eclipse/core/runtime/ILibrary.java       |    2 +
 stubs/org/eclipse/core/runtime/IPath.java          |    2 +
 .../eclipse/core/runtime/IPluginPrerequisite.java  |    2 +
 stubs/org/eclipse/core/runtime/Plugin.java         |    2 +
 .../core/runtime/PluginVersionIdentifier.java      |    2 +
 35 files changed, 1734 insertions(+), 470 deletions(-)

diff --git a/build.xml b/build.xml
index 67a61d2..4cd7fc3 100644
--- a/build.xml
+++ b/build.xml
@@ -21,7 +21,7 @@
 		</or>
 	</condition>
 
-	<available file="eclipse-build-generatedScripts.tar.bz2" property="scriptsPresent" value="true" />
+	<available file="${basedir}/debian/eclipse-build-generatedScripts.tar.bz2" property="scriptsPresent" value="true" />
 	<available file="eclipse-sdktests-${label}-src.tar.bz2" property="testsSourcePresent" value="true" />
 	<available file="eclipse-sdktests-${label}-scripts.tar.bz2" property="testsScriptsPresent" value="true" />
 
@@ -31,6 +31,7 @@
 	<uptodate property="buildId.complete" srcfile="unpack-stamp" targetfile="buildId-stamp" />
 	<uptodate property="patch.complete" srcfile="unpack-stamp" targetfile="patch-stamp" />
 	<uptodate property="symlinks.complete" srcfile="patch-stamp" targetfile="symlinks-stamp" />
+	<uptodate property="prebootstrap.complete" srcfile="symlinks-stamp" targetfile="prebootstrap-stamp" />
 	<uptodate property="testspatch.complete" srcfile="testsunpack-stamp" targetfile="testspatch-stamp" />
 	<uptodate property="compilelibs.complete" srcfile="unpack-stamp" targetfile="compilelibs-stamp" />
 	<uptodate property="build.complete" srcfile="patch-stamp" targetfile="build-stamp" />
@@ -109,7 +110,7 @@
 	</target>
 
 	<target name="extractBuildXmls" if="scriptsPresent">
-		<untar compression="bzip2" dest="${basedir}/build/eclipse-${label}-src" src="${basedir}/eclipse-build-generatedScripts.tar.bz2" />
+		<untar compression="bzip2" dest="${basedir}/build/eclipse-${label}-src" src="${basedir}/debian/eclipse-build-generatedScripts.tar.bz2" />
 		<!--
 		<fail message="Build scripts to bootstrap PDE Build must be generated and present in eclipse-build-generatedScripts.tar.bz2.  See pdebuild.xml for details."/>
 		-->
@@ -250,6 +251,7 @@
 		<patch patchfile="${basedir}/patches/donotstorebuildlogsinfiles.patch" dir="${buildDirectory}" strip="3" />
 		<patch patchfile="${basedir}/patches/donotsetjavahomeandoptimizeliblocalfile.patch" dir="${buildDirectory}" strip="0" />
 		<patch patchfile="${basedir}/patches/eclipse-pde.build-add-package-build.patch" dir="${buildDirectory}/plugins/org.eclipse.pde.build" strip="0" />
+		<chmod dir="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build" includes="*.sh" perm="a+x" />
 		<patch patchfile="${basedir}/patches/gnomeproxy-makefile.patch" dir="${buildDirectory}" strip="1" />
 		<patch patchfile="${basedir}/patches/eclipse-no-jetty5.patch" dir="${buildDirectory}" strip="1" />
 		<patch patchfile="${basedir}/patches/eclipse-nosourcebundlesfordependencies.patch" dir="${buildDirectory}" strip="1" />
@@ -257,6 +259,10 @@
 		<patch patchfile="${basedir}/patches/junit4-nochecksum.patch" dir="${buildDirectory}"  strip="0" />
 		<patch patchfile="${basedir}/patches/swt_webkit.patch" dir="${buildDirectory}"  strip="0" />
 		<patch patchfile="${basedir}/patches/osgi-util.patch" dir="${buildDirectory}" strip="1" />
+		<patch patchfile="${basedir}/patches/osgi-services-build.patch" dir="${buildDirectory}" strip="1" />
+		<symlink link="${buildDirectory}/plugins/org.eclipse.osgi.services/src/javax" resource="../../org.eclipse.equinox.io/src/javax/" />
+		<patch patchfile="${basedir}/patches/eclipse-swt-compile-xpt.patch" dir="${buildDirectory}" strip="1" />
+		<patch patchfile="${basedir}/patches/tooltip-color.patch" dir="${buildDirectory}" strip="1" />
 		<replace file="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build/build.properties" token="/usr/share/eclipse" value="/usr/${libDir}/eclipse" />
 		<chmod dir="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build" includes="*.sh" perm="a+x" />
 		<!-- end eclipse-build-only patches -->
@@ -320,7 +326,50 @@
 		<echo file="symlinks-stamp" />
 	</target>
 
-	<target name="build" depends="applyPatches,symlinkDeps,bootstrap,compilelibs" unless="build.complete">
+	<target name="prebootstrap" depends="symlinkDeps" unless="prebootstrap.complete">
+		<mkdir dir="${basedir}/temp/" />
+		<javac destdir="${basedir}/temp"
+			srcdir="${buildDirectory}/plugins/org.eclipse.jdt.ui/jar in jar loader/"
+			source="1.3"
+			target="1.1"
+			debug="true"
+			optimize="true"
+			fork="true"
+			compiler="modern" />
+		<zip destfile="${buildDirectory}/plugins/org.eclipse.jdt.ui/jar-in-jar-loader.zip"
+			basedir="${basedir}/temp/"/>
+		<delete dir="${basedir}/temp/"/>
+		<mkdir dir="${basedir}/temp/" />
+		<copy todir="${basedir}/temp/" >
+			<fileset dir="${basedir}/stubs/">
+				<include name="**/*.java" />
+			</fileset>
+		</copy>
+		<copy todir="${basedir}/temp" >
+			<fileset dir="${buildDirectory}/plugins/org.eclipse.core.runtime/src/">
+				<include name="org/eclipse/core/runtime/IPluginDescriptor.java" />
+			</fileset>
+		</copy>
+		<javac destdir="${basedir}/temp"
+			srcdir="${basedir}/temp"
+			source="1.3"
+			target="1.1"
+			debug="true"
+			optimize="true"
+			fork="true"
+			compiler="modern" />
+		<mkdir dir="${buildDirectory}/plugins/org.eclipse.core.runtime.compatibility.registry/classes/org/eclipse/core/runtime/" />
+		<copy todir="${buildDirectory}/plugins/org.eclipse.core.runtime.compatibility.registry/classes/" >
+			<fileset dir="${basedir}/temp/">
+				<include name="org/eclipse/core/runtime/IPluginDescriptor.class" />
+			</fileset>
+		</copy>
+		<delete dir="${basedir}/temp/"/>
+		<!-- Create a stamp file -->
+		<echo file="prebootstrap-stamp" />
+	</target>
+
+	<target name="build" depends="applyPatches,symlinkDeps,prebootstrap,bootstrap,compilelibs" unless="build.complete">
 		<echo message="build.xml:  eclipse.pdebuild.scripts = ${eclipse.pdebuild.scripts}" />
 		<java classname="org.eclipse.equinox.launcher.Main" fork="true" dir="${basedir}" failonerror="true">
 			<classpath>
@@ -751,6 +800,12 @@
 		<!-- eclipse binary -->
 		<mkdir dir="${destDir}${prefix}/bin" />
 		<symlink link="${destDir}${prefix}/bin/eclipse" resource="../${libDir}/eclipse/eclipse" />
+		<!-- eclipse manpage -->
+		<mkdir dir="${destDir}${prefix}/share/man/man1" />
+		<exec executable="docbook2x-man" failonerror="true">
+			<arg value="eclipse.1.xml" />
+		</exec>
+		<move file="eclipse.1" tofile="${destDir}${prefix}/share/man/man1/eclipse.1" />
 		<!-- Create the "startup.jar" symlink -->
 		<fileset dir="${destDir}/${prefix}/${libDir}/eclipse/plugins" includes="org.eclipse.equinox.launcher_*" id="startupjar" />
 		<property name="startupjarpath" refid="startupjar" />
diff --git a/debian/patches/bp-hover-visability.patch b/debian/patches/bp-hover-visability.patch
deleted file mode 100644
index 6f702d4..0000000
--- a/debian/patches/bp-hover-visability.patch
+++ /dev/null
@@ -1,428 +0,0 @@
-Description: Backported fix for hover text visability problem.
-Origin: Upstream, https://bugs.eclipse.org/bugs/show_bug.cgi?id=312966
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/light-themes/+bug/540332
-
---- a/eclipse/plugins/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/SourceViewerInformationControl.java
-+++ b/eclipse/plugins/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/hover/SourceViewerInformationControl.java
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * 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
-@@ -48,7 +48,9 @@
- import org.eclipse.jface.text.source.ISourceViewer;
- import org.eclipse.jface.text.source.SourceViewer;
- 
-+import org.eclipse.jdt.ui.JavaUI;
- import org.eclipse.jdt.ui.PreferenceConstants;
-+import org.eclipse.jdt.ui.text.IJavaColorConstants;
- import org.eclipse.jdt.ui.text.IJavaPartitions;
- 
- import org.eclipse.jdt.internal.ui.JavaPlugin;
-@@ -90,6 +92,11 @@
- 	 */
- 	private Font fStatusTextFont;
- 	/**
-+	 * The color of the optional status text label or <code>null</code> if none.
-+	 * @since 3.6
-+	 */
-+	private Color fStatusTextForegroundColor;
-+	/**
- 	 * The width size constraint.
- 	 * @since 3.2
- 	 */
-@@ -198,15 +205,42 @@
- 			fStatusField.setFont(fStatusTextFont);
- 			GridData gd2= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- 			fStatusField.setLayoutData(gd2);
--
--			// Regarding the color see bug 41128
--			fStatusField.setForeground(display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-+			
-+			RGB javaDefaultColor= JavaUI.getColorManager().getColor(IJavaColorConstants.JAVA_DEFAULT).getRGB();
-+			fStatusTextForegroundColor= new Color(fStatusField.getDisplay(), blend(fBackgroundColor.getRGB(), javaDefaultColor, 0.56f));
-+			fStatusField.setForeground(fStatusTextForegroundColor);
- 			fStatusField.setBackground(fBackgroundColor);
- 		}
- 
- 		addDisposeListener(this);
- 	}
- 
-+	/**
-+	 * Returns an RGB that lies between the given foreground and background
-+	 * colors using the given mixing factor. A <code>factor</code> of 1.0 will produce a
-+	 * color equal to <code>fg</code>, while a <code>factor</code> of 0.0 will produce one
-+	 * equal to <code>bg</code>.
-+	 * @param bg the background color
-+	 * @param fg the foreground color
-+	 * @param factor the mixing factor, must be in [0,&nbsp;1]
-+	 *
-+	 * @return the interpolated color
-+	 * @since 3.6
-+	 */
-+	private static RGB blend(RGB bg, RGB fg, float factor) {
-+		// copy of org.eclipse.jface.internal.text.revisions.Colors#blend(..)
-+		Assert.isLegal(bg != null);
-+		Assert.isLegal(fg != null);
-+		Assert.isLegal(factor >= 0f && factor <= 1f);
-+		
-+		float complement= 1f - factor;
-+		return new RGB(
-+				(int) (complement * bg.red + factor * fg.red),
-+				(int) (complement * bg.green + factor * fg.green),
-+				(int) (complement * bg.blue + factor * fg.blue)
-+		);
-+	}
-+	
- 	private void initializeColors() {
- 		RGB bgRGB= getHoverBackgroundColorRGB();
- 		if (bgRGB != null) {
-@@ -274,8 +308,12 @@
- 	public void widgetDisposed(DisposeEvent event) {
- 		if (fStatusTextFont != null && !fStatusTextFont.isDisposed())
- 			fStatusTextFont.dispose();
--
- 		fStatusTextFont= null;
-+
-+		if (fStatusTextForegroundColor != null && !fStatusTextForegroundColor.isDisposed())
-+			fStatusTextForegroundColor.dispose();
-+		fStatusTextForegroundColor= null;
-+
- 		fTextFont= null;
- 		fShell= null;
- 		fText= null;
---- a/eclipse/plugins/org.eclipse.jface/src/org/eclipse/jface/dialogs/PopupDialog.java
-+++ b/eclipse/plugins/org.eclipse.jface/src/org/eclipse/jface/dialogs/PopupDialog.java
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2005, 2008 IBM Corporation and others.
-+ * 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
-@@ -14,6 +14,7 @@
- import java.util.ArrayList;
- import java.util.List;
- 
-+import org.eclipse.core.runtime.Assert;
- import org.eclipse.jface.action.Action;
- import org.eclipse.jface.action.GroupMarker;
- import org.eclipse.jface.action.IAction;
-@@ -36,9 +37,11 @@
- import org.eclipse.swt.graphics.Font;
- import org.eclipse.swt.graphics.FontData;
- import org.eclipse.swt.graphics.Point;
-+import org.eclipse.swt.graphics.RGB;
- import org.eclipse.swt.graphics.Rectangle;
- import org.eclipse.swt.widgets.Composite;
- import org.eclipse.swt.widgets.Control;
-+import org.eclipse.swt.widgets.Display;
- import org.eclipse.swt.widgets.Event;
- import org.eclipse.swt.widgets.Label;
- import org.eclipse.swt.widgets.Listener;
-@@ -321,6 +324,12 @@
- 	private Control titleSeparator, infoSeparator;
- 
- 	/**
-+	 * Color to be used for the info area text.
-+	 * @since 3.6
-+	 */
-+	private Color infoColor;
-+	
-+	/**
- 	 * Font to be used for the info area text. Computed based on the dialog's
- 	 * font.
- 	 */
-@@ -856,12 +865,42 @@
- 		
- 		GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL,
- 				SWT.BEGINNING).applyTo(infoLabel);
--		infoLabel.setForeground(parent.getDisplay().getSystemColor(
--				SWT.COLOR_WIDGET_DARK_SHADOW));
-+		Display display = parent.getDisplay();
-+		infoColor = new Color(display, blend(
-+				display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB(),
-+				display.getSystemColor(SWT.COLOR_INFO_FOREGROUND).getRGB(),
-+				0.56f));
-+		infoLabel.setForeground(infoColor);
- 		return infoLabel;
- 	}
- 
- 	/**
-+	 * Returns an RGB that lies between the given foreground and background
-+	 * colors using the given mixing factor. A <code>factor</code> of 1.0 will produce a
-+	 * color equal to <code>fg</code>, while a <code>factor</code> of 0.0 will produce one
-+	 * equal to <code>bg</code>.
-+	 * @param bg the background color
-+	 * @param fg the foreground color
-+	 * @param factor the mixing factor, must be in [0,&nbsp;1]
-+	 *
-+	 * @return the interpolated color
-+	 * @since 3.6
-+	 */
-+	private static RGB blend(RGB bg, RGB fg, float factor) {
-+		// copy of org.eclipse.jface.internal.text.revisions.Colors#blend(..)
-+		Assert.isLegal(bg != null);
-+		Assert.isLegal(fg != null);
-+		Assert.isLegal(factor >= 0f && factor <= 1f);
-+		
-+		float complement = 1f - factor;
-+		return new RGB(
-+				(int) (complement * bg.red + factor * fg.red),
-+				(int) (complement * bg.green + factor * fg.green),
-+				(int) (complement * bg.blue + factor * fg.blue)
-+		);
-+	}
-+	
-+	/**
- 	 * Create a horizontal separator for the given parent.
- 	 * 
- 	 * @param parent
-@@ -1586,6 +1625,10 @@
- 	 * 
- 	 */
- 	private void handleDispose() {
-+		if (infoColor != null && !infoColor.isDisposed()) {
-+			infoColor.dispose();
-+		}
-+		infoColor = null;
- 		if (infoFont != null && !infoFont.isDisposed()) {
- 			infoFont.dispose();
- 		}
---- a/eclipse/plugins/org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/SourceViewerInformationControl.java
-+++ b/eclipse/plugins/org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/SourceViewerInformationControl.java
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * 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
-@@ -22,6 +22,7 @@
- import org.eclipse.swt.graphics.FontData;
- import org.eclipse.swt.graphics.GC;
- import org.eclipse.swt.graphics.Point;
-+import org.eclipse.swt.graphics.RGB;
- import org.eclipse.swt.graphics.Rectangle;
- import org.eclipse.swt.layout.GridData;
- import org.eclipse.swt.layout.GridLayout;
-@@ -31,6 +32,8 @@
- import org.eclipse.swt.widgets.Label;
- import org.eclipse.swt.widgets.Shell;
- 
-+import org.eclipse.core.runtime.Assert;
-+
- import org.eclipse.jface.resource.JFaceResources;
- 
- import org.eclipse.jface.text.Document;
-@@ -67,6 +70,11 @@
- 	private Label fSeparator;
- 	/** The font of the optional status text label.*/
- 	private Font fStatusTextFont;
-+	/**
-+	 * The color of the optional status text label or <code>null</code> if none.
-+	 * @since 3.6
-+	 */
-+	private Color fStatusTextForegroundColor;
- 	/** The maximal widget width. */
- 	private int fMaxWidth;
- 	/** The maximal widget height. */
-@@ -158,8 +166,8 @@
- 			GridData gd2= new GridData(GridData.FILL_VERTICAL | GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
- 			fStatusField.setLayoutData(gd2);
- 
--			// Regarding the color see bug 41128
--			fStatusField.setForeground(display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-+			fStatusTextForegroundColor= new Color(fStatusField.getDisplay(), blend(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB(), display.getSystemColor(SWT.COLOR_INFO_FOREGROUND).getRGB(), 0.56f));
-+			fStatusField.setForeground(fStatusTextForegroundColor);
- 
- 			fStatusField.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- 		}
-@@ -168,6 +176,32 @@
- 	}
- 
- 	/**
-+	 * Returns an RGB that lies between the given foreground and background
-+	 * colors using the given mixing factor. A <code>factor</code> of 1.0 will produce a
-+	 * color equal to <code>fg</code>, while a <code>factor</code> of 0.0 will produce one
-+	 * equal to <code>bg</code>.
-+	 * @param bg the background color
-+	 * @param fg the foreground color
-+	 * @param factor the mixing factor, must be in [0,&nbsp;1]
-+	 *
-+	 * @return the interpolated color
-+	 * @since 3.6
-+	 */
-+	private static RGB blend(RGB bg, RGB fg, float factor) {
-+		// copy of org.eclipse.jface.internal.text.revisions.Colors#blend(..)
-+		Assert.isLegal(bg != null);
-+		Assert.isLegal(fg != null);
-+		Assert.isLegal(factor >= 0f && factor <= 1f);
-+		
-+		float complement= 1f - factor;
-+		return new RGB(
-+				(int) (complement * bg.red + factor * fg.red),
-+				(int) (complement * bg.green + factor * fg.green),
-+				(int) (complement * bg.blue + factor * fg.blue)
-+		);
-+	}
-+	
-+	/**
- 	 * @see org.eclipse.jface.text.IInformationControlExtension2#setInput(java.lang.Object)
- 	 * @param input the input object
- 	 */
-@@ -204,8 +238,11 @@
- 	public void widgetDisposed(DisposeEvent event) {
- 		if (fStatusTextFont != null && !fStatusTextFont.isDisposed())
- 			fStatusTextFont.dispose();
--
- 		fStatusTextFont= null;
-+		if (fStatusTextForegroundColor != null && !fStatusTextForegroundColor.isDisposed())
-+			fStatusTextForegroundColor.dispose();
-+		fStatusTextForegroundColor= null;
-+		
- 		fTextFont= null;
- 		fShell= null;
- 		fText= null;
---- a/eclipse/plugins/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java
-+++ b/eclipse/plugins/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java
-@@ -43,6 +43,7 @@
- import org.eclipse.core.runtime.ListenerList;
- 
- import org.eclipse.jface.action.ToolBarManager;
-+import org.eclipse.jface.internal.text.revisions.Colors;
- import org.eclipse.jface.resource.JFaceResources;
- import org.eclipse.jface.util.Geometry;
- 
-@@ -85,6 +86,11 @@
- 	 * @since 3.4.2
- 	 */
- 	private Font fStatusLabelFont;
-+	/**
-+	 * Color for the label in the status line or <code>null</code> if none.
-+	 * @since 3.6
-+	 */
-+	private Color fStatusLabelForeground;
- 	/** The toolbar manager used by the toolbar or <code>null</code> if none. */
- 	private final ToolBarManager fToolBarManager;
- 	/** Status line toolbar or <code>null</code> if none. */
-@@ -224,8 +230,9 @@
- 		}
- 		fStatusLabelFont= new Font(fStatusLabel.getDisplay(), fontDatas);
- 		fStatusLabel.setFont(fStatusLabelFont);
--
--		fStatusLabel.setForeground(fStatusLabel.getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-+		
-+		fStatusLabelForeground= new Color(fStatusLabel.getDisplay(), Colors.blend(background.getRGB(), foreground.getRGB(), 0.56f));
-+		fStatusLabel.setForeground(fStatusLabelForeground);
- 		fStatusLabel.setBackground(background);
- 		setColor(fStatusComposite, foreground, background);
- 	}
-@@ -672,6 +679,10 @@
- 			fShell.removeListener(SWT.Deactivate, fShellListener);
- 			fShellListener= null;
- 		}
-+		if (fStatusLabelForeground != null) {
-+			fStatusLabelForeground.dispose();
-+			fStatusLabelForeground= null;
-+		}
- 	}
- 
- 	/**
---- a/eclipse/plugins/org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/SourceViewerInformationControl.java
-+++ b/eclipse/plugins/org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/SourceViewerInformationControl.java
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * 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
-@@ -22,6 +22,7 @@
- import org.eclipse.swt.graphics.FontData;
- import org.eclipse.swt.graphics.GC;
- import org.eclipse.swt.graphics.Point;
-+import org.eclipse.swt.graphics.RGB;
- import org.eclipse.swt.graphics.Rectangle;
- import org.eclipse.swt.layout.GridData;
- import org.eclipse.swt.layout.GridLayout;
-@@ -31,6 +32,8 @@
- import org.eclipse.swt.widgets.Label;
- import org.eclipse.swt.widgets.Shell;
- 
-+import org.eclipse.core.runtime.Assert;
-+
- import org.eclipse.jface.resource.JFaceResources;
- 
- import org.eclipse.jface.text.BadLocationException;
-@@ -73,6 +76,11 @@
- 	private Label fSeparator;
- 	/** The font of the optional status text label.*/
- 	private Font fStatusTextFont;
-+	/**
-+	 * The color of the optional status text label or <code>null</code> if none.
-+	 * @since 3.6
-+	 */
-+	private Color fStatusTextForegroundColor;
- 	/** The maximal widget width. */
- 	private int fMaxWidth;
- 	/** The maximal widget height. */
-@@ -167,8 +175,8 @@
- 			GridData gd2= new GridData(GridData.FILL_VERTICAL | GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
- 			fStatusField.setLayoutData(gd2);
- 
--			// Regarding the color see bug 41128
--			fStatusField.setForeground(display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-+			fStatusTextForegroundColor= new Color(fStatusField.getDisplay(), blend(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB(), display.getSystemColor(SWT.COLOR_INFO_FOREGROUND).getRGB(), 0.56f));
-+			fStatusField.setForeground(fStatusTextForegroundColor);
- 
- 			fStatusField.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- 		}
-@@ -176,6 +184,32 @@
- 		addDisposeListener(this);
- 	}
- 
-+	/**
-+	 * Returns an RGB that lies between the given foreground and background
-+	 * colors using the given mixing factor. A <code>factor</code> of 1.0 will produce a
-+	 * color equal to <code>fg</code>, while a <code>factor</code> of 0.0 will produce one
-+	 * equal to <code>bg</code>.
-+	 * @param bg the background color
-+	 * @param fg the foreground color
-+	 * @param factor the mixing factor, must be in [0,&nbsp;1]
-+	 *
-+	 * @return the interpolated color
-+	 * @since 3.6
-+	 */
-+	private static RGB blend(RGB bg, RGB fg, float factor) {
-+		// copy of org.eclipse.jface.internal.text.revisions.Colors#blend(..)
-+		Assert.isLegal(bg != null);
-+		Assert.isLegal(fg != null);
-+		Assert.isLegal(factor >= 0f && factor <= 1f);
-+		
-+		float complement= 1f - factor;
-+		return new RGB(
-+				(int) (complement * bg.red + factor * fg.red),
-+				(int) (complement * bg.green + factor * fg.green),
-+				(int) (complement * bg.blue + factor * fg.blue)
-+		);
-+	}
-+	
- 	/*
- 	 * @see org.eclipse.jface.text.IInformationControlExtension2#setInput(java.lang.Object)
- 	 */
-@@ -217,8 +251,11 @@
- 	public void widgetDisposed(DisposeEvent event) {
- 		if (fStatusTextFont != null && !fStatusTextFont.isDisposed())
- 			fStatusTextFont.dispose();
--
- 		fStatusTextFont= null;
-+		if (fStatusTextForegroundColor != null && !fStatusTextForegroundColor.isDisposed())
-+			fStatusTextForegroundColor.dispose();
-+		fStatusTextForegroundColor= null;
-+		
- 		fTextFont= null;
- 		fShell= null;
- 		fText= null;
diff --git a/debian/patches/compile-IPluginDescriptor.patch b/debian/patches/compile-IPluginDescriptor.patch
index 85997e7..5e476ad 100644
--- a/debian/patches/compile-IPluginDescriptor.patch
+++ b/debian/patches/compile-IPluginDescriptor.patch
@@ -4,7 +4,7 @@ Forwarded: no
 
 --- a/build.xml
 +++ b/build.xml
-@@ -349,6 +349,32 @@
+@@ -336,6 +336,32 @@
  		<zip destfile="${buildDirectory}/plugins/org.eclipse.jdt.ui/jar-in-jar-loader.zip"
  			basedir="${basedir}/temp/"/>
  		<delete dir="${basedir}/temp/"/>
diff --git a/debian/patches/compile-jarinjarloader.patch b/debian/patches/compile-jarinjarloader.patch
index 5f498b7..11ae67d 100644
--- a/debian/patches/compile-jarinjarloader.patch
+++ b/debian/patches/compile-jarinjarloader.patch
@@ -12,7 +12,7 @@ Forwarded: no
  	<uptodate property="testspatch.complete" srcfile="testsunpack-stamp" targetfile="testspatch-stamp" />
  	<uptodate property="compilelibs.complete" srcfile="unpack-stamp" targetfile="compilelibs-stamp" />
  	<uptodate property="build.complete" srcfile="patch-stamp" targetfile="build-stamp" />
-@@ -335,7 +336,24 @@
+@@ -322,7 +323,24 @@
  		<echo file="symlinks-stamp" />
  	</target>
  
diff --git a/debian/patches/ecj-gccmain-java.patch b/debian/patches/ecj-gccmain-java.patch
index 5f765e1..2858012 100644
--- a/debian/patches/ecj-gccmain-java.patch
+++ b/debian/patches/ecj-gccmain-java.patch
@@ -507,7 +507,7 @@ Origin: Vendor, http://packages.qa.debian.org/e/ecj.html
 +}
 --- a/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
 +++ b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
-@@ -300,3 +300,8 @@
+@@ -334,3 +334,8 @@
  \      uselessTypeCheck     unnecessary cast/instanceof operation\n\
  \      varargsCast        + varargs argument need explicit cast\n\
  \      warningToken       + unsupported or unnecessary @SuppressWarnings\n
diff --git a/debian/patches/eclipse-manpage.patch b/debian/patches/eclipse-manpage.patch
index 176cc51..0ce97dd 100644
--- a/debian/patches/eclipse-manpage.patch
+++ b/debian/patches/eclipse-manpage.patch
@@ -624,7 +624,7 @@ Bug-Ubuntu: https://launchpad.net/bugs/494065
 +</refentry>
 --- a/build.xml
 +++ b/build.xml
-@@ -770,6 +770,12 @@
+@@ -753,6 +753,12 @@
  		<!-- eclipse binary -->
  		<mkdir dir="${destDir}${prefix}/bin" />
  		<symlink link="${destDir}${prefix}/bin/eclipse" resource="../${libDir}/eclipse/eclipse" />
diff --git a/debian/patches/fix-shell-script-perm.patch b/debian/patches/fix-shell-script-perm.patch
index 3db3707..9f8158f 100644
--- a/debian/patches/fix-shell-script-perm.patch
+++ b/debian/patches/fix-shell-script-perm.patch
@@ -5,9 +5,9 @@ Applied-Upstream: no
 
 --- a/build.xml
 +++ b/build.xml
-@@ -251,6 +251,7 @@
+@@ -250,6 +250,7 @@
  		<patch patchfile="${basedir}/patches/donotstorebuildlogsinfiles.patch" dir="${buildDirectory}" strip="3" />
- 		<patch patchfile="${basedir}/patches/donotsetjavahomeandoptimizeliblocalfile.patch" dir="${buildDirectory}" strip="3" />
+ 		<patch patchfile="${basedir}/patches/donotsetjavahomeandoptimizeliblocalfile.patch" dir="${buildDirectory}" strip="0" />
  		<patch patchfile="${basedir}/patches/eclipse-pde.build-add-package-build.patch" dir="${buildDirectory}/plugins/org.eclipse.pde.build" strip="0" />
 +		<chmod dir="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build" includes="*.sh" perm="a+x" />
  		<patch patchfile="${basedir}/patches/gnomeproxy-makefile.patch" dir="${buildDirectory}" strip="1" />
diff --git a/debian/patches/fix-tooltip-color.patch b/debian/patches/fix-tooltip-color.patch
index aab3461..49448d1 100644
--- a/debian/patches/fix-tooltip-color.patch
+++ b/debian/patches/fix-tooltip-color.patch
@@ -5,7 +5,7 @@ Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/light-themes/+bug/540332
 
 --- a/build.xml
 +++ b/build.xml
-@@ -263,6 +263,7 @@
+@@ -262,6 +262,7 @@
  		<patch patchfile="${basedir}/patches/osgi-services-build.patch" dir="${buildDirectory}" strip="1" />
  		<symlink link="${buildDirectory}/plugins/org.eclipse.osgi.services/src/javax" resource="../../org.eclipse.equinox.io/src/javax/" />
  		<patch patchfile="${basedir}/patches/eclipse-swt-compile-xpt.patch" dir="${buildDirectory}" strip="1" />
diff --git a/debian/patches/lucene.patch b/debian/patches/lucene.patch
index 8308818..7488590 100644
--- a/debian/patches/lucene.patch
+++ b/debian/patches/lucene.patch
@@ -3,7 +3,7 @@ Author: Niels Thykier <niels at thykier.net>
 
 --- a/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF
 +++ b/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF
-@@ -36,8 +36,8 @@
+@@ -39,8 +39,8 @@
   org.eclipse.help.search,
   org.eclipse.help.server,
   org.eclipse.help.standalone
@@ -11,6 +11,6 @@ Author: Niels Thykier <niels at thykier.net>
 - org.apache.lucene.analysis;bundle-version="[1.9.1,2.0.0)";visibility:=reexport,
 +Require-Bundle: org.apache.lucene;visibility:=reexport,
 + org.apache.lucene.analysis;visibility:=reexport,
-  org.eclipse.ant.core;bundle-version="3.2.100";resolution:=optional,
-  org.eclipse.core.runtime;bundle-version="3.3.0",
-  org.eclipse.help;bundle-version="[3.3.0,4.0.0)";visibility:=reexport,
+  org.eclipse.ant.core;bundle-version="3.2.200";resolution:=optional,
+  org.eclipse.core.runtime;bundle-version="3.6.0",
+  org.eclipse.help;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
diff --git a/debian/patches/osgi-services-symlink-javax.patch b/debian/patches/osgi-services-symlink-javax.patch
index f017bc9..0aac59b 100644
--- a/debian/patches/osgi-services-symlink-javax.patch
+++ b/debian/patches/osgi-services-symlink-javax.patch
@@ -4,8 +4,8 @@ Forwarded: No
 
 --- a/build.xml
 +++ b/build.xml
-@@ -261,6 +261,7 @@
- 		<patch patchfile="${basedir}/patches/droppluginversions.patch" dir="${buildDirectory}"  strip="0" />
+@@ -260,6 +260,7 @@
+ 		<patch patchfile="${basedir}/patches/swt_webkit.patch" dir="${buildDirectory}"  strip="0" />
  		<patch patchfile="${basedir}/patches/osgi-util.patch" dir="${buildDirectory}" strip="1" />
  		<patch patchfile="${basedir}/patches/osgi-services-build.patch" dir="${buildDirectory}" strip="1" />
 +		<symlink link="${buildDirectory}/plugins/org.eclipse.osgi.services/src/javax" resource="../../org.eclipse.equinox.io/src/javax/" />
diff --git a/debian/patches/osgi-services.patch b/debian/patches/osgi-services.patch
index f5c273c..e67711c 100644
--- a/debian/patches/osgi-services.patch
+++ b/debian/patches/osgi-services.patch
@@ -5,9 +5,9 @@ Applied-Upstream: no
 
 --- a/build.xml
 +++ b/build.xml
-@@ -258,6 +258,7 @@
- 		<patch patchfile="${basedir}/patches/addEcfQualifiers.patch" dir="${buildDirectory}"  strip="0" />
- 		<patch patchfile="${basedir}/patches/droppluginversions.patch" dir="${buildDirectory}"  strip="0" />
+@@ -257,6 +257,7 @@
+ 		<patch patchfile="${basedir}/patches/junit4-nochecksum.patch" dir="${buildDirectory}"  strip="0" />
+ 		<patch patchfile="${basedir}/patches/swt_webkit.patch" dir="${buildDirectory}"  strip="0" />
  		<patch patchfile="${basedir}/patches/osgi-util.patch" dir="${buildDirectory}" strip="1" />
 +		<patch patchfile="${basedir}/patches/osgi-services-build.patch" dir="${buildDirectory}" strip="1" />
  		<replace file="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build/build.properties" token="/usr/share/eclipse" value="/usr/${libDir}/eclipse" />
diff --git a/debian/patches/series b/debian/patches/series
index 27f2dff..a0428ff 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,4 +14,3 @@ osgi-services-symlink-javax.patch
 ecj-gccmain-java.patch
 fix-help-contents.patch
 fix-tooltip-color.patch
-bp-hover-visability.patch
diff --git a/debian/patches/swt-compile-xpt.patch b/debian/patches/swt-compile-xpt.patch
index 85919f2..0379d2d 100644
--- a/debian/patches/swt-compile-xpt.patch
+++ b/debian/patches/swt-compile-xpt.patch
@@ -4,8 +4,8 @@ Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=304112
 
 --- a/build.xml
 +++ b/build.xml
-@@ -261,6 +261,7 @@
- 		<patch patchfile="${basedir}/patches/droppluginversions.patch" dir="${buildDirectory}"  strip="0" />
+@@ -260,6 +260,7 @@
+ 		<patch patchfile="${basedir}/patches/swt_webkit.patch" dir="${buildDirectory}"  strip="0" />
  		<patch patchfile="${basedir}/patches/osgi-util.patch" dir="${buildDirectory}" strip="1" />
  		<patch patchfile="${basedir}/patches/osgi-services-build.patch" dir="${buildDirectory}" strip="1" />
 +		<patch patchfile="${basedir}/patches/eclipse-swt-compile-xpt.patch" dir="${buildDirectory}" strip="1" />
diff --git a/debian/patches/symlink-system-files.patch b/debian/patches/symlink-system-files.patch
index 877467b..f92e031 100644
--- a/debian/patches/symlink-system-files.patch
+++ b/debian/patches/symlink-system-files.patch
@@ -3,10 +3,10 @@ Author: Benjamin Drung <bdrung at ubuntu.com>
 
 --- a/nonosgidependencies.properties
 +++ b/nonosgidependencies.properties
-@@ -18,3 +18,8 @@
- org.apache.ant_1.7.1.v20090120-1145/lib/ant-trax.jar=/usr/share/java/ant/ant-trax.jar:/usr/share/java/ant-trax.jar
- org.junit_3.8.2.v20090203-1005/junit.jar=/usr/share/java/junit.jar
+@@ -19,3 +19,8 @@
+ org.junit_3.8.2.v3_8_2_v20100427-1100/junit.jar=/usr/share/java/junit.jar
  org.junit4/junit.jar=/usr/share/java/junit4.jar
+ org.junit_4.8.1.v4_8_1_v20100427-1100/junit.jar=/usr/share/java/junit4.jar
 +org.apache.ant_1.7.1.v20090120-1145/bin/ant=/usr/share/ant/bin/ant
 +org.apache.ant_1.7.1.v20090120-1145/bin/antRun=/usr/share/ant/bin/antRun
 +org.apache.ant_1.7.1.v20090120-1145/bin/antRun.pl=/usr/share/ant/bin/antRun.pl
diff --git a/eclipse.1.xml b/eclipse.1.xml
new file mode 100644
index 0000000..1d93aaf
--- /dev/null
+++ b/eclipse.1.xml
@@ -0,0 +1,616 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!-- lifted from troff+man by doclifter -->
+<refentry id='eclipse1'>
+<refmeta>
+<refentrytitle>eclipse</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+<refnamediv id='name'>
+<refname>eclipse</refname>
+<refpurpose>extensible tool platform and Java IDE</refpurpose>
+</refnamediv>
+<!-- body begins here -->
+<refsynopsisdiv id='synopsis'>
+<cmdsynopsis>
+  <command>eclipse</command>
+    <arg choice='opt'><arg choice='plain'><replaceable>platform</replaceable></arg><arg choice='plain'><replaceable>options</replaceable></arg></arg>
+    <arg choice='opt'><arg choice='plain'><option>-vmargs </option></arg><arg choice='opt'><arg choice='plain'><replaceable>Java</replaceable></arg><arg choice='plain'><replaceable>VM</replaceable></arg><arg choice='plain'><replaceable>arguments</replaceable></arg></arg></arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+
+<refsect1 id='description'><title>DESCRIPTION</title>
+<para>
+The <command>Eclipse</command> Platform is an open and
+ extensible platform for anything and yet nothing in particular. It provides a
+ foundation for constructing and running integrated software-development tools.
+ The <command>Eclipse</command> Platform allows tool builders
+ to independently develop tools that integrate with other people's tools so
+ seamlessly you can't tell where one tool ends and another starts.</para>
+
+ <para>When invoked without selecting any particular application, the <command>eclipse</command>
+ command will start the <command>Eclipse</command> Platform with the Java Development
+ Tools (JDT) functionality enabled and ready to use.</para>
+
+<para>This manual page documents the command-line arguments for the
+<command>Eclipse</command> Platform and it is based on the
+Runtime Options help item in the <command>Eclipse</command>
+<ulink url="#authors" xrefstyle="AUTHORS">online help</ulink><!-- (see xref endterm="authors" linkend="authors" xrefstyle="AUTHORS"></xref> AUTHORS below)-->.</para>
+
+</refsect1>
+
+<refsect1 id='platform_options'><title>PLATFORM OPTIONS</title>
+<para>  Listed below are the command line arguments processed by various parts of the
+<command>Eclipse</command> runtime.
+Many of these values can also be specified using System properties either on the command line
+using <command>-D VM</command> arguments, by specifying their values in a <filename>config.ini</filename> file or by using a
+<filename>&lt;launcher&gt;.ini</filename> file. Using the two latter techniques it is possible to customize
+<command>Eclipse</command> without using command line arguments at all.</para>
+
+<para>For each argument in the list, its corresponding System property key is given (in {}). Also
+given is the <command>Eclipse</command> runtime layer in which the
+command line argument is processed (in ()). </para>
+
+<variablelist remap='TP'>
+
+<varlistentry>
+        <term><option>
+          -application &lt;id&gt; (Runtime)
+        </option></term>
+        <listitem>
+        <para>
+        The identifier of the application to run. The value given here
+            overrides any application defined by the product being run.</para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>eclipse.application</emphasis> to
+            &lt;id&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -arch &lt;architecture&gt; (OSGi)
+        </option></term>
+        <listitem>
+        <para>The processor architecture value.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.arch</emphasis> to
+            &lt;architecture&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -clean (OSGi)
+        </option></term>
+        <listitem>
+         <para>
+            Wipe clean any cached data used by the OSGi
+            framework and <command>eclipse</command> runtime. This will clean
+            the caches used to store bundle dependency resolution and <command>eclipse</command>
+            extension registry data. Using this option will force <command>eclipse</command> to
+            reinitialize these caches.
+          </para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.clean</emphasis> to
+            &quot;true&quot;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -configuration &lt;location&gt; (Main)
+        </option></term>
+        <listitem>
+        <para>The configuration location for this run of the platform. The
+            configuration determines what plug-ins will run as well as various
+            other system settings. See the On-line Help for details (SEE ALSO below).</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.configuration.area</emphasis>
+            to &lt;location&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -console [port] (OSGi)
+        </option></term>
+        <listitem>
+        <para>Enable the OSGi console (if installed). If the [port] value is a suitable integer, it is interpreted as
+            the port on which the console listens and directs its output to the
+            given port. Handy for investigating the state of the system.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.console</emphasis> to [port] or the
+            empty string if the default port is to be used (i.e., when the port is not specified).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -consoleLog (Runtime)
+        </option></term>
+        <listitem>
+        <para>Any log output is also sent to Java's
+            System.out (typically back to the command shell if any). Handy when
+            combined with <command>-debug</command>.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>eclipse.consoleLog</emphasis> to
+            &quot;true&quot;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -data &lt;location&gt; (OSGi)<literallayout></literallayout>
+        </option></term>
+        <listitem>
+        <para>The instance data location for this session. Plug-ins use this
+            location to store their data. For example, the Resources plug-in
+            uses this as the default location for projects (aka the workspace).
+            See the On-line Help for details (SEE ALSO below).
+        </para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.instance.area</emphasis> to
+            &lt;location&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -debug [options file] (OSGi)
+        </option></term>
+        <listitem>
+        <para>Put the platform in debug mode. If [options file] is given, it is interpreted as the location of the
+            <filename>.options</filename> file. This file indicates what debug points are available
+            for a plug-in and whether or not they are enabled. If a location is
+            not specified, the platform searches for the<filename> .options</filename> file under
+            the install directory.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.debug</emphasis> to
+            [options file] or the empty string to simply enable debug (i.e., if
+            the options file location is not specified).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -dev [entries] (OSGi)
+        </option></term>
+        <listitem>
+        <para>Turn on dev mode. If given, [entries] should be a comma-separated class path entries
+            which are added to the class path of each plug-in or a URL to a
+            Java properties file containing custom classpath additions for a
+            set of plug-ins. For each plug-in requiring a customized dev time
+            classpath the file will contain an entry of the
+            form.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.dev</emphasis> to
+            [entries] or the empty string to simply enable dev mode (i.e., if
+            entries are not specified).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -eclipse.keyring &lt;file path&gt; (Equinox)
+        </option></term>
+        <listitem>
+          <para>
+            Set to override location of the default secure storage.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -eclipse.password &lt;file path&gt; (Equinox)
+        </option></term>
+        <listitem>
+          <para>
+            If specified, the secure storage treats contents of the file as a
+            default password. When not set, password providers are used to
+            obtain a password.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -feature &lt;feature id&gt; (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            Set the identifier of the product being run. This controls various
+            branding information and what application is used.
+          </para>
+           <para>
+            This is equivalent to setting the property <emphasis>eclipse.product</emphasis> to &lt;feature
+            id&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -framework &lt;location&gt; (Main)
+        </option></term>
+        <listitem>
+        <para>
+            Set the URL location of the OSGi framework. Useful if the <command>Eclipse</command>
+            install is disjoint. See the On-line Help for details (SEE ALSO below).</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.framework</emphasis> to
+            &lt;location&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -initialize (Main)
+        </option></term>
+        <listitem>
+          <para>
+            Initializes the configuration being run. All runtime related data
+            structures and caches are refreshed. Any user/plug-in defined
+            configuration data is not purged. No application is run, any
+            product specifications are ignored and no UI is presented (e.g.,
+            the splash screen is not drawn).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -install &lt;location&gt; (Main)
+        </option></term>
+        <listitem>
+        <para>Set the install location of the platform. This option indicates the
+            location of the basic <command>Eclipse</command> plug-ins and is useful if the <command>Eclipse</command>
+            install is disjoint.</para>
+          <para>
+            This is equivalent to setting the property <emphasis>osgi.install.area</emphasis> to
+            &lt;location&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -keyring &lt;location&gt; (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            The location of the authorization database on disk. This argument
+            has to be used together with the <command>-password</command> argument.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          --launcher.library &lt;location&gt; (Executable)
+        </option></term>
+        <listitem>
+          <para>
+            The location of the <command>eclipse</command> executable's companion shared
+            library. If not specified the executable looks in the plugins
+            directory for the appropriate
+            <emphasis>org.eclipse.equinox.launcher.[platform] fragment</emphasis> with the highest
+            version and uses the shared library named <filename>eclipse_*</filename> inside.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          --launcher.ini &lt;location&gt; (Executable)
+        </option></term>
+        <listitem>
+          <para>
+            The location of the product .ini file to use. If not
+            specified the executable will look for a file beside the launcher
+            with the same name and the extension <filename>.ini</filename>. (ie., <filename>/usr/bin/eclipse</filename>
+            looks for <filename>eclipse.ini</filename>, <filename>/opt/product</filename> looks for
+            <filename>product.ini</filename>).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          --launcher.suppressErrors (Executable)
+        </option></term>
+        <listitem>
+          <para>
+            If specified the executable will not display any error or message
+            dialogs. This is useful if the executable is being used in an
+            unattended situation.
+          </para>
+        </listitem>
+      </varlistentry>
+     <varlistentry>
+        <term><option>
+          --launcher.XXMaxPermSize &lt;value&gt; (Executable)
+        </option></term>
+        <listitem>
+          <para>
+            If specified, and the executable detects that the VM being used is
+            a Sun VM, then the launcher will automatically add the
+            <option>-XX:MaxPermSize=&lt;value&gt;</option> vm argument. The executable is
+            not capable of detecting Sun VMs on all
+            platforms.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -name &lt;string&gt;
+        </option></term>
+        <listitem>
+          <para>
+            The name to be displayed in task bar item when the application
+            starts up. When not set, the name is the name of the executable.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -nl &lt;locale&gt; (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            The name of the locale on which <command>Eclipse</command> platform will run. NL
+            values should follow the standard Java locale naming conventions.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>osgi.nl</emphasis> to
+            &lt;locale&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -noExit (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            Disable automatic termination of the VM after the <command>eclipse</command>
+            application has ended. This is useful for examining the OSGi
+            framework after the <command>eclipse</command> application has ended.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>osgi.noShutdown</emphasis> to
+            &quot;true&quot;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -noLazyRegistryCacheLoading (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            Deactivate the platform's plug-in registry cache loading
+            optimization. By default, configuration elements are
+            loaded from the registry cache (when available) only on demand,
+            reducing memory footprint. This option forces the registry cache to
+            be fully loaded at startup.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>eclipse.noLazyRegistryCacheLoading</emphasis>
+            to &quot;true&quot;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -noRegistryCache (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            The internal extension registry cache will
+            neither be read nor written.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>eclipse.noRegistryCache</emphasis>
+            to &quot;true&quot;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -noSplash (Executable, Main)
+        </option></term>
+        <listitem>
+          <para>
+            Controls whether or not the splash screen is shown.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -os &lt;operating system&gt; (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            The operating system value. The value should be one of the <command>Eclipse</command>
+            processor architecture names known to <command>Eclipse</command> (e.g., x86, sparc,
+            ...).
+          </para>          <para>
+            This is equivalent to setting the property
+            <emphasis>osgi.os</emphasis> to
+            &lt;operating system&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -password &lt;password&gt; (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            The password for the authorization database.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -pluginCustomization &lt;location&gt; (Runtime)
+        </option></term>
+        <listitem>
+          <para>
+            The file system location of a properties file containing default
+            settings for plug-in preferences. These default settings override
+            default settings specified in the primary feature. Relative paths
+            are interpreted relative to the current working directory for
+            <command>eclipse</command> itself.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>eclipse.pluginCustomization</emphasis>
+            to &lt;location&gt;
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -product &lt;id&gt; (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            The identifier of the product being run. This controls various
+            branding information and what application is used.
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>eclipse.product</emphasis> to &lt;id&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -showSplash &lt;bitmap&gt; (Executable, Main)
+        </option></term>
+        <listitem>
+          <para>
+            Specifies the bitmap to use in the splash screen. If specified, the
+            launcher may be able to show the splash screen before starting the
+            Java VM. If not specified, Main will find the bitmap using
+            the <emphasis>osgi.splashLocation</emphasis> and <emphasis>osgi.splashPath</emphasis>
+            properties.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -startup &lt;location&gt; (Executable)
+        </option></term>
+        <listitem>
+          <para>
+            The location of jar used to startup <command>eclipse</command>. The jar referred to
+            should have the <emphasis>Main-Class</emphasis> attribute set to
+            <emphasis>org.eclipse.equinox.launcher.Main</emphasis>. If this parameter is not set,
+            the executable will look in the plugins directory for
+            the <emphasis>org.eclipse.equinox.launcher bundle</emphasis> with the highest
+            version.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -user &lt;location&gt; (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            Set the location of the user area. The user area contains data (e.g.,
+            preferences) specific to the OS user and independent of any <command>Eclipse</command>
+            install, configuration or instance. See the On-line Help for details (SEE ALSO below).
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>osgi.user.area</emphasis> to
+            &lt;location&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -vm &lt;path to java vm&gt; (Executable, Main)
+        </option></term>
+        <listitem>
+          <para>
+            When passed to the <command>Eclipse</command> executable, this option is used to
+            locate the Java VM to use to run <command>Eclipse</command>. It should be the full
+            file system path to an appropriate: Java<filename> jre/bin</filename> directory, Java
+            Executable, Java shared library (<filename>libjvm.so</filename>), or a Java
+            VM Execution Environment description file. If not specified,
+            the <command>Eclipse</command> executable uses a search algorithm to locate a suitable
+            VM. In any event, the executable then passes the path to the actual
+            VM used to Java Main using the <command>-vm</command> argument. Java Main then stores
+            this value in <emphasis>eclipse.vm</emphasis>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -vmargs [vmargs*] (Executable, Main)
+        </option></term>
+        <listitem>
+          <para>
+            when passed to the <command>Eclipse</command>, this option is used to customize the
+            operation of the Java VM to use to run <command>Eclipse</command>. If specified, this
+            option must come at the end of the command line. Even if not
+            specified on the executable command line, the executable will
+            automatically add the relevant arguments (including the class being
+            launched) to the command line passed into Java using the <command>-vmargs</command>
+            argument. Java Main then stores this value in
+            <emphasis>eclipse.vmargs</emphasis>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>
+          -ws &lt;window system&gt; (OSGi)
+        </option></term>
+        <listitem>
+          <para>
+            Set the window system value. The value should be one of the <command>Eclipse</command>
+            window system names known to <command>Eclipse</command> (e.g., win32, motif, ...).
+          </para>
+          <para>
+            This is equivalent to setting the property
+            <emphasis>osgi.ws</emphasis> to
+            &lt;window system&gt;.
+          </para>
+        </listitem>
+      </varlistentry>
+
+  </variablelist>
+</refsect1>
+
+<refsect1 id='see_also'><title>SEE ALSO</title>
+<para><citerefentry><refentrytitle>java</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ecj</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
+<para><command>Eclipse</command> On-line Help <ulink url='http://help.eclipse.org/'>http://help.eclipse.org/</ulink>
+<glossterm>Platform Plug-in Developer Guide</glossterm> &gt; <glossterm>Reference</glossterm> &gt; <glossterm>Other reference information</glossterm>  &gt;
+<glossterm>Runtime Options</glossterm>.</para>
+
+</refsect1>
+
+<refsect1 id='files'><title>FILES</title>
+<para>The system wide config.ini file is <filename>/etc/eclipse.ini</filename>. User level Configuration file is
+<filename>$HOME/.eclipse/org.eclipse.platform_&lt;version&gt;_&lt;id&gt;/configuration/config.ini</filename>.</para>
+</refsect1>
+
+<refsect1 XrefLabel="AUTHORS" id="authors"><title>AUTHORS</title>
+<para>
+The <command>Eclipse</command> Project was originally created by IBM in November 2001 and
+supported by a consortium of software vendors. The <command>Eclipse</command> Foundation was
+created in January 2004 as an independent not-for-profit corporation to act as the steward of the
+<command>Eclipse</command> community.
+</para>
+<para>This manual page was semi-automatically transformed from the
+Runtime Options HTML help using <command>pandoc</command> and
+<command>docbook2x-man</command> by Pablo Duboue &lt;pablo.duboue at gmail.com&gt;.</para>
+
+</refsect1>
+</refentry>
diff --git a/eclipse/plugins/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java b/eclipse/plugins/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java
index 3303026..61cb9c0 100644
--- a/eclipse/plugins/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java
+++ b/eclipse/plugins/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java
@@ -20,6 +20,7 @@ import java.util.Enumeration;
 import java.util.StringTokenizer;
 
 import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 
 /**
@@ -75,6 +76,20 @@ public class JspClassLoader extends URLClassLoader {
 	private void addBundleClassPathJars(Bundle bundle) {
 		Dictionary headers = bundle.getHeaders();
 		String classPath = (String) headers.get(Constants.BUNDLE_CLASSPATH);
+		BundleContext context = bundle.getBundleContext();
+		Bundle[] inner = context.getBundles();
+		for(int i = 0 ; i < inner.length ; i++){
+		    String loc = inner[i].getLocation();
+		    if(loc.startsWith("reference:file:plugins/")){
+			String p = loc.replaceFirst("^reference:file:", "file:///usr/lib/eclipse/");
+			try {
+			    URL u = new URL(p);
+			    super.addURL(u);
+			} catch(Exception e){
+			    e.printStackTrace();
+			}
+		    }
+		}
 		if (classPath != null) {
 			StringTokenizer tokenizer = new StringTokenizer(classPath, ","); //$NON-NLS-1$
 			while (tokenizer.hasMoreTokens()) {
diff --git a/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF b/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF
index a1e43d5..0072534 100644
--- a/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/org.eclipse.help.base/META-INF/MANIFEST.MF
@@ -39,8 +39,8 @@ Export-Package: org.apache.lucene.demo.html;x-internal:=true,
  org.eclipse.help.search,
  org.eclipse.help.server,
  org.eclipse.help.standalone
-Require-Bundle: org.apache.lucene;bundle-version="[1.9.1,2.0.0)";visibility:=reexport,
- org.apache.lucene.analysis;bundle-version="[1.9.1,2.0.0)";visibility:=reexport,
+Require-Bundle: org.apache.lucene;visibility:=reexport,
+ org.apache.lucene.analysis;visibility:=reexport,
  org.eclipse.ant.core;bundle-version="3.2.200";resolution:=optional,
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.help;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
diff --git a/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/GCCMain.java b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/GCCMain.java
new file mode 100644
index 0000000..2bba4b0
--- /dev/null
+++ b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/GCCMain.java
@@ -0,0 +1,501 @@
+/**
+ * 
+ */
+package org.eclipse.jdt.internal.compiler.batch;
+
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.zip.CRC32;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import org.eclipse.jdt.internal.compiler.ClassFile;
+import org.eclipse.jdt.internal.compiler.CompilationResult;
+import org.eclipse.jdt.internal.compiler.env.AccessRestriction;
+import org.eclipse.jdt.internal.compiler.env.AccessRule;
+import org.eclipse.jdt.internal.compiler.env.AccessRuleSet;
+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
+import org.eclipse.jdt.internal.compiler.util.Messages;
+import org.eclipse.jdt.internal.compiler.util.SuffixConstants;
+
+/**
+ * This is an alternate entry point for the command-line compiler which
+ * is simpler to integrate into GCC.  In particular the option processing
+ * is more GNU-like and the recognized options are similar to those supported
+ * by other GCC front ends.
+ */
+public class GCCMain extends Main {
+
+	// All the compilation units specified on the command line.
+	private HashSet commandLineCompilationUnits = new HashSet();
+	// True if we are only checking syntax.
+	private boolean syntaxOnly;
+	// If not null, the name of the output zip file.
+	// If null, we are generating class files in the file system,
+	// not a zip file.
+	private String zipDestination;
+	// The zip stream to which we're writing, or null if it hasn't been opened.
+	private ZipOutputStream zipStream;
+	
+	// If not null, the name of the zip file to which dependency class files
+	// should be written.
+	private String zipDependencyDestination;
+	// The zip stream to which dependency files should be written.
+	private ZipOutputStream zipDependencyStream;
+
+	public GCCMain(PrintWriter outWriter, PrintWriter errWriter,
+			boolean systemExitWhenFinished) {
+		super(outWriter, errWriter, systemExitWhenFinished);
+		this.logger.setEmacs();
+	}
+
+	public GCCMain(PrintWriter outWriter, PrintWriter errWriter,
+			boolean systemExitWhenFinished, Map customDefaultOptions) {
+		super(outWriter, errWriter, systemExitWhenFinished,
+				customDefaultOptions);
+		this.logger.setEmacs();
+	}
+
+	private void fail(Exception t) {
+		t.printStackTrace();
+		this.logger.logException(t);
+		System.exit(1);
+	}
+
+	public CompilationUnit[] getCompilationUnits() {
+		CompilationUnit[] units = super.getCompilationUnits();
+		for (int i = 0; i < units.length; ++i)
+			this.commandLineCompilationUnits.add(units[i]);
+		return units;
+	}
+
+	private String combine(char[] one, char[] two) {
+		StringBuffer b = new StringBuffer();
+		b.append(one);
+		b.append(two);
+		return b.toString();
+	}
+
+	private ZipOutputStream getZipOutput() throws IOException {
+		if (this.zipDestination != null && this.zipStream == null) {
+			OutputStream os;
+			if ("-".equals(this.zipDestination)) { //$NON-NLS-1$
+				os = System.out;
+			} else {
+				os = new FileOutputStream(this.zipDestination);
+			}
+			zipStream = new ZipOutputStream(new BufferedOutputStream(os));
+			zipStream.setMethod(ZipOutputStream.STORED);
+			// Sun/OpenJDK require at least one entry in the zip file.
+			ZipEntry entry = new ZipEntry(".dummy");
+			byte[] contents = new byte[0];
+			CRC32 crc = new CRC32();
+			crc.update(contents);
+			entry.setSize(contents.length);
+			entry.setCrc(crc.getValue());
+			zipStream.putNextEntry(entry);
+			zipStream.write(contents);
+			zipStream.closeEntry();
+		}
+		return zipStream;
+	}
+
+	private ZipOutputStream getDependencyOutput() throws IOException {
+		if (this.zipDependencyDestination != null && this.zipDependencyStream == null) {
+			OutputStream os = new FileOutputStream(zipDependencyDestination);
+			zipDependencyStream = new ZipOutputStream(new BufferedOutputStream(os));
+			zipDependencyStream.setMethod(ZipOutputStream.STORED);
+			// Sun/OpenJDK require at least one entry in the zip file.
+			ZipEntry entry = new ZipEntry(".dummy");
+			byte[] contents = new byte[0];
+			CRC32 crc = new CRC32();
+			crc.update(contents);
+			entry.setSize(contents.length);
+			entry.setCrc(crc.getValue());
+			zipDependencyStream.putNextEntry(entry);
+			zipDependencyStream.write(contents);
+			zipDependencyStream.closeEntry();
+		}
+		return zipDependencyStream;
+	}
+
+	public void outputClassFiles(CompilationResult unitResult) {
+		if (this.syntaxOnly) {
+			return;
+		}
+		if (this.zipDestination == null) {
+			// Nothing special to do here.
+			super.outputClassFiles(unitResult);
+			return;
+		}
+		if (unitResult == null || unitResult.hasErrors()) {
+			return;
+		}
+
+		// If we are compiling with indirect dispatch, we don't need
+		// any dependent classes.  If we are using the C++ ABI, then we
+		// do need the dependencies in order to do proper layout.
+		boolean gcjCompile = this.commandLineCompilationUnits.contains(unitResult.getCompilationUnit());
+		if (this.zipDependencyDestination == null && !gcjCompile) {
+			return;
+		}
+
+		try {
+			ZipOutputStream dest = gcjCompile ? getZipOutput() : getDependencyOutput();
+			ClassFile[] classFiles = unitResult.getClassFiles();
+			for (int i = 0; i < classFiles.length; ++i) {
+				ClassFile classFile = classFiles[i];
+				String filename = combine(classFile.fileName(), SuffixConstants.SUFFIX_class);
+				if (this.verbose)
+					this.out.println(
+							Messages.bind(
+									Messages.compilation_write,
+									new String[] {
+								String.valueOf(this.exportedClassFilesCounter+1),
+								filename
+							}));
+				ZipEntry entry = new ZipEntry(filename);
+				byte[] contents = classFile.getBytes();
+				CRC32 crc = new CRC32();
+				crc.update(contents);
+				entry.setSize(contents.length);
+				entry.setCrc(crc.getValue());
+				dest.putNextEntry(entry);
+				dest.write(contents);
+				dest.closeEntry();
+			}
+		} catch (IOException err) {
+			fail(err);
+		}
+	}
+	
+	private String getArgument(String option) {
+		int index = option.indexOf('=');
+		return option.substring(index + 1);
+	}
+
+	private void addPath(ArrayList result, String currentClasspathName) {
+		String customEncoding = null;
+		AccessRule[] accessRules = new AccessRule[0];
+		AccessRuleSet accessRuleSet = new AccessRuleSet(accessRules, AccessRestriction.COMMAND_LINE, currentClasspathName);
+		FileSystem.Classpath currentClasspath = FileSystem
+				.getClasspath(currentClasspathName,
+						customEncoding, accessRuleSet);
+		if (currentClasspath != null) {
+			result.add(currentClasspath);
+		}
+	}
+	
+	private void parsePath(ArrayList result, String path) {
+		StringTokenizer iter = new StringTokenizer(path, File.pathSeparator);
+		while (iter.hasMoreTokens()) {
+			addPath(result, iter.nextToken());
+		}
+	}
+
+	protected void handleWarningToken(String token, boolean isEnabling) {
+		// Recognize this for compatibility with older versions of gcj.
+		if ("deprecated".equals(token)) //$NON-NLS-1$
+			token = "deprecation"; //$NON-NLS-1$
+		else if ("static-access".equals(token)   //$NON-NLS-1$
+				|| "dep-ann".equals(token) //$NON-NLS-1$
+				|| "over-ann".equals(token)) { //$NON-NLS-1$
+			// Some exceptions to the warning naming rule.
+		} else if ("extraneous-semicolon".equals(token)) { //$NON-NLS-1$
+			// Compatibility with earlier versions of gcj.
+			token = "semicolon"; //$NON-NLS-1$
+		} else {
+			// Turn "foo-bar-baz" into eclipse-style "fooBarBaz".
+			StringBuffer newToken = new StringBuffer(token.length());
+			StringTokenizer t = new StringTokenizer(token, "-"); //$NON-NLS-1$
+			boolean first = true;
+			while (t.hasMoreTokens()) {
+				String next = t.nextToken();
+				if (first) {
+					newToken.append(next);
+					first = false;
+				} else {
+					newToken.append(Character.toUpperCase(next.charAt(0)));
+					newToken.append(next.substring(1));
+				}
+			}
+			token = newToken.toString();
+		}
+		super.handleWarningToken(token, isEnabling);
+	}
+
+	private void turnWarningsToErrors() {
+		Object[] entries = this.options.entrySet().toArray();
+		for (int i = 0, max = entries.length; i < max; i++) {
+			Map.Entry entry = (Map.Entry) entries[i];
+			if (!(entry.getKey() instanceof String))
+				continue;
+			if (!(entry.getValue() instanceof String))
+				continue;
+			if (((String) entry.getValue()).equals(CompilerOptions.WARNING)) {
+				this.options.put(entry.getKey(), CompilerOptions.ERROR);
+			}
+		}
+	}
+
+	/**
+	 * Set the debug level to the indicated value.  The level should be
+	 * between 0 and 2, inclusive, but this is not checked.
+	 * @param level the debug level
+	 */
+	private void setDebugLevel(int level) {
+		this.options.put(
+				CompilerOptions.OPTION_LocalVariableAttribute,
+				level > 1 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE);
+		this.options.put(
+				CompilerOptions.OPTION_LineNumberAttribute,
+				level > 0 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE);
+		this.options.put(
+				CompilerOptions.OPTION_SourceFileAttribute,
+				CompilerOptions.GENERATE);
+	}
+
+	private void readFileList(String file, ArrayList result) {
+		try {
+			BufferedReader b = new BufferedReader(new FileReader(file));
+			String line;
+			while ((line = b.readLine()) != null) {
+				if (line.endsWith(SUFFIX_STRING_java))
+					result.add(line);
+			}
+			b.close();
+		} catch (IOException err) {
+			fail(err);
+		}
+	}
+	
+	private void readAllFileListFiles(ArrayList fileList, ArrayList result) {
+		Iterator it = fileList.iterator();
+		while (it.hasNext()) {
+			readFileList((String) it.next(), result);
+		}
+	}
+
+	private void handleWall(boolean enable) {
+		// A somewhat arbitrary list.  We use the GCC names
+		// here, and the local handleWarningToken translates
+		// for us.
+		handleWarningToken("constructor-name", enable);
+		handleWarningToken("pkg-default-method", enable);
+		handleWarningToken("masked-catch-block", enable);
+		handleWarningToken("all-deprecation", enable);
+		handleWarningToken("unused-local", enable);
+		handleWarningToken("unused-label", enable);
+		handleWarningToken("static-receiver", enable);
+		handleWarningToken("indirect-static", enable);
+		handleWarningToken("no-effect-assign", enable);
+		handleWarningToken("char-concat", enable);
+		handleWarningToken("useless-type-check", enable);
+		handleWarningToken("final-bound", enable);
+		handleWarningToken("assert-identifier", enable);
+		handleWarningToken("enum-identifier", enable);
+		handleWarningToken("finally", enable);
+		handleWarningToken("varargs-cast", enable);
+		handleWarningToken("unused", enable);
+		handleWarningToken("forbidden", enable);
+	}
+
+	public void configure(String[] argv) {
+		if ((argv == null) || (argv.length == 0)) {
+			// This is a "can't happen".
+			System.exit(1);
+		}
+
+		ArrayList files = new ArrayList();
+		ArrayList otherFiles = new ArrayList();
+		String classpath = null;
+		boolean haveFileList = false;
+		boolean inhibitAllWarnings = false;
+		boolean treatWarningsAsErrors = false;
+
+		for (int i = 0; i < argv.length; ++i) {
+			String currentArg = argv[i];
+			
+			if (currentArg.startsWith("-fencoding=")) { //$NON-NLS-1$
+				// Simply accept the last one.
+				String encoding = getArgument(currentArg);
+				try { // ensure encoding is supported
+					new InputStreamReader(new ByteArrayInputStream(new byte[0]), encoding);
+				} catch (UnsupportedEncodingException e) {
+					throw new IllegalArgumentException(
+						this.bind("configure.unsupportedEncoding", encoding)); //$NON-NLS-1$
+				}
+				this.options.put(CompilerOptions.OPTION_Encoding, encoding);
+			} else if (currentArg.startsWith("-foutput-class-dir=")) { //$NON-NLS-1$
+				String arg = getArgument(currentArg);
+				if (this.destinationPath != null) {
+					StringBuffer errorMessage = new StringBuffer();
+					errorMessage.append("-d"); //$NON-NLS-1$
+					errorMessage.append(' ');
+					errorMessage.append(arg);
+					throw new IllegalArgumentException(
+						this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$
+				}
+				this.setDestinationPath(arg);
+			} else if (currentArg.startsWith("-fbootclasspath=")) { //$NON-NLS-1$
+				classpath = getArgument(currentArg);
+			} else if (currentArg.equals("-fzip-target")) { //$NON-NLS-1$
+				++i;
+				if (i >= argv.length)
+					throw new IllegalArgumentException(this.bind("gcc.zipArg")); //$NON-NLS-1$
+				this.zipDestination = argv[i];
+			} else if (currentArg.equals("-fzip-dependency")) { //$NON-NLS-1$
+				++i;
+				if (i >= argv.length)
+					throw new IllegalArgumentException(this.bind("gcc.zipDepArg")); //$NON-NLS-1$
+				this.zipDependencyDestination = argv[i];
+			} else if (currentArg.startsWith("-g")) { //$NON-NLS-1$
+				if (currentArg.equals("-g0")) { //$NON-NLS-1$
+					setDebugLevel(0);
+				} else if (currentArg.equals("-g2") || currentArg.equals("-g3") //$NON-NLS-1$ //$NON-NLS-2$
+						|| currentArg.equals("-g")) { //$NON-NLS-1$
+					setDebugLevel(2);
+				} else {
+					// Handle -g1 but also things like -gstabs.
+					setDebugLevel(1);
+				}
+			} else if (currentArg.equals("-Werror")) { //$NON-NLS-1$
+				treatWarningsAsErrors = true;
+			} else if (currentArg.equals("-Wno-error")) { //$NON-NLS-1$
+				treatWarningsAsErrors = false;
+			} else if (currentArg.equals("-Wall")) { //$NON-NLS-1$
+				handleWall(true);
+			} else if (currentArg.equals("-Wno-all")) { //$NON-NLS-1$
+				handleWall(false);
+			} else if (currentArg.startsWith("-Wno-")) { //$NON-NLS-1$
+				handleWarningToken(currentArg.substring(5), false);
+			} else if (currentArg.startsWith("-W")) { //$NON-NLS-1$
+				handleWarningToken(currentArg.substring(2), true);
+			} else if (currentArg.equals("-w")) { //$NON-NLS-1$
+				inhibitAllWarnings = true;
+			} else if (currentArg.startsWith("-O")) { //$NON-NLS-1$
+				// Ignore.
+			} else if (currentArg.equals("-v")) { //$NON-NLS-1$
+				this.verbose = true;
+			} else if (currentArg.equals("-fsyntax-only")) { //$NON-NLS-1$
+				this.syntaxOnly = true;
+			} else if (currentArg.startsWith("-fsource=")) { //$NON-NLS-1$
+				currentArg = getArgument(currentArg);
+				if (currentArg.equals("1.3")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_3);
+				} else if (currentArg.equals("1.4")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4);
+				} else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+					this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_5);
+				} else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+					this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_6);
+				} else {
+					throw new IllegalArgumentException(this.bind("configure.source", currentArg)); //$NON-NLS-1$
+				}
+			} else if (currentArg.startsWith("-ftarget=")) { //$NON-NLS-1$
+				currentArg = getArgument(currentArg);
+				if (currentArg.equals("1.1")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_1);
+				} else if (currentArg.equals("1.2")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_2);
+				} else if (currentArg.equals("1.3")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_3);
+				} else if (currentArg.equals("1.4")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_4);
+				} else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_5);
+				} else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_6);
+				} else if (currentArg.equals("jsr14")) { //$NON-NLS-1$
+					this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_JSR14);
+				} else {
+					throw new IllegalArgumentException(this.bind("configure.targetJDK", currentArg)); //$NON-NLS-1$
+				}
+			} else if (currentArg.equals("-ffilelist-file")) { //$NON-NLS-1$
+				haveFileList = true;
+			} else if (currentArg.endsWith(SuffixConstants.SUFFIX_STRING_java)) {
+				files.add(currentArg);
+			} else if (currentArg.charAt(0) == '-'){
+				// FIXME: error if not a file?
+			} else {
+				otherFiles.add(currentArg);
+			}
+		}
+
+		// Read the file list file.  We read them all, but really there
+		// will only be one.
+		if (haveFileList)
+			readAllFileListFiles(otherFiles, files);
+
+		this.filenames = (String[]) files.toArray(new String[0]);
+		this.encodings = new String[this.filenames.length];
+		this.destinationPaths = new String[this.filenames.length];
+		for (int i = 0; i < this.filenames.length; ++i)
+			this.destinationPaths[i] = this.destinationPath;
+		
+		// Classpath processing.
+		ArrayList result = new ArrayList();
+		if (classpath == null)
+			throw new IllegalArgumentException(this.bind("gcc.noClasspath")); //$NON-NLS-1$
+		parsePath(result, classpath);
+
+		// We must always create both output files, even if one is not used.
+		// That way we will always pass valid zip file on to jc1.
+		try {
+			getZipOutput();
+			getDependencyOutput();
+		} catch (IOException err) {
+			fail(err);
+		}
+
+		if (inhibitAllWarnings)
+			disableWarnings();
+		if (treatWarningsAsErrors)
+			turnWarningsToErrors();
+
+		this.checkedClasspaths = new FileSystem.Classpath[result.size()];
+		result.toArray(this.checkedClasspaths);
+
+		this.logger.logCommandLineArguments(argv);
+		this.logger.logOptions(this.options);
+		this.logger.logClasspath(this.checkedClasspaths);
+
+		this.maxRepetition = 1;
+	}
+
+	public boolean compile(String[] argv) {
+		boolean result = super.compile(argv);
+		try {
+			if (zipStream != null) {
+				zipStream.finish();
+				zipStream.close();
+			}
+			if (zipDependencyStream != null) {
+				zipDependencyStream.finish();
+				zipDependencyStream.close();
+			}
+		} catch (IOException err) {
+			fail(err);
+		}
+		return result;
+	}
+
+	public static void main(String[] argv) {
+		boolean result = new GCCMain(new PrintWriter(System.out), new PrintWriter(System.err), false).compile(argv);
+		System.exit(result ? 0 : 1);
+	}
+}
diff --git a/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
index 48f7ba8..72d155e 100644
--- a/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
+++ b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
@@ -334,3 +334,8 @@ misc.usage.warn = {1} {2}\n\
 \      uselessTypeCheck     unnecessary cast/instanceof operation\n\
 \      varargsCast        + varargs argument need explicit cast\n\
 \      warningToken       + unsupported or unnecessary @SuppressWarnings\n
+
+# GCCMain messages.
+gcc.zipArg=-fzip-target requires argument
+gcc.zipDepArg=-fzip-dependency requires argument
+gcc.noClasspath=no classpath specified
diff --git a/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties.orig b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties.orig
new file mode 100644
index 0000000..72d155e
--- /dev/null
+++ b/eclipse/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties.orig
@@ -0,0 +1,341 @@
+###############################################################################
+# 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
+#		Benjamin Muskalla - Contribution for bug 239066
+###############################################################################
+### JavaBatchCompiler messages.
+
+### compiler
+#Format: compiler.name = word1 word2 word3
+compiler.name = Eclipse Compiler for Java(TM)
+#Format: compiler.version = 0.XXX[, other words (don't forget the comma if adding other words)]
+compiler.version = 0.A58, 3.6.0
+compiler.copyright = Copyright IBM Corp 2000, 2010. All rights reserved.
+
+### progress
+progress.compiling = Compiling
+
+### compile
+compile.repetition = [repetition {0}/{1}]
+compile.instantTime = [compiled {0} lines in {1} ms: {2} lines/s]
+compile.detailedTime = [parse: {0} ms ({1}%), resolve: {2} ms ({3}%), analyze: {4} ms ({5}%), generate: {6} ms ({7}%) ]
+compile.ioTime = [i/o: read: {0} ms ({1}%), write: {2} ms ({3}%)]
+compile.averageTime = [average, excluding min-max {0} lines in {1} ms: {2} lines/s]
+compile.totalTime = [total compilation time: {0}]
+compile.oneProblem = 1 problem ({0})
+compile.severalProblemsErrorsOrWarnings = {0} problems ({1})
+compile.severalProblemsErrorsAndWarnings = {0} problems ({1}, {2})
+compile.oneError = 1 error
+compile.severalErrors = {0} errors
+compile.oneWarning = 1 warning
+compile.severalWarnings = {0} warnings
+compile.oneClassFileGenerated = [1 .class file generated]
+compile.severalClassFilesGenerated = [{0} .class files generated]
+
+### configure
+configure.requiresJDK1.2orAbove = Need to use a JVM >= 1.2
+configure.duplicateLog = duplicate log specification: {0}
+configure.duplicateRepeat = duplicate repeat specification: {0}
+configure.duplicateMaxProblems = duplicate max problems specification: {0}
+configure.duplicateCompliance = duplicate compliance setting specification: {0}
+configure.duplicateSource = duplicate source compliance setting specification: {0}
+configure.duplicateTarget = duplicate target compliance setting specification: {0}
+configure.source = source level should be comprised in between ''1.3'' and ''1.6'' (or ''5'', ''5.0'', ..., ''7'' or ''7.0''): {0}
+configure.duplicateOutputPath = duplicate output path specification: {0}
+configure.duplicateBootClasspath = duplicate bootclasspath specification: {0}
+configure.duplicateExtDirs = duplicate extdirs specification: {0}
+configure.duplicateSourcepath = duplicate sourcepath specification: {0}
+configure.invalidDebugOption = invalid debug option: {0}
+configure.invalidWarningConfiguration = invalid warning configuration: ''{0}''
+configure.invalidWarning = invalid warning token: ''{0}''. Ignoring warning and compiling
+configure.invalidWarningOption = invalid warning option: ''{0}''. Must specify a warning token
+configure.targetJDK = target level should be comprised in between ''1.1'' and ''1.7'' (or ''5'', ''5.0'', ..., ''7'' or ''7.0'') or cldc1.1: {0}
+configure.incompatibleTargetForSource = Target level ''{0}'' is incompatible with source level ''{1}''. A target level ''{1}'' or better is required
+configure.incompatibleTargetForGenericSource = Target level ''{0}'' is incompatible with source level ''{1}''. A source level ''1.5'' or better is required
+configure.incompatibleComplianceForSource = Compliance level ''{0}'' is incompatible with source level ''{1}''. A compliance level ''{1}'' or better is required
+configure.incompatibleComplianceForTarget = Compliance level ''{0}'' is incompatible with target level ''{1}''. A compliance level ''{1}'' or better is required
+configure.repetition = repetition must be a positive integer: {0}
+configure.maxProblems = max problems must be a positive integer: {0}
+
+configure.invalidErrorConfiguration = invalid error configuration: ''{0}''
+configure.invalidError = invalid error token: ''{0}''. Ignoring this error token and compiling
+configure.invalidErrorOption = invalid error option: ''{0}''. Must specify an error token
+configure.invalidUsageOfPlusOption=usage of ''+'' for ''{0}'' is illegal there
+configure.invalidUsageOfMinusOption=usage of ''-'' for ''{0}'' is illegal there
+
+## configure.directoryNotExist = directory does not exist: {0}
+configure.unrecognizedOption = Unrecognized option : {0}
+configure.noClasspath = no classpath defined, using default directory instead
+configure.incorrectClasspath = incorrect classpath: {0}
+configure.invalidexpansionargumentname = expansion argument file {0} does not exist or cannot be read
+configure.cannotOpenLog = cannot open .log file: {0}
+configure.cannotOpenLogInvalidEncoding = cannot open .log file: {0}; because UTF-8 is not supported
+configure.unexpectedCustomEncoding = unexpected custom encoding specification: {0}[{1}]
+configure.unsupportedEncoding = unsupported encoding format: {0}
+configure.duplicateDefaultEncoding = duplicate default encoding format specification: {0}
+configure.invalidTaskTag ={0} is an invalid task tag
+configure.incorrectExtDirsEntry = incorrect ext dir entry; {0} must be a directory
+configure.incorrectEndorsedDirsEntry = incorrect endorsed dir entry; {0} must be a directory
+configure.duplicateEndorsedDirs = duplicate endorseddirs specification: {0}
+configure.incorrectDestinationPathEntry = incorrect destination path entry: {0}
+configure.unexpectedBracket = unexpected bracket: {0}
+configure.unexpectedDestinationPathEntry = unexpected destination path entry in {0} option
+configure.unexpectedDestinationPathEntryFile = unexpected destination path entry for file: {0}
+configure.accessRuleAfterDestinationPath = access rules cannot follow destination path entries: {0}
+configure.duplicateDestinationPathEntry = duplicate destination path entry in {0} option
+configure.invalidClassName = invalid class name: {0}
+configure.incorrectVMVersionforAPT = Annotation processing got disabled, since it requires a 1.6 compliant JVM
+configure.incompatibleSourceForCldcTarget=Target level ''{0}'' is incompatible with source level ''{1}''. A source level ''1.3'' or lower is required
+configure.incompatibleComplianceForCldcTarget=Target level ''{0}'' is incompatible with compliance level ''{1}''. A compliance level ''1.4''or lower is required
+configure.invalidClasspathSection = invalid Class-Path header in manifest of jar file: {0}
+configure.multipleClasspathSections = multiple Class-Path headers in manifest of jar file: {0}
+configure.missingwarningspropertiesfile=properties file {0} does not exist
+configure.ioexceptionwarningspropertiesfile=An IOException occurred while reading the properties file {0}
+configure.multipleencodings=Multiple encoding specified: {1}. The default encoding has been set to {0}
+configure.differentencodings=Found encoding {0}. Different encodings were specified: {1}
+configure.differentencoding=Found encoding {0}. A different encoding was specified: {1}
+
+### requestor
+requestor.error = {0}. ERROR in {1}
+requestor.warning = {0}. WARNING in {1}
+requestor.notRetrieveErrorMessage = Cannot retrieve the error message for {0}
+requestor.noFileNameSpecified = (original file name is not available)
+
+### EMACS STYLE
+output.emacs.error=error
+output.emacs.warning=warning
+
+### unit
+unit.more = File {0} is specified more than once
+unit.missing = File {0} is missing
+
+### output
+output.noClassFileCreated = No .class file created for file {1} in {0} because of an IOException: {2}
+
+### miscellaneous
+misc.version = {0} {1}, {2}
+misc.usage = {1} {2}\n\
+{3}\n\
+\ \n\
+\ Usage: <options> <source files | directories>\n\
+\ If directories are specified, then their source contents are compiled.\n\
+\ Possible options are listed below. Options enabled by default are prefixed\n\
+\ with ''+''.\n\
+\ \n\
+\ Classpath options:\n\
+\    -cp -classpath <directories and ZIP archives separated by {0}>\n\
+\                       specify location for application classes and sources.\n\
+\                       Each directory or file can specify access rules for\n\
+\                       types between ''['' and '']'' (e.g. [-X] to forbid\n\
+\                       access to type X, [~X] to discourage access to type X,\n\
+\                       [+p/X{0}-p/*] to forbid access to all types in package p\n\
+\                       but allow access to p/X)\n\
+\    -bootclasspath <directories and ZIP archives separated by {0}>\n\
+\                       specify location for system classes. Each directory or\n\
+\                       file can specify access rules for types between ''[''\n\
+\                       and '']''\n\
+\    -sourcepath <directories and ZIP archives separated by {0}>\n\
+\                       specify location for application sources. Each directory\n\
+\                       or file can specify access rules for types between ''[''\n\
+\                       and '']''. Each directory can further specify a specific\n\
+\                       destination directory using a ''-d'' option between ''[''\n\
+\                       and '']''; this overrides the general ''-d'' option.\n\
+\                       .class files created from source files contained in a\n\
+\                       jar file are put in the user.dir folder in case no\n\
+\                       general ''-d'' option is specified. ZIP archives cannot\n\
+\                       override the general ''-d'' option\n\
+\    -extdirs <directories separated by {0}>\n\
+\                       specify location for extension ZIP archives\n\
+\    -endorseddirs <directories separated by {0}>\n\
+\                       specify location for endorsed ZIP archives\n\
+\    -d <dir>           destination directory (if omitted, no directory is\n\
+\                       created); this option can be overridden per source\n\
+\                       directory\n\
+\    -d none            generate no .class files\n\
+\    -encoding <enc>    specify default encoding for all source files. Each\n\
+\                       file/directory can override it when suffixed with\n\
+\                       ''[''<enc>'']'' (e.g. X.java[utf8]).\n\
+\                       If multiple default encodings are specified, the last\n\
+\                       one will be used.\n\
+\ \n\
+\ Compliance options:\n\
+\    -1.3               use 1.3 compliance (-source 1.3 -target 1.1)\n\
+\    -1.4             + use 1.4 compliance (-source 1.3 -target 1.2)\n\
+\    -1.5 -5 -5.0       use 1.5 compliance (-source 1.5 -target 1.5)\n\
+\    -1.6 -6 -6.0       use 1.6 compliance (-source 1.6 -target 1.6)\n\
+\    -1.7 -7 -7.0       use 1.7 compliance (-source 1.7 -target 1.7)\n\
+\    -source <version>  set source level: 1.3 to 1.7 (or 5, 5.0, etc)\n\
+\    -target <version>  set classfile target: 1.1 to 1.7 (or 5, 5.0, etc)\n\
+\                       cldc1.1 can also be used to generate the StackMap\n\
+\                       attribute\n\
+\ \n\
+\ Warning options:\n\
+\    -deprecation     + deprecation outside deprecated code (equivalent to\n\
+\                       -warn:+deprecation)\n\
+\    -nowarn -warn:none disable all warnings\n\
+\    -?:warn -help:warn display advanced warning options\n\
+\ \n\
+\ Error options:\n\
+\    -err:<warnings separated by ,>    convert exactly the listed warnings\n\
+\                                      to be reported as errors\n\
+\    -err:+<warnings separated by ,>   enable additional warnings to be\n\
+\                                      reported as errors\n\
+\    -err:-<warnings separated by ,>   disable specific warnings to be\n\
+\                                      reported as errors\n\
+\ \n\
+\ Setting warning or error options using properties file:\n\
+\    -properties: <file>   set warnings/errors option based on the properties\n\
+\                          file contents. This option can be used with -nowarn,\n\
+\                          -err:.. or -warn:.. options, but the last one on the\n\
+\                          command line sets the options to be used.\n\
+\ \n\
+\ Debug options:\n\
+\    -g[:lines,vars,source] custom debug info\n\
+\    -g:lines,source  + both lines table and source debug info\n\
+\    -g                 all debug info\n\
+\    -g:none            no debug info\n\
+\    -preserveAllLocals preserve unused local vars for debug purpose\n\
+\ \n\
+\ Annotation processing options:\n\
+\   These options are meaningful only in a 1.6 environment.\n\
+\    -Akey[=value]        options that are passed to annotation processors\n\
+\    -processorpath <directories and ZIP archives separated by {0}>\n\
+\                         specify locations where to find annotation processors.\n\
+\                         If this option is not used, the classpath will be\n\
+\                         searched for processors\n\
+\    -processor <class1[,class2,...]>\n\
+\                         qualified names of the annotation processors to run.\n\
+\                         This bypasses the default annotation discovery process\n\
+\    -proc:only           run annotation processors, but do not compile\n\
+\    -proc:none           perform compilation but do not run annotation\n\
+\                         processors\n\
+\    -s <dir>             destination directory for generated source files\n\
+\    -XprintProcessorInfo print information about which annotations and elements\n\
+\                         a processor is asked to process\n\
+\    -XprintRounds        print information about annotation processing rounds\n\
+\    -classNames <className1[,className2,...]>\n\
+\                         qualified names of binary classes to process\n\
+\ \n\
+\ Advanced options:\n\
+\    @<file>            read command line arguments from file\n\
+\    -maxProblems <n>   max number of problems per compilation unit (100 by\n\
+\                       default)\n\
+\    -log <file>        log to a file. If the file extension is ''.xml'', then\n\
+\                       the log will be a xml file.\n\
+\    -proceedOnError[:Fatal]\n\
+\                       do not stop at first error, dumping class files with\n\
+\                       problem methods\n\
+\                       With ":Fatal", all optional errors are treated as fatal\n\
+\    -verbose           enable verbose output\n\
+\    -referenceInfo     compute reference info\n\
+\    -progress          show progress (only in -log mode)\n\
+\    -time              display speed information \n\
+\    -noExit            do not call System.exit(n) at end of compilation (n==0\n\
+\                       if no error)\n\
+\    -repeat <n>        repeat compilation process <n> times for perf analysis\n\
+\    -inlineJSR         inline JSR bytecode (implicit if target >= 1.5)\n\
+\    -enableJavadoc     consider references in javadoc\n\
+\    -Xemacs            used to enable emacs-style output in the console.\n\
+\                       It does not affect the xml log output\n\
+\ \n\
+\    -? -help           print this help message\n\
+\    -v -version        print compiler version\n\
+\    -showversion       print compiler version and continue\n\
+\ \n\
+\ Ignored options:\n\
+\    -J<option>         pass option to virtual machine (ignored)\n\
+\    -X<option>         specify non-standard option (ignored\n\
+\                       except for listed -X options)\n\
+\    -X                 print non-standard options and exit (ignored)\n\
+\    -O                 optimize for execution time (ignored)\n
+misc.usage.warn = {1} {2}\n\
+{3}\n\
+\ \n\
+\ Warning options:\n\
+\    -deprecation         + deprecation outside deprecated code\n\
+\    -nowarn -warn:none disable all warnings\n\
+\    -warn:<warnings separated by ,>    enable exactly the listed warnings\n\
+\    -warn:+<warnings separated by ,>   enable additional warnings\n\
+\    -warn:-<warnings separated by ,>   disable specific warnings\n\
+\      allDeadCode          dead code including trivial if(DEBUG) check\n\
+\      allDeprecation       deprecation including inside deprecated code\n\
+\      allJavadoc           invalid or missing javadoc\n\
+\      allOver-ann          all missing @Override annotations\n\
+\      assertIdentifier   + ''assert'' used as identifier\n\
+\      boxing               autoboxing conversion\n\
+\      charConcat         + char[] in String concat\n\
+\      compareIdentical   + comparing identical expressions\n\
+\      conditionAssign      possible accidental boolean assignment\n\
+\      constructorName    + method with constructor name\n\
+\      deadCode           + dead code excluding trivial if (DEBUG) check\n\
+\      dep-ann              missing @Deprecated annotation\n\
+\      deprecation        + deprecation outside deprecated code\n\
+\      discouraged        + use of types matching a discouraged access rule\n\
+\      emptyBlock           undocumented empty block\n\
+\      enumIdentifier       ''enum'' used as identifier\n\
+\      enumSwitch           incomplete enum switch\n\
+\      fallthrough          possible fall-through case\n\
+\      fieldHiding          field hiding another variable\n\
+\      finalBound           type parameter with final bound\n\
+\      finally            + finally block not completing normally\n\
+\      forbidden          + use of types matching a forbidden access rule\n\
+\      hashCode              missing hashCode() method when overriding equals()\n\
+\      hiding               macro for fieldHiding, localHiding, typeHiding and\n\
+\                           maskedCatchBlock\n\
+\      incomplete-switch    same as enumSwitch\n\
+\      indirectStatic       indirect reference to static member\n\
+\      intfAnnotation     + annotation type used as super interface\n\
+\      intfNonInherited   + interface non-inherited method compatibility\n\
+\      intfRedundant        find redundant superinterfaces\n\
+\      javadoc              invalid javadoc\n\
+\      localHiding          local variable hiding another variable\n\
+\      maskedCatchBlock   + hidden catch block\n\
+\      nls                  string literal lacking non-nls tag //$NON-NLS-<n>$\n\
+\      noEffectAssign     + assignment without effect\n\
+\      null                 potential missing or redundant null check\n\
+\      nullDereference    + missing null check\n\
+\      over-ann             missing @Override annotation (superclass)\n\
+\      paramAssign          assignment to a parameter\n\
+\      pkgDefaultMethod   + attempt to override package-default method\n\
+\      raw                + usage of raw type\n\
+\      semicolon            unnecessary semicolon, empty statement\n\
+\      serial             + missing serialVersionUID\n\
+\      specialParamHiding   constructor or setter parameter hiding a field\n\
+\      static-access        macro for indirectStatic and staticReceiver\n\
+\      staticReceiver     + non-static reference to static member\n\
+\      super                overriding a method without making a super invocation\n\
+\      suppress           + enable @SuppressWarnings\n\
+\                           When used with -err:, it can also silent optional\n\
+\                           errors and warnings\n\
+\      syncOverride         missing synchronized in synchr. method override\n\
+\      syntheticAccess      synthetic access for innerclass\n\
+\      tasks(<tags separated by |>) tasks identified by tags inside comments\n\
+\      typeHiding         + type parameter hiding another type\n\
+\      unchecked          + unchecked type operation\n\
+\      unnecessaryElse      unnecessary else clause\n\
+\      unqualifiedField     unqualified reference to field\n\
+\      unused               macro for unusedAllocation, unusedArgument,\n\
+\                               unusedImport, unusedLabel, unusedLocal,\n\
+\                               unusedPrivate, unusedThrown, and unusedTypeArgs\n\
+\      unusedAllocation     allocating an object that is not used\n\
+\      unusedArgument       unread method parameter\n\
+\      unusedImport       + unused import declaration\n\
+\      unusedLabel        + unused label\n\
+\      unusedLocal        + unread local variable\n\
+\      unusedPrivate      + unused private member declaration\n\
+\      unusedThrown         unused declared thrown exception\n\
+\      unusedTypeArgs     + unused type arguments for method\n\
+\      uselessTypeCheck     unnecessary cast/instanceof operation\n\
+\      varargsCast        + varargs argument need explicit cast\n\
+\      warningToken       + unsupported or unnecessary @SuppressWarnings\n
+
+# GCCMain messages.
+gcc.zipArg=-fzip-target requires argument
+gcc.zipDepArg=-fzip-dependency requires argument
+gcc.noClasspath=no classpath specified
diff --git a/nonosgidependencies.properties b/nonosgidependencies.properties
index f038604..55070cd 100644
--- a/nonosgidependencies.properties
+++ b/nonosgidependencies.properties
@@ -19,3 +19,8 @@ org.apache.ant_1.7.1.v20100518-1145/lib/ant-trax.jar=/usr/share/java/ant/ant-tra
 org.junit_3.8.2.v3_8_2_v20100427-1100/junit.jar=/usr/share/java/junit.jar
 org.junit4/junit.jar=/usr/share/java/junit4.jar
 org.junit_4.8.1.v4_8_1_v20100427-1100/junit.jar=/usr/share/java/junit4.jar
+org.apache.ant_1.7.1.v20090120-1145/bin/ant=/usr/share/ant/bin/ant
+org.apache.ant_1.7.1.v20090120-1145/bin/antRun=/usr/share/ant/bin/antRun
+org.apache.ant_1.7.1.v20090120-1145/bin/antRun.pl=/usr/share/ant/bin/antRun.pl
+org.apache.ant_1.7.1.v20090120-1145/bin/complete-ant-cmd.pl=/usr/share/ant/bin/complete-ant-cmd.pl
+org.apache.ant_1.7.1.v20090120-1145/bin/runant.pl=/usr/share/ant/bin/runant.pl
diff --git a/patches/eclipse-swt-buildagainstxulrunner.patch b/patches/eclipse-swt-buildagainstxulrunner.patch
index 5e75a62..64e2f19 100644
--- a/patches/eclipse-swt-buildagainstxulrunner.patch
+++ b/patches/eclipse-swt-buildagainstxulrunner.patch
@@ -23,8 +23,8 @@ diff -u -r1.54 build.sh
  	elif [ x`pkg-config --exists libxul && echo YES` = "xYES" ]; then
 -		XULRUNNER_INCLUDES=`pkg-config --cflags libxul`
 -		XULRUNNER_LIBS=`pkg-config --libs libxul`
-+		XULRUNNER_INCLUDES=`pkg-config --cflags libxul-unstable`
-+		XULRUNNER_LIBS="`pkg-config --libs libxul-unstable` -lxpcomglue"
++		XULRUNNER_INCLUDES=`pkg-config --cflags libxul`
++		XULRUNNER_LIBS="`pkg-config --libs libxul` -lxpcomglue"
  		export XULRUNNER_INCLUDES
  		export XULRUNNER_LIBS
 -		MAKE_MOZILLA=make_xulrunner
diff --git a/patches/eclipse-swt-compile-xpt.patch b/patches/eclipse-swt-compile-xpt.patch
new file mode 100644
index 0000000..3e0d348
--- /dev/null
+++ b/patches/eclipse-swt-compile-xpt.patch
@@ -0,0 +1,31 @@
+Description: Build .xpt file if it does not exit
+Author: Benjamin Drung
+Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=305569
+
+--- a/plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh	
++++ b/plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh	
+@@ -24,6 +24,24 @@ if [ "${CC}" = "" ]; then
+ 	export CC
+ fi
+ 
++COMPONENTS_DIR=$(pwd)/../../org.eclipse.swt/components
++# Check if we have to compile external.xpt from external.idl
++if test ! -f ${COMPONENTS_DIR}/external.xpt; then
++	if test ! -f ${COMPONENTS_DIR}/external.idl; then
++		echo "Can't find ${COMPONENTS_DIR}/external.idl"
++		exit 1
++	fi
++
++	IDLDIR=$(pkg-config --variable=idldir libxul | sed 's@/stable$@@')/unstable
++	if test ! -d ${IDLDIR}; then
++		IDLDIR=$(pkg-config --variable=idldir libxul)
++	fi
++	XPIDL=$(pkg-config --variable=sdkdir libxul)/bin/xpidl
++
++	echo "${XPIDL} -m typelib -I ${IDLDIR} -e ${COMPONENTS_DIR}/external.xpt ${COMPONENTS_DIR}/external.idl"
++	${XPIDL} -m typelib -I ${IDLDIR} -e ${COMPONENTS_DIR}/external.xpt ${COMPONENTS_DIR}/external.idl
++fi
++
+ # Determine which OS we are on
+ if [ "${OS}" = "" ]; then
+ 	OS=`uname -s`
diff --git a/patches/osgi-services-build.patch b/patches/osgi-services-build.patch
new file mode 100644
index 0000000..03cc43b
--- /dev/null
+++ b/patches/osgi-services-build.patch
@@ -0,0 +1,58 @@
+diff --git a/eclipse/plugins/org.eclipse.osgi.services/build.properties b/eclipse/plugins/org.eclipse.osgi.services/build.properties
+index 7962dc5..ca55afb 100644
+--- a/plugins/org.eclipse.osgi.services/build.properties
++++ b/plugins/org.eclipse.osgi.services/build.properties
+@@ -11,11 +11,11 @@
+ bin.includes = plugin.properties,\
+                about.html,\
+                META-INF/,\
+-               org/,\
++               bin/,\
++               about_files/,\
++               .
++src.includes = about.html,\
+                about_files/
+-src.includes = src.zip,\
+-               about.html,\
+-               about_files/
+-source.. = .
++source.. = src/
+ output.. = .
+ customBuildCallbacks=customBuildCallbacks.xml
+diff --git a/eclipse/plugins/org.eclipse.osgi.services/customBuildCallbacks.xml b/eclipse/plugins/org.eclipse.osgi.services/customBuildCallbacks.xml
+index 9187112..dbd6075 100644
+--- a/plugins/org.eclipse.osgi.services/customBuildCallbacks.xml
++++ b/plugins/org.eclipse.osgi.services/customBuildCallbacks.xml
+@@ -104,6 +104,7 @@
+ 	<!--   target.folder - destination folder                                  -->
+ 	<!-- ===================================================================== -->
+ 	<target name="post.gather.bin.parts">
++	  <delete dir="${target.folder}/javax" />
+ 	</target>
+ 
+ 	<!-- ===================================================================== -->
+@@ -120,8 +121,7 @@
+ 	<!--   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" />	
++	  <delete dir="${destination.temp.folder}/javax" />
+ 	</target>
+ 
+ 	<!-- ===================================================================== -->
+@@ -146,7 +146,6 @@
+ 	<!--   destination.temp.folder - destination folder                        -->
+ 	<!-- ===================================================================== -->
+ 	<target name="pre.clean">  
+-		<move  file="src.zip" tofile="services_src.zip"/>
+ 	</target>
+ 
+ 	<!-- ===================================================================== -->
+@@ -157,6 +156,5 @@
+ 	<!--   temp.folder - temporary folder                                      -->
+ 	<!-- ===================================================================== -->
+ 	<target name="post.clean">
+-		<move file="services_src.zip" tofile="src.zip"/>
+ 	</target>
+ </project>
diff --git a/patches/tooltip-color.patch b/patches/tooltip-color.patch
new file mode 100644
index 0000000..3edcbd4
--- /dev/null
+++ b/patches/tooltip-color.patch
@@ -0,0 +1,47 @@
+diff -u -r1.25 ToolTip.java
+--- a/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java	2 Dec 2009 15:52:39 -0000
++++ b/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java	13 May 2010 15:59:10 -0000
+@@ -48,6 +48,7 @@
+ 	TrayItem item;
+ 	int x, y, timerId;
+ 	int /*long*/ layoutText = 0, layoutMessage = 0;
++	Color layoutTextColor, layoutMessageColor;
+ 	int [] borderPolygon;
+ 	boolean spikeAbove, autohide;
+ 	
+@@ -498,6 +499,9 @@
+ 			x += IMAGE_SIZE;
+ 		}
+ 		x += INSET;
++		if (layoutTextColor != null) {
++			OS.gdk_gc_set_foreground(gdkGC, layoutTextColor.handle);
++		}
+ 		OS.gdk_draw_layout (window, gdkGC, x, y, layoutText);
+ 		int [] w = new int [1], h = new int [1];
+ 		OS.pango_layout_get_size (layoutText, w, h);
+@@ -505,6 +509,9 @@
+ 	}
+ 	if (layoutMessage != 0) {
+ 		x = BORDER + PADDING + INSET;
++		if (layoutMessageColor != null) {
++			OS.gdk_gc_set_foreground(gdkGC, layoutMessageColor.handle);
++		}
+ 		OS.gdk_draw_layout (window, gdkGC, x, y, layoutMessage);
+ 	}
+ 	OS.g_object_unref (gdkGC);
+@@ -708,6 +715,7 @@
+ 	if (layoutMessage != 0) OS.g_object_unref (layoutMessage);
+ 	layoutMessage = 0;
+ 	if (message.length () != 0) {
++		layoutMessageColor = display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
+ 		byte [] buffer = Converter.wcsToMbcs (null, message, true);
+ 		layoutMessage = OS.gtk_widget_create_pango_layout (handle, buffer);
+ 		if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
+@@ -739,6 +747,7 @@
+ 	if (layoutText != 0) OS.g_object_unref (layoutText);
+ 	layoutText = 0;
+ 	if (text.length () != 0) {
++		layoutTextColor = display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
+ 		byte [] buffer = Converter.wcsToMbcs (null, text, true);
+ 		layoutText = OS.gtk_widget_create_pango_layout (handle, buffer);
+ 		if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
diff --git a/pdebuild.xml b/pdebuild.xml
index d585267..5a4b3e4 100644
--- a/pdebuild.xml
+++ b/pdebuild.xml
@@ -30,6 +30,8 @@
 		<file name="org.eclipse.equinox.preferences" />
 		<file name="org.eclipse.core.runtime.compatibility.auth" />
 		<file name="org.eclipse.core.contenttype" />
+		<file name="org.eclipse.equinox.transforms.hook" />
+		<file name="org.eclipse.osgi.services" />
 		<file name="org.eclipse.equinox.app" />
 		<file name="org.eclipse.core.runtime" />
 		<file name="org.eclipse.core.variables" />
@@ -64,7 +66,6 @@
 		<file name="org.eclipse.equinox.p2.updatesite" />
 		<file name="org.eclipse.pde.build" />
 		<file name="org.eclipse.equinox.launcher" />
-		<file name="org.eclipse.osgi.services" />
 		<file name="org.eclipse.equinox.p2.console" />
 		<file name="org.eclipse.equinox.p2.director.app" />
 		<file name="org.eclipse.update.core" />
diff --git a/pdebuild/eclipse-pdebuild.sh b/pdebuild/eclipse-pdebuild.sh
index 71cc3be..bf9f039 100755
--- a/pdebuild/eclipse-pdebuild.sh
+++ b/pdebuild/eclipse-pdebuild.sh
@@ -27,19 +27,19 @@ function copyPlatform {
     # counting as arguments to copy-platform -- overholt, 2008-03
     if [ -z "$dependencies" ]; then
         if [ $verbose -eq 1 ]; then
-            echo "/bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse"
-            /bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse
+            echo "/bin/sh -x @COPY_PLATFORM@ $SDK $datadir/eclipse"
+            /bin/sh -x @COPY_PLATFORM@ $SDK $datadir/eclipse
         else
-            echo "/bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse"
-            /bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse
+            echo "/bin/sh @COPY_PLATFORM@ $SDK $datadir/eclipse"
+            /bin/sh @COPY_PLATFORM@ $SDK $datadir/eclipse
         fi
     else
         if [ $verbose -eq 1 ]; then
-            echo "/bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies"
-            /bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies
+            echo "/bin/sh -x @COPY_PLATFORM@ $SDK $datadir/eclipse $dependencies"
+            /bin/sh -x @COPY_PLATFORM@ $SDK $datadir/eclipse $dependencies
         else
-            echo "/bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies"
-            /bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies
+            echo "/bin/sh @COPY_PLATFORM@ $SDK $datadir/eclipse $dependencies"
+            /bin/sh @COPY_PLATFORM@ $SDK $datadir/eclipse $dependencies
         fi
     fi
 }
@@ -123,8 +123,8 @@ sourceDir=$PWD
 buildDir=$PWD/build
 SDK=$buildDir/SDK
 homeDir=$buildDir/home
-datadir=`rpm --eval "%{_libdir}"`
-pdeBuildDir=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@
+datadir=/usr/lib
+pdeBuildDir=$datadir/eclipse/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@
 
 featureId=
 dependencies=
@@ -273,7 +273,7 @@ if [ $testing != true ]; then
     -DbaseLocation=$SDK \
     -DsourceDirectory=$sourceDir \
     -DbuildDirectory=$buildDir \
-    -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+    -Dbuilder=$datadir/eclipse/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
     $orbitDeps \
     -Dtesting="$testing" \
     $additionalArgs \
@@ -293,7 +293,7 @@ else
     -DbaseLocation=$SDK \
     -DsourceDirectory=$sourceDir \
     -DbuildDirectory=$buildDir \
-    -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+    -Dbuilder=$datadir/eclipse/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
     $orbitDeps \
     -Dtesting="$testing" \
     $additionalArgs \
diff --git a/stubs/org/eclipse/core/runtime/CoreException.java b/stubs/org/eclipse/core/runtime/CoreException.java
new file mode 100644
index 0000000..ff18293
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/CoreException.java
@@ -0,0 +1,4 @@
+package org.eclipse.core.runtime;
+public class CoreException extends Exception {
+    private static final long serialVersionUID = 1L;
+}
diff --git a/stubs/org/eclipse/core/runtime/IExtension.java b/stubs/org/eclipse/core/runtime/IExtension.java
new file mode 100644
index 0000000..499a7a4
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/IExtension.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public interface IExtension{}
diff --git a/stubs/org/eclipse/core/runtime/IExtensionPoint.java b/stubs/org/eclipse/core/runtime/IExtensionPoint.java
new file mode 100644
index 0000000..bbcc421
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/IExtensionPoint.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public interface IExtensionPoint{}
diff --git a/stubs/org/eclipse/core/runtime/ILibrary.java b/stubs/org/eclipse/core/runtime/ILibrary.java
new file mode 100644
index 0000000..f6662d6
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/ILibrary.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public interface ILibrary{}
diff --git a/stubs/org/eclipse/core/runtime/IPath.java b/stubs/org/eclipse/core/runtime/IPath.java
new file mode 100644
index 0000000..80ede8b
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/IPath.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public interface IPath extends Cloneable{};
diff --git a/stubs/org/eclipse/core/runtime/IPluginPrerequisite.java b/stubs/org/eclipse/core/runtime/IPluginPrerequisite.java
new file mode 100644
index 0000000..d857663
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/IPluginPrerequisite.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public interface IPluginPrerequisite {}
diff --git a/stubs/org/eclipse/core/runtime/Plugin.java b/stubs/org/eclipse/core/runtime/Plugin.java
new file mode 100644
index 0000000..60936c1
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/Plugin.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public abstract class Plugin {}
diff --git a/stubs/org/eclipse/core/runtime/PluginVersionIdentifier.java b/stubs/org/eclipse/core/runtime/PluginVersionIdentifier.java
new file mode 100644
index 0000000..7f91189
--- /dev/null
+++ b/stubs/org/eclipse/core/runtime/PluginVersionIdentifier.java
@@ -0,0 +1,2 @@
+package org.eclipse.core.runtime;
+public final class PluginVersionIdentifier {}


hooks/post-receive
-- 
eclipse - Powerful IDE written in java - Debian package.



More information about the pkg-java-commits mailing list