diff --git a/.devtoolset-4-eclipse-ecf.metadata b/.devtoolset-4-eclipse-ecf.metadata
index fe3688a..ecfd07f 100644
--- a/.devtoolset-4-eclipse-ecf.metadata
+++ b/.devtoolset-4-eclipse-ecf.metadata
@@ -1 +1 @@
-00f902567ed40aa32a387c7d7e15a4883b4c2c22 SOURCES/org.eclipse.ecf-R-Release_HEAD-sdk_feature-152_2015-05-12_17-22-37.tar.bz2
+c3f7d701710e758eda3fda058f674859704069bb SOURCES/org.eclipse.ecf-R-Release_HEAD-sdk_feature-235_235.tar.xz
diff --git a/.gitignore b/.gitignore
index ce59d87..aca2b72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/org.eclipse.ecf-R-Release_HEAD-sdk_feature-152_2015-05-12_17-22-37.tar.bz2
+SOURCES/org.eclipse.ecf-R-Release_HEAD-sdk_feature-235_235.tar.xz
diff --git a/SOURCES/eclipse-ecf-feature-deps.patch b/SOURCES/eclipse-ecf-feature-deps.patch
new file mode 100644
index 0000000..b684861
--- /dev/null
+++ b/SOURCES/eclipse-ecf-feature-deps.patch
@@ -0,0 +1,41 @@
+--- features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.xml.orig 2016-03-15 12:16:43.331358322 +0000
++++ features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.xml 2016-03-15 12:18:02.362383644 +0000
+@@ -34,32 +34,11 @@
+ version="0.0.0"
+ unpack="false"/>
+
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
+
+
diff --git a/SPECS/eclipse-ecf.spec b/SPECS/eclipse-ecf.spec
index f159528..6181f6c 100644
--- a/SPECS/eclipse-ecf.spec
+++ b/SPECS/eclipse-ecf.spec
@@ -2,6 +2,8 @@
%{!?scl:%global pkg_name %{name}}
%{?java_common_find_provides_and_requires}
+%global baserelease 1
+
# The core sub-package must be archful because it is required to be in
# libdir by the platform, but we have no natives, so suppress debuginfo
%global debug_package %{nil}
@@ -10,19 +12,28 @@
# bootstrapping
%global __requires_exclude .*org\.eclipse\.equinox.*
-%global git_tag R-Release_HEAD-sdk_feature-152_2015-05-12_17-22-37
+%global git_tag R-Release_HEAD-sdk_feature-235_235
+
+%if 0%{?fedora} >= 24
+%global droplets droplets
+%else
+%global droplets dropins
+%endif
Name: %{?scl_prefix}eclipse-ecf
-Version: 3.10.0
-Release: 4.2%{?dist}
+Version: 3.12.2
+Release: 2.%{baserelease}%{?dist}
Summary: Eclipse Communication Framework (ECF) Eclipse plug-in
License: EPL
URL: http://www.eclipse.org/ecf/
-Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{git_tag}.tar.bz2
+Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{git_tag}.tar.xz
+# Change how feature deps are specified, to avoid embedding versions
+Patch0: eclipse-ecf-feature-deps.patch
-BuildRequires: %{?scl_prefix}eclipse-pde
+BuildRequires: %{?scl_prefix}tycho >= 0.23.0
+BuildRequires: %{?scl_prefix}eclipse-filesystem
BuildRequires: %{?scl_prefix_java_common}httpcomponents-client
BuildRequires: %{?scl_prefix_java_common}httpcomponents-core
BuildRequires: %{?scl_prefix_java_common}apache-commons-codec
@@ -35,14 +46,16 @@ compliant implementation of the OSGi Remote Services standard.
%package core
Summary: Eclipse ECF Core
-
Requires: %{?scl_prefix}eclipse-filesystem
+Requires: %{?scl_prefix_java_common}httpcomponents-client
+Requires: %{?scl_prefix_java_common}httpcomponents-core
%description core
ECF bundles required by eclipse-platform.
%prep
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
+set -e -x
%setup -q -n org.eclipse.ecf-%{git_tag}
find . -type f -name "*.jar" -exec rm {} \;
@@ -67,72 +80,117 @@ cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer{,.ssl} ecf/plugins
cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4{,.ssl} ecf/plugins
rm -rf `ls | grep -v "ecf"`
+mv ecf/* . && rm -r ecf
-# Orbit deps for PDE build
-mkdir -p deps
-build-jar-repository -s -p deps \
- httpcomponents/httpclient httpcomponents/httpcore commons-codec commons-logging
+%patch0
# Allow building on java > 1.4
-sed -i -e 's#(Object) ((URIID) o)#((URIID) o)#g' ecf/plugins/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/URIID.java
+sed -i -e 's#(Object) ((URIID) o)#((URIID) o)#g' plugins/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/URIID.java
# Compatibility with httpcomponents >= 4.4.0
sed -i '/httpcomponents/s/,4.4)/,5)/' $(find -name *.MF)
+
+# Generate pom.xml
+xmvn -o org.eclipse.tycho:tycho-pomgenerator-plugin:generate-poms -DgroupId=org.eclipse.ecf
+
+%mvn_package "::pom::" __noinstall
%{?scl:EOF}
%build
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
-OPTIONS="-DforceContextQualifier=$(date +v%Y%m%d-%H00)"
-
-eclipse-pdebuild -f org.eclipse.ecf.core.feature -j "$OPTIONS" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.core.ssl.feature -j "$OPTIONS" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.feature -j "$OPTIONS" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.ssl.feature -j "$OPTIONS" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.feature -j "$OPTIONS" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.ssl.feature -j "$OPTIONS" -o `pwd`/deps
+set -e -x
+%mvn_build -j -- -DforceContextQualifier=$(date -u +v%Y%m%d-%H00)
%{?scl:EOF}
%install
%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
-install -d -m 755 %{buildroot}%{_libdir}/eclipse/{features,plugins}
+set -e -x
+%mvn_install
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.core.feature.zip
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.core.ssl.feature.zip
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.feature.zip
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.ssl.feature.zip
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.feature.zip
-unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.zip
+# Move to libdir due to being part of core platform
+install -d -m 755 %{buildroot}%{_libdir}/eclipse
+mv %{buildroot}%{_datadir}/eclipse/%{droplets}/ecf/eclipse/{plugins,features} %{buildroot}%{_libdir}/eclipse
+rm -r %{buildroot}%{_datadir}/eclipse
-mkdir -p %{buildroot}%{_javadir}/eclipse
+# Fixup metadata
+sed -i -e 's|%{_datadir}/eclipse/%{droplets}/ecf/eclipse|%{_libdir}/eclipse|' %{buildroot}%{_datadir}/maven-metadata/eclipse-ecf.xml
+sed -i -e 's|%{_datadir}/eclipse/%{droplets}/ecf/eclipse/features/|%{_libdir}/eclipse/features/|' \
+ -e 's|%{_datadir}/eclipse/%{droplets}/ecf/eclipse/plugins/|%{_libdir}/eclipse/plugins/|' .mfiles
+sed -i -e '/%{droplets}/d' .mfiles
# Symlink jars into javadir
+install -d -m 755 %{buildroot}%{_javadir}/eclipse
+location=%{_libdir}/eclipse/plugins
+while [ "$location" != "/" ] ; do
+ location=$(dirname $location)
+ updir="$updir../"
+done
pushd %{buildroot}%{_javadir}/eclipse
for J in ecf{,.identity,.ssl,.filetransfer,.provider.filetransfer{,.ssl,.httpclient4{,.ssl}}} ; do
- DIR=../../../..%{_root_libdir}/eclipse
- [ -e "`ls $DIR/plugins/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/plugins/org.eclipse.${J}_*.jar ${J}.jar
+ DIR=$updir%{_libdir}/eclipse/plugins
+ [ -e "`ls $DIR/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/org.eclipse.${J}_*.jar ${J}.jar
done
popd
-
-# Remove stuff that will be symlinked by the platform
-rm %{buildroot}%{_libdir}/eclipse/plugins/org.apache*
%{?scl:EOF}
-%files core
-%{_libdir}/eclipse/features/*
-%{_libdir}/eclipse/plugins/*
+%files core -f .mfiles
%{_javadir}/eclipse/*
-%doc ecf/features/org.eclipse.ecf.core.feature/*.html
%changelog
-* Wed Jul 29 2015 Mat Booth - 3.10.0-4.2
-- Fix failure to build from source
+* Sat Mar 19 2016 Mat Booth - 3.12.2-2.1
+- Import latest from Fedora
+
+* Tue Mar 15 2016 Mat Booth - 3.12.2-2
+- Avoid embedding versions of external deps in features. This avoids the need to
+ rebuild when a dependency changes version.
+
+* Mon Feb 29 2016 Mat Booth - 3.12.2-1
+- Update to Mars.2 release
+
+* Mon Feb 29 2016 Mat Booth - 3.12.0-1.2
+- Rebuild 2016-02-29
+
+* Mon Feb 29 2016 Mikolaj Izdebski - 3.12.0-3
+- Rebuild for httpcomponents-client 4.5.2
-* Mon Jun 29 2015 Mat Booth - 3.10.0-4.1
+* Wed Feb 03 2016 Fedora Release Engineering - 3.12.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Jan 12 2016 Mat Booth - 3.12.0-1.1
- Import latest from Fedora
+* Mon Dec 07 2015 Mat Booth - 3.12.0-1
+- Update to latest release
+
+* Mon Nov 2 2015 Mikolaj Izdebski - 3.11.0-2
+- Rebuild for httpcomponents-core-4.4.4 update
+
+* Mon Sep 28 2015 Mat Booth - 3.11.0-1
+- Update to latest upstream release
+
+* Wed Sep 16 2015 Mikolaj Izdebski - 3.10.1-5
+- Rebuild for httpcomponents-client-4.5.1 update
+
+* Wed Sep 9 2015 Mikolaj Izdebski - 3.10.1-4
+- Rebuild for httpcomponents-core-4.4.3 update
+
+* Mon Sep 07 2015 Michael Simacek - 3.10.1-3
+- Rebuild for httpcomponents-core-4.4.2
+
+* Mon Aug 31 2015 Roland Grunberg - 3.10.1-2
+- Minor changes to build as a droplet.
+
+* Tue Aug 25 2015 Mat Booth - 3.10.1-1
+- Update to latest upstream version
+- Use XZ compressed tarball
+- Make symlink generation more dynamic
+
+* Wed Aug 05 2015 Mat Booth - 3.10.0-5
+- Rebuilt using xmvn/tycho
+
* Mon Jun 29 2015 Mat Booth - 3.10.0-4
- Drop incomplete and forbidden SCL macros