Blob Blame History Raw
# 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}

%global git_tag R2_12_0

%if 0%{?fedora} >= 24
%global droplets droplets
%else
%global droplets dropins
%endif

Name:      eclipse-emf
Version:   2.12.0
Release:   1%{?dist}
Summary:   Eclipse Modeling Framework (EMF) Eclipse plug-in

License:   EPL
URL:       http://www.eclipse.org/modeling/emf/
Source0:   http://git.eclipse.org/c/emf/org.eclipse.emf.git/snapshot/org.eclipse.emf-%{git_tag}.tar.xz
# This is a template used by tycho for generating parent pom
Source1:   parent-pom.xml

# look inside correct directory for platform docs
Patch0:    eclipse-emf-platform-docs-location.patch
# Include documentation search index, exclude non-existing files
Patch1:    fix-build-properties.patch
# Fix test dependency on missing RAP bundles
Patch2:    remove-rap-dependency.patch

BuildRequires: tycho >= 0.23.0
BuildRequires: tycho-extras >= 0.23.0
BuildRequires: eclipse-filesystem
BuildRequires: eclipse-pde
BuildRequires: eclipse-xsd

%description
The Eclipse Modeling Framework (EMF) allows developers to build tools and
other applications based on a structured data model. From a model
specification described in XMI, EMF provides tools and run-time support to
produce a set of Java classes for the model, along with a set of adapter
classes that enable viewing and command-based editing of the model, and a
basic editor.

%package   core
Epoch:     1
Summary:   Eclipse EMF Core
Requires:  eclipse-filesystem

%description core
EMF bundles required by eclipse-platform.

%package   runtime
Summary:   Eclipse Modeling Framework (EMF) Eclipse plug-in

# Obsoletes/provides added in F22
Obsoletes: %{name} < %{version}-%{release}
Provides:  %{name} = %{version}-%{release}

BuildArch: noarch

%description runtime
The Eclipse Modeling Framework (EMF) allows developers to build tools and
other applications based on a structured data model. From a model
specification described in XMI, EMF provides tools and run-time support to
produce a set of Java classes for the model, along with a set of adapter
classes that enable viewing and command-based editing of the model, and a
basic editor.

%package   tests
Summary:   Eclipse EMF Tests

BuildArch: noarch

%description tests
Tests for the Eclipse Modeling Framework (EMF) plug-in.

%package   sdk
Summary:   Eclipse EMF SDK

BuildArch: noarch

%description sdk
Documentation and developer resources for the Eclipse Modeling Framework
(EMF) plug-in.

%package   examples
Summary:   Eclipse EMF examples
Requires:  %{name}-sdk = %{version}-%{release}

BuildArch: noarch

%description examples
Install-able versions of the example projects from the SDKs that demonstrate
how to use the Eclipse Modeling Framework (EMF) plug-ins.

%prep
%setup -q -n org.eclipse.emf-%{git_tag}

find . -type f -name "*.jar" -exec rm {} \;
find . -type f -name "*.class" -exec rm {} \;

%patch0
%patch1
%patch2

# Fix spurious exec perms on license
chmod 0644 features/org.eclipse.emf.license-feature/rootfiles/epl-v10.html

# TODO: ODA, GWT, Xtext and RAP components are not packaged.
find -maxdepth 2 -type d -name "*.xcore*" -exec rm -r {} \;
find -maxdepth 2 -type d -name "*.xtext*" -exec rm -r {} \;
find -maxdepth 2 -type d -name "*.oda*" -exec rm -r {} \;
find -maxdepth 2 -type d -name "*.rap*" -exec rm -r {} \;
find -maxdepth 2 -type d -name "*.gwt*" -exec rm -r {} \;

# Insert pom templates
mkdir pom-templates
cp -p %{SOURCE1} pom-templates/.

# Generate pom.xml
mv doc/org.eclipse.emf.examples.jet.article2 examples
xmvn -o org.eclipse.tycho:tycho-pomgenerator-plugin:generate-poms -DgroupId=org.eclipse.emf
find features -name pom.xml -exec sed -i -e 's/^  <groupId>\(.*\)</  <groupId>\1.features</' {} \;
find tests -name pom.xml -exec sed -i -e 's/^  <groupId>\(.*\)</  <groupId>\1.tests</' {} \;
find examples -name pom.xml -exec sed -i -e 's/^  <groupId>\(.*\)</  <groupId>\1.examples</' {} \;
find doc -name pom.xml -exec sed -i -e 's/^  <groupId>\(.*\)</  <groupId>\1.doc</' {} \;
%pom_add_plugin "org.eclipse.tycho.extras:tycho-eclipserun-plugin:0.23.0" doc/org.eclipse.emf.doc \
  "<executions><execution><goals><goal>eclipse-run</goal></goals><phase>process-sources</phase></execution></executions><configuration><appArgLine>-consolelog -debug -application org.eclipse.ant.core.antRunner -quiet -buildfile buildDoc.xml</appArgLine><repositories><repository><id>luna</id><layout>p2</layout><url>http://download.eclipse.org/releases/luna</url></repository></repositories><dependencies><dependency><artifactId>org.eclipse.ant.core</artifactId><type>eclipse-plugin</type></dependency><dependency><artifactId>org.apache.ant</artifactId><type>eclipse-plugin</type></dependency><dependency><artifactId>org.eclipse.help.base</artifactId><type>eclipse-plugin</type></dependency></dependencies></configuration>"

# Remove broken refs to source bundles
%pom_xpath_remove "includes[@id='org.eclipse.emf.source']" features/org.eclipse.emf.sdk-feature/feature.xml
%pom_xpath_remove "includes[@id='org.eclipse.emf.doc.source']" features/org.eclipse.emf.sdk-feature/feature.xml
%pom_xpath_remove "includes[@id='org.eclipse.emf.examples.source']" examples/org.eclipse.emf.examples-feature/feature.xml

# Disable modules unneeded for tycho build
%pom_disable_module 'features/org.eclipse.emf.all-feature'
%pom_disable_module 'releng/org.eclipse.emf.build-feature'
%pom_disable_module 'releng/org.eclipse.emf.base.build-feature'

%mvn_package "::pom::" __noinstall
%mvn_package "org.eclipse.emf.tests:" tests
%mvn_package "::jar:{sources,sources-feature}:" sdk
%mvn_package ":org.eclipse.emf.{sdk,example.installer}" sdk
%mvn_package "org.eclipse.emf.doc:" sdk
%mvn_package "org.eclipse.emf.features:org.eclipse.emf.{base,common,ecore}" core
%mvn_package "org.eclipse.emf:org.eclipse.emf.{common,ecore,ecore.change,ecore.xmi}" core
%mvn_package "org.eclipse.emf.examples:" examples
%mvn_package ":" runtime

%build
%mvn_build -f -j -- -DforceContextQualifier=$(date -u +v%Y%m%d-1000)

%install
%mvn_install

# Move to libdir due to being part of core platform
install -d -m 755 %{buildroot}%{_libdir}/eclipse
mv %{buildroot}%{_datadir}/eclipse/%{droplets}/emf-core/eclipse/{plugins,features} %{buildroot}%{_libdir}/eclipse
rm -r %{buildroot}%{_datadir}/eclipse/%{droplets}/emf-core

# Fixup metadata
sed -i -e 's|%{_datadir}/eclipse/%{droplets}/emf-core/eclipse|%{_libdir}/eclipse|' %{buildroot}%{_datadir}/maven-metadata/eclipse-emf-core.xml
sed -i -e 's|%{_datadir}/eclipse/%{droplets}/emf-core/eclipse/features/|%{_libdir}/eclipse/features/|' \
       -e 's|%{_datadir}/eclipse/%{droplets}/emf-core/eclipse/plugins/|%{_libdir}/eclipse/plugins/|' .mfiles-core
sed -i -e '/%{droplets}/d' .mfiles-core

%files core -f .mfiles-core

%files runtime -f .mfiles-runtime

%files tests -f .mfiles-tests

%files sdk -f .mfiles-sdk

%files examples -f .mfiles-examples

%changelog
* Mon Jun 13 2016 Mat Booth <mat.booth@redhat.com> - 2.12.0-1
- Update to Neon release

* Tue May 10 2016 Mat Booth <mat.booth@redhat.com> - 2.12.0-0.1.git2021583
- Update to latest Neon snapshot

* Sat Feb 27 2016 Mat Booth <mat.booth@redhat.com> - 2.11.2-1
- Update to Mars.2 release

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Sep 28 2015 Mat Booth <mat.booth@redhat.com> - 2.11.1-1
- Update to Mars.1 release
- Build with maven/tycho
- Add tests package

* Mon Jun 29 2015 Mat Booth <mat.booth@redhat.com> - 2.11.0-4
- Remove incomplete SCL macros

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.11.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Tue Jun 02 2015 Mat Booth <mat.booth@redhat.com> - 2.11.0-2
- Revert moving bundles into core package

* Tue Jun 02 2015 Mat Booth <mat.booth@redhat.com> - 2.11.0-1
- Update to 2.11.0 release
- Move extra e4 tools deps into core package
- Switch to xz tarball

* Sat May 30 2015 Alexander Kurtakov <akurtako@redhat.com> 1:2.10.2-2
- Move emf.edit to core as it's required by e4 now.

* Wed Mar 04 2015 Mat Booth <mat.booth@redhat.com> - 2.10.2-1
- Update to Luna SR2 release

* Thu Nov 20 2014 Mat Booth <mat.booth@redhat.com> - 2.10.1-3
- Qualifier must be same on all arches in archful builds

* Wed Nov 19 2014 Mat Booth <mat.booth@redhat.com> - 2.10.1-2
- Make core package archful so it can be installed into libdir
  where eclipse-platform expects it to be
- Move eclipse-emf -> eclipse-emf-runtime, this is because we can have
  noarch sub-packages of an archful package, but cannot have archful
  sub-packages of a noarch package
- Fix some minor rpmlint errors

* Wed Oct 01 2014 Mat Booth <mat.booth@redhat.com> - 2.10.1-1
- Update to Luna SR1 release
- Drop ancient obsoletes on emf-sdo package

* Wed Jun 25 2014 Mat Booth <mat.booth@redhat.com> - 2.10.0-1
- Update to latest upstream release
- Fix obsoletes on emf-core package, rhbz #1095431
- Move edit plugin from core to main package

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu Apr 17 2014 Mat Booth <mat.booth@redhat.com> - 2.9.2-2
- Drop XSD packages, these are now packaged separately
- Drop ancient obsolete of emf-standalone.

* Wed Mar 12 2014 Mat Booth <fedora@matbooth.co.uk> - 2.9.2-1
- Update to latest upstream, Kepler SR2
- Drop requires on java, rhbz #1068039
- Remove unused patch
- Update project URL

* Mon Sep 30 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.9.1-1
- Update to latest upstream.  

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Jun 21 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.9.0-1
- Update to Kepler release.

* Fri Jun 21 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.9.0-0.2.git352e28
- 974108: Remove versions and timestamps from EMF filenames.

* Wed May 1 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.9.0-0.1.git352e28
- Update to latest upstream.

* Thu Mar 21 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-20
- Initial SCLization.

* Mon Jan 28 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-7
- Really fix RHBZ#894154.

* Thu Jan 17 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-6
- Move emf.edit back to eclipse-emf-core and symlink it.

* Thu Jan 17 2013 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-5
- Fix for RHBZ#894154

* Mon Dec 17 2012 Alexander Kurtakov <akurtako@redhat.com> 1:2.8.1-4
- Remove unneeded things.

* Mon Oct 8 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-3
- Avoid generating automatic OSGi dependencies (yet another attempt).

* Mon Oct 8 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-2
- Avoid generating automatic OSGi dependencies. (fix)

* Mon Oct 1 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.1-1
- Update to upstream 2.8.1 release

* Wed Sep 12 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.0-17
- Avoid generating automatic OSGi dependencies.

* Wed Aug 15 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.0-16
- Removed obsolete.

* Tue Aug 14 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.0-15
- Moved Obs emf-core to emf-core package.
- Removed dropins symlinks.

* Tue Aug 14 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:2.8.0-14
- Added Epoch to eclipse-emf-core.
- Updated eclipse-pde dependency version to 4.2.0.

* Mon Aug 13 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-13
- Move emf.edit to eclipse-emf-core.

* Fri Aug 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-12
- Lower eclipse-platform version requirement (CBI Eclipse is not in yet).

* Fri Aug 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-11
- Get rid off conflicts clause.

* Thu Aug 2 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-10
- Moving core back to emf package (for CBI build).

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jul 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-1
- Update to upstream Juno.

* Mon May 7 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.7.e674bb28ad412fc9bc786f2f9b3c157eb2cbdae0
- Update to M7.

* Mon Apr 16 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.6.postM6
- Bugs 812870, 812872 - fix building index for documentation.

* Tue Apr 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.5.postM6
- Remove %%clean section.
- Remove duplicated plugins.

* Mon Apr 2 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.4.postM6
- Use %%{bindir}/eclipse-pdebuild.

* Thu Mar 29 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.3.postM6
- Back noarch.
- Use the eclipse-emf-core from main eclipse-emf.

* Thu Mar 29 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.2.postM6
- Removed the noarch tag.

* Thu Mar 29 2012 Krzysztof Daniel <kdaniel@redhat.com> 2.8.0-0.1.postM6
- Update to latest upstream version.
- Package eclipse-emf-core created for the need of Eclipse 4.2. 
- Removed usage of Eclipse reconciler script.

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Nov 29 2011 Jeff Johnston <jjohnstn@redhat.com> 2.7.1-1
- Update to 2.7.1.
- Add rhel flags.

* Wed Oct 5 2011 Sami Wagiaalla <swagiaal@redhat.com> 2.7.0-2
- Use the reconciler to install/uninstall plugins during rpm
  post and postun respectively.

* Thu Sep 15 2011 Roland Grunberg <rgrunber@redhat.com> 2.7.0-1
- Update to 2.7.0.
- Re-apply necessary patches, content-handler error fixed upstream.
- licenses now exist in org.eclipse.{emf,xsd}.license-feature only.

* Wed Sep 14 2011 Roland Grunberg <rgrunber@redhat.com> 2.6.1-2
- Fix RHBZ #716165 using old patches.
- Fix ContentHandler casting issue.

* Fri Mar 18 2011 Mat Booth <fedora@matbooth.co.uk> 2.6.1-1
- Update to 2.6.1.

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Jul 19 2010 Charley Wang <chwang@redhat.com> - 2.6.0-1
- Update to 2.6.0

* Sat Sep 19 2009 Mat Booth <fedora@matbooth.co.uk> - 2.5.0-4
- Re-enable jar repacking now that RHBZ #461854 has been resolved.

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Jul 02 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-2
- SDK requires PDE for example plug-in projects.

* Sun Jun 28 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-1
- Update to 2.5.0 final release (Galileo).
- Build the features seperately to allow for a saner %%files section.

* Fri May 22 2009 Alexander Kurtakov <akurtako@redhat.com> 2.5.0-0.2.RC1
- Update to 2.5.0 RC1.
- Use %%global instead of %%define. 

* Sat Apr 18 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-0.1.M6
- Update to Milestone 6 release of 2.5.0.
- Require Eclipse 3.5.0.

* Tue Apr 7 2009 Alexander Kurtakov <akurtako@redhat.com> 2.4.2-3
- Fix directory ownership.

* Mon Mar 23 2009 Alexander Kurtakov <akurtako@redhat.com> 2.4.2-2
- Rebuild to not ship p2 context.xml.
- Remove context.xml from %%files section.

* Sat Feb 28 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.2-1
- Update for Ganymede SR2.

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Feb 03 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.1-4
- Make context qualifier the same as upstream.

* Sat Jan 10 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.1-3
- Removed AOT bits and change package names to what they used to be.
- Obsolete standalone package.

* Tue Dec 23 2008 Mat Booth <fedora@matbooth.co.uk> 2.4.1-2
- Build example installer plugins using the source from the tarball instead of
  trying to get the examples from source control a second time.

* Fri Dec 12 2008 Mat Booth <fedora@matbooth.co.uk> 2.4.1-1
- Initial release, based on eclipse-gef spec file, but with disabled AOT
  compiled bits because of RHBZ #477707.