Package Init.

This commit is contained in:
sigui 2020-03-12 21:48:33 +08:00
parent 7ab119b82b
commit aa5d69653f
23 changed files with 2702 additions and 0 deletions

View File

@ -0,0 +1,52 @@
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
index 5fc0e73..ed7e4fa 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
@@ -147,7 +147,20 @@ public class EngineActivator implements BundleActivator {
}
continue;
}
- File[] listFiles = extension.listFiles();
+
+ // Support the additional 'eclipse' directory if it exists.
+ File[] extensionFiles = extension.listFiles(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.equals("eclipse");
+ }
+ });
+
+ File[] listFiles;
+ if (extensionFiles.length == 1) {
+ listFiles = extensionFiles[0].listFiles();
+ } else {
+ listFiles = extension.listFiles();
+ }
// new magic - multiple info files, f.e.
// egit.info (git feature)
// cdt.link (properties file containing link=path) to other info file
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java b/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
index 12e4d89..77945ef 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
@@ -155,7 +155,20 @@ public class SimpleConfiguratorUtils {
}
continue;
}
- File[] listFiles = extension.listFiles();
+
+ // Support the additional 'eclipse' directory if it exists.
+ File[] extensionFiles = extension.listFiles(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.equals("eclipse");
+ }
+ });
+
+ File[] listFiles;
+ if (extensionFiles.length == 1) {
+ listFiles = extensionFiles[0].listFiles();
+ } else {
+ listFiles = extension.listFiles();
+ }
// new magic - multiple info files, f.e.
// egit.info (git feature)
// cdt.link (properties file containing link=path) to other info file

View File

@ -0,0 +1,23 @@
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh.orig 2018-08-19 12:37:52.764590467 +0100
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh 2018-08-19 12:38:15.032503913 +0100
@@ -75,7 +75,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
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak.orig 2014-03-12 14:47:37.513191381 +0000
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak 2014-03-12 14:47:45.672200015 +0000
@@ -94,7 +94,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)\"" \

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 a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
index 802ee1b..74023fe 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
@@ -168,11 +168,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 a/rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java b/rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
index ded683f..7216865 100755
--- a/rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
+++ b/rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java
@@ -1230,7 +1230,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,563 @@
--- a/eclipse.jdt/org.eclipse.jdt-feature/feature.xml.orig 2018-08-17 01:24:16.000000000 +0100
+++ b/eclipse.jdt/org.eclipse.jdt-feature/feature.xml 2018-08-19 12:50:33.575708475 +0100
@@ -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"
@@ -158,103 +175,6 @@
download-size="0"
install-size="0"
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
--- a/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml.orig 2018-08-17 01:24:16.000000000 +0100
+++ b/eclipse.pde.ui/features/org.eclipse.pde-feature/feature.xml 2018-08-19 12:53:08.128130452 +0100
@@ -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
@@ -83,20 +85,6 @@
download-size="0"
install-size="0"
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
--- a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml.orig 2017-01-04 10:57:15.000000000 +0000
+++ b/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml 2017-01-13 11:29:16.371473551 +0000
@@ -23,69 +23,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"
@@ -142,55 +79,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.core.net"
download-size="0"
install-size="0"
@@ -204,4 +92,22 @@
version="0.0.0"
unpack="false"/>
+ <requires>
+ <import plugin="javax.el-api" />
+ <import plugin="javax.servlet-api" />
+ <import plugin="javax.servlet.jsp" />
+ <import plugin="com.sun.el.javax.el" />
+ <import plugin="org.apache.commons.logging" />
+ <import plugin="org.glassfish.web.javax.servlet.jsp" />
+ <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>
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml.orig 2018-08-19 13:57:13.249904259 +0100
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml 2018-08-19 14:03:19.527742984 +0100
@@ -22,6 +22,22 @@
<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.constants" />
+ <import plugin="org.apache.batik.css" />
+ <import plugin="org.apache.batik.i18n" />
+ <import plugin="org.apache.batik.util" />
+ <import plugin="org.apache.xmlgraphics" />
+ <import plugin="org.w3c.css.sac" />
+ <import plugin="org.w3c.dom.svg" />
+ <import plugin="javax.inject" />
+ <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.io" />
+ <import plugin="org.apache.commons.jxpath" />
+ <import plugin="org.apache.commons.logging" />
</requires>
<plugin
@@ -95,62 +111,6 @@
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"
install-size="0"
@@ -172,34 +132,6 @@
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"
install-size="0"
@@ -245,13 +177,6 @@
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.ds"
download-size="0"
install-size="0"
@@ -343,13 +268,6 @@
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"
install-size="0"
@@ -624,27 +542,6 @@
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"
install-size="0"
@@ -670,13 +567,6 @@
download-size="0"
install-size="0"
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
--- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml.orig 2017-01-04 10:54:36.000000000 +0000
+++ b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml 2017-01-13 11:28:25.827041896 +0000
@@ -60,12 +60,7 @@
</requirement>
<requirement>
<type>eclipse-plugin</type>
- <id>javax.annotation</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- <requirement>
- <type>eclipse-plugin</type>
- <id>javax.el</id>
+ <id>javax.el-api</id>
<versionRange>0.0.0</versionRange>
</requirement>
<requirement>
@@ -75,7 +70,7 @@
</requirement>
<requirement>
<type>eclipse-plugin</type>
- <id>javax.servlet</id>
+ <id>javax.servlet-api</id>
<versionRange>0.0.0</versionRange>
</requirement>
<requirement>
@@ -95,7 +90,7 @@
</requirement>
<requirement>
<type>eclipse-plugin</type>
- <id>org.apache.jasper.glassfish</id>
+ <id>org.glassfish.web.javax.servlet.jsp</id>
<versionRange>0.0.0</versionRange>
</requirement>
<requirement>
--- a/eclipse.platform.ui.tools/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF.orig 2017-02-15 10:01:24.202436806 +0000
+++ b/eclipse.platform.ui.tools/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF 2017-02-15 10:01:35.454301845 +0000
@@ -39,8 +39,7 @@
org.eclipse.e4.ui.dialogs;bundle-version="1.0.0",
org.eclipse.e4.emf.xpath
Bundle-ActivationPolicy: lazy
-Import-Package: javax.annotation,
- javax.inject;version="1.0.0",
+Import-Package: javax.inject;version="1.0.0",
org.osgi.framework;version="1.5.0",
org.osgi.service.event;version="1.3.1"
Export-Package: org.eclipse.e4.tools.emf.ui.common;version="0.12.0.qualifier";x-friends:="org.eclipse.e4.tools.emf.editor3x,org.eclipse.e4.tools.model.spy",
--- a/eclipse.platform.ui.tools/bundles/org.eclipse.e4.tools.services/META-INF/MANIFEST.MF.orig 2017-02-15 10:00:56.352770853 +0000
+++ b/eclipse.platform.ui.tools/bundles/org.eclipse.e4.tools.services/META-INF/MANIFEST.MF 2017-02-15 10:01:06.757646050 +0000
@@ -14,7 +14,6 @@
org.eclipse.e4.core.di;bundle-version="0.9.0"
Service-Component: OSGI-INF/resourcepoolfunction.xml, OSGI-INF/resourceservice.xml
Bundle-ActivationPolicy: lazy
-Import-Package: javax.annotation,
- javax.inject;version="1.0.0"
+Import-Package: javax.inject;version="1.0.0"
Bundle-Activator: org.eclipse.e4.tools.services.ToolsServicesActivator
Automatic-Module-Name: org.eclipse.e4.tools.services

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

@ -0,0 +1,88 @@
--- a/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
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java 2014-03-24 15:39:32.122246214 +0000
@@ -39,6 +39,7 @@
public class SimpleProfileRegistry implements IProfileRegistry, IAgentService {
+ private static final String PROP_IGNORE_USER_CONFIGURATION = "eclipse.ignoreUserConfiguration"; //$NON-NLS-1$
private static final String SIMPLE_PROFILE_REGISTRY_INTERNAL = "_simpleProfileRegistry_internal_"; //$NON-NLS-1$
private static final String PROFILE_REGISTRY = "profile registry"; //$NON-NLS-1$
private static final String PROFILE_PROPERTIES_FILE = "state.properties"; //$NON-NLS-1$
@@ -266,6 +267,14 @@
//fragments support - remeber the property
internalSetProfileStateProperty(profile, profile.getTimestamp(), SIMPLE_PROFILE_REGISTRY_INTERNAL + getExtTimeStamp(), getExtTimeStamp());
agent.registerService(SERVICE_SHARED_INSTALL_NEW_TIMESTAMP, Long.toString(profile.getTimestamp()));
+
+ // this looks like a hack, but:
+ // (1) SimpleConfigurationImpl keeps returning master configuration as long as the property is set
+ // (2) SimpleConfigurationImpl sets the propery after it drops user configuration
+ // therefore dropins reconciliation can't load dropins plugins installed into user configuration
+ // after the user configuration has been dropped.
+ // It is necessary to unset this property.
+ //System.setProperty(PROP_IGNORE_USER_CONFIGURATION, "processed_and_unset"); //$NON-NLS-1$ //$NON-NLS-2$
} else {
//This is the first time we create the shared profile. Tag it as such and also remember the timestamp of the base
internalSetProfileStateProperty(profile, profile.getTimestamp(), IProfile.STATE_PROP_SHARED_INSTALL, IProfile.STATE_SHARED_INSTALL_VALUE_INITIAL);
@@ -299,6 +308,13 @@
if (agent.getService(SERVICE_SHARED_INSTALL_NEW_TIMESTAMP) != null)
return false;
+ // if the property is set by OSGI, and there is no new timestamp (because of the previous condition)
+ // ignore current profile. This will happen only once, because SERVICE_SHARED_INSTALL_NEW_TIMESTAMP
+ // is set during profile reset.
+ if ("true".equals(System.getProperty(PROP_IGNORE_USER_CONFIGURATION))) { //$NON-NLS-1$ //$NON-NLS-2$
+ System.setProperty(PROP_IGNORE_USER_CONFIGURATION, "processed_and_unset"); //$NON-NLS-1$ //$NON-NLS-2$
+ return true;
+ }
String baseTimestamp = getBaseTimestamp(profile.getProfileId());
String extTimestamp = getExtTimeStamp();
if (baseTimestamp == null) {
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
@@ -570,6 +570,7 @@
// get all IUs from all our repos
IQueryResult<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);
@@ -583,6 +584,7 @@
// (and more expensive) way to find this out is to do an IU profile property query.
if (two == null) {
// the IU is already installed so don't mark it as a dropin now - see bug 404619.
+ removedFromAllIUs.add(iu);
iter.remove();
continue;
}
@@ -625,7 +627,7 @@
}
// if the IU from the profile is in the "all available" list, then it is already added
// otherwise if it isn't in the repo then we have to remove it from the profile.
- if (!all.contains(iu))
+ if (!all.contains(iu) && !removedFromAllIUs.contains(iu))
toRemove.add(iu);
}
@@ -799,8 +801,8 @@
IStatus installerPlanStatus = engine.perform(plan.getInstallerPlan(), phaseSet, monitor);
if (!installerPlanStatus.isOK())
return installerPlanStatus;
-
- applyConfiguration(true);
+ if (isReconciliationApplicationRunning())
+ applyConfiguration(true);
}
return engine.perform(plan, phaseSet, monitor);
}
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/migration/MigrationWizard.java.orig 2018-04-25 20:31:57.931223008 +0100
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/migration/MigrationWizard.java 2018-04-25 20:32:11.069144336 +0100
@@ -148,7 +148,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);
return rememberCancellationDecision(dialog.open());

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

@ -0,0 +1,276 @@
--- a/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
+++ b/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
@@ -77,7 +77,7 @@
*/
protected IPath getJdtFeatureLocation() {
IPath path = new Path(TargetPlatform.getDefaultLocation());
- path = path.append("features");
+ path = path.append("droplets").append("eclipse-jdt").append("eclipse").append("features");
File dir = path.toFile();
assertTrue("Missing features directory", dir.exists() && !dir.isFile());
String[] files = dir.list();
@@ -613,4 +613,4 @@
assertTrue(iubc.getIncludeSource());
}
-}
\ No newline at end of file
+}
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
index f1f38f0..f9111e6 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
@@ -214,7 +214,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 a/eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties b/eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
index 376daa6..1742a8d 100644
--- a/eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
+++ b/eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties
@@ -14,6 +14,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 a/eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties b/eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
index f34ae40..0f9877d 100644
--- a/eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
+++ b/eclipse.jdt.core/org.eclipse.jdt.apt.tests/build.properties
@@ -21,4 +21,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 a/eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties b/eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
index bc8963d..fbe4da3 100644
--- a/eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
+++ b/eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties
@@ -25,3 +25,6 @@
src.includes = about.html
compilerArg=-proc:none
jars.extra.classpath = java10/java10api.jar
+source.lib/apttestprocessors.jar = processors/
+jars.compile.order = lib/apttestprocessors.jar,\
+ .
--- a/eclipse.platform/ant/org.eclipse.ant.tests.ui/build.properties.orig 2016-03-24 14:25:47.076289150 +0000
+++ b/eclipse.platform/ant/org.eclipse.ant.tests.ui/build.properties 2016-03-24 14:26:39.528660802 +0000
@@ -25,6 +25,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/
--- a/eclipse.jdt.ui/org.eclipse.jdt.ui.tests/build.properties.orig 2016-03-25 15:09:40.557786910 +0000
+++ b/eclipse.jdt.ui/org.eclipse.jdt.ui.tests/build.properties 2016-03-25 15:12:08.476059326 +0000
@@ -22,3 +22,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
+++ b/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
+++ b/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
+++ b/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>
--- a/eclipse.platform/ant/org.eclipse.ant.tests.core/build.properties.orig 2017-03-03 14:20:53.868573338 +0000
+++ b/eclipse.platform/ant/org.eclipse.ant.tests.core/build.properties 2017-03-06 14:26:42.382365639 +0000
@@ -23,6 +23,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
+++ b/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
+++ b/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");
+ }
+}
+
--- a/eclipse.jdt.core/org.eclipse.jdt.core.tests.builder/pom.xml.orig 2017-04-07 10:44:33.764607961 +0100
+++ b/eclipse.jdt.core/org.eclipse.jdt.core.tests.builder/pom.xml 2017-04-07 11:26:44.511961798 +0100
@@ -26,4 +26,24 @@
<testClass>org.eclipse.jdt.core.tests.builder.BuilderTests</testClass>
<testSuite>${project.artifactId}</testSuite>
</properties>
+
+ <build>
+ <plugins>
+ <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>
</project>
--- a/eclipse.pde.build/org.eclipse.pde.build.tests/test.xml.orig 2017-04-28 11:49:47.046123546 +0100
+++ b/eclipse.pde.build/org.eclipse.pde.build.tests/test.xml 2017-04-28 12:05:11.947521737 +0100
@@ -156,13 +156,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

View File

@ -0,0 +1,64 @@
commit 4bfc5a7c6d8c2aaf954c113d805419472de2bcaf
Author: Mat Booth <mat.booth@redhat.com>
Date: Thu May 3 15:58:49 2018 +0100
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>
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 e6eef8c39..fe5970e79 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
@@ -300,6 +300,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 d796aefd0..c03924f90 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
@@ -130,9 +130,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 (int i = 0; i < children.length; i++) {
if (children[i] instanceof MetadataRepositoryElement) {
- put((MetadataRepositoryElement) children[i]);
+ // 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) children[i]).getLocation();
+ if (childLoc.getPath() != null && childLoc.getPath().startsWith(root)) {
+ isDroplet = true;
+ }
+ }
+ if (!isDroplet) {
+ put((MetadataRepositoryElement) children[i]);
+ }
+ }
}
}
}

View File

@ -0,0 +1,22 @@
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java.orig 2014-03-24 12:06:59.530918305 +0000
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java 2014-03-24 12:07:42.709932098 +0000
@@ -1383,7 +1383,7 @@
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$ //$NON-NLS-2$
} catch (IOException e) {
// Do nothing if we get an exception. We will default to a standard location
// in the user's home dir.
--- a/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java.orig 2014-03-24 12:05:52.666896971 +0000
+++ b/rt.equinox.framework/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java 2014-03-24 12:06:46.076914704 +0000
@@ -308,7 +308,7 @@
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$ //$NON-NLS-2$
} catch (IOException e) {
// Do nothing if we get an exception. We will default to a standard location
// in the user's home dir.

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 a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
index 342e33e..425a166 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
@@ -260,6 +260,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

70
eclipse-mockito.patch Normal file
View File

@ -0,0 +1,70 @@
--- a/eclipse.platform.ui/tests/org.eclipse.ui.tests/META-INF/MANIFEST.MF.orig 2014-03-26 11:42:36.169928566 +0000
+++ b/eclipse.platform.ui/tests/org.eclipse.ui.tests/META-INF/MANIFEST.MF 2014-03-26 12:56:27.970146198 +0000
@@ -42,8 +42,9 @@
org.eclipse.e4.ui.workbench.addons.swt;bundle-version="0.10.0",
org.eclipse.e4.ui.workbench.renderers.swt;bundle-version="0.10.0",
org.eclipse.osgi.services;bundle-version="3.3.100",
- org.hamcrest;bundle-version="1.1.0",
- org.mockito;bundle-version="1.8.4"
+ org.hamcrest.core,
+ org.hamcrest.library,
+ org.mockito.mockito-core
Eclipse-AutoStart: true
Export-Package: org.eclipse.ui.tests.api,
org.eclipse.ui.tests.menus
--- a/eclipse.platform.ui/tests/org.eclipse.e4.ui.tests/META-INF/MANIFEST.MF.orig 2014-03-26 11:44:04.400306048 +0000
+++ b/eclipse.platform.ui/tests/org.eclipse.e4.ui.tests/META-INF/MANIFEST.MF 2014-03-26 12:58:07.608331033 +0000
@@ -31,8 +31,8 @@
org.eclipse.core.expressions;bundle-version="3.4.200",
org.eclipse.e4.ui.workbench.addons.swt;bundle-version="0.9.0",
org.eclipse.e4.ui.css.swt;bundle-version="0.11.0",
- org.hamcrest;bundle-version="1.1.0",
- org.mockito;bundle-version="1.8.4",
+ org.hamcrest.core,
+ org.mockito.mockito-core,
org.eclipse.e4.ui.css.core;bundle-version="0.10.100",
org.eclipse.test.performance;bundle-version="3.13.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
--- a/eclipse.platform.ui/tests/org.eclipse.e4.ui.tests.css.swt/META-INF/MANIFEST.MF.orig 2014-04-22 14:31:35.155774270 +0100
+++ b/eclipse.platform.ui/tests/org.eclipse.e4.ui.tests.css.swt/META-INF/MANIFEST.MF 2014-04-22 14:33:47.599498477 +0100
@@ -10,8 +10,8 @@
org.w3c.css.sac,
org.eclipse.e4.ui.css.swt.theme;bundle-version="0.9.1",
org.eclipse.ui;bundle-version="3.106.0",
- org.hamcrest;bundle-version="1.1.0",
- org.mockito;bundle-version="1.8.4",
+ org.hamcrest.core,
+ org.mockito.mockito-core,
org.eclipse.equinox.preferences;bundle-version="3.5.200",
org.eclipse.ui.forms,
org.eclipse.ui.views.properties.tabbed
--- a/eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml.orig 2017-04-04 17:30:21.859313175 +0100
+++ b/eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml 2017-04-04 17:30:47.748038958 +0100
@@ -75,7 +75,7 @@
unpack="false"/>
<plugin
- id="org.mockito"
+ id="org.mockito.mockito-core"
download-size="0"
install-size="0"
version="0.0.0"
--- a/eclipse.jdt.debug/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF.orig 2018-08-20 12:54:25.245305107 +0100
+++ b/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,
--- a/./eclipse.platform.ui/tests/org.eclipse.tests.urischeme/META-INF/MANIFEST.MF.orig 2018-08-20 13:22:04.987695821 +0100
+++ b/./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.0.0"
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"

View File

@ -0,0 +1,125 @@
--- a/rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/pom.xml.bak 2012-07-25 17:45:43.000000000 +0200
+++ b/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>
--- a/eclipse.platform.releng/features/org.eclipse.help-feature/pom.xml.bak 2012-07-31 07:43:57.000000000 +0200
+++ b/eclipse.platform.releng/features/org.eclipse.help-feature/pom.xml 2012-07-31 08:05:24.279277920 +0200
@@ -34,6 +34,17 @@
<goals>
<goal>source-feature</goal>
</goals>
+ <configuration>
+ <excludes>
+ <plugin id="javax.servlet-api" /><plugin id="javax.el" /><plugin id="com.sun.el.javax.el" /><plugin id="org.apache.el" /><plugin id="org.apache.commons.logging" />
+ <plugin id="javax.servlet.jsp" /><plugin id="org.apache.lucene.analysis" /><plugin id="org.apache.lucene.core" />
+ <plugin id="org.apache.tomcat" /><plugin id="org.eclipse.jetty.continuation" /><plugin id="org.eclipse.jetty.http" />
+ <plugin id="org.apache.juli" /><plugin id="org.eclipse.jetty.io" /><plugin id="org.eclipse.jetty.security" />
+ <plugin id="org.eclipse.jetty.util" /><plugin id="org.eclipse.jetty.server" />
+ <plugin id="org.glassfish.web.javax.servlet.jsp" /><plugin id="org.eclipse.jetty.servlet" />
+ <plugin id="org.apache.commons.el" /><plugin id="org.glassfish.web.javax.servlet.jsp" />
+ </excludes>
+ </configuration>
</execution>
</executions>
</plugin>
--- a/eclipse.pde.ui/features/org.eclipse.pde-feature/pom.xml.bak 2013-01-29 11:22:47.065953870 +0100
+++ b/eclipse.pde.ui/features/org.eclipse.pde-feature/pom.xml 2013-01-29 11:23:18.630196529 +0100
@@ -38,6 +38,8 @@
<configuration>
<excludes>
<plugin id="org.eclipse.pde"/>
+ <plugin id="org.objectweb.asm"/>
+ <plugin id="org.objectweb.asm.tree"/>
<plugin id="org.eclipse.pde.doc.user"/>
</excludes>
</configuration>
--- a/eclipse.jdt/org.eclipse.jdt-feature/pom.xml.orig 2013-02-20 16:32:38.000000000 +0100
+++ b/eclipse.jdt/org.eclipse.jdt-feature/pom.xml 2013-02-21 10:08:50.404275226 +0100
@@ -57,6 +57,8 @@
<excludes>
<plugin id="org.eclipse.jdt"/>
<plugin id="org.eclipse.jdt.doc.user"/>
+ <plugin id="org.junit" />
+ <plugin id="org.hamcrest.core" />
</excludes>
</configuration>
</execution>
--- a/eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml.orig 2014-11-28 15:27:07.874872769 +0000
+++ b/eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml 2014-11-28 15:31:02.592652099 +0000
@@ -68,6 +68,8 @@
<plugin id="org.eclipse.core.net.linux.x86_64"/>
<plugin id="org.eclipse.core.net.win32.x86"/>
<plugin id="org.eclipse.core.net.win32.x86_64"/>
+ <plugin id="com.jcraft.jsch"/>
+ <plugin id="org.apache.ant"/>
</excludes>
</configuration>
</execution>
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml.orig 2014-05-26 18:37:25.406426611 +0300
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml 2014-05-26 18:37:47.327449374 +0300
@@ -44,6 +44,22 @@
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
<plugin id="org.eclipse.equinox.launcher.win32.win32.x86"/>
<plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
+ <plugin id="org.eclipse.equinox.launcher.gtk.linux.arm" />
+ <plugin id="org.eclipse.equinox.launcher.gtk.linux.aarch64" />
+ <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="org.apache.felix.gogo.runtime" />
+ <plugin id="org.apache.felix.gogo.shell" />
</excludes>
</configuration>
</execution>
--- a/eclipse.platform.releng/features/org.eclipse.sdk/feature.xml.orig 2016-04-27 09:18:50.421221722 +0100
+++ b/eclipse.platform.releng/features/org.eclipse.sdk/feature.xml 2016-04-27 09:19:08.454957280 +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.httpclient4.feature.source" version="3.13.7" match="compatible"/>
- <import feature="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.source" version="1.1.0" match="compatible"/>
- <import feature="org.eclipse.ecf.filetransfer.ssl.feature.source" version="1.1.0" match="compatible"/>
- </requires>
<plugin
id="org.eclipse.sdk"

View File

@ -0,0 +1,11 @@
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2018-04-25 15:35:44.914031196 +0100
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2018-04-25 15:36:17.546856697 +0100
@@ -885,7 +885,7 @@
//First check to see if there is already an IU around for this
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,114 @@
From 72e58be8c9c5fbc6f6527318b4381a58cebfc120 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
---
ui/org.eclipse.pde.core/META-INF/MANIFEST.MF | 3 +-
.../src/org/eclipse/pde/internal/core/P2Utils.java | 48 +++++++++++++++++++---
2 files changed, 45 insertions(+), 6 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 7c20994..ab702e3 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,6 +102,7 @@ Require-Bundle:
org.eclipse.core.filesystem;bundle-version="[1.0.0,2.0.0)"
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: com.ibm.icu.util
+Import-Package: com.ibm.icu.util,
+ 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 fbd4b81..55cd40e 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
@@ -15,11 +15,12 @@
package org.eclipse.pde.internal.core;
import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.*;
+import java.nio.file.Paths;
import java.util.*;
import org.eclipse.core.runtime.*;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
+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.*;
@@ -32,6 +33,7 @@ import org.eclipse.osgi.service.resolver.*;
import org.eclipse.pde.core.plugin.*;
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;
/**
@@ -111,7 +113,16 @@ public class P2Utils {
try {
URL bundlesTxt = new URL(configurationArea.getProtocol(), configurationArea.getHost(), new File(configurationArea.getFile(), SimpleConfiguratorManipulator.BUNDLES_INFO_PATH).getAbsolutePath());
File home = basePath.toFile();
- BundleInfo bundles[] = getBundlesFromFile(bundlesTxt, home);
+ List<org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo> ibundleList = SimpleConfiguratorUtils.readConfiguration(bundlesTxt, 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;
}
@@ -143,11 +154,38 @@ public class P2Utils {
try {
File home = basePath.toFile();
URL srcBundlesTxt = new URL(configurationArea.getProtocol(), configurationArea.getHost(), configurationArea.getFile().concat(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 (MalformedURLException e) {
PDECore.log(e);
return null;
--
2.7.4

Binary file not shown.

View File

@ -0,0 +1,35 @@
--- a/eclipse-platform-parent/pom.xml.orig 2014-11-28 14:54:50.000000000 +0000
+++ b/eclipse-platform-parent/pom.xml 2014-11-28 15:32:51.700154985 +0000
@@ -491,7 +491,7 @@
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
<dependencies>
- <dependency>
+ <!-- dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-extras.version}</version>
@@ -500,19 +500,19 @@
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-extras.version}</version>
- </dependency>
+ </dependency-->
</dependencies>
<configuration>
<strictBinIncludes>false</strictBinIncludes>
<format>${qualifier.format}</format>
- <timestampProvider>jgit</timestampProvider>
+ <!--timestampProvider>jgit</timestampProvider-->
<jgit.ignore>
pom.xml
</jgit.ignore>
<jgit.dirtyWorkingTree>${jgit.dirtyWorkingTree-platformDefault}</jgit.dirtyWorkingTree>
- <sourceReferences>
+ <!--sourceReferences>
<generate>true</generate>
- </sourceReferences>
+ </sourceReferences-->
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>

View File

@ -0,0 +1,197 @@
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
@@ -418,6 +418,36 @@
install-size="0"
version="0.0.0"
fragment="true"/>
+
+ <plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.arm"
+ os="linux"
+ ws="gtk"
+ arch="arm"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
+
+ <plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.aarch64"
+ os="linux"
+ ws="gtk"
+ arch="aarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
+
+ <plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.s390x"
+ os="linux"
+ ws="gtk"
+ arch="s390x"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
<plugin
id="org.eclipse.equinox.launcher.gtk.linux.x86"
@@ -496,6 +526,39 @@
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.arm"
+ os="linux"
+ ws="gtk"
+ arch="arm"
+ 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
@@ -123,7 +123,11 @@
<copy todir="bin" verbose="true" includeEmptyDirs="false" failonerror="true">
<fileset dir="../../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/">
<include name="cocoa/macosx/x86_64/**/*"/>
+ <include name="gtk/linux/arm/**/*"/>
+ <include name="gtk/linux/aarch64/**/*"/>
+ <include name="gtk/linux/ppc64/**/*"/>
<include name="gtk/linux/ppc64le/**/*"/>
+ <include name="gtk/linux/s390x/**/*"/>
<include name="gtk/linux/x86/**/*"/>
<include name="gtk/linux/x86_64/**/*"/>
<include name="win32/win32/x86/**/*"/>
--- 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
@@ -37,3 +37,15 @@
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.arm=bin/gtk/linux/arm,gtk_root
+root.linux.gtk.arm.permissions.755=launcher
+
+root.linux.gtk.aarch64=bin/gtk/linux/aarch64,gtk_root
+root.linux.gtk.aarch64.permissions.755=launcher
+
+root.linux.gtk.ppc64=bin/gtk/linux/ppc64,gtk_root
+root.linux.gtk.ppc64.permissions.755=launcher
+
+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
@@ -54,7 +54,11 @@
<modules>
<module>bundles/org.eclipse.swt.cocoa.macosx.x86_64</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.arm</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.aarch64</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.ppc64</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</module>
<module>bundles/org.eclipse.swt.gtk.linux.x86_64</module>
<module>bundles/org.eclipse.swt.win32.win32.x86</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
@@ -34,3 +34,23 @@
requires.7.name = org.eclipse.swt.gtk.linux.ppc64le
requires.7.range = [$version$,$version$]
requires.7.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64le)(!(org.eclipse.swt.buildtime=true)))
+
+requires.8.namespace = org.eclipse.equinox.p2.iu
+requires.8.name = org.eclipse.swt.gtk.linux.ppc64
+requires.8.range = [$version$,$version$]
+requires.8.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64)(!(org.eclipse.swt.buildtime=true)))
+
+requires.9.namespace = org.eclipse.equinox.p2.iu
+requires.9.name = org.eclipse.swt.gtk.linux.arm
+requires.9.range = [$version$,$version$]
+requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=arm)(!(org.eclipse.swt.buildtime=true)))
+
+requires.10.namespace = org.eclipse.equinox.p2.iu
+requires.10.name = org.eclipse.swt.gtk.linux.aarch64
+requires.10.range = [$version$,$version$]
+requires.10.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=aarch64)(!(org.eclipse.swt.buildtime=true)))
+
+requires.11.namespace = org.eclipse.equinox.p2.iu
+requires.11.name = org.eclipse.swt.gtk.linux.s390x
+requires.11.range = [$version$,$version$]
+requires.11.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
@@ -109,7 +109,7 @@
"s390x")
defaultOSArch="s390x"
defaultJava=DEFAULT_JAVA_EXEC
- OUTPUT_DIR="$EXEC_DIR/contributed/$defaultWS/$defaultOS/$defaultOSArch"
+ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
;;
arm*)
defaultOSArch="arm"
--- 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
@@ -73,6 +73,30 @@
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</module>
</modules>
</profile>
+ <profile>
+ <id>build-native-launchers-gtk.linux.ppc64</id>
+ <activation>
+ <property>
+ <name>native</name>
+ <value>gtk.linux.ppc64</value>
+ </property>
+ </activation>
+ <modules>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64</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,159 @@
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 a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF b/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
index d88d0a6..07fe087 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
+++ b/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.wiring;version="1.2.0",
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java b/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
index ab69b88..d6bf121 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
@@ -15,8 +15,12 @@ package org.eclipse.equinox.internal.simpleconfigurator.utils;
import java.net.*;
import java.nio.file.Files;
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 {
@@ -277,6 +281,16 @@ public class SimpleConfiguratorUtils {
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);
@@ -400,4 +414,93 @@ public class SimpleConfiguratorUtils {
}
return regularTimestamp;
}
+
+ 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;
+ }
}
--
2.5.0

View File

@ -0,0 +1,25 @@
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml.orig
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
@@ -898,15 +898,19 @@
</not>
</condition>
<antcall target="init_build"/>
+ <antcall target="build_gtk2"/>
+ <antcall target="build_gtk3"/>
+ <delete dir="${build_dir}" quiet="true"/>
+ <antcall target="refresh_fragment"/>
+ </target>
+
+ <target name="build_gtk2" depends="get_version" if="machine_gtk2">
<antcall target="${build_task}">
<param name="build_targets" value="${targets}"/>
<param name="build_machine" value="${machine}"/>
<param name="port" value="${port}"/>
<param name="keyfile" value="${keyfile}"/>
</antcall>
- <antcall target="build_gtk3"/>
- <delete dir="${build_dir}" quiet="true"/>
- <antcall target="refresh_fragment"/>
</target>
<target name="build_gtk3" depends="get_version" if="machine_gtk3">

581
eclipse.spec Normal file
View File

@ -0,0 +1,581 @@
Name: eclipse
Epoch: 1
Version: 4.9.0
Release: 3
Summary: Eclipse is an open source, Java-based, extensible development platform.
License: EPL-2.0
URL: http://www.eclipse.org/
Source0: http://download.eclipse.org/eclipse/downloads/drops4/I20180906-0745/eclipse-platform-sources-I20180906-0745.tar.xz
Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-44643cbda3dfd6f00fbf1b346dae7068df2a9ef9.tar.xz
Patch0000: eclipse-no-source-for-dependencies.patch
Patch0001: eclipse-p2-pick-up-renamed-jars.patch
Patch0002: eclipse-ignore-version-when-calculating-home.patch
Patch0003: eclipse-remove-jgit-provider.patch
Patch0004: eclipse-secondary-arches.patch
Patch0005: eclipse-debug-symbols.patch
Patch0006: eclipse-fix-dropins.patch
Patch0007: eclipse-mockito.patch
Patch0008: eclipse-support-symlink-bundles.patch
Patch0009: eclipse-feature-plugins-to-category-ius.patch
Patch0010: eclipse-fix-tests.patch
Patch0011: eclipse-adjust-droplets.patch
Patch0012: eclipse-pde-tp-support-droplets.patch
Patch0013: eclipse-swt-disable-gtk2.patch
Patch0014: eclipse-disable-uses-constraints.patch
Patch0016: eclipse-make-droplets-runnable.patch
Patch0017: eclipse-disable-droplets-in-dropins.patch
Patch0018: prefer_x11_backend.patch
Patch0019: fix_ant_build.patch
Patch0020: eclipse-hide-droplets-from-install-wizard.patch
BuildRequires: gdb-headless maven-local tycho tycho-extras cbi-plugins maven-assembly-plugin
BuildRequires: maven-antrun-plugin maven-dependency-plugin maven-enforcer-plugin maven-install-plugin
BuildRequires: maven-shade-plugin xml-maven-plugin rhino sonatype-oss-parent rsync make gcc zip
BuildRequires: unzip desktop-file-utils pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(nspr)
BuildRequires: pkgconfig(glu) pkgconfig(gl) pkgconfig(cairo) pkgconfig(xt) pkgconfig(xtst)
BuildRequires: pkgconfig(libsecret-1) pkgconfig(gtk+-2.0) pkgconfig(gtk+-3.0) pkgconfig(webkit2gtk-4.0)
BuildRequires: icu4j >= 1:62.1 ant >= 1.10.5 ant-antlr ant-apache-bcel ant-apache-log4j
BuildRequires: ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf
BuildRequires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil
BuildRequires: jsch >= 0:0.1.46-2 ant-apache-xalan2 ant-jmf ant-xz ant-junit5 apache-commons-logging
BuildRequires: apache-commons-el >= 1.0-22 apache-commons-codec apache-commons-jxpath
BuildRequires: apache-commons-fileupload osgi(org.apache.felix.gogo.shell) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
BuildRequires: osgi(org.apache.felix.scr) >= 2.0.14 osgi(org.eclipse.jetty.util) >= 9.4.11
BuildRequires: osgi(org.eclipse.jetty.server) >= 9.4.11 osgi(org.eclipse.jetty.http) >= 9.4.11
BuildRequires: osgi(org.eclipse.jetty.continuation) >= 9.4.11
BuildRequires: osgi(org.eclipse.jetty.io) >= 9.4.11 osgi(org.eclipse.jetty.security) >= 9.4.11
BuildRequires: osgi(org.eclipse.jetty.servlet) >= 9.4.11 lucene-core >= 7.1.0
BuildRequires: lucene-analysis >= 7.1.0 lucene-queryparser >= 7.1.0 lucene-analyzers-smartcn >= 7.1.0
BuildRequires: junit >= 4.12 junit5 apiguardian hamcrest sat4j objectweb-asm >= 6.1.1 sac
BuildRequires: batik >= 1.10 batik-css >= 1.10 xmlgraphics-commons >= 2.2 xml-commons-apis atinject
BuildRequires: eclipse-ecf-core >= 3.14.1-2 eclipse-emf-core >= 1:2.15.0-0.2 eclipse-license2
BuildRequires: glassfish-el-api >= 3.0.1 glassfish-el >= 3.0.1 glassfish-jsp-api >= 2.2.1-4
BuildRequires: glassfish-jsp >= 2.2.5 glassfish-servlet-api >= 3.1.0 httpcomponents-core
BuildRequires: httpcomponents-client jsoup xz-java mockito osgi(osgi.annotation)
BuildRequires: eclipse-pde eclipse-egit eclipse-emf-runtime
%description
Eclipse is an integrated development environment (IDE) used in computer programming.
It contains a base workspace and an extensible plug-in system for customizing the environment.
%package swt
Summary: Provides SWT Library for GTK+
Requires: java-headless >= 1:1.8.0 javapackages-tools gtk3 webkitgtk4
%description swt
This package provides SWT Library for GTK+.
%package equinox-osgi
Summary: Open Service Gateway Initiative(OSGi) in eclipse
Requires: java-headless >= 1:1.8.0 javapackages-tools
Provides: osgi(system.bundle) = 1:4.9.0
%description equinox-osgi
This package provides the open Service Gateway Initiative(OSGi) in eclipse - Equinox
%package platform
Summary: Provides eclipse platform common files
Recommends: eclipse-abrt eclipse-usage
Requires: ant >= 1.10.5 ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro
Requires: ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf
Requires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch
Requires: ant-testutil ant-apache-xalan2 ant-jmf ant-xz ant-junit5
Requires: jsch >= 0.1.46-2 apache-commons-el >= 1.0-23 apache-commons-logging
Requires: apache-commons-codec apache-commons-jxpath osgi(org.apache.felix.gogo.shell) >= 1.0.0
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.0.4
Requires: osgi(org.apache.felix.scr) >= 2.0.14
Requires: osgi(org.eclipse.jetty.util) >= 9.4.11
Requires: osgi(org.eclipse.jetty.server) >= 9.4.11
Requires: osgi(org.eclipse.jetty.http) >= 9.4.11
Requires: osgi(org.eclipse.jetty.continuation) >= 9.4.11
Requires: osgi(org.eclipse.jetty.io) >= 9.4.11
Requires: osgi(org.eclipse.jetty.security) >= 9.4.11
Requires: osgi(org.eclipse.jetty.servlet) >= 9.4.11
Requires: lucene-core >= 7.1.0 lucene-analysis >= 7.1.0 lucene-queryparser >= 7.1.0
Requires: lucene-analyzers-smartcn >= 7.1.0 sat4j sac batik >= 1.10 batik-css >= 1.10
Requires: xmlgraphics-commons >= 2.2 xml-commons-apis atinject eclipse-ecf-core >= 3.14.0-1
Requires: eclipse-emf-core >= 1:2.14.0-1 glassfish-el-api >= 3.0.1 glassfish-el >= 3.0.1
Requires: glassfish-jsp-api >= 2.2.1-4 glassfish-jsp >= 2.2.5 glassfish-servlet-api >= 3.1.0
Requires: icu4j >= 1:62.1 eclipse-swt = 1:4.9.0-3 osgi(org.tukaani.xz)
Requires: eclipse-equinox-osgi = 1:4.9.0-3 httpcomponents-core httpcomponents-client
Provides: eclipse-nls = 4.9.0-3
Obsoletes: eclipse-nls < 4.9.0-3
%description platform
The eclipse-platform is just the base of eclipse,
it provides some common files.
%package jdt
Summary: Provides Development Tools for Java
BuildArch: noarch
Provides: eclipse = 1:4.9.0-3
Requires: eclipse-platform = 1:4.9.0-3 osgi(org.junit) >= 4.12 osgi(org.hamcrest.core)
Recommends: eclipse-recommenders
%description jdt
This package Provides Development Tools for Java
%package pde
Summary: Provides Eclipse Plugin Development Environment
Requires: eclipse-platform = 1:4.9.0-3 eclipse-jdt = 1:4.9.0-3 objectweb-asm >= 6.1.1
%description pde
The eclipse-pde package is necessary for developing Eclipse plugins.
%package p2-discovery
Summary: Provides Eclipse p2 Discovery
BuildArch: noarch
Requires: eclipse-platform = 1:4.9.0-3
%description p2-discovery
The eclipse-p2-discovery package is a tool to display and install
from existing P2 repositories or as a framework to build branded
installer UIs.
%package contributor-tools
Summary: Provides Eclipse Contributors Tools
Requires: eclipse-platform = 1:4.9.0-3 easymock mockito
%description contributor-tools
The eclipse-contributor-tools consists of SWT tools, E4 tools,
Rel-Eng tools and Eclipse Test frameworks. And all these specifically for Eclipse contributors.
%package tests
Summary: Provides Eclipse Tests
Requires: eclipse-contributor-tools = 1:4.9.0-3
%description tests
This package provides a large number of test cases to ensure the smooth running of eclipse
%prep
%autosetup %{SOURCE0} -n eclipse-platform-sources-I20180906-0745 -p1
tar --strip-components=1 -xf %{SOURCE1}
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java10api.jar" ! -name "j9stubs.jar" \
-type f -name *.jar -delete
for file_type in class so dll jnilib ; do
find . -type f -name *.$file_type -delete ;
done
rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%pom_xpath_remove "pom:configuration/pom:target" eclipse-platform-parent
%pom_disable_module bundles/org.eclipse.equinox.console.jaas.fragment rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.ssh rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.ip rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.xslt rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.hook rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching.j9 rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.hook rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.cm.test rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.p2.tests.reconciler.product rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.optimizers rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.processors rt.equinox.p2
%pom_disable_module equinox-sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module equinox.starterkit.product eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module eclipse.platform.repository eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.compendium.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.core.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
%pom_disable_module platform.sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module rcp eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module rcp.sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module rcp.config eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_xpath_remove "plugin[@version='1.1.300.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
sed -i -e '/org\.eclipse\.jdt\.annotation;bundle-version="\[1\.1\.0,2\.0\.0)"/d' \
eclipse.jdt.core/org.eclipse.jdt.core.tests.{model,builder,compiler}/META-INF/MANIFEST.MF \
eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF \
eclipse.jdt.ui/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF
%pom_disable_module bundles/org.eclipse.sdk.examples eclipse.platform.releng
%pom_disable_module features/org.eclipse.sdk.examples-feature eclipse.platform.releng
%pom_disable_module examples/org.eclipse.swt.examples.ole.win32 eclipse.platform.swt
%pom_disable_module bundles/org.eclipse.equinox.http.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge.template rt.equinox.bundles
utils/ensure_arch.sh rt.equinox.binaries x86 arm
utils/ensure_arch.sh rt.equinox.framework/bundles x86 arm
utils/ensure_arch.sh eclipse.platform.swt.binaries/bundles x86 arm
utils/ensure_arch.sh rt.equinox.binaries x86_64 aarch64 ppc64
utils/ensure_arch.sh rt.equinox.framework/bundles x86_64 aarch64 ppc64
utils/ensure_arch.sh eclipse.platform.swt.binaries/bundles x86_64 aarch64 ppc64
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{_arch}</arch></environment>"
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk
for ids in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{_arch}$)'` ; do
module=$(grep ">bundles/$ids<" eclipse.platform.swt.binaries/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$ids eclipse.platform.swt.binaries
%pom_xpath_inject "pom:excludes" "<plugin id='$ids'/>" eclipse.platform.ui/features/org.eclipse.e4.rcp
fi
done
for ids in `ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux.%{_arch}$)'` ; do
module=$(grep ">bundles/$ids<" rt.equinox.framework/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$ids rt.equinox.framework
%pom_xpath_remove -f "plugin[@id='$ids']" rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
fi
done
for ids in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep -P -e 'org.eclipse.equinox.security\.(?!linux\.%{_arch}$)'` ; do
%pom_disable_module bundles/$ids rt.equinox.bundles
%pom_xpath_remove "plugin[@id='$ids']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
done
for ids in `ls eclipse.platform.team/bundles/org.eclipse.core.net/fragments/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{_arch}$)'` ; do
%pom_disable_module bundles/org.eclipse.core.net/fragments/$ids eclipse.platform.team
done
for ids in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{_arch}$)'` ; do
module=$(grep ">bundles/$ids<" eclipse.platform.resources/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$ids eclipse.platform.resources
%pom_xpath_remove -f "plugin[@id='$ids']" eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
fi
done
%pom_disable_module bundles/org.eclipse.compare.win32 eclipse.platform.team
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
%pom_disable_module org.eclipse.jdt.launching.ui.macosx eclipse.jdt.debug
%pom_disable_module org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.win32 eclipse.platform.ui/bundles
for xml_name in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
eclipse.platform.releng/features/org.eclipse.rcp/feature.xml \
eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml ; do
%pom_xpath_remove -f "plugin[@os='macosx']" $xml_name
%pom_xpath_remove -f "plugin[@os='win32']" $xml_name
%pom_xpath_remove -f "plugin[@ws='win32']" $xml_name
for arch in x86 x86_64 arm aarch64 ppc64 ppc64le s390x ; do
if [ "$arch" != "%{_arch}" ] ; then
%pom_xpath_remove -f "plugin[@arch='$arch']" $xml_name
fi
done
done
fix_files=$(grep -lr 3.107.100 eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.*)
sed -i -e "s/3.107.100/3.108.0/" $fix_files
fix_files=$(grep -lr '1\.1\.[67]00' rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.*)
sed -i -e "s/1\.1\.[67]00/1.1.800/" -e "/Fragment-Host/s/\(bundle-version=\).*/\1\"1.0.0\"/" $fix_files
%pom_disable_module tests/org.eclipse.swt.tests.fragments.feature eclipse.platform.swt
%pom_xpath_remove "pom:dependency-resolution" eclipse.platform.swt/tests/org.eclipse.swt.tests{,.gtk}
sed -i -e '/<features>/a<feature id="org.eclipse.core.runtime.feature"/>' \
eclipse.platform.releng.tychoeclipsebuilder/platform/platform.product
sed -i -e '/org.eclipse.ui.themes/i<plugin id="org.eclipse.jdt.core.compiler.batch" download-size="0" install-size="0" version="0.0.0" unpack="false"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
sed -i -e '/<\/excludes>/i<plugin id="org.eclipse.jdt.core.compiler.batch"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml
%pom_xpath_remove "plugin[@id='org.hamcrest']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
%pom_xpath_remove "plugin[@id='org.hamcrest.text']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
%pom_xpath_remove "plugin[@id='org.mockito']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
%pom_xpath_inject "feature" '<plugin id="org.mockito.mockito-core" download-size="0" install-size="0" version="0.0.0" unpack="false"/>' eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
%pom_xpath_inject "feature" '<plugin id="net.sf.cglib.core" download-size="0" install-size="0" version="0.0.0" unpack="false"/>' eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml
%pom_xpath_remove "plugin[@id='org.eclipse.core.tests.harness']" eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml
%pom_xpath_set "pom:plugin[pom:artifactId = 'tycho-packaging-plugin']/pom:configuration/pom:archive/pom:addMavenDescriptor" "true" eclipse-platform-parent
for props in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do
grep '^root\.linux\.gtk\.%{_arch}[.=]' $props > tmp
sed -i -e '/^root\./d' $props && cat tmp >> $props
done
install -d rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/%{_arch}
for mf_file in rt.equinox.bundles/bundles/org.eclipse.equinox.security.linux.*/META-INF/MANIFEST.MF \
eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.*/META-INF/MANIFEST.MF \
eclipse.platform.resources/bundles/org.eclipse.core.filesystem.linux.*/META-INF/MANIFEST.MF \
eclipse.platform.team/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.*/META-INF/MANIFEST.MF ; do
echo -e "Eclipse-BundleShape: dir\n\n" >> $mf_file;
done
%pom_xpath_inject "pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='tycho-compiler-plugin']/pom:dependencies" \
"<dependency><groupId>org.eclipse</groupId><artifactId>java10api</artifactId><version>10</version></dependency>" eclipse-platform-parent
dependencies/fake_ant_dependency.sh
sed -i '/javax\.servlet\.jsp/ s/2\.3/2\.4/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF
find -name feature.xml | xargs sed -i -e 's|"javax.servlet"|"javax.servlet-api"|'
sed -i -e "2iRequire-Bundle: javax.servlet-api" rt.equinox.bundles/bundles/org.eclipse.equinox.http.{jetty,servlet}/META-INF/MANIFEST.MF
sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox.bundles/bundles/org.eclipse.equinox.console{,.ssh}/META-INF/MANIFEST.MF
%pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
for files in rt.equinox.framework/bundles/org.eclipse.osgi/osgi/ \
rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/ \
rt.equinox.framework/bundles/org.eclipse.osgi.util/lib/ \
rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/osgi/ \
rt.equinox.bundles/bundles/org.eclipse.equinox.coordinator/lib/ \
rt.equinox.bundles/bundles/org.eclipse.equinox.log.stream/osgi/ ;do
ln -s $(build-classpath osgi-annotation) $files;
done
rm eclipse.platform.swt/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug421127_Clipping_is_wrong.java
%mvn_package "::pom::" __noinstall
%mvn_package ":*tests*" tests
%mvn_package ":org.eclipse.equinox.frameworkadmin.test" tests
%mvn_package ":org.eclipse.equinox.p2.installer" tests
%mvn_package ":org.eclipse.jface.examples.databinding" tests
%mvn_package ":org.eclipse.pde.tools.versioning" tests
%mvn_package ":org.eclipse.update.core" tests
%mvn_package "org.eclipse.test:org.eclipse.test" contributor-tools
%mvn_package ":*examples*" __noinstall
%mvn_package "::jar:sources{,-feature}:" sdk
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
%mvn_package ":org.eclipse.platform.doc.isv" sdk
%mvn_package ":org.eclipse.equinox.executable" sdk
%mvn_package "org.eclipse.jdt{,.feature}:" jdt
%mvn_package ":org.eclipse.ant.{launching,ui}" jdt
%mvn_package ":org.eclipse.equinox.p2.discovery.{feature,compatibility}" p2-discovery
%mvn_package ":org.eclipse.equinox.p2{,.ui}.discovery" p2-discovery
%mvn_package ":org.eclipse.e4{,.core}.tools*" contributor-tools
%mvn_package ":org.eclipse.releng.tools" contributor-tools
%mvn_package ":org.eclipse.swt.tools*" contributor-tools
%mvn_package "org.eclipse.test{,.feature}:" contributor-tools
%mvn_package ":org.eclipse.ant.optional.junit" contributor-tools
%mvn_package "org.eclipse.cvs{,.feature}:" cvs
%mvn_package "org.eclipse.team:org.eclipse.team.cvs*" cvs
%mvn_package "org.eclipse.pde{,.ui,.feature}:" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.{views.log,trace}" pde
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
%mvn_package ":" __noinstall
%build
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export JAVA_HOME=%{_jvmdir}/java
sed -i -e '/createSourcesJar/d' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
(cd eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent && xmvn -o -B clean verify)
mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded.jar \
eclipse.jdt.debug/org.eclipse.jdt.launching/lib
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
%mvn_build -j -f -- -DforceContextQualifier=$QUALIFIER \
-Declipse.javadoc=/usr/bin/javadoc -Dnative=gtk.linux.%{_arch} \
-Dtycho.local.keepTarget \
-Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
product="eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}"
dependencies/fake_ant_dependency.sh $product/eclipse/plugins/org.apache.ant_*
dependencies/replace_platform_plugins_with_symlinks.sh $product/eclipse %{_javadir} %{_jnidir}
pushd $product/eclipse
rm -rf configuration/org.eclipse.core.runtime
rm -rf configuration/org.eclipse.equinox.app
rm -rf configuration/org.eclipse.update
rm -rf configuration/org.eclipse.osgi
rm -rf p2/org.eclipse.equinox.p2.core/cache/*
rm -f icon.xpm
rm -rf features/org.eclipse.emf.* plugins/org.eclipse.emf.* \
features/org.eclipse.ecf.* plugins/org.eclipse.ecf.* plugins/org.eclipse.ecf_*
pushd p2/org.eclipse.equinox.p2.engine/.settings
sed -i -e "/repositories\/file/d" -e "/repositories\/memory/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs
popd
sed -i -e "s|-Xms40m|-Xms512m|g" -e "s|-Xmx512m|-Xmx1024m|g" -e '1i-protect\nroot' eclipse.ini
cat >> eclipse.ini <<EOF
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding
-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile
-XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=%{_datadir}/eclipse/dropins
-Dp2.fragments=%{_prefix}/lib/eclipse/droplets,%{_datadir}/eclipse/droplets
-Declipse.p2.skipMovedInstallDetection=true
-Dosgi.resolver.usesMode=ignore
EOF
popd
%install
%mvn_install
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{_jnidir} \
$RPM_BUILD_ROOT%{_javadir}/eclipse $RPM_BUILD_ROOT%{_mavenpomdir} $RPM_BUILD_ROOT%{_bindir}
install -D eclipse.platform/platform/org.eclipse.platform/eclipse32.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/32x32/apps/eclipse.png
install -D eclipse.platform/platform/org.eclipse.platform/eclipse48.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/48x48/apps/eclipse.png
install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png
install -d $RPM_BUILD_ROOT/usr/share/pixmaps
ln -s /usr/share/icons/hicolor/256x256/apps/eclipse.png \
$RPM_BUILD_ROOT/usr/share/pixmaps/eclipse.png
sed -i -e 's/Exec=eclipse/Exec=eclipse/g' desktopintegration/eclipse.desktop
sed -i -e 's/Name=Eclipse/Name=Eclipse/g' desktopintegration/eclipse.desktop
sed -i -e 's/Icon=eclipse/Icon=eclipse/g' desktopintegration/eclipse.desktop
install -m644 -D desktopintegration/eclipse.desktop $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop
desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop
for xml_file in eclipse.appdata.xml eclipse-jdt.metainfo.xml eclipse-pde.metainfo.xml ;
do
install -m644 -D desktopintegration/$xml_file $RPM_BUILD_ROOT%{_datadir}/appdata/$xml_file ;
done
LOCAL_PWD=`pwd`
cd eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile/
for gz_file in `ls | grep "profile.gz"` ; do \
gunzip $gz_file ; \
sed -i -e "s@${LOCAL_PWD}/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse@%{_prefix}/lib/eclipse@g" *.profile ; \
gzip *.profile ; \
done
cd -
rsync -vrpl eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse \
%{buildroot}%{_prefix}/lib
cd %{buildroot}%{_bindir}
ln -s %{_prefix}/lib/eclipse/eclipse
cd -
cd %{buildroot}/%{_sysconfdir}/
ln -s %{_prefix}/lib/eclipse/eclipse.ini
cd -
cd %{buildroot}%{_prefix}/lib/eclipse/plugins
EQUINOX_JARS=$(ls . | grep -P '^org.eclipse.equinox(?!.*\.ui[\._])' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|')
OSGI_JARS=$(ls . | grep '^org.eclipse.osgi' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|')
cd -
location=%{_prefix}/lib/eclipse/plugins
while [ "$location" != "/" ] ; do
location=$(dirname $location)
updir="$updir../"
done
cd %{buildroot}%{_javadir}/eclipse
for J in $EQUINOX_JARS core.contenttype core.jobs core.net core.runtime ; do
DIR=$updir%{_prefix}/lib/eclipse/plugins
if [ "$J" != "equinox.http.servlet" ] ; then
[ -e "`ls $DIR/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/org.eclipse.${J}_*.jar ${J}.jar
fi
done
cd -
rm -rf .xmvn/ .xmvn-reactor
%mvn_package "org.eclipse.osgi:" equinox-osgi
%mvn_package "org.eclipse.equinox.http:" platform
%mvn_package "org.eclipse.swt:" swt
for J in $OSGI_JARS ; do
JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.${J}_*.jar
VER=$(echo $JAR | sed -e "s/.*${J}_\(.*\)\.jar/\1/")
%mvn_artifact "org.eclipse.osgi:$J:jar:$VER" $JAR
if [ "$J" = "osgi" ] ; then
%mvn_alias "org.eclipse.osgi:$J" "org.eclipse.osgi:org.eclipse.$J" "org.eclipse.tycho:org.eclipse.$J" "org.eclipse:$J"
else
%mvn_alias "org.eclipse.osgi:$J" "org.eclipse.osgi:org.eclipse.$J" "org.eclipse.tycho:org.eclipse.$J"
fi
done
JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.equinox.http.servlet_*.jar
VER=$(echo $JAR | sed -e "s/.*_\(.*\)\.jar/\1/")
%mvn_artifact "org.eclipse.equinox.http:equinox.http.servlet:jar:$VER" $JAR
%mvn_alias "org.eclipse.equinox.http:equinox.http.servlet" "org.eclipse.equinox.http:servlet"
JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.swt_*.jar
VER=$(echo $JAR | sed -e "s/.*_\(.*\)\.jar/\1/")
%mvn_artifact "org.eclipse.swt:org.eclipse.swt:jar:$VER" ./eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.%{_arch}/target/org.eclipse.swt.gtk.linux.%{_arch}-*-SNAPSHOT.jar
%mvn_alias "org.eclipse.swt:org.eclipse.swt" "org.eclipse.swt:swt"
%mvn_file "org.eclipse.swt:org.eclipse.swt" swt
%mvn_install
cd %{buildroot}/%{_prefix}/lib/eclipse/
ln -s $(abs2rel %{_jnidir}/swt.jar %{_prefix}/lib/eclipse)
cd -
unzip eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target/eclipse-junit-tests-bundle.zip \
-d $RPM_BUILD_ROOT/%{_datadir}/ -x eclipse-testing/runtests.bat eclipse-testing/runtestsmac.sh
cp utils/splitter.xsl $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing
rm $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/eclipse-junit-tests-*.zip
sed -i '/org.eclipse.equinox.p2.reconciler.test/ d' $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/equinoxp2tests.properties
cp -r testbundle-to-eclipse-test $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle
mv $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle/eclipse-runTestBundles $RPM_BUILD_ROOT/%{_bindir}/eclipse-runTestBundles
find $RPM_BUILD_ROOT/%{_prefix}/lib/eclipse -name *.so -exec chmod a+x {} \;
install -d -m 755 %{buildroot}%{_prefix}/lib/eclipse/.pkgs
echo "4.9.0-3" > %{buildroot}%{_prefix}/lib/eclipse/.pkgs/Distro%{?dist}
%post platform
touch --no-create /usr/share/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q /usr/share/icons/hicolor
fi
%postun platform
touch --no-create /usr/share/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q /usr/share/icons/hicolor
fi
%files swt -f .mfiles-swt
%{_prefix}/lib/eclipse/plugins/org.eclipse.swt*
%{_prefix}/lib/eclipse/swt.jar
%{_jnidir}/swt.*
%files platform -f .mfiles-platform
%{_bindir}/eclipse
%{_prefix}/lib/eclipse/eclipse
%{_prefix}/lib/eclipse/.*p*
%config %{_prefix}/lib/eclipse/eclipse.ini
%config %{_sysconfdir}/eclipse.ini
/usr/share/*
%{_datadir}/appdata/eclipse.appdata.xml
%dir %{_prefix}/lib/eclipse/configuration/
%dir %{_prefix}/lib/eclipse/configuration/org.eclipse.equinox.simpleconfigurator/
%{_prefix}/lib/eclipse/configuration/*
%{_prefix}/lib/eclipse/features/org.eclipse.*
%{_prefix}/lib/eclipse/plugins/*
%{_prefix}/lib/eclipse/artifacts.xml
%{_prefix}/lib/eclipse/p2
%doc %{_prefix}/lib/eclipse/readme
%{_javadir}/eclipse/core*
%{_javadir}/eclipse/equinox*
%exclude %{_prefix}/lib/eclipse/plugins/org.eclipse.osgi*
%exclude %{_prefix}/lib/eclipse/plugins/org.eclipse.swt*
%files jdt -f .mfiles-jdt
%{_datadir}/appdata/eclipse-jdt.metainfo.xml
%files pde -f .mfiles-pde -f .mfiles-cvs -f .mfiles-sdk
%{_prefix}/lib/eclipse/droplets/eclipse-sdk/features/org.eclipse.equinox.executable_*
%{_datadir}/appdata/eclipse-pde.metainfo.xml
%files p2-discovery -f .mfiles-p2-discovery
%files contributor-tools -f .mfiles-contributor-tools
%files tests -f .mfiles-tests
%{_bindir}/eclipse-runTestBundles
%{_datadir}/eclipse-testing
%files equinox-osgi -f .mfiles-equinox-osgi
%{_prefix}/lib/eclipse/plugins/org.eclipse.osgi*
%changelog
* Fri Nov 22 2019 sunguoshuai <sunguoshuai@huawei.com> - 1:4.9.0-3
- Package init.

161
fix_ant_build.patch Normal file
View File

@ -0,0 +1,161 @@
--- a/eclipse.platform/ant/org.eclipse.ant.launching/build.properties.orig 2017-01-09 10:24:16.258243377 +0000
+++ b/eclipse.platform/ant/org.eclipse.ant.launching/build.properties 2017-01-09 10:25:08.302620557 +0000
@@ -20,18 +20,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
--- a/eclipse.platform/ant/org.eclipse.ant.ui/build.properties.orig 2017-04-03 18:40:41.033489412 +0100
+++ b/eclipse.platform/ant/org.eclipse.ant.ui/build.properties 2017-04-03 18:43:21.614928391 +0100
@@ -14,8 +14,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/
@@ -31,6 +31,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
--- a/eclipse.platform.common/bundles/org.eclipse.jdt.doc.user/build.xml.orig 2017-01-09 13:30:24.238066571 +0000
+++ b/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>

14
prefer_x11_backend.patch Normal file
View File

@ -0,0 +1,14 @@
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c.orig 2018-08-22 15:19:04.602623018 +0100
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c 2018-08-22 15:20:03.453348722 +0100
@@ -111,6 +111,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;
char *gtk3 = getenv("SWT_GTK3");