Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/eclipse.git#c21212b002b4e7a2ff68dde825f2e885df0dd979
This commit is contained in:
DistroBaker 2021-01-19 00:06:31 +00:00
parent 8c145be9f2
commit e6112c26c7
26 changed files with 5614 additions and 0 deletions

14
.gitignore vendored
View File

@ -0,0 +1,14 @@
*.rpm
eclipse-build-*.tar.gz
eclipse-build-*.tar.xz
/R4_platform-aggregator-*
/eclipse-jdtpdeupdatesite.tar.bz2
/x86_64
/results_eclipse
/.m2
/.xmvn
/.build-*.log
/org.eclipse.linuxtools.eclipse-build-*.tar.bz2
/org.eclipse.linuxtools.eclipse-build-*.tar.xz
/org.eclipse.linuxtools.eclipse-build-*/
/eclipse-platform-sources-*.tar.xz

18
.project Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>eclipse</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.linuxtools.rpm.rpmlint.rpmlintBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.linuxtools.rpm.rpmlint.rpmlintNature</nature>
<nature>org.eclipse.linuxtools.rpm.core.rpmnature</nature>
</natures>
</projectDescription>

1632
changelog.pre-oxygen Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,38 @@
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh.orig 2018-08-19 12:37:52.764590467 +0100
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh 2018-08-19 12:38:15.032503913 +0100
@@ -74,7 +74,8 @@
MAKE_TYPE=make
-export CFLAGS='-O -Wall -fPIC'
+export CFLAGS='-O -g -Wall -fPIC'
+export NO_STRIP=1
# Determine which OS we are on
if [ "${OS}" = "" ]; then
--- rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak.orig 2019-03-20 10:22:21.420240101 +0000
+++ rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak 2019-03-20 10:53:53.375471427 +0000
@@ -82,7 +82,7 @@
-DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" \
-DGIO_LIB="\"libgio-2.0.so.0\"" -DGLIB_LIB="\"libglib-2.0.so.0\""
LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic
-CFLAGS = ${M_CFLAGS} ${M_ARCH} -g -s -Wall\
+CFLAGS = ${M_CFLAGS} ${M_ARCH} -g -Wall\
-fpic \
-DLINUX \
-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
--- eclipse.platform.team/bundles/org.eclipse.core.net/natives/unix/linux/makefile.orig 2019-03-20 09:49:40.694899138 +0000
+++ eclipse.platform.team/bundles/org.eclipse.core.net/natives/unix/linux/makefile 2019-03-20 10:20:21.704664294 +0000
@@ -25,10 +25,10 @@
OS_TYPE = linux
JDK_INCLUDE = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/${OS_TYPE}
INCLUDE = `pkg-config --cflags gio-2.0`
-COMPILER_FLAGS = -O0 -fPIC -g3 -Wall -c -fmessage-length=0 ${TARGET_ENVIRONMENT}
+COMPILER_FLAGS = $(CFLAGS) -fPIC -c ${TARGET_ENVIRONMENT}
LIBS := `pkg-config --libs gio-2.0`
-LINKER_FLAGS= ${TARGET_ENVIRONMENT}
+LINKER_FLAGS = $(LDFLAGS) ${TARGET_ENVIRONMENT}
all: link

View File

@ -0,0 +1,47 @@
From edd5a395dd96699f91c463c0e0409a7488814775 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Tue, 16 Aug 2016 17:51:46 -0400
Subject: [PATCH] Skip loading droplets in the configuration during
reconciliation.
The reconciler attempts to load droplets as extended locations, which
seems to be an expensive operation. Avoid doing this for the sake of
efficiency.
Change-Id: Iaf07aacb2d7eaabf3730654e757e69d22f0bc4ab
---
.../internal/p2/reconciler/dropins/PlatformXmlListener.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
index 802ee1b..74023fe 100644
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
@@ -172,11 +172,24 @@ public class PlatformXmlListener extends DirectoryChangeListener {
* Ensure that we have a repository for each site in the given configuration.
*/
protected void synchronizeConfiguration(Configuration config) {
+ String fragments = System.getProperty("p2.fragments");
List<Site> sites = config.getSites();
Set<IMetadataRepository> newRepos = new LinkedHashSet<>();
Set<Site> toBeRemoved = new HashSet<>();
for (Site site : sites) {
String siteURL = site.getUrl();
+ if (fragments != null) {
+ String[] rootPaths = fragments.split(",");
+ boolean skip = false;
+ for (String path : rootPaths) {
+ if (siteURL.startsWith("file:" + path)) {
+ skip = true;
+ }
+ }
+ if (skip) {
+ continue;
+ }
+ }
IMetadataRepository match = getMatchingRepo(Activator.getRepositories(), siteURL);
if (match == null) {
try {
--
2.7.4

View File

@ -0,0 +1,28 @@
From 889543269853e12925ef00a6e76c3dd85ce5b915 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Tue, 25 Oct 2016 16:48:28 -0400
Subject: [PATCH] Disable uses by default (osgi.resolver.usesMode=ignore).
set.
---
.../felix/src/org/apache/felix/resolver/ResolverImpl.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
index ded683f..7216865 100755
--- rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
+++ rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
@@ -1234,7 +1234,9 @@ public class ResolverImpl implements Resolver
{
public void run()
{
- computeUses(session, allWireCandidates, allPackages, resource);
+ if (! "ignore".equals(System.getProperty("osgi.resolver.usesMode"))) {
+ computeUses(session, allWireCandidates, allPackages, resource);
+ }
}
});
}
--
2.7.4

View File

@ -0,0 +1,721 @@
diff --git a/eclipse.jdt/org.eclipse.jdt-feature/feature.xml b/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
index d874d5a13..c15c86ffa 100644
--- a/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
+++ b/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
@@ -19,6 +19,23 @@
%license
</license>
+ <requires>
+ <import plugin="org.junit" />
+ <import plugin="org.hamcrest.core" />
+ <import plugin="org.junit.jupiter.api" />
+ <import plugin="org.junit.jupiter.engine" />
+ <import plugin="org.junit.jupiter.migrationsupport" />
+ <import plugin="org.junit.jupiter.params" />
+ <import plugin="org.junit.platform.commons" />
+ <import plugin="org.junit.platform.engine" />
+ <import plugin="org.junit.platform.launcher" />
+ <import plugin="org.junit.platform.runner" />
+ <import plugin="org.junit.platform.suite.api" />
+ <import plugin="org.junit.vintage.engine" />
+ <import plugin="org.opentest4j" />
+ <import plugin="org.apiguardian" />
+ </requires>
+
<plugin
id="org.eclipse.jdt"
download-size="0"
@@ -167,103 +184,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.junit"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.hamcrest.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.jupiter.api"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.jupiter.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.jupiter.migrationsupport"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.jupiter.params"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.platform.commons"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.platform.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.platform.launcher"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.platform.runner"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.platform.suite.api"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.junit.vintage.engine"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.opentest4j"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apiguardian"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.jdt.doc.user"
download-size="0"
diff --git a/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml b/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml
index d1e74d8ee..788b4202d 100644
--- a/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml
+++ b/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml
@@ -21,6 +21,8 @@
<requires>
<import feature="org.eclipse.jdt" version="3.15.0" match="compatible"/>
+ <import plugin="org.objectweb.asm" />
+ <import plugin="org.objectweb.asm.tree" />
</requires>
<plugin
@@ -78,20 +80,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.objectweb.asm"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.objectweb.asm.tree"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.pde.api.tools"
download-size="0"
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 c5ddcaf13..57b485135 100644
--- a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml
+++ b/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml
@@ -22,69 +22,6 @@
</license>
<plugin
- id="javax.el"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="javax.servlet"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="javax.servlet.jsp"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="com.sun.el"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.logging"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.jasper.glassfish"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.lucene.analyzers-common"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.lucene.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.lucene.analyzers-smartcn"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.equinox.http.jetty"
download-size="0"
install-size="0"
@@ -141,62 +78,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.jetty.continuation"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.http"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.io"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.security"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.server"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.servlet"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.util"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.jetty.util.ajax"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.core.net"
download-size="0"
install-size="0"
@@ -210,4 +91,22 @@
version="0.0.0"
unpack="false"/>
+ <requires>
+ <import plugin="javax.el" />
+ <import plugin="javax.servlet" />
+ <import plugin="javax.servlet.jsp" />
+ <import plugin="com.sun.el" />
+ <import plugin="org.apache.commons.logging" />
+ <import plugin="org.apache.jasper.glassfish" />
+ <import plugin="org.apache.lucene.analyzers-common" />
+ <import plugin="org.apache.lucene.core" />
+ <import plugin="org.apache.lucene.analyzers-smartcn" />
+ <import plugin="org.eclipse.jetty.continuation" />
+ <import plugin="org.eclipse.jetty.http" />
+ <import plugin="org.eclipse.jetty.io" />
+ <import plugin="org.eclipse.jetty.security" />
+ <import plugin="org.eclipse.jetty.server" />
+ <import plugin="org.eclipse.jetty.servlet" />
+ <import plugin="org.eclipse.jetty.util" />
+ </requires>
</feature>
diff --git a/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml b/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
index 84d4a38a9..070f86a63 100644
--- a/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
+++ b/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
@@ -19,6 +19,11 @@
%license
</license>
+ <requires>
+ <import plugin="org.apache.ant" />
+ <import plugin="com.jcraft.jsch" />
+ </requires>
+
<includes
id="org.eclipse.rcp"
version="0.0.0"/>
@@ -32,12 +37,6 @@
id="org.eclipse.help"
version="0.0.0"/>
- <plugin
- id="org.apache.ant"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
<plugin
id="org.eclipse.ant.core"
download-size="0"
@@ -45,13 +44,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="com.jcraft.jsch"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.compare.core"
download-size="0"
diff --git a/eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml b/eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
index b97274c8f..c0259a07b 100644
--- a/eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
+++ b/eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
@@ -19,6 +19,15 @@
%license
</license>
+ <requires>
+ <import plugin="org.apache.commons.fileupload" />
+ <import plugin="org.apache.commons.io" />
+ <import plugin="org.hamcrest.core" />
+ <import plugin="org.hamcrest.library" />
+ <import plugin="org.mockito" />
+ <import plugin="org.objenesis" />
+ </requires>
+
<includes
id="org.eclipse.test"
version="0.0.0"/>
@@ -427,20 +436,6 @@
install-size="0"
version="0.0.0"/>
- <plugin
- id="org.apache.commons.fileupload"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.io"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.equinox.p2.installer"
download-size="0"
@@ -490,41 +485,6 @@
install-size="0"
version="0.0.0"/>
- <plugin
- id="org.hamcrest.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.hamcrest.integration"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.hamcrest.library"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.mockito"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.objenesis"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.ui.tests.pluginchecks"
download-size="0"
diff --git a/eclipse.platform.ua/org.eclipse.tips.feature/feature.xml b/eclipse.platform.ua/org.eclipse.tips.feature/feature.xml
index f23dc6904..ff63f3901 100644
--- a/eclipse.platform.ua/org.eclipse.tips.feature/feature.xml
+++ b/eclipse.platform.ua/org.eclipse.tips.feature/feature.xml
@@ -32,6 +32,10 @@
%license
</license>
+ <requires>
+ <import plugin="com.google.gson" />
+ </requires>
+
<plugin
id="org.eclipse.tips.ui"
download-size="0"
@@ -60,11 +64,4 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="com.google.gson"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
</feature>
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 767a93df9..293525308 100644
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
@@ -22,6 +22,23 @@
<requires>
<import feature="org.eclipse.emf.common" version="2.7.0" match="compatible"/>
<import feature="org.eclipse.emf.ecore" version="2.7.0" match="compatible"/>
+ <import plugin="org.apache.batik.css" />
+ <import plugin="org.w3c.css.sac" />
+ <import plugin="org.apache.batik.util" />
+ <import plugin="org.w3c.dom.svg" />
+ <import plugin="javax.inject" />
+ <import plugin="javax.annotation" />
+ <import plugin="org.apache.batik.i18n" />
+ <import plugin="org.apache.batik.constants" />
+ <import plugin="org.apache.xmlgraphics" />
+ <import plugin="org.apache.commons.io" />
+ <import plugin="org.apache.commons.logging" />
+ <import plugin="org.apache.felix.scr" />
+ <import plugin="com.ibm.icu" />
+ <import plugin="org.apache.felix.gogo.command" />
+ <import plugin="org.apache.felix.gogo.runtime" />
+ <import plugin="org.apache.felix.gogo.shell" />
+ <import plugin="org.apache.commons.jxpath" />
</requires>
<plugin
@@ -94,62 +111,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.batik.css"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.w3c.css.sac"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.batik.util"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.w3c.dom.svg"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.w3c.dom.smil"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.w3c.dom.events"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="javax.inject"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="javax.annotation"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.e4.core.di"
download-size="0"
@@ -164,41 +125,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.batik.i18n"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.batik.constants"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.xmlgraphics"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.io"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.logging"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.e4.core.di.extensions"
download-size="0"
@@ -244,13 +170,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.felix.scr"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.equinox.event"
download-size="0"
@@ -335,13 +254,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="com.ibm.icu"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.equinox.preferences"
download-size="0"
@@ -504,27 +416,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.felix.gogo.command"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.felix.gogo.runtime"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.felix.gogo.shell"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.equinox.console"
download-size="0"
@@ -553,13 +444,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.commons.jxpath"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.e4.emf.xpath"
download-size="0"
diff --git a/rt.equinox.bundles/features/org.eclipse.equinox.server.jetty/feature.xml b/rt.equinox.bundles/features/org.eclipse.equinox.server.jetty/feature.xml
index 76e1c7f86..183a68d5c 100644
--- a/rt.equinox.bundles/features/org.eclipse.equinox.server.jetty/feature.xml
+++ b/rt.equinox.bundles/features/org.eclipse.equinox.server.jetty/feature.xml
@@ -15,12 +15,9 @@
%license
</license>
- <plugin
- id="javax.servlet"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
+ <requires>
+ <import plugin="javax.servlet" />
+ </requires>
<plugin
id="org.eclipse.equinox.http.jetty"
diff --git a/rt.equinox.bundles/features/org.eclipse.equinox.server.simple/feature.xml b/rt.equinox.bundles/features/org.eclipse.equinox.server.simple/feature.xml
index 99a3cab80..b12309b47 100644
--- a/rt.equinox.bundles/features/org.eclipse.equinox.server.simple/feature.xml
+++ b/rt.equinox.bundles/features/org.eclipse.equinox.server.simple/feature.xml
@@ -15,11 +15,8 @@
%license
</license>
- <plugin
- id="javax.servlet"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
+ <requires>
+ <import plugin="javax.servlet" />
+ </requires>
</feature>

88
eclipse-fix-dropins.patch Normal file
View File

@ -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
@@ -44,6 +44,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$
@@ -274,6 +275,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);
@@ -307,6 +316,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.orig 2019-09-13 14:45:20.806922186 +0100
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java 2019-09-13 14:46:41.124689025 +0100
@@ -560,6 +560,7 @@
// get all IUs from all our repos
IQueryResult<IInstallableUnit> allIUs = getAllIUsFromRepos();
+ HashSet<IInstallableUnit> removedFromAllIUs = new HashSet<IInstallableUnit>();
for (Iterator<IInstallableUnit> iter = allIUs.iterator(); iter.hasNext();) {
final IInstallableUnit iu = iter.next();
IInstallableUnit existing = profileIUs.get(iu);
@@ -573,6 +574,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;
}
@@ -614,7 +616,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);
}
@@ -787,7 +789,8 @@
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.orig 2019-09-13 14:42:54.512346840 +0100
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/migration/MigrationWizard.java 2019-09-13 14:43:12.003296065 +0100
@@ -158,8 +158,7 @@
@Override
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);

280
eclipse-fix-tests.patch Normal file
View File

@ -0,0 +1,280 @@
--- eclipse.pde.ui/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java.orig 2016-04-19 20:07:36.947017206 +0100
+++ eclipse.pde.ui/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java 2016-04-19 20:09:59.166077383 +0100
@@ -80,7 +80,7 @@
*/
protected IPath getJdtFeatureLocation() {
IPath path = new Path(TargetPlatform.getDefaultLocation());
- path = path.append("features");
+ path = path.append("droplets").append("eclipse-jdt").append("features");
File dir = path.toFile();
assertTrue("Missing features directory", dir.exists() && !dir.isFile());
String[] files = dir.list();
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
index f1f38f0..f9111e6 100644
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
@@ -246,7 +246,7 @@
if (parent != null) {
File[] children = parent.listFiles((FileFilter) pathname -> {
String name = pathname.getName();
- return name.startsWith("eclipse-platform-");
+ return name.startsWith("eclipse-SDK-");
});
if (children != null && children.length == 1)
file = children[0];
diff --git eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
index 376daa6..1742a8d 100644
--- eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
+++ eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
@@ -17,6 +17,7 @@ bin.includes = .,\
resources/,\
lib/
src.includes = about.html
-jars.compile.order = .
+jars.compile.order = .,\
+ lib/annotations.jar
source.. = src/
-output.. = bin/
+source.lib/annotations.jar = src/
diff --git eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
index f34ae40..0f9877d 100644
--- eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
+++ eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
@@ -24,4 +24,6 @@ bin.includes = plugin.xml,\
plugin.properties
src.includes = about.html
src.excludes = src-resources/
-jars.compile.order = aptext.jar,apt.jar,.
+jars.compile.order = aptext.jar,apt.jar,.,\
+ resources/question.jar
+source.resources/question.jar = src-resources/
diff --git eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
index bc8963d..fbe4da3 100644
--- eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
+++ eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
@@ -28,3 +28,6 @@
src.includes = about.html
compilerArg=-proc:none
jars.extra.classpath = lib/javax15api.jar
+source.lib/apttestprocessors.jar = processors/
+jars.compile.order = lib/apttestprocessors.jar,\
+ .
--- eclipse.platform/ant/org.eclipse.ant.tests.ui/build.properties.orig 2016-03-24 14:25:47.076289150 +0000
+++ eclipse.platform/ant/org.eclipse.ant.tests.ui/build.properties 2016-03-24 14:26:39.528660802 +0000
@@ -28,6 +28,8 @@
Ant Tests/
source.lib/antUITestsSupport.jar = test support/
-jars.compile.order=anttestsui.jar,lib/antUITestsSupport.jar
+source.testbuildfiles/antUITestsSupport.jar = test support/
+jars.compile.order=anttestsui.jar,lib/antUITestsSupport.jar,testbuildfiles/antUITestsSupport.jar
output.lib/antUITestsSupport.jar = test_support_bin/
+output.testbuildfiles/antUITestsSupport.jar = test_support_bin/
output.anttestsui.jar = bin/
--- eclipse.jdt.ui/org.eclipse.jdt.ui.tests/build.properties.orig 2016-03-25 15:09:40.557786910 +0000
+++ eclipse.jdt.ui/org.eclipse.jdt.ui.tests/build.properties 2016-03-25 15:12:08.476059326 +0000
@@ -25,3 +25,5 @@
leaks/,\
performance/
javacWarnings..=-raw,-unchecked
+source.testresources/nls.jar = nls/
+jars.compile.order = .,testresources/nls.jar
--- /dev/null 1970-01-01 01:00:00.000000000 +0100
+++ eclipse.jdt.ui/org.eclipse.jdt.ui.tests/nls/pkg/Client.java 2004-11-12 14:37:36.000000000 +0000
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package pkg;
+
+public class Client {
+
+ public String s;
+
+ {
+ s= Messages.getString("test");
+ s= Messages.getString("test_undefined");
+ s= Messages.getString("duplicate");
+ s= Messages.getString("test.long.key");
+ s= Messages.getString("SearchResultView.removed_resource");
+ }
+
+}
--- /dev/null 1970-01-01 01:00:00.000000000 +0100
+++ eclipse.jdt.ui/org.eclipse.jdt.ui.tests/nls/pkg/Messages.java 2004-11-12 14:37:28.000000000 +0000
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package pkg;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages extends Object {
+ private static final String RESOURCE_BUNDLE = Messages.class.getName();
+ private static ResourceBundle fgResourceBundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
+
+ private Messages() {}
+
+ /**
+ * Gets a string from the resource bundle and formats it with the argument
+ *
+ * @param key the string used to get the bundle value, must not be null
+ */
+ public static String getFormattedString(String key, Object arg) {
+ String format = null;
+
+ try {
+ format = fgResourceBundle.getString(key);
+ } catch (MissingResourceException e) {
+ return "!" + key + "!"; //$NON-NLS-2$ //$NON-NLS-1$
+ }
+
+ if (arg == null) {
+ arg = ""; //$NON-NLS-1$
+ }
+
+ return MessageFormat.format(format, new Object[] { arg });
+ }
+
+ /**
+ * Gets a string from the resource bundle and formats it with arguments
+ */
+ public static String getFormattedString(String key, String[] args) {
+ return MessageFormat.format(fgResourceBundle.getString(key), args);
+ }
+
+ public static String getString(String key) {
+ try {
+ return fgResourceBundle.getString(key);
+ } catch (MissingResourceException e) {
+ return "!" + key + "!"; //$NON-NLS-2$ //$NON-NLS-1$
+ }
+ }
+}
--- /dev/null 1970-01-01 01:00:00.000000000 +0100
+++ eclipse.jdt.ui/org.eclipse.jdt.ui.tests/nls/pkg/Messages.properties 2004-11-12 14:38:06.000000000 +0000
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2000, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Common Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/cpl-v10.html
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+###############################################################################
+test= Hello World
+duplicate= Duplicate 1
+test.long.key= Hello World Long
+duplicate= Duplicate 2
+SearchResultView.removed_resource= <removed resource>
--- eclipse.platform/ant/org.eclipse.ant.tests.core/build.properties.orig 2017-03-03 14:20:53.868573338 +0000
+++ eclipse.platform/ant/org.eclipse.ant.tests.core/build.properties 2017-03-06 14:26:42.382365639 +0000
@@ -26,6 +26,8 @@
source.anttestscore.jar = test plugin/,\
tests/
source.lib/antTestsSupport.jar = test support/
-jars.compile.order=anttestscore.jar,lib/antTestsSupport.jar
+source.testlib/classpathOrdering1.jar = testlib_src/classpathOrdering1/
+source.testlib/classpathOrdering2.jar = testlib_src/classpathOrdering2/
+jars.compile.order=anttestscore.jar,lib/antTestsSupport.jar,testlib/classpathOrdering1.jar,testlib/classpathOrdering2.jar
output.lib/antTestsSupport.jar = test_support_bin/
output.anttestscore.jar = bin/
--- /dev/null 2017-02-12 18:27:14.283389371 +0000
+++ eclipse.platform/ant/org.eclipse.ant.tests.core/testlib_src/classpathOrdering1/ClasspathOrdering.java 2017-03-06 14:28:57.742879825 +0000
@@ -0,0 +1,10 @@
+import java.io.PrintStream;
+
+public class ClasspathOrdering
+{
+ public static void main(String[] args)
+ {
+ System.out.println("classpathOrdering1");
+ }
+}
+
--- /dev/null 2017-02-12 18:27:14.283389371 +0000
+++ eclipse.platform/ant/org.eclipse.ant.tests.core/testlib_src/classpathOrdering2/ClasspathOrdering.java 2017-03-06 14:29:45.759352762 +0000
@@ -0,0 +1,10 @@
+import java.io.PrintStream;
+
+public class ClasspathOrdering
+{
+ public static void main(String[] args)
+ {
+ System.out.println("classpathOrdering2");
+ }
+}
+
--- eclipse.pde.build/org.eclipse.pde.build.tests/test.xml.orig 2017-04-28 11:49:47.046123546 +0100
+++ eclipse.pde.build/org.eclipse.pde.build.tests/test.xml 2017-04-28 12:05:11.947521737 +0100
@@ -159,13 +159,6 @@
id="org.eclipse.jdt.source.feature.group"
version="" />
<iu
- id="org.eclipse.rcp.configuration.feature.group"
- version="" />
-
- <iu
- id="org.eclipse.equinox.executable"
- version="" />
- <iu
id="org.eclipse.e4.rcp.feature.group"
version="" />
<iu
--- eclipse.jdt.core/org.eclipse.jdt.core.tests.builder/pom.xml.orig 2019-03-11 12:52:52.879124384 +0000
+++ eclipse.jdt.core/org.eclipse.jdt.core.tests.builder/pom.xml 2019-03-11 12:54:16.445849939 +0000
@@ -39,7 +39,22 @@
</includes>
<argLine>${tycho.surefire.argLine}</argLine>
</configuration>
- </plugin>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-plugin</type>
+ <id>org.eclipse.jdt.annotation</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
</plugins>
</build>
--- eclipse.jdt.debug/org.eclipse.jdt.debug.ui/build.properties.orig 2019-12-19 05:19:24.194321737 +0000
+++ eclipse.jdt.debug/org.eclipse.jdt.debug.ui/build.properties 2019-12-19 05:20:03.702264652 +0000
@@ -21,6 +21,9 @@
src.includes = about.html,\
schema/
+source.snippetsupport.jar=Snippet Support/
source.. = ui/
output.. = bin/
+output.snippetsupport.jar = snippet_bin/
javacWarnings..=-unavoidableGenericProblems
+javacWarnings.snippersupport.jar=-unavoidableGenericProblems

View File

@ -0,0 +1,69 @@
From a23545ef5b4cbb94ff048fda2839ba08c3593d50 Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Thu, 3 May 2018 15:58:49 +0100
Subject: [PATCH] Bug 534326 - Awkward p2 UI when many droplets are installed
Filter out software site locations where we know that they are p2 droplets in
places we show the list to the user. Change-Id:
I12364223850862783cb7cffd32fb7428fbf6b270 Signed-off-by: Mat Booth
<mat.booth@redhat.com>
---
.../p2/ui/dialogs/RepositorySelectionGroup.java | 13 +++++++++++++
.../equinox/p2/ui/RepositoryManipulationPage.java | 15 ++++++++++++++-
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
index d07be5d43..c666f8fdc 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java
@@ -303,6 +303,19 @@ public class RepositorySelectionGroup {
void fillRepoCombo(final String selection) {
RepositoryTracker tracker = ui.getRepositoryTracker();
URI[] sites = tracker.getKnownRepositories(ui.getSession());
+ // Filter out sites that are actually installed p2 droplets
+ String fragments = System.getProperty("p2.fragments"); //$NON-NLS-1$
+ ArrayList<URI> filteredSites = new ArrayList<>(Arrays.asList(sites));
+ if (fragments != null) {
+ for (String root : fragments.split(",")) { //$NON-NLS-1$
+ for (URI uri : sites) {
+ if (uri.getPath() != null && uri.getPath().startsWith(root)) {
+ filteredSites.remove(uri);
+ }
+ }
+ }
+ }
+ sites = filteredSites.toArray(new URI[0]);
boolean hasLocalSites = getLocalSites().length > 0;
final String[] items;
if (hasLocalSites) {
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java
index 78fb5398e..b8e724b66 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java
@@ -133,9 +133,22 @@ public class RepositoryManipulationPage extends PreferencePage implements IWorkb
if (cachedElements == null) {
Object[] children = super.fetchChildren(o, monitor);
cachedElements = new Hashtable<>(children.length);
+ String fragments = System.getProperty("p2.fragments"); //$NON-NLS-1$
for (Object element : children) {
if (element instanceof MetadataRepositoryElement) {
- put((MetadataRepositoryElement) element);
+ // Filter out locations that are actually installed p2 droplets
+ if (fragments != null) {
+ boolean isDroplet = false;
+ for (String root : fragments.split(",")) { //$NON-NLS-1$
+ URI childLoc = ((MetadataRepositoryElement) element).getLocation();
+ if (childLoc.getPath() != null && childLoc.getPath().startsWith(root)) {
+ isDroplet = true;
+ }
+ }
+ if (!isDroplet) {
+ put((MetadataRepositoryElement) element);
+ }
+ }
}
}
}
--
2.21.1

View File

@ -0,0 +1,26 @@
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
index 144571914..7e99bc880 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
@@ -1330,7 +1330,7 @@ public class Main {
String appVersion = props.getProperty(PRODUCT_SITE_VERSION);
if (appVersion == null || appVersion.trim().length() == 0)
appVersion = ""; //$NON-NLS-1$
- appName += File.separator + appId + "_" + appVersion + "_" + installDirHash; //$NON-NLS-1$ //$NON-NLS-2$
+ appName += File.separator + appId + "_" + installDirHash; //$NON-NLS-1$
} catch (IOException e) {
// Do nothing if we get an exception. We will default to a standard location
// in the user's home dir.
diff --git a/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java b/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
index 0c13ace6f..d92d4fc45 100755
--- a/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
+++ b/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
@@ -308,7 +308,7 @@ public class EquinoxLocations {
String appVersion = props.getProperty(PRODUCT_SITE_VERSION);
if (appVersion == null || appVersion.trim().length() == 0)
appVersion = ""; //$NON-NLS-1$
- appName += File.separator + appId + "_" + appVersion + "_" + installDirHash; //$NON-NLS-1$ //$NON-NLS-2$
+ appName += File.separator + appId + "_" + installDirHash; //$NON-NLS-1$
} catch (IOException e) {
// Do nothing if we get an exception. We will default to a standard location
// in the user's home dir.

View File

@ -0,0 +1,47 @@
From decc6ec5f3c5ce87fa50c2cfe932d66e89496810 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Wed, 3 Aug 2016 14:57:10 -0400
Subject: [PATCH] p2 Droplets should be recognized as runnable repositories.
Normally, a runnable repository is identified by the 'p2.runnable'
property contained within the artifact repository (artifact.xml).
However, in Fedora we ship p2 Droplets without this file so we need a
way to let methods like getRunnableRepositories in
o.e.equinox.internal.p2.touchpoint.eclipse.Util know that p2 Droplets
are runnable repositories.
Change-Id: I0ad0a7557f998b4d032466f89e6cc76036d1fb38
---
.../ExtensionLocationArtifactRepository.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
index 342e33e..425a166 100644
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
@@ -284,6 +284,22 @@ public class ExtensionLocationArtifactRepository extends AbstractRepository<IArt
return artifactRepository.getProperties();
}
+ public String getProperty(String key) {
+ if (IArtifactRepository.PROP_RUNNABLE.equals(key)) {
+ String candidate = getLocation().getPath();
+ String fragments = System.getProperty("p2.fragments");
+ if (fragments != null) {
+ String[] rootPaths = fragments.split(",");
+ for (String root : rootPaths) {
+ if (candidate.startsWith(root)) {
+ return Boolean.TRUE.toString();
+ }
+ }
+ }
+ }
+ return super.getProperty(key);
+ }
+
@Override
public String setProperty(String key, String value, IProgressMonitor monitor) {
try {
--
2.7.4

View File

@ -0,0 +1,75 @@
--- rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/pom.xml.bak 2012-07-25 17:45:43.000000000 +0200
+++ rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/pom.xml 2012-07-31 07:41:13.103636303 +0200
@@ -40,6 +40,25 @@
<excludes>
<plugin id="org.sat4j.core"/>
<plugin id="org.sat4j.pb"/>
+ <plugin id="org.apache.commons.codec" />
+ <plugin id="org.apache.commons.httpclient" />
+ <plugin id="org.apache.httpcomponents.httpclient" />
+ <plugin id="org.apache.httpcomponents.httpcore" />
+ <plugin id="org.apache.commons.logging" />
+ <plugin id="org.eclipse.ecf"/>
+ <plugin id="org.eclipse.ecf.filetransfer"/>
+ <plugin id="org.eclipse.ecf.identity"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient4"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl"/>
+ <plugin id="org.eclipse.ecf.provider.filetransfer.ssl"/>
+ <plugin id="org.eclipse.ecf.ssl"/>
+ <plugin id="org.eclipse.equinox.security.macosx"/>
+ <plugin id="org.eclipse.equinox.security.win32.x86"/>
+ <plugin id="org.eclipse.equinox.security.win32.x86_64"/>
+ <plugin id="org.tukaani.xz" />
</excludes>
</configuration>
</execution>
--- eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml.orig 2020-11-06 09:49:58.605988278 +0000
+++ eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml 2020-11-06 09:51:07.927686273 +0000
@@ -42,7 +42,24 @@
<plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc64le"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.aarch64"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
- <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
+ <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
+ <plugin id="org.eclipse.equinox.launcher.gtk.linux.s390x" />
+ <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" />
+ <plugin id="org.apache.commons.jxpath" />
+ <plugin id="org.apache.felix.gogo.command" />
+ <plugin id="org.apache.batik.css" />
+ <plugin id="org.apache.batik.i18n" />
+ <plugin id="org.w3c.css.sac" />
+ <plugin id="org.apache.batik.util" />
+ <plugin id="org.apache.xmlgraphics" />
+ <plugin id="org.w3c.dom.svg" />
+ <plugin id="javax.inject" />
+ <plugin id="com.ibm.icu"/>
+ <plugin id="com.sun.jna"/>
+ <plugin id="com.sun.jna.platform"/>
+ <plugin id="com.ibm.icu"/>
+ <plugin id="org.apache.felix.gogo.runtime" />
+ <plugin id="org.apache.felix.gogo.shell" />
</excludes>
</configuration>
</execution>
--- eclipse.platform.releng/features/org.eclipse.sdk/feature.xml.orig 2019-06-17 13:00:29.410091487 +0100
+++ eclipse.platform.releng/features/org.eclipse.sdk/feature.xml 2019-06-17 13:00:36.270076080 +0100
@@ -51,16 +51,6 @@
id="org.eclipse.help.source"
version="0.0.0"/>
- <requires>
- <import feature="org.eclipse.emf.common.source" version="2.7.0" match="compatible"/>
- <import feature="org.eclipse.emf.ecore.source" version="2.7.0" match="compatible"/>
- <import feature="org.eclipse.ecf.core.feature.source" version="1.4.0" match="compatible"/>
- <import feature="org.eclipse.ecf.core.ssl.feature.source" version="1.1.0" match="compatible"/>
- <import feature="org.eclipse.ecf.filetransfer.feature.source" version="3.13.7" match="compatible"/>
- <import feature="org.eclipse.ecf.filetransfer.httpclient45.feature.source" version="1.0.0" match="compatible"/>
- <import feature="org.eclipse.ecf.filetransfer.ssl.feature.source" version="1.1.0" match="compatible"/>
- </requires>
-
<plugin
id="org.eclipse.sdk"
download-size="0"

View File

@ -0,0 +1,11 @@
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2020-06-18 18:36:53.668369677 +0100
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2020-06-18 18:37:10.061182586 +0100
@@ -1010,7 +1010,7 @@
IInstallableUnit bundleIU = queryForIU(result, bd.getSymbolicName(),
PublisherHelper.fromOSGiVersion(bd.getVersion()));
IArtifactKey bundleArtKey = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString());
- if (bundleIU == null) {
+ if (bundleIU == null || !bd.getLocation().equals(bundleIU.getProperty("file.name"))) {
createAdviceFileAdvice(bd, info);
// Create the bundle IU according to any shape advice we have
bundleIU = doCreateBundleIU(bd, bundleArtKey, info);

View File

@ -0,0 +1,116 @@
--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF.orig 2019-05-30 16:37:50.444183989 +0100
+++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF 2019-05-30 16:39:53.635849673 +0100
@@ -11,10 +11,7 @@
org.eclipse.equinox.http.servlet.context;version="1.0.0";x-internal:=true,
org.eclipse.equinox.http.servlet.session;version="1.0.0";x-internal:=true,
org.eclipse.equinox.http.servlet.dto;version="1.0.0";x-internal:=true
-Import-Package: org.apache.commons.fileupload;version="[1.2.2, 2.0.0)";resolution:=optional,
- org.apache.commons.fileupload.disk;version="[1.2.2, 2.0.0)";resolution:=optional,
- org.apache.commons.fileupload.servlet;version="[1.2.2, 2.0.0)";resolution:=optional,
- javax.servlet;version="[3.1.0,5.0.0)",
+Import-Package: javax.servlet;version="[3.1.0,5.0.0)",
javax.servlet.annotation;version="[3.1.0,5.0.0)";resolution:=optional,
javax.servlet.descriptor;version="[3.1.0,5.0.0)";resolution:=optional,
javax.servlet.http;version="[3.1.0,5.0.0)",
--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet.tests/META-INF/MANIFEST.MF.orig 2019-05-30 16:55:25.117321897 +0100
+++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet.tests/META-INF/MANIFEST.MF 2019-05-30 16:55:36.792290214 +0100
@@ -8,9 +8,6 @@
Require-Bundle: org.junit;bundle-version="4.0"
Import-Package: javax.servlet;version="2.6.0",
javax.servlet.http;version="2.6.0",
- org.apache.commons.fileupload;version="1.2.2",
- org.apache.commons.fileupload.disk;version="1.2.2",
- org.apache.commons.fileupload.servlet;version="1.2.2",
org.eclipse.equinox.http.jetty;version="1.4.0",
org.eclipse.equinox.http.servlet;version="1.1.0",
org.eclipse.equinox.http.servlet.context;version="1.0.0",
--- eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml.orig 2019-06-20 11:07:22.539088841 +0100
+++ eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml 2019-06-20 11:07:27.679071742 +0100
@@ -20,7 +20,6 @@
</license>
<requires>
- <import plugin="org.apache.commons.fileupload" />
<import plugin="org.apache.commons.io" />
<import plugin="org.hamcrest.core" />
<import plugin="org.hamcrest.library" />
--- rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java.orig 2019-06-20 11:48:48.317887414 +0100
+++ rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java 2019-06-20 11:49:35.106774459 +0100
@@ -79,10 +79,6 @@
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.Part;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.eclipse.equinox.http.servlet.ExtendedHttpService;
import org.eclipse.equinox.http.servlet.RangeAwareServletContextHelper;
import org.eclipse.equinox.http.servlet.context.ContextPathCustomizer;
@@ -2657,66 +2653,6 @@
}
@Test
- public void test_commonsFileUpload() throws Exception {
- Servlet servlet = new HttpServlet() {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws IOException {
-
- boolean isMultipart = ServletFileUpload.isMultipartContent(req);
- Assert.assertTrue(isMultipart);
-
- DiskFileItemFactory factory = new DiskFileItemFactory();
-
- ServletContext servletContext = this.getServletConfig().getServletContext();
- File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
- factory.setRepository(repository);
- ServletFileUpload upload = new ServletFileUpload(factory);
-
- List<FileItem> items = null;
- try {
- List<FileItem> parseRequest = upload.parseRequest(req);
- items = parseRequest;
- } catch (FileUploadException e) {
- e.printStackTrace();
- }
-
- Assert.assertNotNull(items);
- Assert.assertFalse(items.isEmpty());
-
- FileItem fileItem = items.get(0);
-
- String submittedFileName = fileItem.getName();
- String contentType = fileItem.getContentType();
- long size = fileItem.getSize();
-
- PrintWriter writer = resp.getWriter();
-
- writer.write(submittedFileName);
- writer.write("|");
- writer.write(contentType);
- writer.write("|" + size);
- }
- };
-
- Dictionary<String, Object> props = new Hashtable<>();
- props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
- props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
- registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
-
- Map<String, List<Object>> map = new HashMap<>();
-
- map.put("file", Arrays.<Object>asList(getClass().getResource("blue.png")));
-
- Map<String, List<String>> result = requestAdvisor.upload("Servlet16/do", map);
-
- Assert.assertEquals("200", result.get("responseCode").get(0));
- Assert.assertEquals("blue.png|image/png|292", result.get("responseBody").get(0));
- }
-
- @Test
public void test_PathEncodings_Bug540970() throws Exception {
Servlet servlet = new HttpServlet() {
private static final long serialVersionUID = 1L;

View File

@ -0,0 +1,133 @@
From 85ad9719778aa0aa5b9e6655c015a352adb5540a Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Thu, 7 Apr 2016 10:23:49 -0400
Subject: [PATCH] Support reading BundleInfo from p2 Droplets enabled
installations.
- Additionally support reading source bundles from p2 Droplets location
---
.../org.eclipse.pde.core/META-INF/MANIFEST.MF | 1 +
.../eclipse/pde/internal/core/P2Utils.java | 50 +++++++++++++++++--
.../org.eclipse.pde.doc.user/pdeOptions.txt | 1 +
3 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF b/eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
index 8b65b7b6f..ff1a881a0 100644
--- a/eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
+++ b/eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
@@ -102,5 +102,6 @@ Require-Bundle:
org.eclipse.core.filesystem;bundle-version="[1.0.0,2.0.0)"
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: JavaSE-11
+Import-Package: org.eclipse.equinox.internal.simpleconfigurator.utils
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.pde.core
diff --git a/eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java b/eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
index bd0be54a9..d9259321e 100644
--- a/eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
+++ b/eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
@@ -17,10 +17,11 @@ package org.eclipse.pde.internal.core;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.*;
import java.nio.file.Files;
+import java.nio.file.Paths;
import java.nio.file.NoSuchFileException;
+import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -34,6 +35,7 @@ import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
+import org.eclipse.core.runtime.URIUtil; import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorUtils;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
import org.eclipse.equinox.p2.engine.IEngine;
@@ -62,6 +64,7 @@ import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.pde.core.plugin.TargetPlatform;
import org.eclipse.pde.internal.build.BundleHelper;
import org.eclipse.pde.internal.core.plugin.PluginBase;
+import org.eclipse.pde.internal.core.util.ManifestUtils;
import org.osgi.framework.Constants;
/**
@@ -141,7 +144,17 @@ public class P2Utils {
try {
File bundlesTxt = new File(configurationArea, SimpleConfiguratorManipulator.BUNDLES_INFO_PATH);
File home = basePath.toFile();
- BundleInfo[] bundles = getBundlesFromFile(bundlesTxt, home);
+ List<org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo> ibundleList = SimpleConfiguratorUtils.readConfiguration(bundlesTxt.toURI().toURL(), home.toURI());
+ List<BundleInfo> bundleList = new ArrayList<>();
+ for (org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo b : ibundleList) {
+ URI location = b.getLocation();
+ if (!location.isAbsolute() && b.getBaseLocation() != null)
+ location = URIUtil.makeAbsolute(location, b.getBaseLocation());
+ BundleInfo binfo = new BundleInfo(b.getSymbolicName(), b.getVersion(), location, b.getStartLevel(), b.isMarkedAsStarted());
+ bundleList.add(binfo);
+ }
+ BundleInfo[] bundles = bundleList.toArray(new BundleInfo[0]);
+
if (bundles == null || bundles.length == 0) {
return null;
}
@@ -170,11 +183,38 @@ public class P2Utils {
try {
File home = basePath.toFile();
File srcBundlesTxt = new File(configurationArea, SimpleConfiguratorManipulator.SOURCE_INFO_PATH);
+ final List<BundleInfo> allSrcBundles = new ArrayList<>();
+ try {
+ for (File infoFile : SimpleConfiguratorUtils.getInfoFiles()) {
+ File pluginsDir = Paths.get(infoFile.getParent(), "plugins").toFile(); //$NON-NLS-1$
+ File[] sourceJars = pluginsDir.listFiles((dir, name) -> {
+ return name.matches(".*\\.source_.*\\.jar$"); //$NON-NLS-1$
+ });
+ for (File sourceJar : sourceJars) {
+ Map<String, String> manifest;
+ try {
+ manifest = ManifestUtils.loadManifest(sourceJar);
+ final String bsn = manifest.get(Constants.BUNDLE_SYMBOLICNAME);
+ final String version = manifest.get(Constants.BUNDLE_VERSION);
+ BundleInfo info = new BundleInfo(bsn, version, sourceJar.toURI(), -1, false);
+ allSrcBundles.add(info);
+ } catch (CoreException e) {
+ // continue
+ }
+ }
+ }
+ } catch (URISyntaxException e) {
+ // continue
+ }
+
BundleInfo[] srcBundles = getBundlesFromFile(srcBundlesTxt, home);
- if (srcBundles == null || srcBundles.length == 0) {
+ if (srcBundles != null && srcBundles.length > 0) {
+ allSrcBundles.addAll(Arrays.asList(srcBundles));
+ }
+ if (allSrcBundles.size() == 0) {
return null;
}
- return srcBundles;
+ return allSrcBundles.toArray(new BundleInfo[0]);
} catch (IOException e) {
PDECore.log(e);
return null;
diff --git a/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pdeOptions.txt b/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pdeOptions.txt
index 0f71564d2..874580e04 100644
--- a/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pdeOptions.txt
+++ b/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pdeOptions.txt
@@ -76,6 +76,7 @@
;${rt.equinox.p2.bundles}/org.eclipse.equinox.p2.repository.tools/${dot.classes}
;${rt.equinox.p2.bundles}/org.eclipse.equinox.p2.touchpoint.eclipse/${dot.classes}
;${rt.equinox.p2.bundles}/org.eclipse.equinox.simpleconfigurator.manipulator/${dot.classes}
+;${rt.equinox.p2.bundles}/org.eclipse.equinox.simpleconfigurator/${dot.classes}
-breakiterator
-use
--
2.28.0

View File

@ -0,0 +1,122 @@
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
@@ -393,6 +393,16 @@
unpack="false"/>
<plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.s390x"
+ os="linux"
+ ws="gtk"
+ arch="s390x"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
+
+ <plugin
id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"
os="macosx"
ws="cocoa"
@@ -480,6 +510,28 @@
download-size="0"
install-size="0"
version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.swt.gtk.linux.s390x"
+ os="linux"
+ ws="gtk"
+ arch="s390x"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.swt.gtk.linux.aarch64"
+ os="linux"
+ ws="gtk"
+ arch="aarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
fragment="true"
unpack="false"/>
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml 2014-11-28 15:09:42.000000000 +0000
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml 2014-11-28 16:52:00.315007846 +0000
@@ -125,6 +125,7 @@
<include name="cocoa/macosx/x86_64/**/*"/>
<include name="gtk/linux/ppc64le/**/*"/>
<include name="gtk/linux/aarch64/**/*"/>
+ <include name="gtk/linux/s390x/**/*"/>
<include name="gtk/linux/x86_64/**/*"/>
<include name="win32/win32/x86_64/**/*"/>
</fileset>
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties 2015-01-30 14:44:03.436891441 +0000
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties 2015-01-30 14:45:25.232480509 +0000
@@ -35,3 +35,6 @@
root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
+
+root.linux.gtk.s390x=bin/gtk/linux/s390x,gtk_root
+root.linux.gtk.s390x.permissions.755=launcher
--- a/eclipse.platform.swt.binaries/pom.xml 2017-04-05 01:57:59.142576722 +0100
+++ b/eclipse.platform.swt.binaries/pom.xml 2017-04-05 02:00:00.153247342 +0100
@@ -56,6 +56,7 @@
<module>bundles/org.eclipse.swt.cocoa.macosx.x86_64</module>
<module>bundles/org.eclipse.swt.gtk.linux.aarch64</module>
<module>bundles/org.eclipse.swt.gtk.linux.ppc64le</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.s390x</module>
<module>bundles/org.eclipse.swt.gtk.linux.x86_64</module>
<module>bundles/org.eclipse.swt.win32.win32.x86_64</module>
<module>bundles/org.eclipse.swt.browser.chromium.cocoa.macosx.x86_64</module>
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 2017-04-21 10:15:34.857977599 +0100
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 2017-04-21 10:18:22.878025820 +0100
@@ -29,3 +29,8 @@
requires.6.name = org.eclipse.swt.gtk.linux.aarch64
requires.6.range = [$version$,$version$]
requires.6.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=aarch64)(!(org.eclipse.swt.buildtime=true)))
+
+requires.7.namespace = org.eclipse.equinox.p2.iu
+requires.7.name = org.eclipse.swt.gtk.linux.s390x
+requires.7.range = [$version$,$version$]
+requires.7.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390x)(!(org.eclipse.swt.buildtime=true)))
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh 2017-04-19 13:31:15.000000000 +0100
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh 2017-04-23 16:58:34.022207885 +0100
@@ -100,7 +100,7 @@
"s390x")
defaultOSArch="s390x"
defaultJava=DEFAULT_JAVA_EXEC
- OUTPUT_DIR="$EXEC_DIR/contributed/$defaultWS/$defaultOS/$defaultOSArch"
+ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
;;
"aarch64")
defaultOSArch="aarch64"
--- a/rt.equinox.framework/pom.xml 2017-04-26 22:19:15.548461372 +0100
+++ b/rt.equinox.framework/pom.xml 2017-04-26 22:20:41.348571492 +0100
@@ -77,6 +77,18 @@
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</module>
</modules>
</profile>
+ <profile>
+ <id>build-native-launchers-gtk.linux.s390x</id>
+ <activation>
+ <property>
+ <name>native</name>
+ <value>gtk.linux.s390x</value>
+ </property>
+ </activation>
+ <modules>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.s390x</module>
+ </modules>
+ </profile>
</profiles>
<modules>

View File

@ -0,0 +1,156 @@
From aabcf5acff194b807c4d0bcf68425c3452c90339 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Fri, 12 Sep 2014 10:27:14 -0400
Subject: [PATCH] Add support for regenerating bundle versions for symlinks.
When the version field in a bundle info file corresponds to a bundle
whose location is a symbolic link, the correct version should be
regenerated every time, in case a change has occured.
Change-Id: Ifbe8efed2218a8a1250fd1ac59f0cdd6bdd5f309
---
.../META-INF/MANIFEST.MF | 1 +
.../utils/SimpleConfiguratorUtils.java | 106 ++++++++++++++++++++-
2 files changed, 106 insertions(+), 1 deletion(-)
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
index d88d0a6..07fe087 100644
--- rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
+++ rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
@@ -9,6 +9,7 @@ Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.Activator
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.osgi.framework.console;version="1.0.0";resolution:=optional,
org.eclipse.osgi.service.datalocation;version="1.0.0";resolution:=optional,
+ org.eclipse.osgi.util;version="1.1.0",
org.osgi.framework;version="1.3.0",
org.osgi.framework.namespace;version="1.0.0",
org.osgi.framework.startlevel;version="1.0.0",
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
index ab69b88..d6bf121 100644
--- rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
@@ -20,8 +20,12 @@
import java.nio.file.Files;
import java.nio.file.attribute.FileTime;
import java.util.*;
+import java.util.jar.JarFile;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
import org.eclipse.equinox.internal.simpleconfigurator.Activator;
-import org.osgi.framework.Version;
+import org.eclipse.osgi.util.ManifestElement;
+import org.osgi.framework.*;
public class SimpleConfiguratorUtils {
@@ -282,6 +286,16 @@
String symbolicName = tok.nextToken().trim();
String version = tok.nextToken().trim();
URI location = parseLocation(tok.nextToken().trim());
+ if (base != null) {
+ URI absLoc = URIUtil.append(base, location.toString());
+ java.nio.file.Path absPath = java.nio.file.Paths.get(absLoc);
+ // Symbolic links may change outside Eclipse so regenerate proper bundle version.
+ if (Files.isSymbolicLink(absPath) && absPath.toFile().isFile()) {
+ // We can't depend on org.eclipse.equinox.internal.frameworkadmin.utils.Utils
+ Dictionary<String, String> manifest = getOSGiManifest(absLoc);
+ version = manifest.get(Constants.BUNDLE_VERSION);
+ }
+ }
int startLevel = Integer.parseInt(tok.nextToken().trim());
boolean markedAsStarted = Boolean.parseBoolean(tok.nextToken());
BundleInfo result = new BundleInfo(symbolicName, version, location, startLevel, markedAsStarted);
@@ -420,4 +434,93 @@
}
return lastModified;
}
+
+ private static Dictionary<String, String> getOSGiManifest(URI location) {
+ if (location == null)
+ return null;
+ // if we have a file-based URL that doesn't end in ".jar" then...
+ if (FILE_SCHEME.equals(location.getScheme()))
+ return basicLoadManifest(URIUtil.toFile(location));
+
+ try {
+ URL url = new URL("jar:" + location.toString() + "!/"); //$NON-NLS-1$//$NON-NLS-2$
+ JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
+ ZipFile jar = jarConnection.getJarFile();
+
+ try {
+ ZipEntry entry = jar.getEntry(JarFile.MANIFEST_NAME);
+ if (entry == null)
+ return null;
+
+ Map<String, String> manifest = ManifestElement.parseBundleManifest(jar.getInputStream(entry), null);
+ return manifestToProperties(manifest);
+ } catch (BundleException e) {
+ return null;
+ } finally {
+ jar.close();
+ }
+ } catch (IOException e) {
+ if (System.getProperty("osgi.debug") != null) { //$NON-NLS-1$
+ System.err.println("location=" + location); //$NON-NLS-1$
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+ private static Dictionary<String, String> basicLoadManifest(File bundleLocation) {
+ InputStream manifestStream = null;
+ ZipFile jarFile = null;
+ try {
+ try {
+ // Handle a JAR'd bundle
+ if (bundleLocation.isFile()) {
+ jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
+ ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
+ if (manifestEntry != null) {
+ manifestStream = jarFile.getInputStream(manifestEntry);
+ }
+ } else {
+ // we have a directory-based bundle
+ File bundleManifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
+ if (bundleManifestFile.exists())
+ manifestStream = new BufferedInputStream(new FileInputStream(new File(bundleLocation, JarFile.MANIFEST_NAME)));
+ }
+ } catch (IOException e) {
+ //ignore
+ }
+
+ try {
+ Map<String, String> manifest = ManifestElement.parseBundleManifest(manifestStream, null);
+ return manifestToProperties(manifest);
+ } catch (IOException ioe) {
+ return null;
+ } catch (BundleException e) {
+ return null;
+ }
+ } finally {
+ try {
+ if (manifestStream != null)
+ manifestStream.close();
+ } catch (IOException e1) {
+ //Ignore
+ }
+ try {
+ if (jarFile != null)
+ jarFile.close();
+ } catch (IOException e2) {
+ //Ignore
+ }
+ }
+ }
+
+ private static Dictionary<String, String> manifestToProperties(Map<String, String> d) {
+ Iterator<String> iter = d.keySet().iterator();
+ Dictionary<String, String> result = new Hashtable<String, String>();
+ while (iter.hasNext()) {
+ String key = iter.next();
+ result.put(key, d.get(key));
+ }
+ return result;
+ }
}

View File

@ -0,0 +1,120 @@
From dd7d5dd0a820b3efd1a7955a7b80c881a40ddafc Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Sat, 21 Mar 2020 15:29:00 +0000
Subject: [PATCH] Avoid the need to have javascript interpreter in the build
root
---
.../bundles/binaries-parent/pom.xml | 17 ------
.../bundles/org.eclipse.swt/buildSWT.xml | 53 ++++---------------
2 files changed, 11 insertions(+), 59 deletions(-)
diff --git a/eclipse.platform.swt.binaries/bundles/binaries-parent/pom.xml b/eclipse.platform.swt.binaries/bundles/binaries-parent/pom.xml
index 4d209cfdc..eab439ae5 100644
--- a/eclipse.platform.swt.binaries/bundles/binaries-parent/pom.xml
+++ b/eclipse.platform.swt.binaries/bundles/binaries-parent/pom.xml
@@ -75,23 +75,6 @@
</goals>
</execution>
</executions>
- <dependencies>
- <dependency>
- <groupId>org.mozilla</groupId>
- <artifactId>rhino-runtime</artifactId>
- <version>1.7.13</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.10.9</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-apache-bsf</artifactId>
- <version>1.10.9</version>
- </dependency>
- </dependencies>
</plugin>
</plugins>
</build>
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
index 9d4bb1b6f..6c1cdf690 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
@@ -409,27 +409,8 @@
<!-- Set swt_version, new_version, (and rev, min_ver, maj_ver, new_rev, new_min_ver, new_maj_ver) from the make_common.mak -->
<target name="get_version" unless="swt_version">
<loadproperties srcFile="${repo.src}/${file_make_common}"/>
- <script language="javascript">
- <![CDATA[
- rev = project.getProperty("rev");
- min_ver = project.getProperty("min_ver");
- maj_ver = project.getProperty("maj_ver");
- new_rev = parseInt(rev) + 1;
- new_min_ver = min_ver;
- new_maj_ver = maj_ver;
- one = new_maj_ver;
- two = new_min_ver;
- three = new_rev;
- four = 0;
- project.setProperty("new_rev", new_rev);
- project.setProperty("new_min_ver", new_min_ver);
- project.setProperty("new_maj_ver", new_maj_ver);
- project.setProperty("new_comma_ver", one + "," + two + "," + three + "," + four);
- ]]>
- </script>
<property name="swt_version" value="${maj_ver}${min_ver}r${rev}"/>
- <property name="new_version" value="${new_maj_ver}${new_min_ver}r${new_rev}"/>
- <echo>Version=${swt_version}; New=${new_version}; New comma_ver=${new_comma_ver}</echo>
+ <echo>Version=${swt_version}</echo>
</target>
<target name="get_new_release_version" unless="min_ver">
@@ -559,11 +540,7 @@
</condition>
<property name="fragment_dir" value="${repo.bin}/bundles/${fragment}"/>
<property name="sha1_file" value="${fragment_dir}/build.sha1"/>
- <script language="javascript">
- <![CDATA[
- project.setProperty("library_src", project.getProperty("src_" + project.getProperty("swt.ws")));
- ]]>
- </script>
+ <property name="library_src" value="${src_gtk}"/>
</target>
<target name="update_sha1_file_in_fragment">
@@ -709,23 +686,15 @@
</target>
<target name="copy.library.src">
- <script language="javascript">
- <![CDATA[
- var File = java.io.File;
- var StreamTokenizer = java.io.StreamTokenizer;
- var StringReader = java.io.StringReader;
- task = project.createTask("copy");
- projectDir = project.getProperty("project_dir");
- task.setTodir(new File(project.getProperty("build_dir")));
- tk = new StreamTokenizer(new StringReader(project.getProperty("library_src")));
- while ((token = tk.nextToken()) != StreamTokenizer.TT_EOF) {
- fileset = project.createDataType("fileset");
- fileset.setDir(new File(projectDir + "/" + tk.sval + "/"));
- task.addFileset(fileset);
- }
- task.execute();
- ]]>
- </script>
+ <copy todir="${build_dir}">
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT/common/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT PI/common/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT AWT/gtk/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/"/>
+ <fileset dir="${project_dir}/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/library/"/>
+ </copy>
</target>
<!-- Params: swt.ws, swt.os, swt.arch -->
--
2.21.1

1447
eclipse.spec Normal file

File diff suppressed because it is too large Load Diff

59
explicit-hamcrest.patch Normal file
View File

@ -0,0 +1,59 @@
--- eclipse.jdt.debug/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF.orig 2018-08-20 12:54:25.245305107 +0100
+++ eclipse.jdt.debug/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF 2018-08-20 12:54:37.952261537 +0100
@@ -33,6 +33,7 @@
org.eclipse.ui.workbench.texteditor;resolution:=optional,
org.eclipse.ui.editors;resolution:=optional,
org.junit,
+ org.hamcrest.core,
org.eclipse.core.resources,
org.eclipse.core.variables,
org.eclipse.ui,
--- eclipse.platform.ui/tests/org.eclipse.tests.urischeme/META-INF/MANIFEST.MF.orig 2018-08-20 13:22:04.987695821 +0100
+++ eclipse.platform.ui/tests/org.eclipse.tests.urischeme/META-INF/MANIFEST.MF 2018-08-20 13:22:28.507613518 +0100
@@ -7,4 +7,5 @@
Fragment-Host: org.eclipse.urischeme;bundle-version="1.1.100"
Automatic-Module-Name: org.eclipse.urischeme.tests
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)"
+Require-Bundle: org.junit;bundle-version="[4.12.0,5.0.0)",
+ org.hamcrest.core;bundle-version="1.3.0"
--- eclipse.pde.ui/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF.orig 2019-06-20 11:25:47.959981490 +0100
+++ eclipse.pde.ui/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF 2019-06-20 11:26:06.444935061 +0100
@@ -9,6 +9,7 @@
Require-Bundle: org.eclipse.pde.ui;bundle-version="3.10.0",
org.eclipse.pde.ui.templates;bundle-version="3.6.0",
org.junit;bundle-version="4.13.0",
+ org.hamcrest.core;bundle-version="1.3.0",
org.eclipse.core.runtime;bundle-version="3.13.0",
org.eclipse.core.resources;bundle-version="3.12.0",
org.eclipse.ui.ide;bundle-version="3.13.0",
--- eclipse.platform.text/org.eclipse.text.tests/META-INF/MANIFEST.MF.orig 2019-09-21 16:37:52.645515694 +0100
+++ eclipse.platform.text/org.eclipse.text.tests/META-INF/MANIFEST.MF 2019-09-21 16:38:25.034443980 +0100
@@ -13,6 +13,7 @@
org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.text;bundle-version="[3.6.3,4.0.0)",
+ org.hamcrest.core;bundle-version="1.3.0",
org.junit;bundle-version="4.12.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Eclipse-BundleShape: dir
--- eclipse.pde.ui/ui/org.eclipse.pde.junit.runtime.tests/META-INF/MANIFEST.MF.orig 2019-09-21 17:06:17.944749329 +0100
+++ eclipse.pde.ui/ui/org.eclipse.pde.junit.runtime.tests/META-INF/MANIFEST.MF 2019-09-21 17:06:43.846692344 +0100
@@ -9,6 +9,7 @@
Bundle-ActivationPolicy: lazy
Eclipse-BundleShape: dir
Require-Bundle: org.junit,
+ org.hamcrest.core;bundle-version="1.3.0",
org.eclipse.core.runtime;bundle-version="3.15.400",
org.eclipse.pde.launching;bundle-version="3.7.700",
org.eclipse.core.resources;bundle-version="3.13.500",
--- eclipse.pde.ui/ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF.orig 2019-09-23 09:46:23.507897561 +0100
+++ eclipse.pde.ui/ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF 2019-09-23 09:46:45.658839342 +0100
@@ -7,6 +7,7 @@
Bundle-Activator: org.eclipse.pde.ui.tests.PDETestsPlugin
Bundle-Vendor: Eclipse.org
Require-Bundle: org.junit,
+ org.hamcrest.core,
org.eclipse.pde.ui,
org.eclipse.ui,
org.eclipse.core.resources,

161
fix_ant_build.patch Normal file
View File

@ -0,0 +1,161 @@
--- eclipse.platform/ant/org.eclipse.ant.launching/build.properties.orig 2017-01-09 10:24:16.258243377 +0000
+++ eclipse.platform/ant/org.eclipse.ant.launching/build.properties 2017-01-09 10:25:08.302620557 +0000
@@ -23,18 +23,14 @@
about.html
jars.compile.order = .,\
- lib/loggers.jar
-# antdebug.jar and remote.jar are compiled locally using 1.6, see bug 495617:
-# lib/antdebug.jar,\
-# lib/remote.jar
+ lib/antdebug.jar,\
+ lib/loggers.jar,\
+ lib/remote.jar
source.lib/loggers.jar = loggers/
output.lib/loggers.jar = loggers_bin/
-extra.lib/loggers.jar = lib/antdebug.jar
-#source.lib/antdebug.jar = common/
-#output.lib/antdebug.jar = common_bin/
-#source.lib/remote.jar = remote/
-#output.lib/remote.jar = remote_bin/
-src.includes = about.html,\
- remote/,\
- common/
+source.lib/antdebug.jar = common/
+output.lib/antdebug.jar = common_bin/
+source.lib/remote.jar = remote/
+output.lib/remote.jar = remote_bin/
+src.includes = about.html
javacWarnings..=-unavoidableGenericProblems
--- eclipse.platform/ant/org.eclipse.ant.ui/build.properties.orig 2017-04-03 18:40:41.033489412 +0100
+++ eclipse.platform/ant/org.eclipse.ant.ui/build.properties 2017-04-03 18:43:21.614928391 +0100
@@ -17,8 +17,8 @@
source.lib/antrunner.jar = Ant Runner Support/
output.lib/antrunner.jar = ant_runner_support_bin/
# Compiled with 1.6 locally, see bug 495617:
-#source.lib/remoteAnt.jar = Remote Ant Support/
-#output.lib/remoteAnt.jar = remote_support_bin/
+source.lib/remoteAnt.jar = Remote Ant Support/
+output.lib/remoteAnt.jar = remote_support_bin/
src.includes = about.html,\
about_files/,\
Remote Ant Support/
@@ -34,6 +34,5 @@
lib/antrunner.jar,\
lib/remoteAnt.jar,\
css/
-jars.compile.order=.,lib/antrunner.jar
-# ,lib/remoteAnt.jar
+jars.compile.order=.,lib/antrunner.jar,lib/remoteAnt.jar
javacWarnings..=-unavoidableGenericProblems
--- eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/build.xml.orig 2017-01-09 13:30:24.238066571 +0000
+++ eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/build.xml 2017-01-09 13:31:19.228456113 +0000
@@ -1,106 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.jdt.doc.user" default="build.jars" basedir=".">
+<project name="org.eclipse.jdt.doc.user" default="build.index" basedir=".">
- <property name="version.suffix" value="3.3.0" />
- <property name="full.name" value="org.eclipse.jdt.doc.user_${version.suffix}" />
- <property name="bootclasspath" value="" />
- <property name="basews" value="${ws}" />
- <property name="baseos" value="${os}" />
- <property name="basearch" value="${arch}" />
- <property name="basenl" value="${nl}" />
- <property name="javacFailOnError" value="false" />
- <property name="javacDebugInfo" value="on" />
- <property name="javacVerbose" value="true" />
- <property name="javacSource" value="1.3" />
- <property name="javacTarget" value="1.1" />
-
- <target name="init" depends="properties">
- <property name="temp.folder" value="${basedir}/temp.folder" />
- <property name="plugin.destination" value="${basedir}" />
- <property name="build.result.folder" value="${basedir}" />
- <available file="${basedir}/doc.zip" property="doc.zip.present" />
- <condition property="p2.publish.parts" value="true">
- <istrue value="${p2.gathering}" />
- </condition>
- </target>
-
- <target name="properties" if="eclipse.running">
- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
- </target>
-
- <target name="build.update.jar" depends="init" description="Build the plug-in: org.eclipse.jdt.doc.user for an update site.">
- <delete dir="${temp.folder}" />
- <mkdir dir="${temp.folder}" />
- <antcall target="build.jars" />
- <antcall target="gather.bin.parts">
- <param name="destination.temp.folder" value="${temp.folder}/" />
- </antcall>
- <zip zipfile="${plugin.destination}/${full.name}.jar" basedir="${temp.folder}/${full.name}" filesonly="false" whenempty="skip" />
- <delete dir="${temp.folder}" />
- </target>
-
- <target name="publish.bin.parts" depends="init" if="p2.publish.parts">
- <antcall target="gather.bin.parts">
- <param name="destination.temp.folder" value="${build.result.folder}" />
- </antcall>
- <eclipse.gatherBundle metadataRepository="${p2.build.repo}" artifactRepository="${p2.build.repo}" buildResultFolder="${build.result.folder}" targetFolder="${build.result.folder}/${full.name}" />
- </target>
-
- <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
- <antcall target="build.index" />
- <mkdir dir="${destination.temp.folder}/${full.name}" />
- <copy todir="${destination.temp.folder}/${full.name}">
- <fileset dir="${basedir}" includes="*.properties,*.xml,*.zip,*.html,*.htm,*.png,*.css,META-INF/**,index/**,concepts/**, gettingStarted/**, images/**, reference/**, tasks/**, tips/**, whatsNew/**" excludes="build.properties,build.xml" />
- </copy>
- <eclipse.versionReplacer path="${destination.temp.folder}/${full.name}" version="${version.suffix}" />
- </target>
-
- <target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.jdt.doc.user.">
- </target>
-
- <target name="build.index" depends="init" description="Builds search index for the plug-in: org.eclipse.jdt.doc.user." if="eclipse.running">
+ <target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.user." if="eclipse.running">
<help.buildHelpIndex manifest="plugin.xml" destination="." />
</target>
- <target name="build.sources" depends="init">
- </target>
-
- <target name="build.zips" depends="init">
- </target>
-
- <target name="gather.sources" depends="init" if="destination.temp.folder">
- </target>
-
- <target name="gather.logs" depends="init" if="destination.temp.folder">
- </target>
-
- <target name="clean" depends="init" description="Clean the plug-in: org.eclipse.jdt.doc.user of all the zips, jars and logs created.">
- <delete file="${plugin.destination}/${full.name}.jar" />
- <delete file="${plugin.destination}/${full.name}.zip" />
- <delete dir="${temp.folder}" />
- </target>
-
- <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
- <eclipse.convertPath fileSystemPath="D:/30workspace/org.eclipse.jdt.doc.user/" property="resourcePath" />
- <eclipse.refreshLocal resource="${resourcePath}" depth="infinite" />
- </target>
-
- <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.eclipse.jdt.doc.user." if="eclipse.running">
- <delete dir="${temp.folder}" />
- <mkdir dir="${temp.folder}" />
- <antcall target="build.jars" />
- <antcall target="build.sources" />
- <antcall target="gather.bin.parts">
- <param name="destination.temp.folder" value="${temp.folder}/" />
- </antcall>
- <antcall target="gather.sources">
- <param name="destination.temp.folder" value="${temp.folder}/" />
- </antcall>
- <delete>
- <fileset dir="${temp.folder}" includes="**/*.bin.log" />
- </delete>
- <zip zipfile="${plugin.destination}/${full.name}.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" />
- <delete dir="${temp.folder}" />
- </target>
-
</project>

View File

@ -0,0 +1,80 @@
From d964680827a248e8a312c000c4c2443f96c8c459 Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Fri, 27 Sep 2019 14:52:54 +0100
Subject: [PATCH] Force a clean on the restart after p2 operations
---
.../META-INF/MANIFEST.MF | 2 +-
.../bundles/org.eclipse.equinox.launcher/pom.xml | 2 +-
.../src/org/eclipse/equinox/launcher/Main.java | 13 +++++++++++++
.../internal/p2/ui/ProvisioningOperationRunner.java | 6 ++++++
4 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
index 497e5d6fa..a118a0e4c 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.launcher;singleton:=true
-Bundle-Version: 1.6.0.qualifier
+Bundle-Version: 1.6.1.qualifier
Main-Class: org.eclipse.equinox.launcher.Main
Bundle-ClassPath: .
Bundle-Vendor: %providerName
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
index 43849b5b8..c5d2cdfea 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
@@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.launcher</artifactId>
- <version>1.6.0-SNAPSHOT</version>
+ <version>1.6.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
index d013ff7c2..65f4cfd8a 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
@@ -560,6 +560,18 @@
setupVMProperties();
processConfiguration();
+ File oca = new File(getConfigurationLocation().toURI());
+ File ocaFile = new File(oca, "clean_on_restart");
+ if (ocaFile.exists()) {
+ System.err.println("Clean triggered."); //$NON-NLS-1$
+ ocaFile.delete();
+ commands = Arrays.copyOf(args, args.length + 1);
+ commands[commands.length-1] = CLEAN;
+ passThruArgs = Arrays.copyOf(passThruArgs, passThruArgs.length + 1);
+ passThruArgs[passThruArgs.length-1] = CLEAN;
+ setupVMProperties();
+ }
+
if (protectBase && (System.getProperty(PROP_SHARED_CONFIG_AREA) == null)) {
System.err.println("This application is configured to run in a cascaded mode only."); //$NON-NLS-1$
System.setProperty(PROP_EXITCODE, Integer.toString(14));
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
index a70b640ba..8a002ebc2 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
@@ -72,6 +72,12 @@ public class ProvisioningOperationRunner {
* @param restartPolicy
*/
void requestRestart(final int restartPolicy) {
+ String oca = System.getProperty("osgi.configuration.area");
+ try {
+ java.io.File ocaCleanFile = new java.io.File(new java.net.URL(oca).toURI());
+ new java.io.File(ocaCleanFile, "clean_on_restart").createNewFile();
+ } catch (Exception e) { /* Eh, we tried... */ }
+
// Global override of restart (used in test cases).
if (suppressRestart)
return;
--
2.20.1

14
prefer_x11_backend.patch Normal file
View File

@ -0,0 +1,14 @@
--- rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c.orig 2018-08-22 15:19:04.602623018 +0100
+++ rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c 2018-08-22 15:20:03.453348722 +0100
@@ -114,6 +114,11 @@
#define DLFLAGS RTLD_LAZY
#endif
+ char *gdkBackend = getenv("GDK_BACKEND");
+ if (gdkBackend == NULL) {
+ setenv("GDK_BACKEND", "x11", 0);
+ }
+
void *gioLib = NULL, *glibLib = NULL, *gdkLib = NULL, *gtkLib = NULL, *objLib = NULL, *pixLib = NULL;
gdkLib = dlopen(GDK3_LIB, DLFLAGS);

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (org.eclipse.linuxtools.eclipse-build-83d8885ff232bbe9fc992c7f5583eba6c86fdaf6.tar.xz) = ee1e0c9370e0c9d6bc4f3f300b7fc6a234bd4a8b251e801a2cd5844ad3ccf92b890140a01fd6323ab565e1b8354cfd9cfb80f749fb3edeeb8c2f3175097dd190
SHA512 (eclipse-platform-sources-4.18.tar.xz) = 9ffe27a6e36e4666c0ba2a597ffce7419206f9b58cccd686b54bd5a68b6aa0e0385c941f4b7704ce06e5bdf71cd5e048ff672f6de503617e21e92873f3672ff3

110
toolchains.xml Normal file
View File

@ -0,0 +1,110 @@
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<id>CDC-1.0/Foundation-1.0</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>CDC-1.1/Foundation-1.1</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>OSGi/Minimum-1.0</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>OSGi/Minimum-1.1</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>OSGi/Minimum-1.2</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>J2SE-1.4</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>J2SE-1.5</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>JavaSE-1.6</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>JavaSE-1.7</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>JavaSE-1.8</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<id>JavaSE-11</id>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-11</jdkHome>
</configuration>
</toolchain>
</toolchains>