[xbean] Build additional subpackages
Mikolaj Izdebski
mizdebsk at fedoraproject.org
Mon Aug 6 04:19:13 UTC 2012
commit c6daae2e7973fc4e43936334cdc3156980dc3e95
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date: Mon Aug 6 01:05:15 2012 +0200
Build additional subpackages
- Enable xbean-spring
- Enable maven-xbean-plugin
- Remove RPM bug workaround
xbean.spec | 158 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 118 insertions(+), 40 deletions(-)
---
diff --git a/xbean.spec b/xbean.spec
index 40ca1c3..926dc29 100644
--- a/xbean.spec
+++ b/xbean.spec
@@ -2,7 +2,7 @@ Name: xbean
Version: 3.11.1
BuildArch: noarch
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Java plugin based web server
Group: Development/Libraries
@@ -37,6 +37,17 @@ BuildRequires: maven-site-plugin
BuildRequires: maven-shade-plugin
%if !0%{?rhel:1}
BuildRequires: eclipse-rcp
+BuildRequires: maven-archiver
+BuildRequires: maven-plugin-plugin
+BuildRequires: maven-project
+BuildRequires: plexus-archiver
+BuildRequires: plexus-utils
+BuildRequires: springframework
+BuildRequires: springframework-beans
+BuildRequires: springframework-context
+BuildRequires: springframework-web
+%else
+BuildRequires: felix-framework
%endif
Requires: java
@@ -55,41 +66,71 @@ support for running with no IoC system, JMX without JMX code,
lifecycle and class loader management, and a rock solid Spring
integration.
+%if !0%{?rhel:1}
+%package spring
+Summary: Schema-driven namespace handler for spring contexts
+Requires: %{name} = %{version}-%{release}
+Requires: springframework-beans
+Requires: springframework-context
+Requires: springframework-web
+
+%description spring
+This package provides %{summary}.
+
+%package -n maven-%{name}-plugin
+Summary: XBean plugin for Apache Maven
+Requires: %{name}-spring = %{version}-%{release}
+Requires: maven
+Requires: maven-archiver
+Requires: maven-project
+Requires: plexus-archiver
+Requires: plexus-utils
+Requires: qdox
+Requires: springframework
+Requires: springframework-beans
+Requires: springframework-context
+Requires: springframework-web
+
+%description -n maven-%{name}-plugin
+This package provides %{summary}.
+%endif
+
%package javadoc
Summary: API documentation for %{name}
Group: Documentation
Requires: jpackage-utils
%description javadoc
-%{summary}.
+This package provides %{summary}.
%prep
%setup -q
# build failing on this due to doxia-sitetools problems
rm src/site/site.xml
-%pom_xpath_remove "pom:parent"
-%pom_remove_dep org.springframework:
+%pom_remove_parent
%pom_remove_dep mx4j:mx4j
%pom_remove_dep :xbean-asm-shaded xbean-reflect
-# Prevent modules depending on springframework from building.
+# These aren't needed for now
%pom_disable_module xbean-asm-shaded
%pom_disable_module xbean-blueprint
%pom_disable_module xbean-classloader
%pom_disable_module xbean-finder-shaded
-%pom_disable_module xbean-spring
%pom_disable_module xbean-telnet
-%pom_disable_module maven-xbean-plugin
-%pom_xpath_inject "pom:build/pom:plugins" "
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>"
+# Prevent modules depending on springframework from building.
+if [ %{?rhel} ]; then
+ %pom_remove_dep org.springframework:
+ %pom_disable_module xbean-spring
+ %pom_disable_module maven-xbean-plugin
+fi
+
+%pom_add_plugin :maven-compiler-plugin . "
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>"
# Force use of Equinox
%pom_remove_dep :org.osgi.core xbean-bundleutils
@@ -106,12 +147,15 @@ rm src/site/site.xml
sed -i 's/org.apache.xbean.asm/org.objectweb.asm/' \
xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java
+# Fix ant groupId
+find -name pom.xml -exec sed -i "s|<groupId>ant</groupId>|<groupId>org.apache.ant</groupId>|" {} \;
+
# Do not build equinox specific part for rhel.
-%if 0%{?rhel} > 6
-rm -fr xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/equinox/
-sed -i "s|<groupId>org.eclipse|<groupId>org.apache.felix|g" xbean-bundleutils/pom.xml
-sed -i "s|<artifactId>osgi|<artifactId>org.apache.felix.framework|g" xbean-bundleutils/pom.xml
-%endif
+if [ %{?rhel} ]; then
+ rm -rf xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/equinox/
+ sed -i "s|<groupId>org.eclipse|<groupId>org.apache.felix|g" xbean-bundleutils/pom.xml
+ sed -i "s|<artifactId>osgi|<artifactId>org.apache.felix.framework|g" xbean-bundleutils/pom.xml
+fi
%build
@@ -122,42 +166,76 @@ mvn-rpmbuild -e \
%install
-# for every module we want to be built
-for sub in bundleutils finder reflect naming classpath; do
- # install jar
- install -Dpm 644 %{name}-${sub}/target/%{name}-${sub}-%{version}.jar \
- $RPM_BUILD_ROOT/%{_javadir}/xbean/%{name}-${sub}.jar;
+install -dm 755 $RPM_BUILD_ROOT/%{_javadir}/%{name}
+install -dm 755 $RPM_BUILD_ROOT/%{_mavenpomdir}
+install -dm 755 $RPM_BUILD_ROOT/%{_mavendepmapfragdir}
+install -dm 755 $RPM_BUILD_ROOT/%{_javadocdir}/%{name}
- # intall pom
- install -Dpm 644 %{name}-${sub}/pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-%{name}-${sub}.pom
+# parent pom
+install -pm 644 pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-main.pom
+%add_maven_depmap JPP.%{name}-main.pom
- # maven depmap
+for sub in bundleutils classpath finder naming reflect; do
+ install -m 644 %{name}-${sub}/target/%{name}-${sub}-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/%{name}-${sub}.jar
+ install -pm 644 %{name}-${sub}/pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-%{name}-${sub}.pom
%add_maven_depmap JPP.%{name}-%{name}-${sub}.pom %{name}/%{name}-${sub}.jar
done
-install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+if [ %{?fedora} ]; then
+ # xbean-spring
+ install -m 644 %{name}-spring/target/%{name}-spring-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/%{name}-spring.jar
+ install -pm 644 %{name}-spring/pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-%{name}-spring.pom
+ %add_maven_depmap JPP.%{name}-%{name}-spring.pom %{name}/%{name}-spring.jar -f spring
+ # maven-xbean-plugin
+ install -m 644 maven-%{name}-plugin/target/maven-%{name}-plugin-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/maven-%{name}-plugin.jar
+ install -pm 644 maven-%{name}-plugin/pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-maven-%{name}-plugin.pom
+ %add_maven_depmap JPP.%{name}-maven-%{name}-plugin.pom %{name}/maven-%{name}-plugin.jar -f maven-plugin
+fi
+
+# javadocs
cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
-# parent pom
-install -pm 644 pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-main.pom
-%add_maven_depmap JPP.%{name}-main.pom
-
-%pre javadoc
-# workaround for rpm bug, can be removed in F-17
-[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
-rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
%files
%doc LICENSE NOTICE
-%{_mavenpomdir}/*.pom
+%dir %{_javadir}/%{name}
+%{_javadir}/%{name}/%{name}-bundleutils.jar
+%{_javadir}/%{name}/%{name}-classpath.jar
+%{_javadir}/%{name}/%{name}-finder.jar
+%{_javadir}/%{name}/%{name}-naming.jar
+%{_javadir}/%{name}/%{name}-reflect.jar
+%{_mavenpomdir}/JPP.%{name}-main.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-bundleutils.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-classpath.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-finder.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-naming.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-reflect.pom
%{_mavendepmapfragdir}/%{name}
-%{_javadir}/%{name}
+
+%if !0%{?rhel:1}
+%files spring
+%doc LICENSE NOTICE
+%{_javadir}/%{name}/%{name}-spring.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-spring.pom
+%{_mavendepmapfragdir}/%{name}-spring
+
+%files -n maven-%{name}-plugin
+%doc LICENSE NOTICE
+%{_javadir}/%{name}/maven-%{name}-plugin.jar
+%{_mavenpomdir}/JPP.%{name}-maven-%{name}-plugin.pom
+%{_mavendepmapfragdir}/%{name}-maven-plugin
+%endif
%files javadoc
-%doc LICENSE
+%doc LICENSE NOTICE
%{_javadocdir}/%{name}
%changelog
+* Mon Aug 6 2012 Mikolaj Izdebski <mizdebsk at redhat.com> - 3.11.1-3
+- Enable xbean-spring
+- Enable maven-xbean-plugin
+- Remove RPM bug workaround
+
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
More information about the scm-commits
mailing list