Index: Makefile
===================================================================
--- /dev/null
+++ Makefile
@@ -0,0 +1 @@
+include ../Makefile.common
Index: disable_archs.sh
===================================================================
--- /dev/null
+++ disable_archs.sh
@@ -0,0 +1,106 @@
+# This script tries to mimic what Fedora does in eclipse.spec, that is to disable the
+# compilation of unneeded platforms and architectures, to save build time. In order to
+# follow Solus' standards, this script won't butcher source files directly in packge.yml
+# but it will have to be run manually to generate a proper .patch file that,
+# in turn, will have to be MANUALLY REVIEWED.
+
+
+disable_module() {
+ # $1: module name
+ # $2: pom.xml directory (without filename at its end)
+ sed -i -e "\#$1#d" "$2/pom.xml"
+}
+
+remove_plugin_by_id(){
+ # $1: plugin id
+ # $2: file path
+ perl -i -pe "BEGIN{undef \$/;} s/.*<\/environments>/$tycho_env/smg" "$1/pom.xml"
+}
+
+replace_environments eclipse-platform-parent
+replace_environments eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests
+replace_environments 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.x86_64$)'); do
+ module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
+ if [ -n "$module" ]; then
+ disable_module "bundles/$b" eclipse.platform.swt.binaries
+ # Add $b among the excluded modules (use perl to append line before '')
+ perl -plne "print \"\" if(/<\/excludes>/);" -i eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml
+ fi
+done
+for b in $(ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux.x86_64$)'); do
+ module=$(grep ">bundles/$b<" rt.equinox.framework/pom.xml || :)
+ if [ -n "$module" ]; then
+ disable_module "bundles/$b" rt.equinox.framework
+ remove_plugin_by_id "$b" rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
+ fi
+done
+for b in $((cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep -P -e 'org.eclipse.equinox.security\.(?!linux\.x86_64$)'); do
+ disable_module "bundles/$b" rt.equinox.bundles
+ remove_plugin_by_id "$b" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
+done
+for b in $(ls eclipse.platform.team/bundles/org.eclipse.core.net/fragments/ | grep -P -e 'org.eclipse.core.net\.(?!linux.x86_64$)'); do
+ 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\.x86_64$)'); do
+ module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
+ if [ -n "$module" ]; then
+ disable_module "bundles/$b" eclipse.platform.resources
+ remove_plugin_by_id "$b" eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
+ fi
+done
+
+
+disable_module 'org.eclipse.jdt.launching.macosx' eclipse.jdt.debug
+disable_module 'org.eclipse.jdt.launching.ui.macosx' eclipse.jdt.debug
+disable_module 'bundles/org.eclipse.compare.win32' eclipse.platform.team
+disable_module 'org.eclipse.e4.ui.workbench.renderers.swt.cocoa' eclipse.platform.ui/bundles
+disable_module 'org.eclipse.ui.cocoa' eclipse.platform.ui/bundles
+disable_module 'org.eclipse.ui.win32' eclipse.platform.ui/bundles
+disable_module 'bundles/org.eclipse.core.resources.win32.x86' eclipse.platform.resources
+disable_module 'bundles/org.eclipse.core.resources.win32.x86_64' eclipse.platform.resources
+disable_module 'examples/org.eclipse.swt.examples.ole.win32' eclipse.platform.swt
+
+for f 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
+ remove_plugin_by_os 'macosx' $f
+ remove_plugin_by_os 'win32' $f
+ for arch in x86 arm aarch64 ppc64 ppc64le s390x; do
+ remove_plugin_by_arch "$arch" $f
+ done
+done
+
+# Not in Fedora (because it disables the equinox module directly)
+remove_plugin_by_id 'org.eclipse.swt.cocoa.macosx.x86_64' rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+remove_plugin_by_id 'org.eclipse.swt.gtk.linux.x86' rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+remove_plugin_by_id 'org.eclipse.swt.win32.win32.x86' rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+remove_plugin_by_id 'org.eclipse.swt.win32.win32.x86_64' rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+
+git diff --submodule=diff > disable-unneeded-platforms.patch
Index: files/build-eclipse-ide-only.patch
===================================================================
--- /dev/null
+++ files/build-eclipse-ide-only.patch
@@ -0,0 +1,31 @@
+From d654b49785453a0b8992667be61d746ac878cbda Mon Sep 17 00:00:00 2001
+From: livingsilver94
+Date: Sat, 17 Mar 2018 11:46:23 +0100
+
+---
+ eclipse.platform.releng.tychoeclipsebuilder/pom.xml | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/eclipse.platform.releng.tychoeclipsebuilder/pom.xml b/eclipse.platform.releng.tychoeclipsebuilder/pom.xml
+index 1098d284..77be1c25 100644
+--- a/eclipse.platform.releng.tychoeclipsebuilder/pom.xml
++++ b/eclipse.platform.releng.tychoeclipsebuilder/pom.xml
+@@ -29,15 +29,6 @@
+ pom
+
+
+- rcp.config
+- equinox.starterkit.product
+- equinox-sdk
+- rcp
+- rcp.sdk
+ platform
+- platform.sdk
+- sdk
+- eclipse-junit-tests
+- eclipse.platform.repository
+
+
+--
+2.16.2
+
Index: files/disable-unneeded-platforms.patch
===================================================================
--- /dev/null
+++ files/disable-unneeded-platforms.patch
@@ -0,0 +1,848 @@
+diff --git a/eclipse-platform-parent/pom.xml b/eclipse-platform-parent/pom.xml
+index b4493ec1..c034bf04 100644
+--- a/eclipse-platform-parent/pom.xml
++++ b/eclipse-platform-parent/pom.xml
+@@ -254,43 +254,7 @@
+ 4.7.3-SNAPSHOT
+
+
+-
+-
+- linux
+- gtk
+- x86
+-
+-
+- linux
+- gtk
+- x86_64
+-
+-
+- linux
+- gtk
+- ppc64
+-
+-
+- linux
+- gtk
+- ppc64le
+-
+-
+- win32
+- win32
+- x86
+-
+-
+- win32
+- win32
+- x86_64
+-
+-
+- macosx
+- cocoa
+- x86_64
+-
+-
++ linuxgtkx86_64
+
+
+
+Submodule eclipse.jdt contains modified content
+diff --git a/eclipse.jdt/org.eclipse.jdt-feature/feature.xml b/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
+index 16504db..6245878 100644
+--- a/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
++++ b/eclipse.jdt/org.eclipse.jdt-feature/feature.xml
+@@ -264,22 +264,6 @@
+ version="0.0.0"
+ unpack="false"/>
+
+-
+-
+-
+-
+
+ org.eclipse.jdt.debug
+ org.eclipse.jdt.launching
+- org.eclipse.jdt.launching.macosx
+- org.eclipse.jdt.launching.ui.macosx
+ org.eclipse.jdt.debug.tests
+ org.eclipse.jdt.debug.ui
+
+Submodule eclipse.platform.releng contains modified content
+diff --git a/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml b/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
+index ed758e7a..372fe90a 100644
+--- a/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
++++ b/eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
+@@ -66,14 +66,6 @@
+ version="0.0.0"
+ unpack="false"/>
+
+-
+-
+
+
+-
+-
+
+
+-
+-
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+-
+-
+-
+-
+-
+-
+
+-
+-
+-
++
+diff --git a/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml b/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml
+index 33a08f60a..96d8b5084 100644
+--- a/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml
++++ b/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/pom.xml
+@@ -136,33 +136,7 @@
+ target-platform-configuration
+
+ p2
+-
+-
+- linux
+- gtk
+- x86
+-
+-
+- linux
+- gtk
+- x86_64
+-
+-
+- win32
+- win32
+- x86
+-
+-
+- win32
+- win32
+- x86_64
+-
+-
+- macosx
+- cocoa
+- x86_64
+-
+-
++ linuxgtkx86_64
+
+
+
+Submodule eclipse.platform.resources contains modified content
+diff --git a/eclipse.platform.resources/pom.xml b/eclipse.platform.resources/pom.xml
+index 5d62a40f..2aeb652e 100644
+--- a/eclipse.platform.resources/pom.xml
++++ b/eclipse.platform.resources/pom.xml
+@@ -53,17 +53,9 @@
+
+
+ bundles/org.eclipse.core.filesystem
+- bundles/org.eclipse.core.filesystem.linux.ppc64
+- bundles/org.eclipse.core.filesystem.linux.ppc64le
+- bundles/org.eclipse.core.filesystem.linux.x86
+ bundles/org.eclipse.core.filesystem.linux.x86_64
+- bundles/org.eclipse.core.filesystem.macosx
+- bundles/org.eclipse.core.filesystem.win32.x86
+- bundles/org.eclipse.core.filesystem.win32.x86_64
+
+ bundles/org.eclipse.core.resources
+- bundles/org.eclipse.core.resources.win32.x86
+- bundles/org.eclipse.core.resources.win32.x86_64
+
+ tests/org.eclipse.core.tests.filesystem.feature
+ tests/org.eclipse.core.tests.resources
+diff --git a/eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml b/eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
+index 1c0eded6..716db774 100644
+--- a/eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
++++ b/eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
+@@ -37,43 +37,4 @@
+ fragment="true"
+ unpack="false"/>
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
+Submodule eclipse.platform.swt contains modified content
+diff --git a/eclipse.platform.swt/pom.xml b/eclipse.platform.swt/pom.xml
+index f24718fc07..22bb4b74c6 100644
+--- a/eclipse.platform.swt/pom.xml
++++ b/eclipse.platform.swt/pom.xml
+@@ -77,7 +77,6 @@
+ examples/org.eclipse.swt.examples
+ examples/org.eclipse.swt.examples.browser.demos
+ examples/org.eclipse.swt.examples.launcher
+- examples/org.eclipse.swt.examples.ole.win32
+ examples/org.eclipse.swt.examples.views
+ tests/org.eclipse.swt.tests.fragments.feature
+ tests/org.eclipse.swt.tests
+Submodule eclipse.platform.swt.binaries contains modified content
+diff --git a/eclipse.platform.swt.binaries/pom.xml b/eclipse.platform.swt.binaries/pom.xml
+index 46ee45164..47102fd48 100644
+--- a/eclipse.platform.swt.binaries/pom.xml
++++ b/eclipse.platform.swt.binaries/pom.xml
+@@ -54,13 +54,7 @@
+
+
+
+- bundles/org.eclipse.swt.cocoa.macosx.x86_64
+- bundles/org.eclipse.swt.gtk.linux.ppc64
+- bundles/org.eclipse.swt.gtk.linux.ppc64le
+- bundles/org.eclipse.swt.gtk.linux.x86
+ bundles/org.eclipse.swt.gtk.linux.x86_64
+- bundles/org.eclipse.swt.win32.win32.x86
+- bundles/org.eclipse.swt.win32.win32.x86_64
+
+
+
+Submodule eclipse.platform.team contains modified content
+diff --git a/eclipse.platform.team/pom.xml b/eclipse.platform.team/pom.xml
+index 10c87b812..15830f403 100644
+--- a/eclipse.platform.team/pom.xml
++++ b/eclipse.platform.team/pom.xml
+@@ -55,7 +55,6 @@
+
+
+ bundles/org.eclipse.compare
+- bundles/org.eclipse.compare.win32
+
+ bundles/org.eclipse.compare.core
+ bundles/org.eclipse.core.net
+@@ -75,10 +74,7 @@
+ features/org.eclipse.cvs-feature
+
+
+- bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86
+ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86_64
+- bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86
+- bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86_64
+
+ tests/org.eclipse.compare.tests
+ tests/org.eclipse.core.tests.net
+Submodule eclipse.platform.ui contains modified content
+diff --git a/eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml b/eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml
+index 776c797f00..8a2d01e138 100644
+--- a/eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml
++++ b/eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml
+@@ -30,13 +30,7 @@
+ ${tycho.version}
+
+ p2
+-
+-
+- linux
+- gtk
+- x86_64
+-
+-
++ linuxgtkx86_64
+
+
+
+diff --git a/eclipse.platform.ui/bundles/pom.xml b/eclipse.platform.ui/bundles/pom.xml
+index a3ba175ae2..aabd97ae63 100644
+--- a/eclipse.platform.ui/bundles/pom.xml
++++ b/eclipse.platform.ui/bundles/pom.xml
+@@ -42,7 +42,6 @@
+ org.eclipse.e4.ui.workbench
+ org.eclipse.e4.ui.workbench.addons.swt
+ org.eclipse.e4.ui.workbench.renderers.swt
+- org.eclipse.e4.ui.workbench.renderers.swt.cocoa
+ org.eclipse.e4.ui.workbench.swt
+ org.eclipse.e4.ui.workbench3
+ org.eclipse.jface
+@@ -58,8 +57,6 @@
+ org.eclipse.ui.themes
+ org.eclipse.ui.ide
+ org.eclipse.ui.ide.application
+- org.eclipse.ui.win32
+- org.eclipse.ui.cocoa
+ org.eclipse.e4.ui.swt.gtk
+ org.eclipse.ui.navigator.resources
+
+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 09ce1f1d45..cb96ee2d6e 100644
+--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
++++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+@@ -199,16 +199,6 @@
+ version="0.0.0"
+ unpack="false"/>
+
+-
+-
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+-
+-
+-
+-
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+-
+-
+
+
+
++
++
++
++
++
++
+
+
+
+Submodule rt.equinox.bundles contains modified content
+diff --git a/rt.equinox.bundles/pom.xml b/rt.equinox.bundles/pom.xml
+index 4e8066cd..4b5d3655 100644
+--- a/rt.equinox.bundles/pom.xml
++++ b/rt.equinox.bundles/pom.xml
+@@ -87,9 +87,6 @@
+ bundles/org.eclipse.equinox.registry
+ bundles/org.eclipse.equinox.concurrent
+ bundles/org.eclipse.equinox.security
+- bundles/org.eclipse.equinox.security.macosx
+- bundles/org.eclipse.equinox.security.win32.x86
+- bundles/org.eclipse.equinox.security.win32.x86_64
+ bundles/org.eclipse.equinox.security.linux.x86_64
+ bundles/org.eclipse.equinox.bidi
+ bundles/org.eclipse.equinox.cm
+Submodule rt.equinox.framework contains modified content
+diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
+index e9ef3210b..e10635f41 100755
+--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
+@@ -21,46 +21,6 @@
+ version="0.0.0"
+ unpack="false"/>
+
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+-
+-
+-
+-
+-
++
+diff --git a/rt.equinox.framework/pom.xml b/rt.equinox.framework/pom.xml
+index 8d449c685..1d32e106e 100644
+--- a/rt.equinox.framework/pom.xml
++++ b/rt.equinox.framework/pom.xml
+@@ -58,7 +58,6 @@
+
+
+
+- bundles/org.eclipse.equinox.launcher.gtk.linux.arm
+
+
+
+@@ -70,7 +69,6 @@
+
+
+
+- bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64
+
+
+
+@@ -84,13 +82,7 @@
+ bundles/org.eclipse.osgi/supplement
+
+ bundles/org.eclipse.equinox.launcher
+- bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64
+- bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64
+- bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le
+- bundles/org.eclipse.equinox.launcher.gtk.linux.x86
+ bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64
+- bundles/org.eclipse.equinox.launcher.win32.win32.x86
+- bundles/org.eclipse.equinox.launcher.win32.win32.x86_64
+
+ bundles/org.eclipse.osgi.tests
+
+Submodule rt.equinox.p2 contains modified content
+diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+index 3079621b2..d576ed849 100644
+--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
++++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+@@ -126,11 +126,7 @@
+
+
+
+-
+-
+
+-
+-
+
+
+
+diff --git a/rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml b/rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
+index eb64f9c81..903fe526d 100644
+--- a/rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
++++ b/rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
+@@ -176,15 +176,6 @@
+ unpack="false"/>
+
+
+-
+-
+
+-
+-
+-
+-
+