[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