[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