[eclipse-dltk] Build/install with mvn_build/mvn_install
Mat Booth
mbooth at fedoraproject.org
Thu Sep 25 17:27:07 UTC 2014
commit a0e76fa5b7c26f21582af2f168863a8245d03fd4
Author: Mat Booth <mat.booth at redhat.com>
Date: Thu Sep 25 18:26:52 2014 +0100
Build/install with mvn_build/mvn_install
- Build and ship tests in tests sub package
- Drop unneeded BR/Rs
- Drop unneeded patch
drop_from_p2.patch | 31 ----------
eclipse-dltk.spec | 163 ++++++++++++++++++---------------------------------
2 files changed, 58 insertions(+), 136 deletions(-)
---
diff --git a/eclipse-dltk.spec b/eclipse-dltk.spec
index a752f40..003b2f9 100644
--- a/eclipse-dltk.spec
+++ b/eclipse-dltk.spec
@@ -2,7 +2,7 @@
Name: eclipse-dltk
Version: 5.1.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Dynamic Languages Toolkit (DLTK) Eclipse plug-in
License: EPL
URL: http://www.eclipse.org/dltk/
@@ -13,8 +13,6 @@ URL: http://www.eclipse.org/dltk/
Source0: %{name}-%{version}.tar.xz
Source1: get-dltk.sh
-Patch0: drop_from_p2.patch
-
BuildArch: noarch
BuildRequires: eclipse-license >= 1.0.1
@@ -24,11 +22,8 @@ BuildRequires: eclipse-mylyn
BuildRequires: eclipse-mylyn-ide
BuildRequires: eclipse-rse
BuildRequires: h2
-BuildRequires: maven-local
BuildRequires: tycho
Requires: eclipse-platform >= 1:4.4.0
-Requires: eclipse-emf
-Requires: h2
%description
Dynamic Languages Toolkit (DLTK) is a tool for vendors, researchers, and users
@@ -47,7 +42,6 @@ Languages Toolkit (DLTK).
%package tcl
Summary: TCL Eclipse plug-in
Requires: %{name} = %{version}-%{release}
-Requires: eclipse-emf >= 2.5.0
%description tcl
TCL development environment for Eclipse based on the Eclipse Dynamic
@@ -67,19 +61,9 @@ Requires: %{name}-tcl = %{version}-%{release}
%description xotcl
XOTCL extension for the TCL Eclipse plug-in.
-#%%package javascript
-#Summary: Javascript Eclipse plug-in
-#Requires: %%{name} = %%{version}-%%{release}
-
-#%%description javascript
-#Javascript development environment for Eclipse based on the Eclipse
-#Dynamic Languages Toolkit (DLTK).
-
%package mylyn
Summary: Mylyn integration for Eclipse DLTK projects
Requires: %{name} = %{version}-%{release}
-Requires: eclipse-mylyn
-Requires: eclipse-mylyn-ide
%description mylyn
Mylyn task-focused UI integration for Eclipse Dynamic Languages Toolkit
@@ -88,7 +72,6 @@ Mylyn task-focused UI integration for Eclipse Dynamic Languages Toolkit
%package rse
Summary: RSE integration for Eclipse DLTK projects
Requires: %{name} = %{version}-%{release}
-Requires: eclipse-rse
%description rse
Remote Development Support via RSE for DLTK based IDEs.
@@ -101,126 +84,96 @@ Requires: %{name}-ruby = %{version}-%{release}
Requires: %{name}-tcl = %{version}-%{release}
Requires: %{name}-itcl = %{version}-%{release}
Requires: %{name}-xotcl = %{version}-%{release}
-#Requires: %%{name}-javascript = %%{version}-%%{release}
Requires: %{name}-mylyn = %{version}-%{release}
Requires: %{name}-rse = %{version}-%{release}
+Requires: %{name}-tests = %{version}-%{release}
%description sdk
Documentation and source for the Eclipse Dynamic Languages Toolkit (DLTK).
-# TODO: Uncomment the Javascript package bits when upstream gets their Rhino dependencies sanely externalised
+%package tests
+Summary: Eclipse DLTK Tests
+
+%description tests
+Tests for Eclipse Dynamic Languages Toolkit (DLTK).
%prep
-%setup -q
+%setup -q -n eclipse-dltk-%{version}
+# We are not shipping the python and javascript editors
+# For python we have eclipse-pydev, which should be used instead
+# For javascript we have eclipse-webtools, which should be used instead
%pom_disable_module "../../org.eclipse.dltk.javascript" org.eclipse.dltk.releng/build/pom.xml
%pom_disable_module "../../org.eclipse.dltk.python" org.eclipse.dltk.releng/build/pom.xml
-%pom_disable_module "releng/org.eclipse.dltk.core.targetplatform" org.eclipse.dltk.core/core/pom.xml
-%pom_disable_module "features/org.eclipse.dltk.core.tests" org.eclipse.dltk.core/core/pom.xml
-%pom_disable_module "tests" org.eclipse.dltk.core/core/pom.xml
-%pom_disable_module "tests" org.eclipse.dltk.tcl/tcl/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.itcl.core.tests" org.eclipse.dltk.tcl/itcl/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.xotcl.core.tests" org.eclipse.dltk.tcl/xotcl/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.ruby.core.tests" org.eclipse.dltk.ruby/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.ruby.formatter.tests" org.eclipse.dltk.ruby/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.ruby.ui.tests" org.eclipse.dltk.ruby/pom.xml
-%pom_disable_module "tests/org.eclipse.dltk.ruby.testing.tests" org.eclipse.dltk.ruby/pom.xml
-
-%patch0
+# It's not necessary to build an update site or p2 repo when using mvn_install
+%pom_disable_module update.site org.eclipse.dltk.releng/build/pom.xml
+
+%mvn_package "::jar:sources:" sdk
+%mvn_package ":*.sdk" sdk
+%mvn_package ":*.tests" tests
+%mvn_package "org.eclipse.dltk.core:org.eclipse.dltk.core.doc.isv" sdk
+%mvn_package "org.eclipse.dltk{,.core}:" core
+%mvn_package "org.eclipse.dltk.ruby:" ruby
+%mvn_package "org.eclipse.dltk.tcl:" tcl
+%mvn_package "org.eclipse.dltk.itcl:" itcl
+%mvn_package "org.eclipse.dltk.xotcl:" xotcl
+%mvn_package "org.eclipse.dltk.mylyn:" mylyn
+%mvn_package "org.eclipse.dltk.rse:" rse
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.core{,.index}" core
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.ruby" ruby
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.tcl" tcl
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.itcl" itcl
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.xotcl" xotcl
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.mylyn" mylyn
+%mvn_package "org.eclipse.dltk.features:org.eclipse.dltk.rse" rse
+
+# TODO fix this upstream
+for b in org.eclipse.dltk.ruby/tests/org.eclipse.dltk.ruby.testing.tests ; do
+ sed -i "/^Bundle-Localization/d" $b/META-INF/MANIFEST.MF
+ sed -i "s|plugin.properties|OSGI-INF/|" $b/build.properties
+ mkdir -p $b/OSGI-INF/l10n
+ mv $b/plugin.properties $b/OSGI-INF/l10n/bundle.properties
+done
%build
-xmvn -o clean verify -forg.eclipse.dltk.releng/build/pom.xml
+%mvn_build -j -f -- -f org.eclipse.dltk.releng/build/pom.xml
%install
-install -d -m 755 %{buildroot}%{eclipse_dropin}
-
-SUBPACKAGES="core.index core ruby tcl itcl xotcl mylyn rse"
-
-mkdir -p %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/plugins
-mkdir -p %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/features
-
-pushd org.eclipse.dltk.releng/build/update.site/target/site
-mv plugins/org.eclipse.dltk.*.source* %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/plugins
-mv features/org.eclipse.dltk.*.sdk* %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/features
+%mvn_install
-for s in $SUBPACKAGES ; do
-
- mkdir -p %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/plugins
- mkdir -p %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/features
-
- mv plugins/org.eclipse.dltk.$s* %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/plugins
- mv features/org.eclipse.dltk.$s* %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/features
-done
-
-#Install .launching, .debug*, .ui, .console bundles into core
-mv plugins/org.eclipse.dltk_* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.annotations* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.console* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.debug* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.formatter* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.launching* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.logconsole* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.testing* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.ui* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-mv plugins/org.eclipse.dltk.validators* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
-
-#install org.eclipse.dltk.ssh.core to rse
-mv plugins/org.eclipse.dltk.ssh.core* %{buildroot}%{eclipse_dropin}/dltk-rse/eclipse/plugins
-
-# Install symlinks to required OSGi jars
-ln -s %{_javadir}/h2.jar %{buildroot}/%{eclipse_dropin}/dltk-core.index/eclipse/plugins/org.h2.jar
-
-popd
-
-# Unzip features -- temporary measure until xmvn lands
-pushd %{buildroot}%{eclipse_dropin}
-for f in $( ls dltk*/eclipse/features/* ) ; do
- dirname=${f%.jar}
- mkdir -p $dirname
- unzip $f -d $dirname
- rm $f
-done
-popd
-
-%files
-%{eclipse_dropin}/dltk-core
-%{eclipse_dropin}/dltk-core.index
+%files -f .mfiles-core
%doc org.eclipse.dltk.core/core/features/org.eclipse.dltk.core-feature/rootfiles/*
-%files ruby
-%{eclipse_dropin}/dltk-ruby
+%files ruby -f .mfiles-ruby
%doc org.eclipse.dltk.ruby/features/org.eclipse.dltk.ruby-feature/rootfiles/*
-%files tcl
-%{eclipse_dropin}/dltk-tcl
+%files tcl -f .mfiles-tcl
%doc org.eclipse.dltk.tcl/tcl/features/org.eclipse.dltk.tcl-feature/rootfiles/*
-%files itcl
-%{eclipse_dropin}/dltk-itcl
+%files itcl -f .mfiles-itcl
%doc org.eclipse.dltk.tcl/itcl/features/org.eclipse.dltk.itcl-feature/rootfiles/*
-%files xotcl
-%{eclipse_dropin}/dltk-xotcl
+%files xotcl -f .mfiles-xotcl
%doc org.eclipse.dltk.tcl/xotcl/features/org.eclipse.dltk.xotcl-feature/rootfiles/*
-#%files javascript
-#%{eclipse_dropin}/dltk-javascript
-#%doc org.eclipse.dltk.javascript-feature/rootfiles/*
-
-%files mylyn
-%{eclipse_dropin}/dltk-mylyn
+%files mylyn -f .mfiles-mylyn
%doc org.eclipse.dltk.core/mylyn/features/org.eclipse.dltk.mylyn-feature/rootfiles/*
-%files rse
-%{eclipse_dropin}/dltk-rse
+%files rse -f .mfiles-rse
%doc org.eclipse.dltk.core/rse/features/org.eclipse.dltk.rse-feature/rootfiles/*
-%files sdk
-%{eclipse_dropin}/dltk-sdk
-%doc org.eclipse.dltk.core/core/features/org.eclipse.dltk.core.sdk/rootfiles/*
+%files sdk -f .mfiles-sdk
+
+%files tests -f .mfiles-tests
%changelog
+* Thu Sep 25 2014 Mat Booth <mat.booth at redhat.com> - 5.1.0-4
+- Build/install with mvn_build/mvn_install
+- Build and ship tests in tests sub package
+- Drop unneeded BR/Rs
+- Drop unneeded patch
+
* Wed Sep 17 2014 Alexander Kurtakov <akurtako at redhat.com> 5.1.0-3
- Drop license feature copying as it breaks the build.
More information about the scm-commits
mailing list