From c6daae2e7973fc4e43936334cdc3156980dc3e95 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Aug 06 2012 04:01:28 +0000 Subject: Build additional subpackages - Enable xbean-spring - Enable maven-xbean-plugin - Remove RPM bug workaround --- 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" " - - maven-compiler-plugin - - 1.5 - 1.5 - - " +# 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 . " + + 1.5 + 1.5 + " # 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|ant|org.apache.ant|" {} \; + # 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|org.eclipse|org.apache.felix|g" xbean-bundleutils/pom.xml -sed -i "s|osgi|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|org.eclipse|org.apache.felix|g" xbean-bundleutils/pom.xml + sed -i "s|osgi|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 - 3.11.1-3 +- Enable xbean-spring +- Enable maven-xbean-plugin +- Remove RPM bug workaround + * Sun Jul 22 2012 Fedora Release Engineering - 3.11.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild