# vim: set ts=4 sw=4 sts=4 et: %global tarname apache-%{name}-%{version}-src Name: cxf Version: 2.4.7 Release: 1%{?dist} Summary: Apache CXF License: ASL 2.0 Group: Development/Libraries URL: http://cxf.apache.org/ Source0: http://www.idg.pl/mirrors/apache/%{name}/%{version}/%{tarname}.tar.gz Patch0: apache-cxf-2.4.7-src-xml.patch BuildArch: noarch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: maven BuildRequires: maven-archetype-packaging BuildRequires: maven-assembly-plugin BuildRequires: maven-compiler-plugin BuildRequires: maven-assembly-plugin BuildRequires: maven-install-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-release-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-war-plugin BuildRequires: apache-commons-lang BuildRequires: apache-mina BuildRequires: aries-blueprint BuildRequires: asm2 BuildRequires: cglib BuildRequires: cxf-build-utils BuildRequires: cxf-xjc-utils BuildRequires: felix-osgi-core BuildRequires: geronimo-annotation BuildRequires: geronimo-saaj BuildRequires: glassfish-jaxb BuildRequires: glassfish-jaxb-api BuildRequires: glassfish-fastinfoset BuildRequires: javamail BuildRequires: jboss-connector-1.6-api BuildRequires: jibx BuildRequires: jra BuildRequires: neethi BuildRequires: springframework BuildRequires: springframework-aop BuildRequires: springframework-beans BuildRequires: springframework-context BuildRequires: velocity BuildRequires: wsdl4j BuildRequires: xml-commons-resolver BuildRequires: ws-xmlschema Requires: apache-commons-lang Requires: cxf-xjc-utils Requires: cglib Requires: geronimo-annotation Requires: glassfish-jaxb Requires: java Requires: jboss-connector-1.6-api Requires: jpackage-utils Requires: jra Requires: neethi Requires: ws-xmlschema Requires: wsdl4j %description Apache CXF is an open-source services framework that aids in the development of services using front-end programming APIs, like JAX-WS and JAX-RS. %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %package api Summary: Apache CXF API Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} %description api Apache CXF API classes. %package common Summary: Apache CXF Common Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: glassfish-jaxb-api Requires: geronimo-saaj %description common This oacjage contains Apache CXF Common classes (including Apache CXF Common Utilities). %package maven-plugins Summary: Apache CXF Maven Plugins Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-api = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} %description maven-plugins Maven plugins required for building or testing Apache CXF. %package rt Summary: Apache CXF Runtime Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-api = %{version}-%{release} Requires: %{name}-common = %{version}-%{release} Requires: %{name}-tools = %{version}-%{release} Requires: apache-mina Requires: aries-blueprint Requires: asm2 Requires: felix-osgi-core Requires: glassfish-fastinfoset Requires: javamail Requires: jibx Requires: springframework Requires: springframework-aop Requires: springframework-beans Requires: springframework-context Requires: xml-commons-resolver %description rt This package contains core feature set of Apache CXF; web service standards support, frontends, and protocols support. %package tools Summary: Apache CXF Tools Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires(pre): %{name}-rt = %{version}-%{release} Requires: velocity %description tools Apache CXF Command Line Tools. %prep %setup -q -n %{tarname} %patch0 -p1 find . -name "*.jar" -delete find . -name "*.class" -delete %build # tests are disabled because of lots of missing dependencies mvn-rpmbuild \ -Pfastinstall \ -Dmaven.test.skip=true \ -Dproject.build.sourceEncoding=UTF-8 \ package javadoc:aggregate %install install_pom_file () { local pom_file=${1} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/${pom_file} %add_maven_depmap ${pom_file} } install_jar_file () { local pom_file=${1} local source=${2} local target=${3} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/${pom_file} install -pm 644 ${source} %{buildroot}%{_javadir}/${target} %add_maven_depmap ${pom_file} ${target} } guess_jar_file_and_target () { jar_found=true jar_file="" jar_target="" local guess guess=target/%{name}-${module}-${aid_name}-%{version}.jar if [ -f ${guess} ]; then jar_file=${guess} jar_target=%{name}/${module}-${aid_name}.jar return 0 fi guess=target/%{name}-${module}-%{version}.jar if [ -f ${guess} ]; then jar_file=${guess} jar_target=%{name}/${module}.jar return 0 fi guess=target/%{name}-${aid_name}-%{version}.jar if [ -f ${guess} ]; then jar_file=${guess} jar_target=%{name}/${module}-${aid_name}.jar return 0 fi jar_found=false } install -d -m 755 %{buildroot}%{_javadir}/%{name} install -d -m 755 %{buildroot}%{_javadocdir}/%{name} install -d -m 755 %{buildroot}%{_mavenpomdir} while read module subdir nontemplate_name do dir=${module}/${subdir} pushd $dir if [ "${subdir}" = "" ]; then aid_name="" pom_file=JPP.%{name}-${module}.pom else aid_name=${nontemplate_name:-$(echo ${subdir} | tr / -)} pom_file=JPP.%{name}-${module}-${aid_name}.pom fi guess_jar_file_and_target if $jar_found; then install_jar_file ${pom_file} ${jar_file} ${jar_target} else install_pom_file ${pom_file} fi popd done < 2.4.7-1 - Initial packaging