%define with_maven 0 Name: apache-xbean Version: 3.7 Release: 2mamba Summary: XBean is a plugin based server architecture Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: gil URL: http://geronimo.apache.org/xbean/ # svn export http://svn.apache.org/repos/asf/geronimo/xbean/tags/xbean-3.7 # tar czf xbean-3.7-src-svn.tar.gz xbean-3.7 Source0: xbean-%{version}-src-svn.tar.gz Source1: maven2-2.2.0-settings.xml Source2: apache-xbean-%{version}-autogeneratedfiles.tar.gz # remove springframework 2.5.6 geronimo.genesis 2.0 stuff Patch0: apache-xbean-3.7-pom_xml.patch License: Apache License Version 2.0 BuildRequires: apache-ant BuildRequires: apache-ant-junit BuildRequires: apache-felix-osgi-core BuildRequires: apache-log4j %if %with_maven BuildRequires: apache-maven2 BuildRequires: apache-maven2-ant-plugin BuildRequires: apache-maven2-compiler-plugin BuildRequires: apache-maven2-jar-plugin BuildRequires: apache-maven2-javadoc-plugin BuildRequires: apache-maven2-pmd-plugin BuildRequires: apache-maven2-shade-plugin BuildRequires: jakarta-commons-beanutils = 1.7.0 BuildRequires: java-cglib21 BuildRequires: java-groovy BuildRequires: java-mx4j BuildRequires: java-qdox16 # felix maven-bundle-plugin # mojo jxr-maven-plugin # mojo surefire-report-maven-plugin %endif BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-logging BuildRequires: java-junit3 BuildRequires: java-slf4j BuildRequires: jpackage-utils BuildRequires: objectweb-asm = 3.2 BuildRequires: apache-log4j-javadoc BuildRequires: jakarta-commons-collections-javadoc BuildRequires: jakarta-commons-logging-javadoc BuildRequires: jakarta-regexp-javadoc BuildRequires: java-velocity-javadoc BuildRequires: sun-java-javadoc Requires: jakarta-commons-logging Requires: objectweb-asm = 3.2 Requires: sun-java BuildRoot: %{_tmppath}/%{name}-%{version}-root %description The goal of XBean project is to create a plugin based server analogous to Eclipse being a plugin based IDE. XBean will be able to discover, download and install server plugins from an Internet based repository. In addition, we include support for multiple IoC systems, support for running with no IoC system, JMX without JMX code, lifecycle and class loader management, and a rock solid Spring integration. %package javadoc Group: Documentation Summary: Javadoc for %{name}-api %description javadoc XBean is a plugin based server architecture. This package contains javadoc for %{name}-api %prep %setup -q -n xbean-%{version} for j in $(find . -name "*.jar" -o -name "CVS"); do rm -rf $j done sed -i 's/org.apache.xbean.asm/org.objectweb.asm/' xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java %if %with_maven rm -rf src/site/site.xml cp %{SOURCE1} settings.xml mkdir -p .m2/repository/JPP/maven2 sed -i -e "s|__INTERNAL_REPO_PLACEHOLDER__|file://`pwd`/external_repo|g" settings.xml sed -i -e "s|__EXTERNAL_REPO_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml %patch0 -p1 %else tar -xzf %{SOURCE2} for xml in bundleutils classpath naming reflect; do sed -i -e "s|512|512m|g" xbean-${xml}/maven-build.xml done %endif %build export JAVA_HOME=/usr/lib/jvm/jdk-sun export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL %if %with_maven mkdir -p $MAVEN_REPO_LOCAL/junit/junit/3.8.2 ln -sf $(build-classpath junit-3.8.2) $MAVEN_REPO_LOCAL/junit/junit/3.8.2/junit-3.8.2.jar export MAVEN_SETTINGS=$(pwd)/settings.xml mkdir external_repo ln -s %{_javadir} external_repo/JPP mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install javadoc:aggregate %else cd xbean-bundleutils export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath slf4j/api felix/org.osgi.core) CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2 ant/ant-junit):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dj2se4.api=%{_javadocdir}/java \ -Dj2se5.api=%{_javadocdir}/java \ -Dcollections.api=%{_javadocdir}/commons-collections \ -Dlogging.api=%{_javadocdir}/jakarta-commons-logging \ -Dlog4j.api=%{_javadocdir}/log4j \ -Dregexp.api=%{_javadocdir}/regexp \ -Dvelocity.api=%{_javadocdir}/velocity-1.4 \ -Dbuild.sysclasspath=first \ jar cd .. cd xbean-classpath export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2 ant/ant-junit):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dj2se4.api=%{_javadocdir}/java \ -Dj2se5.api=%{_javadocdir}/java \ -Dcollections.api=%{_javadocdir}/commons-collections \ -Dlogging.api=%{_javadocdir}/jakarta-commons-logging \ -Dlog4j.api=%{_javadocdir}/log4j \ -Dregexp.api=%{_javadocdir}/regexp \ -Dvelocity.api=%{_javadocdir}/velocity-1.4 \ -Dbuild.sysclasspath=first \ jar cd .. cd xbean-naming export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2 ant/ant-junit):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dj2se4.api=%{_javadocdir}/java \ -Dj2se5.api=%{_javadocdir}/java \ -Dcollections.api=%{_javadocdir}/commons-collections \ -Dlogging.api=%{_javadocdir}/jakarta-commons-logging \ -Dlog4j.api=%{_javadocdir}/log4j \ -Dregexp.api=%{_javadocdir}/regexp \ -Dvelocity.api=%{_javadocdir}/velocity-1.4 \ -Dbuild.sysclasspath=first \ jar cd .. # javadoc aggregate cd xbean-reflect export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath objectweb-asm/asm objectweb-asm/asm-commons) CLASSPATH=$CLASSPATH:$(build-classpath objectweb-asm/asm-tree commons-logging-api log4j) CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2 ant/ant-junit):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dj2eesdk.api=%{_javadocdir}/java \ -Dj2se14.api=%{_javadocdir}/java \ -Dj2se142.api=%{_javadocdir}/java \ -Dj2se3.api=%{_javadocdir}/java \ -Dj2se5.api=%{_javadocdir}/java \ -Dcollections.api=%{_javadocdir}/commons-collections \ -Dlogging.api=%{_javadocdir}/jakarta-commons-logging \ -Dlog4j.api=%{_javadocdir}/log4j \ -Dregexp.api=%{_javadocdir}/regexp \ -Dvelocity.api=%{_javadocdir}/velocity-1.4 \ -Dbuild.sysclasspath=first \ jar javadoc cd .. %endif %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir}/xbean mkdir -p %{buildroot}%{_mavenpomdir} for artifact in bundleutils classpath naming reflect; do install -pm 644 xbean-${artifact}/target/xbean-${artifact}-%{version}.jar \ %{buildroot}%{_javadir}/xbean/xbean-${artifact}-%{version}.jar; install -pm 644 xbean-${artifact}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-xbean-${artifact}.pom %add_to_maven_depmap org.apache.xbean xbean-${artifact} %{version} JPP/xbean xbean-${artifact} done install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-xbean.pom ( cd %{buildroot}%{_javadir}/xbean for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) mkdir -p %{buildroot}%{_javadocdir}/xbean-%{version} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/xbean-%{version}/ ln -sf %{name}-%{version} %{buildroot}%{_javadocdir}/xbean %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %dir %{_javadir}/xbean %{_javadir}/xbean/xbean-bundleutils-%{version}.jar %{_javadir}/xbean/xbean-bundleutils.jar %{_javadir}/xbean/xbean-classpath-%{version}.jar %{_javadir}/xbean/xbean-classpath.jar %{_javadir}/xbean/xbean-naming-%{version}.jar %{_javadir}/xbean/xbean-naming.jar %{_javadir}/xbean/xbean-reflect-%{version}.jar %{_javadir}/xbean/xbean-reflect.jar %{_mavenpomdir}/*.pom %{_mavendepmapfragdir} %doc LICENSE NOTICE %files javadoc %defattr(-,root,root) %{_javadocdir}/xbean-%{version} %{_javadocdir}/xbean %changelog * Sat Dec 18 2010 gil 3.7-2mamba - ... add a changelog entry * Sat Nov 13 2010 gil 3.7-1mamba - package created by autospec