diff --git a/eclipse-emf.spec b/eclipse-emf.spec new file mode 100644 index 0000000..e11d6ae --- /dev/null +++ b/eclipse-emf.spec @@ -0,0 +1,157 @@ +%global _eclipsedir %{_prefix}/lib/eclipse +%global emf_tag 666f438f84c97358ce33fd4c1f615212cdd419f9 +%global xsd_tag a5f53126aa28435e3f44bde6700372c8559127de +%bcond_with bootstrap +Name: eclipse-emf +Version: 2.16.0 +Release: 1 +Summary: EMF and XSD Eclipse plug-ins +License: EPL-2.0 +URL: http://www.eclipse.org/modeling/emf/ +Source0: http://git.eclipse.org/c/emf/org.eclipse.emf.git/snapshot/org.eclipse.emf-%{emf_tag}.tar.gz +Source1: http://git.eclipse.org/c/xsd/org.eclipse.xsd.git/snapshot/org.eclipse.xsd-%{xsd_tag}.tar.gz +Patch0: remove-nebula-dep.patch +Patch1: remove-network-tests.patch +Patch2: remove-timezone-test.patch +Patch3: remove-unnecessary-imports.patch +BuildRequires: tycho tycho-extras +%if %{without bootstrap} +BuildRequires: eclipse-pde +%endif +BuildArch: noarch +%description +The Eclipse Modeling Framework (EMF) and XML Schema Definition (XSD) plug-ins. + +%package core +Epoch: 1 +Summary: Eclipse EMF Core Bundles +%description core +Core EMF bundles required by the Eclipse platform. +%if %{without bootstrap} + +%package runtime +Summary: Eclipse Modeling Framework (EMF) Eclipse plug-in +%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 xsd +Summary: XML Schema Definition (XSD) Eclipse plug-in +Obsoletes: eclipse-xsd < %{version}-%{release} +Provides: eclipse-xsd = %{version}-%{release} +%description xsd +The XML Schema Definition (XSD) plug-in is a library that provides an API for +manipulating the components of an XML Schema as described by the W3C XML +Schema specifications, as well as an API for manipulating the DOM-accessible +representation of XML Schema as a series of XML documents. + +%package sdk +Summary: Eclipse EMF and XSD SDK +Obsoletes: %{name}-tests < %{version}-%{release} +Obsoletes: %{name}-examples < %{version}-%{release} +Obsoletes: eclipse-xsd-examples < %{version}-%{release} +Obsoletes: eclipse-xsd-sdk < %{version}-%{release} +Provides: eclipse-xsd-sdk = %{version}-%{release} +%description sdk +Documentation and developer resources for the Eclipse Modeling Framework +(EMF) plug-in and XML Schema Definition (XSD) plug-in. +%endif + +%prep +%setup -c -T -q -a 0 -a 1 +mv org.eclipse.emf-%{emf_tag}/ org.eclipse.emf/ +mv org.eclipse.xsd-%{xsd_tag}/ org.eclipse.xsd/ +%patch0 +%patch1 +%patch2 +%patch3 +pushd org.eclipse.emf +sed -i -e '/org.eclipse.emf.gwt/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +sed -i -e '/org.eclipse.emf.oda/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +sed -i -e '/org.eclipse.emf.rap/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +sed -i -e '/codegen.ecore.xtext/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +sed -i -e '/ecore.xcore/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +sed -i -e '/test.edit.ui.rap/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml +%pom_xpath_remove "plugin[@id='org.eclipse.emf.test.edit.ui.rap']" tests/org.eclipse.emf.tests-feature/feature.xml +%pom_disable_module "../../../examples/org.eclipse.emf.examples-feature" releng/org.eclipse.emf.parent/features +%pom_disable_module "../../../../org.eclipse.xsd/features/org.eclipse.xsd.example-feature" releng/org.eclipse.emf.parent/features +sed -i -e '/.*examples/d' releng/org.eclipse.emf.parent/plugins/pom.xml +%pom_xpath_remove "plugin[@id='org.eclipse.emf.test.examples']" tests/org.eclipse.emf.tests-feature/feature.xml +%pom_disable_module "tp" releng/org.eclipse.emf.parent +%pom_disable_module "../org.eclipse.emf.site" releng/org.eclipse.emf.parent +%pom_disable_module '../../../features/org.eclipse.emf.all-feature' releng/org.eclipse.emf.parent/features +%pom_remove_plugin :target-platform-configuration releng/org.eclipse.emf.parent +%pom_remove_dep :tycho-sourceref-jgit releng/org.eclipse.emf.parent +%pom_remove_dep :tycho-buildtimestamp-jgit releng/org.eclipse.emf.parent +%pom_xpath_remove 'pom:configuration/pom:timestampProvider' releng/org.eclipse.emf.parent +%pom_xpath_remove 'pom:configuration/pom:jgit.ignore' releng/org.eclipse.emf.parent +%pom_xpath_remove 'pom:configuration/pom:jgit.dirtyWorkingTree' releng/org.eclipse.emf.parent +%pom_xpath_remove 'pom:configuration/pom:sourceReferences' releng/org.eclipse.emf.parent +%if %{with bootstrap} +%pom_xpath_replace "pom:modules" " +../../../features/org.eclipse.emf.base-feature +../../../features/org.eclipse.emf.license-feature +../../../features/org.eclipse.emf.common-feature +../../../features/org.eclipse.emf.ecore-feature +" releng/org.eclipse.emf.parent/features +%pom_xpath_replace "pom:modules" " +../../../plugins/org.eclipse.emf.common +../../../plugins/org.eclipse.emf.ecore.change +../../../plugins/org.eclipse.emf.ecore.xmi +../../../plugins/org.eclipse.emf.ecore +" releng/org.eclipse.emf.parent/plugins +%endif +popd +%mvn_package "::pom::" __noinstall +%mvn_package ":org.eclipse.{emf,xsd}.license" __noinstall +%mvn_package ":org.eclipse.emf.tests" __noinstall +%mvn_package ":org.eclipse.emf.test.*" __noinstall +%if %{with bootstrap} +%mvn_package ":::{sources,sources-feature}:" __noinstall +%else +%mvn_package ":::{sources,sources-feature}:" sdk +%endif +%mvn_package ":org.eclipse.emf.{sdk,doc,cheatsheets,example.installer}" sdk +%mvn_package ":org.eclipse.xsd.{sdk,doc,cheatsheets,example.installer}" sdk +%mvn_package "org.eclipse.emf.features:org.eclipse.emf.{base,common,ecore}" +%mvn_package "org.eclipse.emf:org.eclipse.emf.{common,ecore,ecore.change,ecore.xmi}" +%mvn_package ":org.eclipse.xsd*" xsd +%mvn_package ":org.eclipse.emf.mapping.xsd**" xsd +%mvn_package ":" runtime + +%build +QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M) +%mvn_build -j -- -f org.eclipse.emf/pom.xml -DforceContextQualifier=$QUALIFIER -Dmaven.test.failure.ignore=true + +%install +%mvn_install +install -d -m 755 %{buildroot}%{_eclipsedir} +mv %{buildroot}%{_datadir}/eclipse/droplets/emf/{plugins,features} %{buildroot}%{_eclipsedir} +rm -r %{buildroot}%{_datadir}/eclipse/droplets/emf +sed -i -e 's|%{_datadir}/eclipse/droplets/emf|%{_eclipsedir}|' %{buildroot}%{_datadir}/maven-metadata/eclipse-emf.xml +sed -i -e 's|%{_datadir}/eclipse/droplets/emf/features/|%{_eclipsedir}/features/|' \ + -e 's|%{_datadir}/eclipse/droplets/emf/plugins/|%{_eclipsedir}/plugins/|' .mfiles +sed -i -e '/droplets/d' .mfiles +for del in $( (cd %{buildroot}%{_eclipsedir}/plugins && ls | grep -v -e '^org\.eclipse\.emf' ) ) ; do +rm %{buildroot}%{_eclipsedir}/plugins/$del +sed -i -e "/$del/d" .mfiles +done + +%files core -f .mfiles +%license org.eclipse.emf/features/org.eclipse.emf.license-feature/*.html +%if %{without bootstrap} + +%files runtime -f .mfiles-runtime + +%files xsd -f .mfiles-xsd + +%files sdk -f .mfiles-sdk +%endif + +%changelog +* Thu Aug 27 2020 yanan li - 2.16.0-1 +- Package init diff --git a/eclipse-emf.yaml b/eclipse-emf.yaml new file mode 100644 index 0000000..f4e4d7b --- /dev/null +++ b/eclipse-emf.yaml @@ -0,0 +1,4 @@ +version_control: git +src_repo: http://git.eclipse.org/r/emf/org.eclipse.emf.git +tag_prefix: "R2_" +seperator: "_" diff --git a/org.eclipse.emf-666f438f84c97358ce33fd4c1f615212cdd419f9.tar.gz b/org.eclipse.emf-666f438f84c97358ce33fd4c1f615212cdd419f9.tar.gz new file mode 100644 index 0000000..fbd9ea9 Binary files /dev/null and b/org.eclipse.emf-666f438f84c97358ce33fd4c1f615212cdd419f9.tar.gz differ diff --git a/org.eclipse.xsd-a5f53126aa28435e3f44bde6700372c8559127de.tar.gz b/org.eclipse.xsd-a5f53126aa28435e3f44bde6700372c8559127de.tar.gz new file mode 100644 index 0000000..c8f305d Binary files /dev/null and b/org.eclipse.xsd-a5f53126aa28435e3f44bde6700372c8559127de.tar.gz differ diff --git a/remove-nebula-dep.patch b/remove-nebula-dep.patch new file mode 100644 index 0000000..b7f528d --- /dev/null +++ b/remove-nebula-dep.patch @@ -0,0 +1,12 @@ +--- org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/META-INF/MANIFEST.MF.orig 2018-05-09 19:41:37.559144126 +0100 ++++ org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/META-INF/MANIFEST.MF 2018-05-09 19:41:44.098112719 +0100 +@@ -22,8 +22,7 @@ + org.eclipse.emf.common.ui;bundle-version="[2.15.0,3.0.0)";visibility:=reexport, + org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)";resolution:=optional, + org.eclipse.ui.ide;bundle-version="[3.6.0,4.0.0)";resolution:=optional, +- org.eclipse.jface.text;bundle-version="[3.6.0,4.0.0)";resolution:=optional, +- org.eclipse.nebula.widgets.cdatetime;bundle-version="[1.0.0,2.0.0)";resolution:=optional;x-installation:=greedy ++ org.eclipse.jface.text;bundle-version="[3.6.0,4.0.0)";resolution:=optional + Eclipse-LazyStart: true + Bundle-ActivationPolicy: lazy + Automatic-Module-Name: org.eclipse.emf.edit.ui diff --git a/remove-network-tests.patch b/remove-network-tests.patch new file mode 100644 index 0000000..ebd9609 --- /dev/null +++ b/remove-network-tests.patch @@ -0,0 +1,14 @@ +--- org.eclipse.emf/tests/org.eclipse.emf.test.core/src/org/eclipse/emf/test/core/ecore/URIConverterTest.java.orig 2018-05-10 14:41:06.000058437 +0100 ++++ org.eclipse.emf/tests/org.eclipse.emf.test.core/src/org/eclipse/emf/test/core/ecore/URIConverterTest.java 2018-05-10 14:41:11.426036461 +0100 +@@ -77,11 +77,6 @@ + assertEquals(contentsFromUncompressedFile, contents); + new File(URI.createURI(uri.authority().replaceAll("!", "")).toFileString()).delete(); + +- // Reads the data.zip file from our git repository using http +- // +- uri = URI.createURI("archive:http://git.eclipse.org/c/emf/org.eclipse.emf.git/plain/tests/org.eclipse.emf.test.core/data/data.zip!/%66ile.txt"); +- contents = readFile(uriConverter.createInputStream(uri)); +- assertEquals(contentsFromUncompressedFile, contents); + } + + protected String readFile(InputStream inputStream) throws IOException diff --git a/remove-timezone-test.patch b/remove-timezone-test.patch new file mode 100644 index 0000000..8362583 --- /dev/null +++ b/remove-timezone-test.patch @@ -0,0 +1,10 @@ +--- org.eclipse.emf/tests/org.eclipse.emf.test.core/src/org/eclipse/emf/test/core/ecore/DateConversionDelegateTest.java.orig 2018-05-10 14:55:04.625799824 +0100 ++++ org.eclipse.emf/tests/org.eclipse.emf.test.core/src/org/eclipse/emf/test/core/ecore/DateConversionDelegateTest.java 2018-05-10 14:55:50.271625747 +0100 +@@ -222,6 +222,7 @@ + } + + @Test ++ @org.junit.Ignore + public void testDateConversion() + { + for (EClassifier eClassifier : DATE_CONVERSION_PACKAGE.getEClassifiers()) diff --git a/remove-unnecessary-imports.patch b/remove-unnecessary-imports.patch new file mode 100644 index 0000000..4798376 --- /dev/null +++ b/remove-unnecessary-imports.patch @@ -0,0 +1,32 @@ +--- org.eclipse.emf/plugins/org.eclipse.emf.ecore/META-INF/MANIFEST.MF.orig 2018-05-10 16:02:28.482659996 +0100 ++++ org.eclipse.emf/plugins/org.eclipse.emf.ecore/META-INF/MANIFEST.MF 2018-05-10 16:13:55.087669818 +0100 +@@ -26,12 +26,7 @@ + org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)";resolution:=optional + Import-Package: javax.crypto, + javax.crypto.spec, +- javax.xml.datatype, +- javax.xml.namespace, +- javax.xml.parsers, +- org.osgi.framework;version="[1.5.0,2.0.0)", +- org.xml.sax, +- org.xml.sax.helpers ++ org.osgi.framework;version="[1.5.0,2.0.0)" + Eclipse-BuddyPolicy: dependent + Eclipse-LazyStart: true + Bundle-ActivationPolicy: lazy +--- org.eclipse.emf/plugins/org.eclipse.emf.ecore.xmi/META-INF/MANIFEST.MF.orig 2018-05-10 16:03:20.826431277 +0100 ++++ org.eclipse.emf/plugins/org.eclipse.emf.ecore.xmi/META-INF/MANIFEST.MF 2018-05-10 16:13:18.912825246 +0100 +@@ -14,12 +14,6 @@ + Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)";resolution:=optional;x-installation:=greedy, + org.eclipse.emf.ecore;bundle-version="[2.15.0,3.0.0)";visibility:=reexport + Eclipse-LazyStart: true +-Import-Package: javax.xml.namespace, +- javax.xml.parsers, +- org.osgi.framework;version="[1.5.0,2.0.0)", +- org.w3c.dom, +- org.xml.sax, +- org.xml.sax.ext, +- org.xml.sax.helpers ++Import-Package: org.osgi.framework;version="[1.5.0,2.0.0)" + Bundle-ActivationPolicy: lazy + Automatic-Module-Name: org.eclipse.emf.ecore.xmi