From 10f0d18a0e77d1bf86dff0a38e9fe00b3e63f38a Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 30 2014 09:45:20 +0000 Subject: import devtoolset-3-eclipse-4.4.0-7.el7 --- diff --git a/.devtoolset-3-eclipse.metadata b/.devtoolset-3-eclipse.metadata new file mode 100644 index 0000000..2023903 --- /dev/null +++ b/.devtoolset-3-eclipse.metadata @@ -0,0 +1,2 @@ +16323bbbdd3ac709a9c63707f59a0db8c4760ee6 SOURCES/R4_platform-aggregator-R4_4.tar.xz +6b3adca0e240cbee0b98e802f9a6cdc4ba3ba717 SOURCES/org.eclipse.linuxtools.eclipse-build-93cece6ca02e022b0d8d0816a9f6596b311ab774.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..12c6026 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/R4_platform-aggregator-R4_4.tar.xz +SOURCES/org.eclipse.linuxtools.eclipse-build-93cece6ca02e022b0d8d0816a9f6596b311ab774.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/eclipse-bug-386377.patch b/SOURCES/eclipse-bug-386377.patch new file mode 100644 index 0000000..29dfe95 --- /dev/null +++ b/SOURCES/eclipse-bug-386377.patch @@ -0,0 +1,565 @@ +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64/pom.xml 2014-04-16 15:53:08.145402094 +0100 +@@ -27,4 +27,59 @@ + gtk + x86_64 + ++ ++ ++ build-native-launchers-gtk.linux.x86_64 ++ ++ ++ native ++ gtk.linux.x86_64 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.win32.win32.x86_64/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.win32.win32.x86_64/pom.xml 2014-04-16 15:53:08.145402094 +0100 +@@ -27,4 +27,60 @@ + win32 + x86_64 + ++ ++ ++ ++ build-native-launchers-win32.win32.x86_64 ++ ++ ++ native ++ win32.win32.x86_64 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le/pom.xml.orig 2014-04-16 15:57:02.805249103 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le/pom.xml 2014-04-16 15:57:26.204834155 +0100 +@@ -27,4 +27,60 @@ + gtk + ppc64le + ++ ++ ++ ++ build-native-launchers-gtk.linux.ppc64le ++ ++ ++ native ++ gtk.linux.ppc64le ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.x86/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.x86/pom.xml 2014-04-16 15:53:08.145402094 +0100 +@@ -27,4 +27,59 @@ + gtk + x86 + ++ ++ ++ build-native-launchers-gtk.linux.x86 ++ ++ ++ native ++ gtk.linux.x86 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.win32.win32.x86/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.win32.win32.x86/pom.xml 2014-04-16 15:53:08.145402094 +0100 +@@ -27,4 +27,60 @@ + win32 + x86 + ++ ++ ++ ++ build-native-launchers-win32.win32.x86 ++ ++ ++ native ++ win32.win32.x86 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.s390/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.s390/pom.xml 2014-04-16 15:53:08.145402094 +0100 +@@ -27,4 +27,60 @@ + gtk + s390 + ++ ++ ++ ++ build-native-launchers-gtk.linux.s390 ++ ++ ++ native ++ gtk.linux.s390 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.s390x/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.s390x/pom.xml 2014-04-16 15:53:08.146402075 +0100 +@@ -27,4 +27,60 @@ + gtk + s390x + ++ ++ ++ ++ build-native-launchers-gtk.linux.s390x ++ ++ ++ native ++ gtk.linux.s390x ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64/pom.xml 2014-04-16 15:57:28.315796703 +0100 +@@ -27,4 +27,60 @@ + gtk + ppc64 + ++ ++ ++ ++ build-native-launchers-gtk.linux.ppc64 ++ ++ ++ native ++ gtk.linux.ppc64 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + +--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc/pom.xml.orig 2014-04-15 14:32:03.000000000 +0100 ++++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.ppc/pom.xml 2014-04-16 15:53:08.146402075 +0100 +@@ -27,4 +27,60 @@ + gtk + ppc + ++ ++ ++ ++ build-native-launchers-gtk.linux.ppc ++ ++ ++ native ++ gtk.linux.ppc ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + diff --git a/SOURCES/eclipse-bug-444143.patch b/SOURCES/eclipse-bug-444143.patch new file mode 100644 index 0000000..d9e7d93 --- /dev/null +++ b/SOURCES/eclipse-bug-444143.patch @@ -0,0 +1,96 @@ +From 716d35d30c1f639a04515188fedd89bb3aaf12bc Mon Sep 17 00:00:00 2001 +From: Sami Wagiaalla +Date: Mon, 15 Sep 2014 11:51:44 -0400 +Subject: Bug 444143 - [GTK3] Reset selected background color in Table + +When setBackgroundColor is called for Table it results in +a call to gtk_widget_override_background_color with the flag +GTK_STATE_FLAG_NORMAL which overrides the color for selected +items' background despite the flag. Therefore the selected item +color must be reset to the default. + +Change-Id: Iab3cad4e01cf87cca04e536fdea8991c818d0336 +Signed-off-by: Sami Wagiaalla + +diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +index 96493c6..2558fd1 100644 +--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java ++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +@@ -11,12 +11,28 @@ + package org.eclipse.swt.widgets; + + +-import org.eclipse.swt.*; +-import org.eclipse.swt.internal.*; +-import org.eclipse.swt.internal.cairo.*; +-import org.eclipse.swt.internal.gtk.*; +-import org.eclipse.swt.graphics.*; +-import org.eclipse.swt.events.*; ++import org.eclipse.swt.SWT; ++import org.eclipse.swt.SWTException; ++import org.eclipse.swt.events.SelectionEvent; ++import org.eclipse.swt.events.SelectionListener; ++import org.eclipse.swt.graphics.Color; ++import org.eclipse.swt.graphics.Font; ++import org.eclipse.swt.graphics.GC; ++import org.eclipse.swt.graphics.Image; ++import org.eclipse.swt.graphics.Point; ++import org.eclipse.swt.graphics.Rectangle; ++import org.eclipse.swt.internal.Converter; ++import org.eclipse.swt.internal.ImageList; ++import org.eclipse.swt.internal.cairo.Cairo; ++import org.eclipse.swt.internal.gtk.GdkColor; ++import org.eclipse.swt.internal.gtk.GdkEventButton; ++import org.eclipse.swt.internal.gtk.GdkEventExpose; ++import org.eclipse.swt.internal.gtk.GdkRGBA; ++import org.eclipse.swt.internal.gtk.GdkRectangle; ++import org.eclipse.swt.internal.gtk.GtkAllocation; ++import org.eclipse.swt.internal.gtk.GtkCellRendererClass; ++import org.eclipse.swt.internal.gtk.GtkRequisition; ++import org.eclipse.swt.internal.gtk.OS; + + /** + * Instances of this class implement a selectable user interface +@@ -3006,6 +3022,17 @@ void setBackgroundColor (GdkColor color) { + super.setBackgroundColor (color); + if (!OS.GTK3) { + OS.gtk_widget_modify_base (handle, 0, color); ++ } else { ++ // Setting the background color overrides the selected background color ++ // so we have to reset it the default. ++ GdkColor defaultColor = getDisplay().COLOR_LIST_SELECTION; ++ GdkRGBA selectedBackground = new GdkRGBA (); ++ selectedBackground.alpha = 1; ++ selectedBackground.red = (defaultColor.red & 0xFFFF) / (float)0xFFFF; ++ selectedBackground.green = (defaultColor.green & 0xFFFF) / (float)0xFFFF; ++ selectedBackground.blue = (defaultColor.blue & 0xFFFF) / (float)0xFFFF; ++ ++ OS.gtk_widget_override_background_color (handle, OS.GTK_STATE_FLAG_SELECTED, selectedBackground); + } + } + +diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +index 2a40869..4603cff 100644 +--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java ++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +@@ -3038,6 +3038,17 @@ void setBackgroundColor (GdkColor color) { + super.setBackgroundColor (color); + if (!OS.GTK3) { + OS.gtk_widget_modify_base (handle, 0, color); ++ } else { ++ // Setting the background color overrides the selected background color ++ // so we have to reset it the default. ++ GdkColor defaultColor = getDisplay().COLOR_LIST_SELECTION; ++ GdkRGBA selectedBackground = new GdkRGBA (); ++ selectedBackground.alpha = 1; ++ selectedBackground.red = (defaultColor.red & 0xFFFF) / (float)0xFFFF; ++ selectedBackground.green = (defaultColor.green & 0xFFFF) / (float)0xFFFF; ++ selectedBackground.blue = (defaultColor.blue & 0xFFFF) / (float)0xFFFF; ++ ++ OS.gtk_widget_override_background_color (handle, OS.GTK_STATE_FLAG_SELECTED, selectedBackground); + } + } + +-- +cgit v0.10.1-9-gd18e + diff --git a/SOURCES/eclipse-bug-903537.patch b/SOURCES/eclipse-bug-903537.patch new file mode 100644 index 0000000..332d1c7 --- /dev/null +++ b/SOURCES/eclipse-bug-903537.patch @@ -0,0 +1,16 @@ +--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java.bak 2013-01-28 12:16:08.000000000 +0100 ++++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java 2013-02-19 13:22:29.529926456 +0100 +@@ -4439,7 +4439,12 @@ + oldDecorations.fixAccelGroup (); + } + long /*int*/ newParent = parent.parentingHandle(); +- OS.gtk_widget_reparent(topHandle, newParent); ++// OS.gtk_widget_reparent(topHandle, newParent); ++ OS.g_object_ref(topHandle); ++ OS.gtk_container_remove(OS.gtk_widget_get_parent(topHandle), topHandle); ++ OS.gtk_container_add(newParent, topHandle); ++ OS.g_object_unref(topHandle); ++ + if (OS.GTK3) { + OS.swt_fixed_move (newParent, topHandle, x, y); + } else { diff --git a/SOURCES/eclipse-change-build-packagings.patch b/SOURCES/eclipse-change-build-packagings.patch new file mode 100644 index 0000000..86f3ff8 --- /dev/null +++ b/SOURCES/eclipse-change-build-packagings.patch @@ -0,0 +1,89 @@ +--- eclipse.platform.releng/features/org.eclipse.sdk/feature.xml.orig 2014-04-08 15:47:19.927087084 +0100 ++++ eclipse.platform.releng/features/org.eclipse.sdk/feature.xml 2014-04-08 15:48:00.045367311 +0100 +@@ -19,7 +19,7 @@ + %license + + +- ++ + + + +--- eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/category.xml.orig 2014-04-22 19:03:17.404382093 +0100 ++++ eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/category.xml 2014-04-22 19:08:40.599989429 +0100 +@@ -4,33 +4,21 @@ + id="org.eclipse.sdk.tests" + version="0.0.0" /> + +- + + +- + +- + + +- + + + +- ${project.baseUri}/../rcp/target/repository +- p2 +- +- +- +- ${project.baseUri}/../rcp.sdk/target/repository +- p2 +- +- +- + ${project.baseUri}/../platform/target/repository + p2 + + +- +- ${project.baseUri}/../platform.sdk/target/repository +- p2 +- +- +- +- ${project.baseUri}/../sdk/target/repository +- p2 +- +- + + ${project.baseUri}/../eclipse-junit-tests/target/repository + p2 diff --git a/SOURCES/eclipse-debug-symbols.patch b/SOURCES/eclipse-debug-symbols.patch new file mode 100644 index 0000000..d7173a7 --- /dev/null +++ b/SOURCES/eclipse-debug-symbols.patch @@ -0,0 +1,35 @@ +--- "eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak.orig" 2014-03-12 10:43:26.000000000 +0000 ++++ "eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak" 2014-03-12 14:36:44.130938292 +0000 +@@ -115,7 +115,7 @@ + WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o + GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o + +-CFLAGS = -O -Wall \ ++CFLAGS = -g -O -Wall \ + -DSWT_VERSION=$(SWT_VERSION) \ + $(NATIVE_STATS) \ + -DLINUX -DGTK \ +@@ -125,12 +125,6 @@ + ${SWT_PTR_CFLAGS} + LFLAGS = -shared -fPIC ${SWT_LFLAGS} + +-ifndef NO_STRIP +- AWT_LFLAGS := $(AWT_LFLAGS) -s +- MOZILLALFLAGS := $(MOZILLALFLAGS) -s +- LFLAGS := $(LFLAGS) -s +-endif +- + all: make_swt make_atk make_glx make_webkit + + # +--- rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak.orig 2014-03-12 14:47:37.513191381 +0000 ++++ rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak 2014-03-12 14:47:45.672200015 +0000 +@@ -48,7 +48,7 @@ + -DGTK3_LIB="\"libgtk-3.so.0\"" -DGDK3_LIB="\"libgdk-3.so.0\"" \ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\"" + LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic +-CFLAGS = ${M_ARCH} -g -s -Wall\ ++CFLAGS = ${M_ARCH} -g -Wall\ + -fpic \ + -DLINUX \ + -DMOZILLA_FIX \ diff --git a/SOURCES/eclipse-disable-jdt-annotation-java8.patch b/SOURCES/eclipse-disable-jdt-annotation-java8.patch new file mode 100644 index 0000000..7ae2749 --- /dev/null +++ b/SOURCES/eclipse-disable-jdt-annotation-java8.patch @@ -0,0 +1,16 @@ +--- eclipse.jdt/org.eclipse.jdt-feature/feature.xml.old 2014-05-19 15:24:30.868884801 -0400 ++++ eclipse.jdt/org.eclipse.jdt-feature/feature.xml 2014-05-19 15:24:42.186567987 -0400 +@@ -85,13 +85,6 @@ + unpack="false"/> + + +- +- + + +- +- +- +- + + +- +- +- +- +- +- +- +- + + diff --git a/SOURCES/eclipse-fix-comaptibility-class.patch b/SOURCES/eclipse-fix-comaptibility-class.patch new file mode 100644 index 0000000..b9687dd --- /dev/null +++ b/SOURCES/eclipse-fix-comaptibility-class.patch @@ -0,0 +1,60 @@ +--- eclipse.platform.runtime/bundles/org.eclipse.core.runtime.compatibility.registry/pom.xml.orig 2013-01-28 12:14:02.000000000 +0100 ++++ eclipse.platform.runtime/bundles/org.eclipse.core.runtime.compatibility.registry/pom.xml 2013-01-29 11:02:15.865494675 +0100 +@@ -28,4 +28,57 @@ + + + ++ ++ ++ ++ ++ classes/org/eclipse/core/runtime/IPluginDescriptor.class ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ 1.7 ++ ++ ++ natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ bsf ++ bsf ++ 2.4.0 ++ ++ ++ rhino ++ js ++ 1.7R2 ++ ++ ++ org.apache.ant ++ ant-apache-bsf ++ 1.8.3 ++ ++ ++ org.apache.ant ++ ant-nodeps ++ 1.8.1 ++ ++ ++ ++ ++ ++ ++ + diff --git a/SOURCES/eclipse-fix-dropins.patch b/SOURCES/eclipse-fix-dropins.patch new file mode 100644 index 0000000..706fc23 --- /dev/null +++ b/SOURCES/eclipse-fix-dropins.patch @@ -0,0 +1,88 @@ +--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java.orig 2014-03-24 10:49:00.000000000 +0000 ++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java 2014-03-24 15:39:32.122246214 +0000 +@@ -39,6 +39,7 @@ + + public class SimpleProfileRegistry implements IProfileRegistry, IAgentService { + ++ private static final String PROP_IGNORE_USER_CONFIGURATION = "eclipse.ignoreUserConfiguration"; //$NON-NLS-1$ + private static final String SIMPLE_PROFILE_REGISTRY_INTERNAL = "_simpleProfileRegistry_internal_"; //$NON-NLS-1$ + private static final String PROFILE_REGISTRY = "profile registry"; //$NON-NLS-1$ + private static final String PROFILE_PROPERTIES_FILE = "state.properties"; //$NON-NLS-1$ +@@ -266,6 +267,14 @@ + //fragments support - remeber the property + internalSetProfileStateProperty(profile, profile.getTimestamp(), SIMPLE_PROFILE_REGISTRY_INTERNAL + getExtTimeStamp(), getExtTimeStamp()); + agent.registerService(SERVICE_SHARED_INSTALL_NEW_TIMESTAMP, Long.toString(profile.getTimestamp())); ++ ++ // this looks like a hack, but: ++ // (1) SimpleConfigurationImpl keeps returning master configuration as long as the property is set ++ // (2) SimpleConfigurationImpl sets the propery after it drops user configuration ++ // therefore dropins reconciliation can't load dropins plugins installed into user configuration ++ // after the user configuration has been dropped. ++ // It is necessary to unset this property. ++ //System.setProperty(PROP_IGNORE_USER_CONFIGURATION, "processed_and_unset"); //$NON-NLS-1$ //$NON-NLS-2$ + } else { + //This is the first time we create the shared profile. Tag it as such and also remember the timestamp of the base + internalSetProfileStateProperty(profile, profile.getTimestamp(), IProfile.STATE_PROP_SHARED_INSTALL, IProfile.STATE_SHARED_INSTALL_VALUE_INITIAL); +@@ -299,6 +308,13 @@ + if (agent.getService(SERVICE_SHARED_INSTALL_NEW_TIMESTAMP) != null) + return false; + ++ // if the property is set by OSGI, and there is no new timestamp (because of the previous condition) ++ // ignore current profile. This will happen only once, because SERVICE_SHARED_INSTALL_NEW_TIMESTAMP ++ // is set during profile reset. ++ if ("true".equals(System.getProperty(PROP_IGNORE_USER_CONFIGURATION))) { //$NON-NLS-1$ //$NON-NLS-2$ ++ System.setProperty(PROP_IGNORE_USER_CONFIGURATION, "processed_and_unset"); //$NON-NLS-1$ //$NON-NLS-2$ ++ return true; ++ } + String baseTimestamp = getBaseTimestamp(profile.getProfileId()); + String extTimestamp = getExtTimeStamp(); + if (baseTimestamp == null) { +--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java ++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java +@@ -570,6 +570,7 @@ + + // get all IUs from all our repos + IQueryResult allIUs = getAllIUsFromRepos(); ++ HashSet removedFromAllIUs = new HashSet(); + for (Iterator iter = allIUs.iterator(); iter.hasNext();) { + final IInstallableUnit iu = iter.next(); + IInstallableUnit existing = profileIUs.get(iu); +@@ -583,6 +584,7 @@ + // (and more expensive) way to find this out is to do an IU profile property query. + if (two == null) { + // the IU is already installed so don't mark it as a dropin now - see bug 404619. ++ removedFromAllIUs.add(iu); + iter.remove(); + continue; + } +@@ -625,7 +627,7 @@ + } + // if the IU from the profile is in the "all available" list, then it is already added + // otherwise if it isn't in the repo then we have to remove it from the profile. +- if (!all.contains(iu)) ++ if (!all.contains(iu) && !removedFromAllIUs.contains(iu)) + toRemove.add(iu); + } + +@@ -799,8 +801,8 @@ + IStatus installerPlanStatus = engine.perform(plan.getInstallerPlan(), phaseSet, monitor); + if (!installerPlanStatus.isOK()) + return installerPlanStatus; +- +- applyConfiguration(true); ++ if (isReconciliationApplicationRunning()) ++ applyConfiguration(true); + } + return engine.perform(plan, phaseSet, monitor); + } +--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/migration/MigrationWizard.java 2013-06-10 09:33:20.000000000 +0200 ++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/migration/MigrationWizard.java 2013-06-11 15:44:28.654682088 +0200 +@@ -145,7 +145,7 @@ + } + + public boolean performCancel() { +- String[] buttons = new String[] {IDialogConstants.YES_LABEL, ProvUIMessages.MigrationPage_LATER_BUTTON, IDialogConstants.NO_LABEL}; ++ String[] buttons = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}; + MessageDialog dialog = new MessageDialog(getShell(), ProvUIMessages.MigrationPage_CONFIRMATION_TITLE, null, ProvUIMessages.MigrationPage_CONFIRMATION_DIALOG, MessageDialog.QUESTION, buttons, 2); + + return rememberCancellationDecision(dialog.open()); diff --git a/SOURCES/eclipse-fix-startup-class-refresh.patch b/SOURCES/eclipse-fix-startup-class-refresh.patch new file mode 100644 index 0000000..36c1404 --- /dev/null +++ b/SOURCES/eclipse-fix-startup-class-refresh.patch @@ -0,0 +1,7 @@ +--- rt.equinox.bundles/bundles/org.eclipse.equinox.common/META-INF/MANIFEST.MF.bak 2013-03-14 11:36:30.000000000 +0100 ++++ rt.equinox.bundles/bundles/org.eclipse.equinox.common/META-INF/MANIFEST.MF 2013-04-23 19:28:14.777666704 +0200 +@@ -35,3 +35,4 @@ + Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2 + Eclipse-LazyStart: true + Bundle-ActivationPolicy: lazy ++Require-Capability: osgi.identity; filter:="(osgi.identity=org.eclipse.core.runtime)"; resolution:=optional diff --git a/SOURCES/eclipse-help-doc-adjust-dependencies.patch b/SOURCES/eclipse-help-doc-adjust-dependencies.patch new file mode 100644 index 0000000..f5a622f --- /dev/null +++ b/SOURCES/eclipse-help-doc-adjust-dependencies.patch @@ -0,0 +1,54 @@ +diff --git a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml b/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml +index c63d1e1..8e7cc30 100644 +--- a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml ++++ b/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml +@@ -42,7 +42,7 @@ + unpack="false"/> + + + + +Date: Tue, 26 Feb 2013 21:25:42 +0100 +Subject: [PATCH] Adopt jetty 9 + +diff --git rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/META-INF/MANIFEST.MF rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/META-INF/MANIFEST.MF +index deb06c3..f993d0e 100755 +--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/META-INF/MANIFEST.MF ++++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/META-INF/MANIFEST.MF +@@ -9,23 +9,20 @@ + Import-Package: javax.servlet;version="[2.6.0,4.0.0)", + javax.servlet.http;version="[2.6.0,4.0.0)", + org.eclipse.equinox.http.servlet;version="1.0.0", +- org.eclipse.jetty.http;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.io.bio;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.io.nio;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server.bio;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server.handler;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server.nio;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server.session;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.server.ssl;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.servlet;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.util;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.util.component;version="[8.0.0,9.0.0)", +- org.eclipse.jetty.util.log;version="[8.0.0,9.0.0)", ++ org.eclipse.jetty.http;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.server;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.server.handler;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.server.nio;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.server.session;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.servlet;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.util;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.util.component;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.util.log;version="[9.0.0,10.0.0)", ++ org.eclipse.jetty.util.ssl;version="[9.0.0,10.0.0)", + org.osgi.framework;version="1.3.0", + org.osgi.service.cm;version="[1.4, 2.0)", + org.osgi.service.startlevel;version="1.0" +-Bundle-RequiredExecutionEnvironment: J2SE-1.5 ++Bundle-RequiredExecutionEnvironment: JavaSE-1.7 + Export-Package: org.eclipse.equinox.http.jetty;version="1.1.0" + Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2 + Eclipse-LazyStart: true +diff --git rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/jetty6-to-jetty7.patch rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/jetty6-to-jetty7.patch +deleted file mode 100644 +index d55a157..0000000 +--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/jetty6-to-jetty7.patch ++++ /dev/null +@@ -1,204 +0,0 @@ +-Index: .project +-=================================================================== +-RCS file: /cvsroot/rt/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.jetty6/.project,v +-retrieving revision 1.3 +-diff -u -r1.3 .project +---- .project 25 Apr 2008 14:38:54 -0000 1.3 +-+++ .project 16 Apr 2010 21:35:58 -0000 +-@@ -1,6 +1,6 @@ +- +- +-- org.eclipse.equinox.http.jetty6 +-+ org.eclipse.equinox.http.jetty7 +- +- +- +-Index: META-INF/MANIFEST.MF +-=================================================================== +-RCS file: /cvsroot/rt/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.jetty6/META-INF/MANIFEST.MF,v +-retrieving revision 1.24 +-diff -u -r1.24 MANIFEST.MF +---- META-INF/MANIFEST.MF 24 Apr 2009 20:54:41 -0000 1.24 +-+++ META-INF/MANIFEST.MF 16 Apr 2010 21:35:58 -0000 +-@@ -4,23 +4,28 @@ +- Bundle-Vendor: %providerName +- Bundle-Localization: plugin +- Bundle-SymbolicName: org.eclipse.equinox.http.jetty +--Bundle-Version: 2.0.0.qualifier +-+Bundle-Version: 3.0.0.qualifier +- Bundle-Activator: org.eclipse.equinox.http.jetty.internal.Activator +- Import-Package: javax.servlet;version="[2.5.0,2.6.0)", +- javax.servlet.http;version="[2.5.0,2.6.0)", +- org.eclipse.equinox.http.servlet;version="1.0.0", +-- org.mortbay.component;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty.bio;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty.handler;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty.nio;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty.security;version="[6.1.0,7.0.0)", +-- org.mortbay.jetty.servlet;version="[6.1.0,7.0.0)", +-- org.mortbay.log;version="[6.1.0,7.0.0)", +-+ org.eclipse.jetty.http;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.io.bio;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.io.nio;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server.bio;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server.handler;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server.nio;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server.session;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.server.ssl;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.servlet;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.util;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.util.component;version="[7.0.0,8.0.0)", +-+ org.eclipse.jetty.util.log;version="[7.0.0,8.0.0)", +- org.osgi.framework;version="1.3.0", +- org.osgi.service.cm;version="1.2.0", +- org.osgi.service.startlevel;version="1.0" +--Bundle-RequiredExecutionEnvironment: J2SE-1.4 +-+Bundle-RequiredExecutionEnvironment: J2SE-1.5 +- Export-Package: org.eclipse.equinox.http.jetty;version="1.1.0" +- Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2 +- Eclipse-LazyStart: true +-Index: src/org/eclipse/equinox/http/jetty/JettyCustomizer.java +-=================================================================== +-RCS file: /cvsroot/rt/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.jetty6/src/org/eclipse/equinox/http/jetty/JettyCustomizer.java,v +-retrieving revision 1.2 +-diff -u -r1.2 JettyCustomizer.java +---- src/org/eclipse/equinox/http/jetty/JettyCustomizer.java 17 Apr 2009 21:58:58 -0000 1.2 +-+++ src/org/eclipse/equinox/http/jetty/JettyCustomizer.java 16 Apr 2010 21:35:58 -0000 +-@@ -33,13 +33,13 @@ +- * framework. Changing those may cause breakage and thus must be avoided. +- *

+- * @param context +-- * the Jetty context; in case of Jetty 6 the context is of +-- * type org.mortbay.jetty.servlet.Context +-+ * the Jetty context; in case of Jetty 7 the context is of +-+ * type org.eclipse.jetty.servlet.ServletContextHandler +- * @param settings +- * the settings as passed to {@link JettyConfigurator#startServer(String, Dictionary)} +- * @return context +-- * the customized context; in case of Jetty 6 the context is of +-- * type org.mortbay.jetty.servlet.Context +-+ * the customized context; in case of Jetty 7 the context is of +-+ * type org.eclipse.jetty.servlet.ServletContextHandler +- */ +- public Object customizeContext(Object context, Dictionary settings) { +- return context; +-@@ -52,13 +52,13 @@ +- * Implementors may perform additional configuration of the Jetty Connector. +- *

+- * @param connector +-- * the Jetty connector; in case of Jetty 6 the context is of +-- * type org.mortbay.jetty.Connector +-+ * the Jetty connector; in case of Jetty 7 the context is of +-+ * type org.eclipse.jetty.server.Connector +- * @param settings +- * the settings as passed to {@link JettyConfigurator#startServer(String, Dictionary)} +- * @return connector +- * the customized connector; in case of Jetty 6 the connector is of +-- * type org.mortbay.jetty.Connector +-+ * type org.eclipse.jetty.server.Connector +- */ +- public Object customizeHttpConnector(Object connector, Dictionary settings) { +- return connector; +-@@ -71,13 +71,13 @@ +- * Implementors may perform additional configuration of the Jetty Connector. +- *

+- * @param connector +-- * the Jetty connector; in case of Jetty 6 the connector is of +-- * type org.mortbay.jetty.Connector +-+ * the Jetty connector; in case of Jetty 7 the connector is of +-+ * type oorg.eclipse.jetty.server.Connector +- * @param settings +- * the settings as passed to {@link JettyConfigurator#startServer(String, Dictionary)} +- * @return connector +-- * the customized connector; in case of Jetty 6 the connector is of +-- * type org.mortbay.jetty.Connector +-+ * the customized connector; in case of Jetty 7 the connector is of +-+ * type org.eclipse.jetty.server.Connector +- */ +- public Object customizeHttpsConnector(Object connector, Dictionary settings) { +- return connector; +-Index: src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java +-=================================================================== +-RCS file: /cvsroot/rt/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.jetty6/src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java,v +-retrieving revision 1.20 +-diff -u -r1.20 HttpServerManager.java +---- src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java 20 May 2009 21:12:37 -0000 1.20 +-+++ src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java 16 Apr 2010 21:35:58 -0000 +-@@ -18,12 +18,15 @@ +- import org.eclipse.equinox.http.jetty.JettyConstants; +- import org.eclipse.equinox.http.jetty.JettyCustomizer; +- import org.eclipse.equinox.http.servlet.HttpServiceServlet; +--import org.mortbay.jetty.Connector; +--import org.mortbay.jetty.Server; +--import org.mortbay.jetty.bio.SocketConnector; +--import org.mortbay.jetty.nio.SelectChannelConnector; +--import org.mortbay.jetty.security.SslSocketConnector; +--import org.mortbay.jetty.servlet.*; +-+import org.eclipse.jetty.server.Connector; +-+import org.eclipse.jetty.server.Server; +-+import org.eclipse.jetty.server.bio.SocketConnector; +-+import org.eclipse.jetty.server.nio.SelectChannelConnector; +-+import org.eclipse.jetty.server.session.HashSessionManager; +-+import org.eclipse.jetty.server.session.SessionHandler; +-+import org.eclipse.jetty.server.ssl.SslSocketConnector; +-+import org.eclipse.jetty.servlet.ServletContextHandler; +-+import org.eclipse.jetty.servlet.ServletHolder; +- import org.osgi.framework.Constants; +- import org.osgi.service.cm.ConfigurationException; +- import org.osgi.service.cm.ManagedServiceFactory; +-@@ -98,12 +101,12 @@ +- if (otherInfo != null) +- holder.setInitParameter(JettyConstants.OTHER_INFO, otherInfo); +- +-- Context httpContext = createHttpContext(dictionary); +-+ ServletContextHandler httpContext = createHttpContext(dictionary); +- if (null != customizer) +-- httpContext = (Context) customizer.customizeContext(httpContext, dictionary); +-+ httpContext = (ServletContextHandler) customizer.customizeContext(httpContext, dictionary); +- +- httpContext.addServlet(holder, "/*"); //$NON-NLS-1$ +-- server.addHandler(httpContext); +-+ server.setHandler(httpContext); +- +- try { +- server.start(); +-@@ -241,8 +244,8 @@ +- return sslConnector; +- } +- +-- private Context createHttpContext(Dictionary dictionary) { +-- Context httpContext = new Context(); +-+ private ServletContextHandler createHttpContext(Dictionary dictionary) { +-+ ServletContextHandler httpContext = new ServletContextHandler(); +- httpContext.setAttribute(INTERNAL_CONTEXT_CLASSLOADER, Thread.currentThread().getContextClassLoader()); +- httpContext.setClassLoader(this.getClass().getClassLoader()); +- +-Index: src/org/slf4j/Logger.java +-=================================================================== +-RCS file: /cvsroot/rt/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.jetty6/src/org/slf4j/Logger.java,v +-retrieving revision 1.2 +-diff -u -r1.2 Logger.java +---- src/org/slf4j/Logger.java 17 Apr 2009 20:24:43 -0000 1.2 +-+++ src/org/slf4j/Logger.java 16 Apr 2010 21:35:58 -0000 +-@@ -10,8 +10,8 @@ +- *******************************************************************************/ +- package org.slf4j; +- +--import org.mortbay.log.Log; +--import org.mortbay.log.StdErrLog; +-+import org.eclipse.jetty.util.log.Log; +-+import org.eclipse.jetty.util.log.StdErrLog; +- +- // NOTE: This class is not a real SLF4J implementation and MUST NOT be exported as a general implementation! +- // It is a place-holder to allow overriding the default logging done in Jetty +-@@ -80,7 +80,7 @@ +- setDebugEnabled(true); +- } +- +-- public org.mortbay.log.Logger getLogger(String name) { +-+ public org.eclipse.jetty.util.log.Logger getLogger(String name) { +- if ((name == null && this.localName == null) || (name != null && name.equals(this.localName))) +- return this; +- return new Logger(name); +--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/EquinoxStdErrLog.java.orig 2014-03-24 10:46:20.000000000 +0000 ++++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/EquinoxStdErrLog.java 2014-03-24 14:59:31.662164402 +0000 +@@ -169,6 +169,12 @@ public class EquinoxStdErrLog implements Logger { + realLogger.debug(thrown); + } + ++ public void debug(String msg, long value) { ++ if (threshold > DEBUG) ++ return; ++ realLogger.debug(msg, value); ++ } ++ + public void ignore(Throwable ignored) { + // Just post this to debug + debug(ignored); +--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java.orig 2014-03-24 10:46:20.000000000 +0000 ++++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/HttpServerManager.java 2014-03-24 14:59:31.662164402 +0000 +@@ -18,21 +18,21 @@ + import org.eclipse.equinox.http.jetty.JettyConstants; + import org.eclipse.equinox.http.jetty.JettyCustomizer; + import org.eclipse.equinox.http.servlet.HttpServiceServlet; +-import org.eclipse.jetty.server.Connector; +-import org.eclipse.jetty.server.Server; +-import org.eclipse.jetty.server.bio.SocketConnector; +-import org.eclipse.jetty.server.nio.SelectChannelConnector; ++import org.eclipse.jetty.server.*; + import org.eclipse.jetty.server.session.HashSessionManager; + import org.eclipse.jetty.server.session.SessionHandler; +-import org.eclipse.jetty.server.ssl.SslSocketConnector; + import org.eclipse.jetty.servlet.ServletContextHandler; + import org.eclipse.jetty.servlet.ServletHolder; ++import org.eclipse.jetty.util.ssl.SslContextFactory; + import org.osgi.framework.Constants; + import org.osgi.service.cm.ConfigurationException; + import org.osgi.service.cm.ManagedServiceFactory; + + public class HttpServerManager implements ManagedServiceFactory { + ++ private static final String HTTP_1_1 = "http/1.1"; //$NON-NLS-1$ ++ private static final int DEFAULT_IDLE_TIMEOUT = 30000; ++ private static final String HTTPS = "https"; //$NON-NLS-1$ + private static final String CONTEXT_TEMPDIR = "javax.servlet.context.tempdir"; //$NON-NLS-1$ + private static final String DIR_PREFIX = "pid_"; //$NON-NLS-1$ + private static final String INTERNAL_CONTEXT_CLASSLOADER = "org.eclipse.equinox.http.jetty.internal.ContextClassLoader"; //$NON-NLS-1$ +@@ -68,18 +68,38 @@ + + JettyCustomizer customizer = createJettyCustomizer(dictionary); + +- Connector httpConnector = createHttpConnector(dictionary); ++ /** ++ * May be modified by createHttp(s)Connector. ++ */ ++ HttpConfiguration http_config = new HttpConfiguration(); ++ ++ ServerConnector httpConnector = createHttpConnector(dictionary, server, http_config); ++ ++ ServerConnector httpsConnector = createHttpsConnector(dictionary, server, http_config); ++ + if (null != customizer) +- httpConnector = (Connector) customizer.customizeHttpConnector(httpConnector, dictionary); ++ httpConnector = (ServerConnector) customizer.customizeHttpConnector(httpConnector, dictionary); + +- if (httpConnector != null) ++ if (httpConnector != null) { ++ try { ++ httpConnector.open(); ++ } catch (IOException e) { ++ e.printStackTrace(); ++ } + server.addConnector(httpConnector); ++ } + +- Connector httpsConnector = createHttpsConnector(dictionary); + if (null != customizer) +- httpsConnector = (Connector) customizer.customizeHttpsConnector(httpsConnector, dictionary); +- if (httpsConnector != null) ++ httpsConnector = (ServerConnector) customizer.customizeHttpsConnector(httpsConnector, dictionary); ++ ++ if (httpsConnector != null) { ++ try { ++ httpsConnector.open(); ++ } catch (IOException e) { ++ e.printStackTrace(); ++ } + server.addConnector(httpsConnector); ++ } + + ServletHolder holder = new ServletHolder(new InternalHttpServiceServlet()); + holder.setInitOrder(0); +@@ -111,11 +131,76 @@ + try { + server.start(); + } catch (Exception e) { +- throw new ConfigurationException(pid, e.getMessage(), e); ++ //throw new ConfigurationException(pid, e.getMessage(), e); + } + servers.put(pid, server); + } + ++ private ServerConnector createHttpsConnector(@SuppressWarnings("rawtypes") Dictionary dictionary, Server server, HttpConfiguration http_config) { ++ ServerConnector httpsConnector = null; ++ if (isHttpsEnabled(dictionary)) { ++ // SSL Context Factory for HTTPS and SPDY ++ SslContextFactory sslContextFactory = new SslContextFactory(); ++ //sslContextFactory.setKeyStore(KeyS) ++ //Not sure if the next tree are properly migrated from jetty 8... ++ sslContextFactory.setKeyStorePath((String) dictionary.get(JettyConstants.SSL_KEYSTORE)); ++ sslContextFactory.setKeyStorePassword((String) dictionary.get(JettyConstants.SSL_PASSWORD)); ++ sslContextFactory.setKeyManagerPassword((String) dictionary.get(JettyConstants.SSL_KEYPASSWORD)); ++ ++ String keystoreType = (String) dictionary.get(JettyConstants.SSL_KEYSTORETYPE); ++ if (keystoreType != null) { ++ sslContextFactory.setKeyStoreType(keystoreType); ++ } ++ ++ String protocol = (String) dictionary.get(JettyConstants.SSL_PROTOCOL); ++ if (protocol != null) { ++ sslContextFactory.setProtocol(protocol); ++ } ++ ++ Object wantClientAuth = dictionary.get(JettyConstants.SSL_WANTCLIENTAUTH); ++ if (wantClientAuth != null) { ++ if (wantClientAuth instanceof String) ++ wantClientAuth = Boolean.valueOf((String) wantClientAuth); ++ ++ sslContextFactory.setWantClientAuth((Boolean) wantClientAuth); ++ } ++ ++ Object needClientAuth = dictionary.get(JettyConstants.SSL_NEEDCLIENTAUTH); ++ if (needClientAuth != null) { ++ if (needClientAuth instanceof String) ++ needClientAuth = Boolean.valueOf((String) needClientAuth); ++ ++ sslContextFactory.setNeedClientAuth(((Boolean) needClientAuth)); ++ } ++ ++ // HTTPS Configuration ++ HttpConfiguration https_config = new HttpConfiguration(http_config); ++ https_config.addCustomizer(new SecureRequestCustomizer()); ++ ++ // HTTPS connector ++ httpsConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, HTTP_1_1), new HttpConnectionFactory(https_config)); ++ httpsConnector.setPort(getIntProperty(dictionary, JettyConstants.HTTPS_PORT)); ++ } ++ return httpsConnector; ++ } ++ ++ private ServerConnector createHttpConnector(@SuppressWarnings("rawtypes") Dictionary dictionary, Server server, HttpConfiguration http_config) { ++ ServerConnector httpConnector = null; ++ if (isHttpEnabled(dictionary)) { ++ // HTTP Configuration ++ if (isHttpsEnabled(dictionary)) { ++ http_config.setSecureScheme(HTTPS); ++ http_config.setSecurePort(getIntProperty(dictionary, JettyConstants.HTTPS_PORT)); ++ } ++ // HTTP connector ++ httpConnector = new ServerConnector(server, new HttpConnectionFactory(http_config)); ++ httpConnector.setPort(getIntProperty(dictionary, JettyConstants.HTTP_PORT)); ++ httpConnector.setHost((String) dictionary.get(JettyConstants.HTTP_HOST)); ++ httpConnector.setIdleTimeout(DEFAULT_IDLE_TIMEOUT); ++ } ++ return httpConnector; ++ } ++ + public synchronized void shutdown() throws Exception { + for (Iterator it = servers.values().iterator(); it.hasNext();) { + Server server = it.next(); +@@ -124,155 +209,46 @@ + servers.clear(); + } + +- private Connector createHttpConnector(@SuppressWarnings("rawtypes") Dictionary dictionary) { +- Boolean httpEnabled = null; +- Object httpEnabledObj = dictionary.get(JettyConstants.HTTP_ENABLED); +- if (httpEnabledObj instanceof Boolean) { +- httpEnabled = (Boolean) httpEnabledObj; +- } else if (httpEnabledObj instanceof String) { +- httpEnabled = Boolean.parseBoolean(httpEnabledObj.toString()); +- } +- if (httpEnabled != null && !httpEnabled.booleanValue()) +- return null; +- ++ private Integer getIntProperty(@SuppressWarnings("rawtypes") Dictionary dictionary, String property) { + Integer httpPort = null; +- Object httpPortObj = dictionary.get(JettyConstants.HTTP_PORT); ++ Object httpPortObj = dictionary.get(property); + if (httpPortObj instanceof Integer) { + httpPort = (Integer) httpPortObj; + } else if (httpPortObj instanceof String) { + httpPort = Integer.valueOf(httpPortObj.toString()); + } +- if (httpPort == null) +- return null; +- +- Boolean nioEnabled = null; +- Object nioEnabledObj = dictionary.get(JettyConstants.HTTP_NIO); +- if (nioEnabledObj instanceof Boolean) { +- nioEnabled = (Boolean) nioEnabledObj; +- } else if (nioEnabledObj instanceof String) { +- nioEnabled = Boolean.parseBoolean(nioEnabledObj.toString()); +- } +- if (nioEnabled == null) +- nioEnabled = getDefaultNIOEnablement(); +- +- Connector connector; +- if (nioEnabled.booleanValue()) +- connector = new SelectChannelConnector(); +- else +- connector = new SocketConnector(); +- +- connector.setPort(httpPort.intValue()); +- +- String httpHost = (String) dictionary.get(JettyConstants.HTTP_HOST); +- if (httpHost != null) { +- connector.setHost(httpHost); +- } +- +- if (connector.getPort() == 0) { +- try { +- connector.open(); +- } catch (IOException e) { +- // this would be unexpected since we're opening the next available port +- e.printStackTrace(); +- } ++ if (httpPort == null) { ++ throw new IllegalArgumentException("Expected " + property + "property, but it is not set."); //$NON-NLS-1$//$NON-NLS-2$ + } +- return connector; ++ return httpPort; + } + +- private Boolean getDefaultNIOEnablement() { +- Properties systemProperties = System.getProperties(); +- String javaVendor = systemProperties.getProperty("java.vendor", ""); //$NON-NLS-1$ //$NON-NLS-2$ +- if (javaVendor.equals("IBM Corporation")) { //$NON-NLS-1$ +- String javaVersion = systemProperties.getProperty("java.version", ""); //$NON-NLS-1$ //$NON-NLS-2$ +- if (javaVersion.startsWith("1.4")) //$NON-NLS-1$ +- return Boolean.FALSE; +- // Note: no problems currently logged with 1.5 +- if (javaVersion.equals("1.6.0")) { //$NON-NLS-1$ +- String jclVersion = systemProperties.getProperty("java.jcl.version", ""); //$NON-NLS-1$ //$NON-NLS-2$ +- if (jclVersion.startsWith("2007")) //$NON-NLS-1$ +- return Boolean.FALSE; +- if (jclVersion.startsWith("2008") && !jclVersion.startsWith("200811") && !jclVersion.startsWith("200812")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ +- return Boolean.FALSE; +- } ++ /** ++ * If not configured -> enable ++ */ ++ private boolean isHttpEnabled(@SuppressWarnings("rawtypes") Dictionary dictionary) { ++ Boolean httpEnabled = true; ++ Object httpEnabledObj = dictionary.get(JettyConstants.HTTP_ENABLED); ++ if (httpEnabledObj instanceof Boolean) { ++ httpEnabled = (Boolean) httpEnabledObj; ++ } else if (httpEnabledObj instanceof String) { ++ httpEnabled = Boolean.parseBoolean(httpEnabledObj.toString()); + } +- return Boolean.TRUE; ++ return httpEnabled; + } + +- @SuppressWarnings("deprecation") +- private Connector createHttpsConnector(@SuppressWarnings("rawtypes") Dictionary dictionary) { +- Boolean httpsEnabled = null; ++ /** ++ * If not configured -> disable. ++ */ ++ private boolean isHttpsEnabled(@SuppressWarnings("rawtypes") Dictionary dictionary) { ++ Boolean httpsEnabled = false; + Object httpsEnabledObj = dictionary.get(JettyConstants.HTTPS_ENABLED); + if (httpsEnabledObj instanceof Boolean) { + httpsEnabled = (Boolean) httpsEnabledObj; + } else if (httpsEnabledObj instanceof String) { + httpsEnabled = Boolean.parseBoolean(httpsEnabledObj.toString()); + } +- if (httpsEnabled == null || !httpsEnabled.booleanValue()) +- return null; +- +- Integer httpsPort = null; +- Object httpsPortObj = dictionary.get(JettyConstants.HTTPS_PORT); +- if (httpsPortObj instanceof Integer) { +- httpsPort = (Integer) httpsPortObj; +- } else if (httpsPortObj instanceof String) { +- httpsPort = Integer.valueOf(httpsPortObj.toString()); +- } +- if (httpsPort == null) +- return null; +- +- SslSocketConnector sslConnector = new SslSocketConnector(); +- sslConnector.setPort(httpsPort.intValue()); +- +- String httpsHost = (String) dictionary.get(JettyConstants.HTTPS_HOST); +- if (httpsHost != null) { +- sslConnector.setHost(httpsHost); +- } +- +- String keyStore = (String) dictionary.get(JettyConstants.SSL_KEYSTORE); +- if (keyStore != null) +- sslConnector.setKeystore(keyStore); +- +- String password = (String) dictionary.get(JettyConstants.SSL_PASSWORD); +- if (password != null) +- sslConnector.setPassword(password); +- +- String keyPassword = (String) dictionary.get(JettyConstants.SSL_KEYPASSWORD); +- if (keyPassword != null) +- sslConnector.setKeyPassword(keyPassword); +- +- Object needClientAuth = dictionary.get(JettyConstants.SSL_NEEDCLIENTAUTH); +- if (needClientAuth != null) { +- if (needClientAuth instanceof String) +- needClientAuth = Boolean.valueOf((String) needClientAuth); +- +- sslConnector.setNeedClientAuth(((Boolean) needClientAuth).booleanValue()); +- } +- +- Object wantClientAuth = dictionary.get(JettyConstants.SSL_WANTCLIENTAUTH); +- if (wantClientAuth != null) { +- if (wantClientAuth instanceof String) +- wantClientAuth = Boolean.valueOf((String) wantClientAuth); +- +- sslConnector.setWantClientAuth(((Boolean) wantClientAuth).booleanValue()); +- } +- +- String protocol = (String) dictionary.get(JettyConstants.SSL_PROTOCOL); +- if (protocol != null) +- sslConnector.setProtocol(protocol); +- +- String keystoreType = (String) dictionary.get(JettyConstants.SSL_KEYSTORETYPE); +- if (keystoreType != null) +- sslConnector.setKeystoreType(keystoreType); +- +- if (sslConnector.getPort() == 0) { +- try { +- sslConnector.open(); +- } catch (IOException e) { +- // this would be unexpected since we're opening the next available port +- e.printStackTrace(); +- } +- } +- return sslConnector; ++ return httpsEnabled; + } + + private ServletContextHandler createHttpContext(@SuppressWarnings("rawtypes") Dictionary dictionary) { diff --git a/SOURCES/eclipse-lucene-4.patch b/SOURCES/eclipse-lucene-4.patch new file mode 100644 index 0000000..e008540 --- /dev/null +++ b/SOURCES/eclipse-lucene-4.patch @@ -0,0 +1,448 @@ +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java +index 4e6786c..49dc51b 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java +@@ -10,10 +10,14 @@ + *******************************************************************************/ + package org.eclipse.help.internal.search; + import java.io.*; +-import java.util.HashSet; +-import java.util.Set; ++import java.util.ArrayList; ++import java.util.List; + + import org.apache.lucene.analysis.*; ++import org.apache.lucene.analysis.en.*; ++import org.apache.lucene.analysis.core.*; ++import org.apache.lucene.analysis.util.*; ++import org.apache.lucene.util.Version; + /** + * Lucene Analyzer for English. LowerCaseTokenizer->StopFilter->PorterStemFilter + */ +@@ -25,18 +29,22 @@ public final class Analyzer_en extends Analyzer { + super(); + } + /** +- * Creates a TokenStream which tokenizes all the text in the provided ++ * Creates a TokenStreamComponents which tokenizes all the text in the provided + * Reader. + */ +- public final TokenStream tokenStream(String fieldName, Reader reader) { +- return new PorterStemFilter(new StopFilter(false, new LowerCaseAndDigitsTokenizer(reader), getStopWords(), false)); ++ @Override ++ public final TokenStreamComponents createComponents(String fieldName, Reader reader) { ++ CharArraySet stopWordsSet = StopFilter.makeStopSet(Version.LUCENE_47, getStopWords(), true); ++ Tokenizer source = new LowerCaseAndDigitsTokenizer(reader); ++ TokenStream filter = new PorterStemFilter(new StopFilter(Version.LUCENE_47, source, stopWordsSet)); ++ return new TokenStreamComponents(source, filter); + } + +- private Set stopWords; ++ private List stopWords; + +- private Set getStopWords() { ++ private List getStopWords() { + if ( stopWords == null ) { +- stopWords = new HashSet(); ++ stopWords = new ArrayList(); + for (int i = 0; i < STOP_WORDS.length; i++) { + stopWords.add(STOP_WORDS[i]); + } +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/DefaultAnalyzer.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/DefaultAnalyzer.java +index 50258d2..f72615f 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/DefaultAnalyzer.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/DefaultAnalyzer.java +@@ -15,8 +15,10 @@ import java.util.StringTokenizer; + import com.ibm.icu.text.BreakIterator; + + import org.apache.lucene.analysis.Analyzer; +-import org.apache.lucene.analysis.LowerCaseFilter; ++import org.apache.lucene.analysis.core.LowerCaseFilter; ++import org.apache.lucene.analysis.Tokenizer; + import org.apache.lucene.analysis.TokenStream; ++import org.apache.lucene.util.Version; + + import org.eclipse.help.internal.base.HelpBasePlugin; + +@@ -82,11 +84,14 @@ public final class DefaultAnalyzer extends Analyzer { + } + + /** +- * Creates a TokenStream which tokenizes all the text in the provided ++ * Creates a TokenStreamComponents which tokenizes all the text in the provided + * Reader. + */ +- public final TokenStream tokenStream(String fieldName, Reader reader) { +- return new LowerCaseFilter(new WordTokenStream(fieldName, reader, locale)); ++ @Override ++ public final TokenStreamComponents createComponents(String fieldName, Reader reader) { ++ Tokenizer source = new WordTokenStream(fieldName, reader, locale); ++ LowerCaseFilter filter = new LowerCaseFilter(Version.LUCENE_47, source); ++ return new TokenStreamComponents(source, filter); + } + + /** +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/LowerCaseAndDigitsTokenizer.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/LowerCaseAndDigitsTokenizer.java +index 0dd3943..d101ae9 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/LowerCaseAndDigitsTokenizer.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/LowerCaseAndDigitsTokenizer.java +@@ -12,7 +12,8 @@ package org.eclipse.help.internal.search; + + import java.io.*; + +-import org.apache.lucene.analysis.*; ++import org.apache.lucene.analysis.util.*; ++import org.apache.lucene.util.Version; + + /** + * Tokenizer breaking words around letters or digits. +@@ -20,13 +21,14 @@ import org.apache.lucene.analysis.*; + public class LowerCaseAndDigitsTokenizer extends CharTokenizer { + + public LowerCaseAndDigitsTokenizer(Reader input) { +- super(input); ++ super(Version.LUCENE_47, input); + } + protected char normalize(char c) { + return Character.toLowerCase(c); + } + +- protected boolean isTokenChar(char c) { ++ @Override ++ public boolean isTokenChar(int c) { + return Character.isLetterOrDigit(c); + } + +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/QueryBuilder.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/QueryBuilder.java +index 00c2799..9f9962d 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/QueryBuilder.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/QueryBuilder.java +@@ -243,16 +243,24 @@ public class QueryBuilder { + private List analyzeText(Analyzer analyzer, String fieldName, String text) { + List words = new ArrayList(1); + Reader reader = new StringReader(text); +- TokenStream tStream = analyzer.tokenStream(fieldName, reader); + +- CharTermAttribute termAttribute = (CharTermAttribute) tStream.getAttribute(CharTermAttribute.class); ++ TokenStream tStream = null; + try { ++ tStream = analyzer.tokenStream(fieldName, reader); ++ tStream.reset(); ++ CharTermAttribute termAttribute = (CharTermAttribute) tStream.getAttribute(CharTermAttribute.class); + while (tStream.incrementToken()) { + String term = termAttribute.toString(); + words.add(term); + } +- reader.close(); + } catch (IOException ioe) { ++ } finally { ++ if (tStream != null) { ++ try { ++ tStream.close(); ++ } catch (IOException e) { ++ } ++ } + } + + return words; +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java +index e860c8d..0d5a8b6 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java +@@ -31,13 +31,20 @@ import java.util.Set; + import java.util.zip.ZipEntry; + import java.util.zip.ZipInputStream; + ++import org.apache.lucene.analysis.Analyzer; ++import org.apache.lucene.analysis.miscellaneous.LimitTokenCountAnalyzer; + import org.apache.lucene.document.Document; + import org.apache.lucene.document.Field; ++import org.apache.lucene.index.AtomicReader; ++import org.apache.lucene.index.DirectoryReader; ++import org.apache.lucene.index.DocsEnum; + import org.apache.lucene.index.IndexReader; + import org.apache.lucene.index.IndexWriter; ++import org.apache.lucene.index.IndexWriterConfig; ++import org.apache.lucene.index.IndexWriterConfig.OpenMode; ++import org.apache.lucene.index.LogDocMergePolicy; ++import org.apache.lucene.index.SlowCompositeReaderWrapper; + import org.apache.lucene.index.Term; +-import org.apache.lucene.index.TermDocs; +-import org.apache.lucene.index.IndexWriter.MaxFieldLength; + import org.apache.lucene.search.BooleanQuery; + import org.apache.lucene.search.IndexSearcher; + import org.apache.lucene.search.Query; +@@ -265,10 +272,10 @@ public class SearchIndex implements IHelpSearchIndex { + if (iw != null) { + iw.close(); + } +- boolean create = false; ++ OpenMode create = OpenMode.APPEND; + if (!indexDir.exists() || !isLuceneCompatible() || !isAnalyzerCompatible() + || inconsistencyFile.exists() && firstOperation) { +- create = true; ++ create = OpenMode.CREATE; + indexDir.mkdirs(); + if (!indexDir.exists()) + return false; // unable to setup index directory +@@ -276,9 +283,13 @@ public class SearchIndex implements IHelpSearchIndex { + indexedDocs = new HelpProperties(INDEXED_DOCS_FILE, indexDir); + indexedDocs.restore(); + setInconsistent(true); +- MaxFieldLength max = new MaxFieldLength(1000000); +- iw = new IndexWriter(luceneDirectory, analyzerDescriptor.getAnalyzer(), create, max); +- iw.setMergeFactor(20); ++ Analyzer wrapper = new LimitTokenCountAnalyzer(analyzerDescriptor.getAnalyzer(), 1000000); ++ IndexWriterConfig iconfig = new IndexWriterConfig(org.apache.lucene.util.Version.LUCENE_47, wrapper); ++ iconfig.setOpenMode(create); ++ LogDocMergePolicy policy = new LogDocMergePolicy(); ++ policy.setMergeFactor(20); ++ iconfig.setMergePolicy(policy); ++ iw = new IndexWriter(luceneDirectory, iconfig); + return true; + } catch (IOException e) { + HelpBasePlugin.logError("Exception occurred in search indexing at beginAddBatch.", e); //$NON-NLS-1$ +@@ -297,7 +308,7 @@ public class SearchIndex implements IHelpSearchIndex { + indexedDocs = new HelpProperties(INDEXED_DOCS_FILE, indexDir); + indexedDocs.restore(); + setInconsistent(true); +- ir = IndexReader.open(luceneDirectory, false); ++ ir = DirectoryReader.open(luceneDirectory); + return true; + } catch (IOException e) { + HelpBasePlugin.logError("Exception occurred in search indexing at beginDeleteBatch.", e); //$NON-NLS-1$ +@@ -313,7 +324,7 @@ public class SearchIndex implements IHelpSearchIndex { + if (ir != null) { + ir.close(); + } +- ir = IndexReader.open(luceneDirectory, false); ++ ir = DirectoryReader.open(luceneDirectory); + return true; + } catch (IOException e) { + HelpBasePlugin.logError("Exception occurred in search indexing at beginDeleteBatch.", e); //$NON-NLS-1$ +@@ -331,7 +342,7 @@ public class SearchIndex implements IHelpSearchIndex { + public IStatus removeDocument(String name) { + Term term = new Term(FIELD_NAME, name); + try { +- ir.deleteDocuments(term); ++ iw.deleteDocuments(term); + indexedDocs.remove(name); + } catch (IOException e) { + return new Status(IStatus.ERROR, HelpBasePlugin.PLUGIN_ID, IStatus.ERROR, +@@ -350,7 +361,7 @@ public class SearchIndex implements IHelpSearchIndex { + if (iw == null) + return false; + if (optimize) +- iw.optimize(); ++ iw.forceMerge(1); + iw.close(); + iw = null; + // save the update info: +@@ -369,7 +380,7 @@ public class SearchIndex implements IHelpSearchIndex { + * know about this change. Close it so that it gets reloaded next search. + */ + if (searcher != null) { +- searcher.close(); ++ searcher.getIndexReader().close(); + searcher = null; + } + return true; +@@ -401,7 +412,7 @@ public class SearchIndex implements IHelpSearchIndex { + * know about this change. Close it so that it gets reloaded next search. + */ + if (searcher != null) { +- searcher.close(); ++ searcher.getIndexReader().close(); + searcher = null; + } + return true; +@@ -505,8 +516,8 @@ public class SearchIndex implements IHelpSearchIndex { + } + Directory[] luceneDirs = dirList.toArray(new Directory[dirList.size()]); + try { +- iw.addIndexesNoOptimize(luceneDirs); +- iw.optimize(); ++ iw.addIndexes(luceneDirs); ++ iw.forceMerge(1); + } catch (IOException ioe) { + HelpBasePlugin.logError("Merging search indexes failed.", ioe); //$NON-NLS-1$ + return new HashMap(); +@@ -515,18 +526,19 @@ public class SearchIndex implements IHelpSearchIndex { + } + + public IStatus removeDuplicates(String name, String[] index_paths) { +- TermDocs hrefDocs = null; +- TermDocs indexDocs = null; +- Term hrefTerm = new Term(FIELD_NAME, name); + try { ++ AtomicReader ar = SlowCompositeReaderWrapper.wrap(ir); ++ DocsEnum hrefDocs = null; ++ DocsEnum indexDocs = null; ++ Term hrefTerm = new Term(FIELD_NAME, name); + for (int i = 0; i < index_paths.length; i++) { + Term indexTerm = new Term(FIELD_INDEX_ID, index_paths[i]); + if (i == 0) { +- hrefDocs = ir.termDocs(hrefTerm); +- indexDocs = ir.termDocs(indexTerm); ++ hrefDocs = ar.termDocsEnum(hrefTerm); ++ indexDocs = ar.termDocsEnum(indexTerm); + } else { +- hrefDocs.seek(hrefTerm); +- indexDocs.seek(indexTerm); ++ hrefDocs = ar.termDocsEnum(hrefTerm); ++ indexDocs = ar.termDocsEnum(indexTerm); + } + removeDocuments(hrefDocs, indexDocs); + } +@@ -535,19 +547,6 @@ public class SearchIndex implements IHelpSearchIndex { + "IO exception occurred while removing duplicates of document " + name //$NON-NLS-1$ + + " from index " + indexDir.getAbsolutePath() + ".", //$NON-NLS-1$ //$NON-NLS-2$ + ioe); +- } finally { +- if (hrefDocs != null) { +- try { +- hrefDocs.close(); +- } catch (IOException e) { +- } +- } +- if (indexDocs != null) { +- try { +- indexDocs.close(); +- } catch (IOException e) { +- } +- } + } + return Status.OK_STATUS; + } +@@ -559,33 +558,33 @@ public class SearchIndex implements IHelpSearchIndex { + * @param docs2 + * @throws IOException + */ +- private void removeDocuments(TermDocs doc1, TermDocs docs2) throws IOException { +- if (!doc1.next()) { ++ private void removeDocuments(DocsEnum doc1, DocsEnum docs2) throws IOException { ++ if (doc1.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } +- if (!docs2.next()) { ++ if (docs2.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } + while (true) { +- if (doc1.doc() < docs2.doc()) { +- if (!doc1.skipTo(docs2.doc())) { +- if (!doc1.next()) { ++ if (doc1.docID() < docs2.docID()) { ++ if (doc1.advance(docs2.docID()) == DocsEnum.NO_MORE_DOCS) { ++ if (doc1.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } + } +- } else if (doc1.doc() > docs2.doc()) { +- if (!docs2.skipTo(doc1.doc())) { +- if (!doc1.next()) { ++ } else if (doc1.docID() > docs2.docID()) { ++ if (docs2.advance(doc1.docID()) == DocsEnum.NO_MORE_DOCS) { ++ if (doc1.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } + } + } +- if (doc1.doc() == docs2.doc()) { +- ir.deleteDocument(doc1.doc()); +- if (!doc1.next()) { ++ if (doc1.docID() == docs2.docID()) { ++ iw.tryDeleteDocument(ir, doc1.docID()); ++ if (doc1.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } +- if (!docs2.next()) { ++ if (docs2.nextDoc() == DocsEnum.NO_MORE_DOCS) { + return; + } + } +@@ -792,7 +791,7 @@ public class SearchIndex implements IHelpSearchIndex { + public void openSearcher() throws IOException { + synchronized (searcherCreateLock) { + if (searcher == null) { +- searcher = new IndexSearcher(luceneDirectory, false); ++ searcher = new IndexSearcher(DirectoryReader.open(luceneDirectory)); + } + } + } +@@ -814,7 +813,7 @@ public class SearchIndex implements IHelpSearchIndex { + if (searches.isEmpty()) { + if (searcher != null) { + try { +- searcher.close(); ++ searcher.getIndexReader().close(); + } catch (IOException ioe) { + } + } +@@ -888,9 +887,11 @@ public class SearchIndex implements IHelpSearchIndex { + */ + private void cleanOldIndex() { + IndexWriter cleaner = null; +- MaxFieldLength max = new MaxFieldLength(10000); + try { +- cleaner = new IndexWriter(luceneDirectory, analyzerDescriptor.getAnalyzer(), true, max); ++ Analyzer wrapper = new LimitTokenCountAnalyzer(analyzerDescriptor.getAnalyzer(), 10000); ++ IndexWriterConfig iconfig = new IndexWriterConfig(org.apache.lucene.util.Version.LUCENE_47, wrapper); ++ iconfig.setOpenMode(OpenMode.CREATE); ++ cleaner = new IndexWriter(luceneDirectory, iconfig); + } catch (IOException ioe) { + } finally { + try { +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SmartAnalyzer.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SmartAnalyzer.java +index d0a7bb7..df31d89 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SmartAnalyzer.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/SmartAnalyzer.java +@@ -18,7 +18,7 @@ import org.apache.lucene.analysis.*; + * Smart Analyzer. Chooses underlying implementation based on the field which + * text is analyzed. + */ +-public final class SmartAnalyzer extends Analyzer { ++public final class SmartAnalyzer extends AnalyzerWrapper { + Analyzer pluggedInAnalyzer; + Analyzer exactAnalyzer; + +@@ -31,14 +31,14 @@ public final class SmartAnalyzer extends Analyzer { + this.exactAnalyzer = new DefaultAnalyzer(locale); + } + /** +- * Creates a TokenStream which tokenizes all the text in the provided +- * Reader. Delegates to DefaultAnalyzer when field used to search for exact ++ * Delegates to DefaultAnalyzer when field used to search for exact + * match, and to plugged-in analyzer for other fields. + */ +- public final TokenStream tokenStream(String fieldName, Reader reader) { ++ @Override ++ public final Analyzer getWrappedAnalyzer(String fieldName) { + if (fieldName != null && fieldName.startsWith("exact_")) { //$NON-NLS-1$ +- return exactAnalyzer.tokenStream(fieldName, reader); ++ return exactAnalyzer; + } +- return pluggedInAnalyzer.tokenStream(fieldName, reader); ++ return pluggedInAnalyzer; + } + } +diff --git a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/WordTokenStream.java b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/WordTokenStream.java +index 1360599..f622417 100644 +--- a/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/WordTokenStream.java ++++ b/eclipse.platform.ua/org.eclipse.help.base/src/org/eclipse/help/internal/search/WordTokenStream.java +@@ -35,6 +35,7 @@ public final class WordTokenStream extends Tokenizer { + * Constructor + */ + public WordTokenStream(String fieldName, Reader reader, Locale locale) { ++ super(reader); + this.reader = reader; + boundary = BreakIterator.getWordInstance(locale); + +@@ -105,6 +106,7 @@ public final class WordTokenStream extends Tokenizer { + } + + public void close() throws IOException { ++ super.close(); + /// Unlikely to be called as this is a reused + if (this.reader != null) { + this.reader.close(); diff --git a/SOURCES/eclipse-mockito.patch b/SOURCES/eclipse-mockito.patch new file mode 100644 index 0000000..74e51ee --- /dev/null +++ b/SOURCES/eclipse-mockito.patch @@ -0,0 +1,70 @@ +--- eclipse.platform.ui/tests/org.eclipse.ui.tests/META-INF/MANIFEST.MF.orig 2014-03-26 11:42:36.169928566 +0000 ++++ eclipse.platform.ui/tests/org.eclipse.ui.tests/META-INF/MANIFEST.MF 2014-03-26 12:56:27.970146198 +0000 +@@ -43,9 +43,9 @@ + org.eclipse.e4.ui.workbench.addons.swt;bundle-version="0.10.0", + org.eclipse.e4.ui.workbench.renderers.swt;bundle-version="0.10.0", + org.eclipse.osgi.services;bundle-version="3.3.100", +- org.hamcrest;bundle-version="1.1.0", +- org.objenesis;bundle-version="1.0.0", +- org.mockito;bundle-version="1.8.4" ++ org.hamcrest.core, ++ org.objenesis, ++ org.mockito.mockito-core + Eclipse-AutoStart: true + Export-Package: org.eclipse.ui.tests.api, + org.eclipse.ui.tests.menus +--- eclipse.platform.ui/tests/org.eclipse.e4.ui.tests/META-INF/MANIFEST.MF.orig 2014-03-26 11:44:04.400306048 +0000 ++++ eclipse.platform.ui/tests/org.eclipse.e4.ui.tests/META-INF/MANIFEST.MF 2014-03-26 12:58:07.608331033 +0000 +@@ -31,9 +31,9 @@ + org.eclipse.core.expressions;bundle-version="3.4.200", + org.eclipse.e4.ui.workbench.addons.swt;bundle-version="0.9.0", + org.eclipse.e4.ui.css.swt;bundle-version="0.11.0", +- org.hamcrest;bundle-version="1.1.0", +- org.objenesis;bundle-version="1.0.0", +- org.mockito;bundle-version="1.8.4", ++ org.hamcrest.core, ++ org.objenesis, ++ org.mockito.mockito-core, + org.eclipse.e4.ui.css.core;bundle-version="0.10.100" + Bundle-RequiredExecutionEnvironment: JavaSE-1.6 + Bundle-ActivationPolicy: lazy +--- eclipse.platform.ui/tests/org.eclipse.e4.ui.tests.css.swt/META-INF/MANIFEST.MF.orig 2014-04-22 14:31:35.155774270 +0100 ++++ eclipse.platform.ui/tests/org.eclipse.e4.ui.tests.css.swt/META-INF/MANIFEST.MF 2014-04-22 14:33:47.599498477 +0100 +@@ -10,9 +10,9 @@ + org.w3c.css.sac, + org.eclipse.e4.ui.css.swt.theme;bundle-version="0.9.1", + org.eclipse.ui;bundle-version="3.106.0", +- org.hamcrest;bundle-version="1.1.0", +- org.objenesis;bundle-version="1.0.0", +- org.mockito;bundle-version="1.8.4", ++ org.hamcrest.core, ++ org.objenesis, ++ org.mockito.mockito-core, + org.eclipse.equinox.preferences;bundle-version="3.5.200" + Bundle-ActivationPolicy: lazy + Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +--- eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml.orig 2014-03-26 11:39:33.756282231 +0000 ++++ eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml 2014-03-26 13:03:00.971974954 +0000 +@@ -469,13 +469,6 @@ + unpack="false"/> + + +- +- + + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +--- eclipse.platform.releng/features/org.eclipse.help-feature/pom.xml.bak 2012-07-31 07:43:57.000000000 +0200 ++++ eclipse.platform.releng/features/org.eclipse.help-feature/pom.xml 2012-07-31 08:05:24.279277920 +0200 +@@ -53,6 +53,17 @@ + + source-feature + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +--- eclipse.pde/org.eclipse.pde-feature/pom.xml.bak 2013-01-29 11:22:47.065953870 +0100 ++++ eclipse.pde/org.eclipse.pde-feature/pom.xml 2013-01-29 11:23:18.630196529 +0100 +@@ -37,6 +37,8 @@ + + + ++ ++ + + + +--- eclipse.jdt/org.eclipse.jdt-feature/pom.xml.orig 2013-02-20 16:32:38.000000000 +0100 ++++ eclipse.jdt/org.eclipse.jdt-feature/pom.xml 2013-02-21 10:08:50.404275226 +0100 +@@ -57,6 +57,10 @@ + + + ++ ++ ++ ++ + + + +--- eclipse.platform.releng/features/org.eclipse.platform-feature/sourceTemplateFeature/build.properties.bak 2013-03-14 11:18:11.000000000 +0100 ++++ eclipse.platform.releng/features/org.eclipse.platform-feature/sourceTemplateFeature/build.properties 2013-03-14 12:45:12.956174290 +0100 +@@ -15,10 +15,7 @@ + license.html + + +-generate.feature@org.eclipse.rcp.source=org.eclipse.rcp,feature@org.eclipse.e4.rcp.source,plugin@com.ibm.icu.source;version=50.1.0.qualifier;unpack="false",\ +-plugin@org.apache.felix.gogo.command.source;version=0.10.0.qualifier;unpack="false",\ +-plugin@org.apache.felix.gogo.runtime.source;version=0.10.0.qualifier;unpack="false",\ +-plugin@org.apache.felix.gogo.shell.source;version=0.10.0.qualifier;unpack="false" ++generate.feature@org.eclipse.rcp.source=org.eclipse.rcp,feature@org.eclipse.e4.rcp.source + + generate.feature@org.eclipse.equinox.p2.user.ui.source=org.eclipse.equinox.p2.user.ui,\ + feature@org.eclipse.equinox.p2.core.feature.source,\ +@@ -31,16 +28,6 @@ + plugin@org.eclipse.ecf.provider.filetransfer.source;version=3.2.0.qualifier;unpack="false",\ + plugin@org.eclipse.ecf.provider.filetransfer.ssl.source;version=1.0.0.qualifier;unpack="false",\ + plugin@org.eclipse.ecf.provider.filetransfer.httpclient4.source;version=1.0.200.qualifier;unpack="false",\ +- plugin@org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source;version=1.0.0.qualifier;unpack="false",\ +- plugin@org.apache.commons.codec.source;version=1.4.0.qualifier;unpack="false,\ +- plugin@org.apache.commons.httpclient.source;version=3.1.0.qualifier;unpack="false" ++ plugin@org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source;version=1.0.0.qualifier;unpack="false" + +-generate.feature@org.eclipse.e4.rcp.source=org.eclipse.e4.rcp,\ +- plugin@javax.annotation.source;version=1.1.0.qualifier;unpack="false",\ +- plugin@javax.inject.source;version=1.0.0.qualifier;unpack="false",\ +- plugin@org.apache.batik.css.source;version=1.6.0.qualifier;unpack="false",\ +- plugin@org.apache.batik.util.gui.source;version=1.6.0.qualifier;unpack="false",\ +- plugin@org.apache.batik.util.source;version=1.6.0.qualifier;unpack="false",\ +- plugin@org.w3c.dom.smil.source;version=1.0.0.qualifier;unpack="false",\ +- plugin@org.w3c.dom.svg.source;version=1.1.0.qualifier;unpack="false",\ +- plugin@org.w3c.css.sac.source;version=1.3.1.qualifier;unpack="false" ++generate.feature@org.eclipse.e4.rcp.source=org.eclipse.e4.rcp +\ No newline at end of file +--- eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml.orig 2014-03-24 12:58:43.355826288 +0000 ++++ eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml 2014-03-24 13:04:46.463916138 +0000 +@@ -75,6 +75,12 @@ + + + ++ ++ ++ ++ ++ ++ + + + +--- eclipse.platform.releng/features/org.eclipse.sdk.examples-feature/pom.xml.orig 2014-04-23 15:44:51.755422154 +0100 ++++ eclipse.platform.releng/features/org.eclipse.sdk.examples-feature/pom.xml 2014-04-23 15:45:22.730893380 +0100 +@@ -39,11 +39,9 @@ + + + +- + + + +--- eclipse.platform.releng/features/org.eclipse.rcp/pom.xml.orig 2014-04-28 16:08:27.781454042 +0100 ++++ eclipse.platform.releng/features/org.eclipse.rcp/pom.xml 2014-04-28 16:08:55.067988282 +0100 +@@ -37,6 +37,7 @@ + + + ++ + + + +--- eclipse.platform.releng/features/org.eclipse.sdk/build.properties.bak 2013-03-14 11:18:11.000000000 +0100 ++++ eclipse.platform.releng/features/org.eclipse.sdk/build.properties 2013-03-14 13:00:08.498377327 +0100 +@@ -11,31 +11,12 @@ + bin.includes=feature.xml,feature.properties + + generate.feature@org.eclipse.platform.source=org.eclipse.platform,feature@org.eclipse.rcp.source,feature@org.eclipse.equinox.p2.user.ui.source;optional="true",plugin@org.eclipse.platform.doc.isv;unpack="false",\ +- plugin@org.apache.ant.source;version=1.8.4.qualifier;unpack="false",\ +- plugin@com.jcraft.jsch.source;version=0.1.46.qualifier;unpack="false",\ + exclude@org.eclipse.platform.doc.user + + generate.feature@org.eclipse.jdt.source=org.eclipse.jdt, plugin@org.eclipse.jdt.doc.isv;unpack="false",\ +-plugin@org.junit.source;version=4.10.0.qualifier;unpack="false",\ +-plugin@org.hamcrest.core.source;version=1.1.0.qualifier;unpack="false",\ + exclude@org.eclipse.jdt.doc.user +-generate.feature@org.eclipse.pde.source=org.eclipse.pde,plugin@org.objectweb.asm.source;version=3.3.1.qualifier;unpack="false",\exclude@org.eclipse.pde.doc.user ++generate.feature@org.eclipse.pde.source=org.eclipse.pde,\exclude@org.eclipse.pde.doc.user + generate.feature@org.eclipse.cvs.source=org.eclipse.cvs +-generate.feature@org.eclipse.help.source=org.eclipse.help,\ +- plugin@javax.servlet.source;version=3.0.0.qualifier;unpack="false",\ +- plugin@javax.servlet.jsp.source;version=2.2.0.qualifier;unpack="false",\ +- plugin@org.apache.jasper.glassfish.source;version=2.2.2.qualifier;unpack="false",\ +- plugin@com.sun.el.source;version=2.2.0.qualifier;unpack="false",\ +- plugin@org.apache.commons.logging.source;version=1.0.4.qualifier;unpack="false",\ +- plugin@org.apache.lucene.analysis.source;version=3.5.0.qualifier;unpack="false",\ +- plugin@org.apache.lucene.core.source;version=3.5.0.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.continuation.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.http.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.io.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.security.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.server.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.servlet.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@org.eclipse.jetty.util.source;version=8.1.9.qualifier;unpack="false",\ +- plugin@javax.el.source;version=2.2.0.qualifier;unpack="false" +- ++generate.feature@org.eclipse.help.source=org.eclipse.help ++ + generatedVersionLength=45 +--- eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml.orig 2014-05-26 18:37:25.406426611 +0300 ++++ eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml 2014-05-26 18:37:47.327449374 +0300 +@@ -54,6 +54,30 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + diff --git a/SOURCES/eclipse-no-target-platform.patch b/SOURCES/eclipse-no-target-platform.patch new file mode 100644 index 0000000..cb8db90 --- /dev/null +++ b/SOURCES/eclipse-no-target-platform.patch @@ -0,0 +1,16 @@ +--- eclipse-platform-parent/pom.xml.orig 2014-03-24 15:52:04.794208197 +0000 ++++ eclipse-platform-parent/pom.xml 2014-03-24 15:56:15.746202079 +0000 +@@ -170,13 +170,6 @@ + org.eclipse.tycho + target-platform-configuration + +- +- +- org.eclipse +- eclipse-sdk-prereqs +- 4.4.0-SNAPSHOT +- +- + + + linux diff --git a/SOURCES/eclipse-p2-pick-up-renamed-jars.patch b/SOURCES/eclipse-p2-pick-up-renamed-jars.patch new file mode 100644 index 0000000..8a85fe3 --- /dev/null +++ b/SOURCES/eclipse-p2-pick-up-renamed-jars.patch @@ -0,0 +1,11 @@ +--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2012-05-05 15:24:03.000000000 +0200 ++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2012-05-17 16:14:48.607827015 +0200 +@@ -752,7 +752,7 @@ + //First check to see if there is already an IU around for this + IInstallableUnit bundleIU = queryForIU(result, bundleDescriptions[i].getSymbolicName(), PublisherHelper.fromOSGiVersion(bd.getVersion())); + IArtifactKey key = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString()); +- if (bundleIU == null) { ++ if (bundleIU == null || !bd.getLocation().equals(bundleIU.getProperty("file.name"))) { + createAdviceFileAdvice(bundleDescriptions[i], info); + // Create the bundle IU according to any shape advice we have + bundleIU = doCreateBundleIU(bd, key, info); diff --git a/SOURCES/eclipse-pdebuild-add-target.patch b/SOURCES/eclipse-pdebuild-add-target.patch new file mode 100644 index 0000000..64d981e --- /dev/null +++ b/SOURCES/eclipse-pdebuild-add-target.patch @@ -0,0 +1,300 @@ +### Eclipse Workspace Patch 1.0 +#P org.eclipse.pde.build +--- /dev/null ++++ eclipse.pde.build/org.eclipse.pde.build/templates/package-build/prepare-build-dir.sh +@@ -0,0 +1,105 @@ ++#!/bin/sh ++ ++if [ $# -lt 2 ]; then ++ echo "usage: $0 " ++ exit 1 ++fi ++ ++if [ ! -d $1 ]; then ++ echo "usage: $0 " ++ exit 1 ++fi ++ ++SOURCEDIR=$1 ++BUILDDIR=$2 ++TESTING=$3 ++ ++echo "preparing files in $1 for buildfile generation ..." ++mkdir -p $BUILDDIR ++ ++# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml ++mkdir -p $BUILDDIR/tmp ++BUILDFILE=$BUILDDIR/tmp/build.xml ++ ++echo " ++ ++ ++ ++ ++ ++" > $BUILDFILE ++ ++for type in feature plugin fragment; do ++ CURBUILDFILE=$BUILDDIR/tmp/$type-build.xml ++ cat $BUILDFILE | sed "s|@type@|$type|" > $CURBUILDFILE ++done ++ ++# make the directories eclipse is expecting ++echo " making the 'features' and 'plugins' directories" ++mkdir -p $BUILDDIR/features $BUILDDIR/plugins ++ ++# make symlinks for the features ++FEATURES=$(find $SOURCEDIR -name feature.xml) ++find $SOURCEDIR -name feature.xml | while read f; do ++ PROJECTDIR=$(dirname "$f") ++ inSDK=1 ++ inSDK=$(echo $PROJECTDIR | grep -c $BUILDDIR) ++ if [ $inSDK = 0 ]; then ++ PROJECTNAME=$(ant -Dbasedir="$PROJECTDIR" -f $BUILDDIR/tmp/feature-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7) ++ ERROR="" ++ if [ -z "$PROJECTNAME" ]; then ++ echo "ERROR: could not determine the feature id for $PROJECTDIR" ++ if [ $TESTING != true ]; then ++ exit 1 ++ else ++ ERROR="yes" ++ fi ++ fi ++ ++ if [ "x$ERROR" != "xyes" ]; then ++ if [ $TESTING != true ] || `echo "$PROJECTNAME" | grep "org.eclipse"`; then ++ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR" ++ ln -sfT "$PROJECTDIR" $BUILDDIR/features/"$PROJECTNAME" ++ fi ++ fi ++ fi ++done ++ ++# make symlinks for plugins and fragments ++PLUGINDIRS=$(find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq) ++find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq | while read dir; do ++ PROJECTNAME="" ++ ERROR="" ++ inSDK=1 ++ inSDK=$(echo $dir | grep -c $BUILDDIR) ++ if [ $inSDK = 0 ]; then ++ if [ -e "$dir/META-INF/MANIFEST.MF" ]; then ++ PROJECTNAME=$(grep Bundle-SymbolicName $dir/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2) ++ elif [ -e "$dir/plugin.xml" ]; then ++ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/plugin-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7) ++ elif [ -e "$dir/fragment.xml" ]; then ++ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/fragment-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7) ++ fi ++ ++ if [ -z "$PROJECTNAME" ]; then ++ echo "ERROR: could not determine the plugin or fragment id for $dir" ++ if [ $TESTING != true ]; then ++ exit 1 ++ else ++ ERROR="yes" ++ fi ++ fi ++ ++ if [ "x$ERROR" != "xyes" ]; then ++ if [ $TESTING != true ] || `echo "$PROJECTNAME" | grep "org.eclipse"`; then ++ echo " making symlink: $BUILDDIR/plugins/$PROJECTNAME -> $dir" ++ ln -sfT "$dir" $BUILDDIR/plugins/"$PROJECTNAME" ++ fi ++ fi; ++ ++ fi ++ ++done ++ ++rm -rf $BUILDDIR/tmp ++echo done +--- /dev/null ++++ eclipse.pde.build/org.eclipse.pde.build/templates/package-build/customTargets-assemble-target.xml +@@ -0,0 +1,15 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +--- /dev/null ++++ eclipse.pde.build/org.eclipse.pde.build/templates/package-build/customTargets.xml +@@ -0,0 +1,154 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +--- /dev/null ++++ eclipse.pde.build/org.eclipse.pde.build/templates/package-build/build.properties +@@ -0,0 +1,12 @@ ++buildDirectory=${sourceDirectory}/build ++buildLabel=rpmBuild ++archivePrefix=eclipse ++skipFetch=true ++javacFailOnError=true ++collectingFolder=eclipse ++archivesFormat=*,*,*-zip ++zipargs=-y ++javacDebugInfo=true ++archiveName=${id}.zip ++runPackager=false ++baseLocation=@DATADIR@/eclipse diff --git a/SOURCES/eclipse-policy-comparators.patch b/SOURCES/eclipse-policy-comparators.patch new file mode 100644 index 0000000..b15cd3b --- /dev/null +++ b/SOURCES/eclipse-policy-comparators.patch @@ -0,0 +1,30 @@ +--- eclipse.platform.team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/DiffViewerComparator.java.orig 2014-03-27 10:48:13.547706443 +0000 ++++ eclipse.platform.team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/DiffViewerComparator.java 2014-03-27 10:52:42.615751600 +0000 +@@ -49,7 +49,7 @@ + + return oldStart0 - oldStart1; + } +- return Policy.getComparator().compare(arg0, arg1); ++ return Policy.getComparator().compare((String)arg0, (String)arg1); + } + }; + } +--- eclipse.platform.ui/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java.orig 2014-03-27 11:27:35.233213660 +0000 ++++ eclipse.platform.ui/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java 2014-03-27 12:19:30.696748271 +0000 +@@ -13,6 +13,7 @@ + import java.lang.reflect.InvocationTargetException; + import java.net.URL; + import java.util.ArrayList; ++import java.util.Comparator; + import java.util.Iterator; + import java.util.Map; + import java.util.TreeMap; +@@ -235,7 +236,7 @@ + // show Help button in JFace dialogs + TrayDialog.setDialogHelpAvailable(true); + +- Policy.setComparator(Collator.getInstance()); ++ Policy.setComparator((Comparator)Collator.getInstance()); + } + + /* diff --git a/SOURCES/eclipse-remove-jgit-provider.patch b/SOURCES/eclipse-remove-jgit-provider.patch new file mode 100644 index 0000000..07bf0c2 --- /dev/null +++ b/SOURCES/eclipse-remove-jgit-provider.patch @@ -0,0 +1,35 @@ +--- eclipse-platform-parent/pom.xml.orig 2014-05-26 17:04:22.000000000 +0300 ++++ eclipse-platform-parent/pom.xml 2014-05-26 18:57:29.044704226 +0300 +@@ -332,7 +332,7 @@ + tycho-packaging-plugin + ${tycho.version} + +- ++ + + + false + 'v'yyyyMMdd-HHmm +- jgit ++ + + pom.xml + + ${jgit.dirtyWorkingTree} +- ++ + + false + diff --git a/SOURCES/eclipse-remove-w3c-smil-and-use-geronimo.patch b/SOURCES/eclipse-remove-w3c-smil-and-use-geronimo.patch new file mode 100644 index 0000000..c9834ac --- /dev/null +++ b/SOURCES/eclipse-remove-w3c-smil-and-use-geronimo.patch @@ -0,0 +1,52 @@ +--- eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml.orig 2014-03-26 11:00:57.935084582 +0000 ++++ eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml 2014-03-26 11:02:43.076109293 +0000 +@@ -123,20 +123,6 @@ + unpack="false"/> + + +- +- +- +- + + + + eclipse-plugin +- javax.annotation ++ org.apache.geronimo.specs.geronimo-annotation_1.1_spec + 0.0.0 + + +@@ -96,7 +96,7 @@ + + + eclipse-plugin +- org.apache.jasper.glassfish ++ org.glassfish.web.javax.servlet.jsp + 0.0.0 + + diff --git a/SOURCES/eclipse-remove-weaving.patch b/SOURCES/eclipse-remove-weaving.patch new file mode 100644 index 0000000..d1dc14b --- /dev/null +++ b/SOURCES/eclipse-remove-weaving.patch @@ -0,0 +1,50 @@ +--- eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml.orig 2014-03-26 11:39:33.756282231 +0000 ++++ eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml 2014-03-26 13:19:39.009594727 +0000 +@@ -349,12 +349,6 @@ + version="0.0.0"/> + + +- +- + +- +- +- +- +- + +- +- + + s390x + + +- win32 +- win32 +- x86 +- +- +- win32 +- win32 +- x86_64 +- +- +- macosx +- cocoa +- x86 +- +- +- macosx +- cocoa +- x86_64 +- +- +- solaris +- gtk +- sparc +- +- +- solaris +- gtk +- x86 +- +- +- hpux ++ linux + gtk +- ia64 ++ arm + + +- aix ++ linux + gtk +- ppc ++ ppc64le + + +- aix ++ linux + gtk +- ppc64 ++ aarch64 + + + +--- a/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml ++++ b/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml +@@ -130,21 +130,6 @@ + gtk + x86_64 + +- +- win32 +- win32 +- x86 +- +- +- win32 +- win32 +- x86_64 +- +- +- macosx +- cocoa +- x86_64 +- + + + +diff --git a/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/build.properties b/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/build.properties +index 80a32e4..85de879 100644 +--- a/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/build.properties ++++ b/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/build.properties +@@ -32,6 +32,12 @@ root.solaris.gtk.sparc.permissions.755=eclipse + root.solaris.gtk.x86=../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/solaris/x86 + root.solaris.gtk.x86.permissions.755=eclipse + ++root.linux.gtk.arm=target/resources/linux.gtk.arm,../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/arm ++root.linux.gtk.arm.permissions.755=eclipse ++root.linux.gtk.aarch64=target/resources/linux.gtk.aarch64,../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/aarch64 ++root.linux.gtk.aarch64.permissions.755=eclipse ++root.linux.gtk.ppc64le=rootfiles/linux.gtk.ppc64le,../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/ppc64le ++root.linux.gtk.ppc64le.permissions.755=eclipse + root.linux.gtk.x86=rootfiles/linux.gtk.x86,../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/x86 + root.linux.gtk.x86.permissions.755=libcairo-swt.so,eclipse + root.linux.gtk.ppc=rootfiles/linux.gtk.ppc64,../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/ppc +diff --git a/eclipse.platform.swt.binaries/pom.xml b/eclipse.platform.swt.binaries/pom.xml +index 7dd0536..66d79ee 100644 +--- a/eclipse.platform.swt.binaries/pom.xml ++++ b/eclipse.platform.swt.binaries/pom.xml +@@ -53,6 +53,9 @@ + bundles/org.eclipse.swt.gtk.linux.ppc64 + bundles/org.eclipse.swt.gtk.linux.s390 + bundles/org.eclipse.swt.gtk.linux.s390x ++ bundles/org.eclipse.swt.gtk.linux.arm ++ bundles/org.eclipse.swt.gtk.linux.aarch64 ++ bundles/org.eclipse.swt.gtk.linux.ppc64le + bundles/org.eclipse.swt.gtk.linux.x86 + bundles/org.eclipse.swt.gtk.linux.x86_64 + bundles/org.eclipse.swt.gtk.solaris.sparc +diff --git a/rt.equinox.framework/pom.xml b/rt.equinox.framework/pom.xml +index b46cdc6..0fb36a5 100644 +--- a/rt.equinox.framework/pom.xml ++++ b/rt.equinox.framework/pom.xml +@@ -55,6 +55,9 @@ + bundles/org.eclipse.equinox.launcher.gtk.aix.ppc + bundles/org.eclipse.equinox.launcher.gtk.aix.ppc64 + bundles/org.eclipse.equinox.launcher.gtk.hpux.ia64 ++ bundles/org.eclipse.equinox.launcher.gtk.linux.arm ++ bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64 ++ bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le + bundles/org.eclipse.equinox.launcher.gtk.linux.ppc + bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64 + bundles/org.eclipse.equinox.launcher.gtk.linux.s390 +diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/buildFragment.xml b/eclipse.platform.swt/bundles/org.eclipse.swt/buildFragment.xml +index f5fb504..1187e84 100644 +--- a/eclipse.platform.swt/bundles/org.eclipse.swt/buildFragment.xml ++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/buildFragment.xml +@@ -425,6 +425,7 @@ + + + ++ + + + Is64=${is64} +diff --git a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml +index 7e1f520..734dd10 100644 +--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml ++++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml +@@ -409,6 +409,36 @@ + install-size="0" + version="0.0.0" + fragment="true"/> ++ ++ ++ ++ ++ ++ + + ++ ++ ++ ++ ++ ++ + + " + ;; +diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml +index fac13bf..e487001 100644 +--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml ++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml +@@ -259,6 +259,129 @@ + + + ++ ++ ++ build-native-launchers-gtk.linux.ppc ++ ++ ++ native ++ gtk.linux.ppc ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ ++ ++ ++ build-native-launchers-gtk.linux.ppc64 ++ ++ ++ native ++ gtk.linux.ppc64 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ build-native-launchers-gtk.linux.arm ++ ++ ++ native ++ gtk.linux.arm ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ ++ ++ ++ build-native-launchers-gtk.linux.aarch64 ++ ++ ++ native ++ gtk.linux.aarch64 ++ ++ ++ ++ ++ ++ maven-antrun-plugin ++ ++ ++ compile-executable-natives ++ generate-resources ++ ++ ++ ++ ++ ++ ++ run ++ ++ ++ ++ ++ ++ ++ ++ + + build-native-launchers-win32.win32.x86_64 + +--- a/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/pom.xml 2014-05-26 19:20:28.958177815 +0300 ++++ b/eclipse.platform.releng.tychoeclipsebuilder/rcp.config/pom.xml 2014-05-26 19:33:42.942025740 +0300 +@@ -30,6 +30,64 @@ + 2.6 + + ++ copy-resources-gtk.linux.aarch64 ++ validate ++ ++ copy-resources ++ ++ ++ ${basedir}/target/resources/linux.gtk.aarch64 ++ ++ ++ ../../eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.aarch64 ++ ++ about_files/* ++ about.html ++ ++ ++ ++ ++ ++ ++ copy-resources-gtk.linux.arm ++ validate ++ ++ copy-resources ++ ++ ++ ${basedir}/target/resources/linux.gtk.arm ++ ++ ++ ../../eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.arm ++ ++ about_files/* ++ about.html ++ ++ ++ ++ ++ ++ ++ copy-resources-gtk.linux.ppc64le ++ validate ++ ++ copy-resources ++ ++ ++ ${basedir}/rootfiles/linux.gtk.ppc64le ++ ++ ++ ../../eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.ppc64le ++ ++ ++ about_files/* ++ about.html ++ ++ ++ ++ ++ ++ + copy-resources-gtk.linux.x86 + validate + diff --git a/SOURCES/eclipse-servlet-3.1.patch b/SOURCES/eclipse-servlet-3.1.patch new file mode 100644 index 0000000..980f22a --- /dev/null +++ b/SOURCES/eclipse-servlet-3.1.patch @@ -0,0 +1,43 @@ +--- eclipse.platform.ua/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/servlet/ValidatorServlet.java.sav 2013-09-30 11:59:22.000000000 +0300 ++++ eclipse.platform.ua/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/servlet/ValidatorServlet.java 2014-01-06 15:09:36.251220892 +0200 +@@ -26,6 +26,7 @@ import java.util.Locale; + import javax.servlet.ServletConfig; + import javax.servlet.ServletException; + import javax.servlet.ServletOutputStream; ++import javax.servlet.WriteListener; + import javax.servlet.http.HttpServlet; + import javax.servlet.http.HttpServletRequest; + import javax.servlet.http.HttpServletResponse; +@@ -270,5 +271,11 @@ public class ValidatorServlet extends Ht + public void write(int b) throws IOException { + out.write(b); + } ++ ++ public boolean isReady() { ++ return true; ++ } ++ public void setWriteListener(WriteListener writeListener) { ++ } + } + } +--- eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml.sav 2014-01-06 17:08:09.690171368 +0200 ++++ eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml 2014-01-06 17:09:02.193219753 +0200 +@@ -295,18 +295,6 @@ + version="0.0.0"/> + + +- +- +- +- + +- + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ + +- +- +- +- +- +- +- +- ++ ++ + +- + + + +@@ -320,7 +235,7 @@ + +- ++ + + + +@@ -867,6 +782,17 @@ + arg2="" /> + + ++ ++ ++ ++ ++ ++ ++ trying to find ${testPluginFolder} ++ ++ ++ ++ + + + +@@ -1411,6 +1337,15 @@ + value="end longRunningTests" /> + + ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + + + +