@ -3,17 +3,17 @@
# this is a way to bootstrap Eclipse on secondary archs.
%bcond_with bootstrap
# Set this to avoid building contributor tools
# Set this to avoid building contributor tools and tests
%bcond_without contrib_tools
Epoch: 1
%global eb_commit b056b40d26d052b788b790f27ead774ff804ab55
%global eclipse_rel %{version}
%global eclipse_tag R-%{eclipse_rel}-20200604054 0
%global eb_commit c985e357223668b4bc1fb76ea6b9e0c12829b7e8
%global eclipse_rel %{version}RC2
%global eclipse_tag S-%{eclipse_rel}-20190605180 0
%global _jetty_version 9.4.30
%global _lucene_version 8.4.1
%global _jetty_version 9.4.19
%global _lucene_version 8.0.0
%global _batik_version 1.11
%ifarch %{ix86}
@ -39,17 +39,10 @@ Epoch: 1
%global use_wayland 0
%endif
# Glassfish EE APIs that moved to jakarta namespace
%if 0%{?fedora}
%global _jakarta_annotations jakarta.annotation-api
%else
%global _jakarta_annotations javax.annotation-api
%endif
Summary: An open, extensible IDE
Name: eclipse
Version: 4.16
Release: 7 %{?dist}
Version: 4.12
Release: 6%{?dist}
License: EPL-2.0
URL: http://www.eclipse.org/
@ -60,9 +53,6 @@ Source0: https://download.eclipse.org/eclipse/downloads/drops4/%{eclipse_tag}/ec
# %%{eb_commit} | xz > org.eclipse.linuxtools.eclipse-build-%%{eb_commit}.tar.xz
Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-%{eb_commit}.tar.xz
# Toolchain configurations for all EEs needed by Eclipse bundles
Source2: toolchains.xml
# Eclipse should not include source for dependencies that are not supplied by this package
# and should not include source for bundles that are not relevant to our platform
Patch0: eclipse-no-source-for-dependencies.patch
@ -81,6 +71,8 @@ Patch4: eclipse-secondary-arches.patch
Patch5: eclipse-debug-symbols.patch
#Patch6: eclipse-test-support.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=408138
Patch12: eclipse-fix-dropins.patch
@ -92,6 +84,7 @@ Patch12: eclipse-fix-dropins.patch
# javax.el -> javax.el-api
# javax.servlet -> javax.servlet-api
# org.apache.jasper.glassfish -> org.glassfish.web.javax.servlet.jsp
# javax.annotation -> javax.annotation-api
# org.w3c.dom.smil -> removed
Patch13: eclipse-feature-plugins-to-category-ius.patch
@ -101,6 +94,7 @@ Patch14: eclipse-support-symlink-bundles.patch
Patch15: eclipse-fix-tests.patch
# Droplet fixes
Patch16: eclipse-adjust-droplets.patch
Patch17: eclipse-pde-tp-support-droplets.patch
# Disable uses by default
@ -125,20 +119,20 @@ Patch24: eclipse-swt-avoid-javascript-at-build.patch
# Avoid optional dep used only for tests
Patch25: eclipse-patch-out-fileupload-dep.patch
# Force a clean on the restart after p2 operations
Patch26: force-clean-after-p2-operations.patch
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=548211
Patch26: eclipse-ebz548211.patch
Patch27: eclipse-ebz548211-2.patch
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=542708
Patch28: eclipse-ebz542708.patch
# SCL-specific patches
Patch100: 0001-Avoid-limitation-with-older-shade-plug-in-versions-w.patch
Patch101: 0002-Allow-bootstrapping-against-OSGi-Core-R6.patch
Patch102: 0004-Add-parent-pom-for-old-tycho-pomless.patch
# Fix regression in ant support
Patch29: fix-ant-execution.patch
# Upstream no longer supports non-64bit arches
ExclusiveArch: x86_64
# Use ASM 6 instead of 7
Patch30: eclipse-mockito.patch
# Require both JDKs until Eclipse can fully move onto Java 11
BuildRequires: java-11-openjdk-devel
BuildRequires: java-1.8.0-openjdk-devel
ExclusiveArch: x86_64
BuildRequires: maven-local
BuildRequires: tycho
@ -168,16 +162,19 @@ BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(webkit2gtk-4.0)
BuildRequires: icu4j >= 1:65.1
BuildRequires: icu4j >= 1:64.2
BuildRequires: ant >= 1.10.5
BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j 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 ant-apache-xalan2 ant-jmf ant-xz
BuildRequires: jsch >= 0:0.1.46-2
BuildRequires: apache-commons-el >= 1.0-22
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-jxpath
BuildRequires: 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: felix-scr >= 2.1.16-4
BuildRequires: osgi(org.apache.felix.scr) >= 2.1.16
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
@ -194,7 +191,7 @@ BuildRequires: junit5 >= 5.4.0
BuildRequires: apiguardian
BuildRequires: hamcrest
BuildRequires: sat4j
BuildRequires: objectweb-asm >= 7.0
BuildRequires: objectweb-asm >= 6.1.1
BuildRequires: sac
BuildRequires: batik-css >= %{_batik_version}
BuildRequires: batik-util >= %{_batik_version}
@ -202,8 +199,8 @@ BuildRequires: google-gson
BuildRequires: xmlgraphics-commons >= 2.3
BuildRequires: xml-commons-apis
BuildRequires: atinject
BuildRequires: eclipse-ecf-core >= 3.14.8
BuildRequires: eclipse-emf-core >= 1:2.22 .0
BuildRequires: eclipse-ecf-core >= 3.14.5
BuildRequires: eclipse-emf-core >= 1:2.18 .0
BuildRequires: eclipse-license2
BuildRequires: glassfish-annotation-api
BuildRequires: glassfish-el-api >= 3.0.1
@ -221,9 +218,10 @@ BuildRequires: osgi(osgi.annotation)
# For building docs and apitooling
BuildRequires: eclipse-pde
%if %{with contrib_tools}
# For contributor tools
# For contributor tools and tests
BuildRequires: eclipse-egit
BuildRequires: eclipse-emf-runtime
BuildRequires: mockito >= 2.23.9
%endif
%endif
@ -234,6 +232,8 @@ everything in between.
%package swt
Summary: SWT Library for GTK+
Requires: java-headless >= 1:1.8.0
Requires: javapackages-tools
Requires: gtk3
Requires: webkitgtk4
@ -242,6 +242,8 @@ SWT Library for GTK+.
%package equinox-osgi
Summary: Eclipse OSGi - Equinox
Requires: java-headless >= 1:1.8.0
Requires: javapackages-tools
Provides: osgi(system.bundle) = %{epoch}:%{version}
%description equinox-osgi
@ -249,19 +251,21 @@ Eclipse OSGi - Equinox
%package platform
Summary: Eclipse platform common files
Requires: java-11-openjdk-devel
Requires: javapackages-tools
Recommends: eclipse-abrt
Recommends: eclipse-usage
Requires: ant >= 1.10.5
Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro 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 ant-testutil ant-apache-xalan2 ant-jmf ant-xz
Requires: jsch >= 0.1.46-2
Requires: apache-commons-el >= 1.0-23
Requires: apache-commons-logging
Requires: apache-commons-codec
Requires: apache-commons-jxpath
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
Requires: felix-scr >= 2.1.16-4
Requires: osgi(org.apache.felix.scr) >= 2.1.16
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
@ -273,28 +277,34 @@ Requires: lucene-core >= %{_lucene_version}
Requires: lucene-analysis >= %{_lucene_version}
Requires: lucene-queryparser >= %{_lucene_version}
Requires: lucene-analyzers-smartcn >= %{_lucene_version}
Requires: sat4j
Requires: sac
Requires: batik-css >= %{_batik_version}
Requires: batik-util >= %{_batik_version}
Requires: xmlgraphics-commons >= 2.3
Requires: xml-commons-apis
Requires: atinject
Requires: eclipse-ecf-core >= 3.14.8
Requires: eclipse-emf-core >= 1:2.22 .0
Requires: eclipse-ecf-core >= 3.14.5
Requires: eclipse-emf-core >= 1:2.18 .0
Requires: glassfish-annotation-api
Requires: glassfish-el-api >= 3.0.1
Requires: glassfish-el >= 3.0.1
Requires: glassfish-jsp-api >= 2.2.1-4
Requires: glassfish-jsp >= 2.2.5
Requires: glassfish-servlet-api >= 3.1.0
Requires: icu4j >= 1:65.1
Requires: icu4j >= 1:64.2
Requires: %{name}-swt = %{epoch}:%{version}-%{release}
Requires: %{name}-equinox-osgi = %{epoch}:%{version}-%{release}
Requires: httpcomponents-core
Requires: httpcomponents-client
Requires: osgi(org.tukaani.xz)
# Obsoletes added in F31
Obsoletes: eclipse-epp-logging <= 2.0.8-4
Obsoletes: eclipse-abrt <= 0.0.3-10
# Provides/obsoletes added in F26
# This is the best place to add this because adding it to the nls RPMs causes every
# single language pack to be installed, which is not desireable -- it needs to be
# obsoleted by exactly one thing.
Provides: eclipse-nls = %{version}-%{release}
Obsoletes: eclipse-nls < %{version}-%{release}
%description platform
The Eclipse Platform is the base of all IDE plugins. This does not include the
@ -306,7 +316,6 @@ BuildArch: noarch
Provides: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: java-11-openjdk-src
Requires: junit >= 4.12
Requires: junit5 >= 5.4.0
Requires: osgi(org.hamcrest.core)
@ -323,7 +332,7 @@ Summary: Eclipse Plugin Development Environment
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-jdt = %{epoch}:%{version}-%{release}
Requires: objectweb-asm >= 7.0
Requires: objectweb-asm >= 6.1.1
%description pde
Eclipse Plugin Development Environment. This package is required for
@ -342,17 +351,25 @@ install from existing P2 repositories or as a framework to build branded
installer UIs.
%if %{without bootstrap} && %{with contrib_tools}
%package contributor-tools
Summary: Tools for Eclipse Contributors
# No longer shipping tests
Obsoletes: %{name}-tests < 1:4.14-2
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: easymock
Requires: hamcrest
Requires: mockito >= 2.23.9
%description contributor-tools
This package contains tools specifically for Eclipse contributors. It includes
SWT tools, E4 tools, Rel-Eng tools and Eclipse Test frameworks.
%package tests
Summary: Eclipse Tests
Requires: %{name}-contributor-tools = %{epoch}:%{version}-%{release}
%description tests
Eclipse Tests.
%endif
%prep
@ -365,7 +382,7 @@ tar --strip-components=1 -xf %{SOURCE0}
tar --strip-components=1 -xf %{SOURCE1}
# Delete pre-built binary artifacts except some test data that cannot be generated
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java14api.jar" ! -name "j9stubs.jar" ! -name "annotation s.jar" \
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java10api.jar" ! -name "j9stub s.jar" \
-type f -name *.jar -delete
find . -type f -name *.class -delete
find . -type f -name *.so -delete
@ -377,15 +394,17 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%patch0
%patch1
%patch2 -p1
%patch2
%patch3
%patch4 -p1
%patch5
#%patch6
%patch12
%patch13 -p1
%patch14
%patch15
%patch17 -p1
%patch16
%patch17
%patch18
%patch19
%patch20
@ -395,20 +414,19 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%endif
%patch22
%patch23 -p1
%patch24 -p1
%patch24
%patch25
%patch26 -p1
# SCL-specific patches
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
# Optional (unused) multipart support (see patch 25)
rm rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/multipart/MultipartSupport{Impl,FactoryImpl,Part}.java
# No strict bin includes
sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes><strictBinIncludes>false</strictBinIncludes>' eclipse-platform-parent/pom.xml
# Remove python-based test
rm eclipse.platform.swt/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/accessibility/Bug543949_ComponentExtentsTest.py
# Remove jgit deps because building from source tarball, not a git repo
%pom_remove_dep :tycho-buildtimestamp-jgit eclipse-platform-parent
@ -434,6 +452,9 @@ sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes>
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
%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.console.ssh.tests rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.tests 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
@ -444,26 +465,22 @@ sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes>
%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 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.tests.optimizers rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.processors rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle rt.equinox.p2
# Don't need annotations for obsolete JDKs
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
%pom_xpath_remove "plugin[@version='1.1.500.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
# javax.annotation -> jakarta.annotation-api
sed -i -e 's/javax.annotation/%{_jakarta_annotations}/' eclipse-platform-parent/pom.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
eclipse.platform.common/bundles/org.eclipse.jdt.doc.isv/pom.xml \
eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml \
eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
# Fix requirement on junit 4
sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java
%pom_xpath_remove "plugin[@version='1.1.400.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
sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse-platform-parent/pom.xml \
eclipse.jdt.core/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF
# Disable examples
%pom_disable_module infocenter-web eclipse.platform.ua
%pom_disable_module examples rt.equinox.p2
%pom_disable_module examples eclipse.platform.ui
%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug
@ -476,35 +493,20 @@ sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.co
%pom_disable_module examples/org.eclipse.compare.examples eclipse.platform.team
%pom_disable_module examples/org.eclipse.compare.examples.xml eclipse.platform.team
%pom_disable_module examples/org.eclipse.team.examples.filesystem eclipse.platform.team
%pom_disable_module org.eclipse.jface.text.examples eclipse.platform.text
%pom_disable_module org.eclipse.ui.examples.javaeditor eclipse.platform.text
%pom_disable_module org.eclipse.ui.genericeditor.examples eclipse.platform.text
%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua
%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua
# Disable tests
for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui{,/apitools} \
eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \
eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \
rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do
sed -i -e '/<module>.*tests.*<\/module>/d' $pom/pom.xml
done
%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2
%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module ./tests/org.eclipse.e4.tools.test eclipse.platform.ui.tools
# Disable test framework if we are not shipping tests
%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng
# Except for this one example, which is used by tests
%pom_xpath_inject "pom:modules" "<module>examples/org.eclipse.jface.examples.databinding</module>" eclipse.platform.ui
# Disable servletbridge stuff
%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
# Missing dep on reddeer
%pom_disable_module ui/org.eclipse.pde.ui.tests.smartimport eclipse.pde.ui
# Don't need enforcer on RPM builds
%pom_remove_plugin :maven-enforcer-plugin eclipse-platform-parent
@ -521,6 +523,7 @@ done
# we are not currently building)
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_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 b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
@ -543,13 +546,14 @@ for b in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep
%pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
fi
done
for b in `ls eclipse.platform.team/bundles/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
%pom_disable_module bundles/$b eclipse.platform.team
for b in `ls eclipse.platform.team/bundles/org.eclipse.core.net/fragments/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
%pom_disable_module bundles/org.eclipse.core.net/fragments/ $b eclipse.platform.team
done
for b in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b eclipse.platform.resources
%pom_xpath_remove -f "plugin[@id='$b']" eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
fi
done
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
@ -558,7 +562,6 @@ done
%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
%pom_disable_module org.eclipse.e4.ui.swt.win32 eclipse.platform.ui/bundles
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
@ -574,6 +577,10 @@ for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
done
done
# We don't need SWT fragments since we only care for current arch
%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}
%if %{with bootstrap} || %{without contrib_tools}
# Disable contributor tools that have external dependencies during bootstrap
%pom_disable_module eclipse.platform.ui.tools
@ -583,6 +590,21 @@ done
%pom_disable_module bundles/org.eclipse.swt.tools eclipse.platform.swt
%pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng
# Disable tests for bootstrapping
%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng
for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui \
eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \
eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \
rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do
sed -i -e '/<module>.*tests.*<\/module>/d' $pom/pom.xml
done
%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2
%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module examples/org.eclipse.jface.examples.databinding eclipse.platform.ui
%endif
# Include some extra features with the product that some other projects may need at
@ -596,6 +618,12 @@ sed -i -e '/org.eclipse.ui.themes/i<plugin id="org.eclipse.jdt.core.compiler.bat
sed -i -e '/<\/excludes>/i<plugin id="org.eclipse.jdt.core.compiler.batch"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml
# Prevent dep cycle
%pom_xpath_remove "plugin[@id='org.eclipse.core.tests.harness']" eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml
# Include maven descriptors to allow our test execution setup to work
%pom_xpath_set "pom:plugin[pom:artifactId = 'tycho-packaging-plugin']/pom:configuration/pom:archive/pom:addMavenDescriptor" "true" eclipse-platform-parent
# Don't set perms on files for platforms that aren't linux
for f in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do
grep '^root\.linux\.gtk\.%{eclipse_arch}[.=]' $f > tmp
@ -632,13 +660,6 @@ sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox
# Pre-compiling JSPs does not currently work
%pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
# Make maven output less noisy due to lack of intenet connection
sed -i -e '/baselineMode/s/warn/disable/' eclipse-platform-parent/pom.xml
# Remove release parameter not needed when using BREE libs
sed -i -e '/maven.compiler.release/d' \
eclipse.jdt.debug/org.eclipse.jdt.debug/pom.xml eclipse.jdt.debug/org.eclipse.jdt.launching/pom.xml rt.equinox.p2/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
# Use system osgi.annotation lib
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi/osgi/
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/
@ -649,7 +670,11 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
# The order of these mvn_package calls is important
%mvn_package "::pom::" __noinstall
%mvn_package ":org.eclipse.pde.tools.versioning" contributor-tools
%mvn_package ":*tests*" tests
%mvn_package ":org.eclipse.equinox.frameworkadmin.test" tests
%mvn_package ":org.eclipse.jface.examples.databinding" tests
%mvn_package ":org.eclipse.pde.tools.versioning" tests
%mvn_package "org.eclipse.test:org.eclipse.test" contributor-tools
%mvn_package "::jar:sources{,-feature}:" sdk
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
%mvn_package ":org.eclipse.platform.doc.isv" sdk
@ -661,10 +686,11 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
%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.pde.api.tools*" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
%mvn_package ":" __noinstall
@ -678,29 +704,22 @@ export M_ARCH="$LDFLAGS"
#This is the lowest value where the build succeeds. 512m is not enough.
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export JAVA_HOME=%{_jvmdir}/java-11
# TODO: Fix bug in the tycho installation
xmvn -o install:install-file -Dtycho.mode=maven -Dfile=%{_javadir}/tycho/tycho-lib-detector.jar -DpomFile=%{_mavenpomdir}/tycho/tycho-lib-detector.pom
export JAVA_HOME=%{_jvmdir}/java
# Pre-build agent jar needed for AdvancedSourceLookupSupport
sed -i -e '/createSourcesJar/d' -e 's/8\.0\.1/7.0/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
sed -i -e 's/V15/V11/' -e 's/ASM8/ASM7/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java \
eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.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 -e -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 generated from last modification time of source tarball
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER -DaggregatorBuild=true -Dbuild.compiler="extJavac" \
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER \
%if %{with bootstrap}
-Pbree-libs,!api-generation,!build-docs \
%else
-Pbree-libs \
-P !api-generation,!build-docs \
%endif
-Declipse.javadoc=%{_jvmdir}/java-11 /bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
-Dtycho.local.keepTarget --global-toolchains %{SOURCE2} \
-Declipse.javadoc=/usr/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
-Dtycho.local.keepTarget \
-Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
# Location that the product is materialised
@ -737,11 +756,16 @@ popd
sed -i "s|-Xms40m|-Xms512m|g" eclipse.ini
sed -i "s|-Xmx512m|-Xmx1024m|g" eclipse.ini
sed -i '1i-protect\nroot' eclipse.ini
sed -i '/-vmargs/i-vm\n%{_jvmdir}/java-11/bin/java' eclipse.ini
# Temporary fix until https://bugs.eclipse.org/294877 is resolved
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=%{_eclipsedir}/droplets,%{_datadir}/eclipse/droplets
-Declipse.p2.skipMovedInstallDetection=true
@ -856,6 +880,21 @@ pushd %{buildroot}/%{_eclipsedir}/
ln -s $(abs2rel %{_jnidir}/swt.jar %{_eclipsedir})
popd
%if %{without bootstrap} && %{with contrib_tools}
# Tests framework
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
# These properties are not correct and nested properties won't get resolved
sed -i '/org.eclipse.equinox.p2.reconciler.test/ d' $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/equinoxp2tests.properties
# Package testbundle-to-eclipse-test
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
%endif
#fix so permissions
find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \;
@ -898,9 +937,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/com.jcraft.jsch_*
%{_eclipsedir}/plugins/com.sun.el.javax.el_*
%{_eclipsedir}/plugins/javax.*
%if 0%{?fedora}
%{_eclipsedir}/plugins/jakarta.*
%endif
%{_eclipsedir}/plugins/org.apache.*
%{_eclipsedir}/plugins/org.eclipse.ant.core_*
%{_eclipsedir}/plugins/org.eclipse.compare_*
@ -936,7 +972,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.swt.theme_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.di_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.dialogs_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.ide_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.model.workbench_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.services_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.swt.gtk_*
@ -994,6 +1029,7 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.equinox.security*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.util_*
%{_eclipsedir}/plugins/org.eclipse.help_*
%{_eclipsedir}/plugins/org.eclipse.help.base_*
%{_eclipsedir}/plugins/org.eclipse.help.ui_*
@ -1003,7 +1039,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.jface_*
%{_eclipsedir}/plugins/org.eclipse.jface.databinding_*
%{_eclipsedir}/plugins/org.eclipse.jface.text_*
%{_eclipsedir}/plugins/org.eclipse.jface.notifications_*
%{_eclipsedir}/plugins/org.eclipse.jsch.core_*
%{_eclipsedir}/plugins/org.eclipse.jsch.ui_*
%{_eclipsedir}/plugins/org.eclipse.ltk.core.refactoring_*
@ -1016,7 +1051,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.team.genericeditor.diff.extension_*
%{_eclipsedir}/plugins/org.eclipse.team.ui_*
%{_eclipsedir}/plugins/org.eclipse.text_*
%{_eclipsedir}/plugins/org.eclipse.text.quicksearch_*
%{_eclipsedir}/plugins/org.eclipse.ui_*
%{_eclipsedir}/plugins/org.eclipse.ui.browser_*
%{_eclipsedir}/plugins/org.eclipse.ui.cheatsheets_*
@ -1043,11 +1077,13 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.update.configurator_*
%{_eclipsedir}/plugins/org.eclipse.urischeme_*
%{_eclipsedir}/plugins/org.glassfish.web.javax.servlet.jsp_*
%{_eclipsedir}/plugins/org.kxml2_*
%{_eclipsedir}/plugins/org.sat4j.core_*
%{_eclipsedir}/plugins/org.sat4j.pb_*
%{_eclipsedir}/plugins/org.tukaani.xz_*
%{_eclipsedir}/plugins/org.w3c.css.sac_*
%{_eclipsedir}/plugins/org.w3c.dom.svg_*
%{_eclipsedir}/plugins/org.xmlpull_*
%doc %{_eclipsedir}/readme
%{_eclipsedir}/artifacts.xml
%{_eclipsedir}/p2
@ -1063,8 +1099,11 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%files p2-discovery -f .mfiles-p2-discovery
%if %{without bootstrap} && %{with contrib_tools}
%files contributor-tools -f .mfiles-contributor-tools
%files tests -f .mfiles-tests
%{_bindir}/eclipse-runTestBundles
%{_datadir}/eclipse-testing
%endif
%files equinox-osgi -f .mfiles-equinox-osgi
@ -1074,86 +1113,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%changelog
* Fri Oct 23 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-8
- Add java-11-openjdk-devel - without it /usr/lib/jvm/java-11 is not created.
* Thu Oct 22 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-7
- Add additonal Java 11 dependencies to ensure all parts are installed.
* Tue Jul 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-6
- Require Java 11 explicitly
- Drop hotspot exclusions from the JDK 6 era
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:4.16-5
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Mon Jun 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-4
- Update linux-build snapshot and fix adding junit classpath containers to java
projects
* Tue Jun 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-3
- Make a bit more portable and fix bootstrap mode
* Fri Jun 19 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-2
- Non-bootstrap build
* Thu Jun 18 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-1
- Update to latest upstream release
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-5
- Make the requirement on felix-scr more strict
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-4
- Allow library detector to build on Java 11
* Sun Mar 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-3
- Don't build and ship the test framework. We are not shipping any actual tests
anyway and this allows to drop the dependency on mockito and friends.
* Mon Mar 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-2
- Set compiler release to Java 8 on certain bundles
* Sat Mar 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-1
- Update to latest upstream release
* Tue Jan 28 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-5
- Backport patch to fix build against GCC 10
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-4
- Remove BR on bouncycastle
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-3
- Remove references to kxml/xpp3
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-2
- Full build
- Drop tests sub-package
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-1
- Update to latest upstream release
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-7
- Bump requirements on EMF/ECF
* Wed Dec 18 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-6
- Remove unnecessary dep on apache-commons-el
- Enable bootstrap mode
* Wed Nov 20 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-5
- Obsolete retired packages
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-4
- Add patch for ebz#550606
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-3
- Fix explicit hamcrest reqs
* Mon Sep 16 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-2
- Fix PDE installation
* Mon Sep 09 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-1
- Update to latest upstream release
* Wed Jul 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-6
- Reenable normal debuginfo generation for the launcher binary on Fedora
@ -1441,3 +1400,4 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
- Update to Oxygen I-build
- Don't build unsupported GTK2 backend for SWT
- Move installation to a multilib agnostic location /usr/lib