%define maven 0 %define javahome /usr/lib/jvm/jdk-sun Name: apache-httpcomponents-httpcore Version: 4.0.1 Release: 3mamba Summary: Core components to build HTTP enabled services Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: gil URL: http://hc.apache.org/ Source0: http://apache.fis.uniroma2.it/httpcomponents/httpcore/source/httpcomponents-core-%{version}-src.tar.gz Source1: maven2-2.2.0-settings.xml Source2: apache-httpcomponents-httpcore-4.0.1-autogeneratedfiles.tar.gz Source3: apache-httpcomponents-httpcore-4.0.1-META-INF.tar.gz Patch0: apache-httpcomponents-httpcore-4.0.1-no-clover-support.patch Patch1: apache-httpcomponents-httpcore-4.0.1-httpcore-maven-build_xml.patch Patch2: apache-httpcomponents-httpcore-4.0.1-httpcore-nio-maven-build_xml.patch License: Apache Software License Version 2.0 BuildRequires: apache-ant %if %maven BuildRequires: apache-felix-osgi-core BuildRequires: apache-maven BuildRequires: apache-maven-plugin-antrun BuildRequires: apache-maven-plugin-assembly BuildRequires: apache-maven-plugin-compiler BuildRequires: apache-maven-plugin-install BuildRequires: apache-maven-plugin-jar BuildRequires: apache-maven-plugin-site BuildRequires: apache-maven-plugin-source BuildRequires: maven-jxr-plugin BuildRequires: maven-project-info-reports-plugin BuildRequires: maven-release BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-report-plugin BuildRequires: mojo-clirr-maven-plugin # docbkx-maven-plugin 2.0.8 # felix-maven-bundle-plugin 1.4.3 BuildRequires: java-docbkx BuildRequires: java-plexus-utils %endif BuildRequires: jakarta-commons-codec BuildRequires: jakarta-commons-logging BuildRequires: java-junit3 BuildRequires: jpackage-utils BuildRequires: sun-java-javadoc Requires: jakarta-commons-logging Requires: jpackage-utils BuildRoot: %{_tmppath}/%{name}-%{version}-root %description HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint. HttpCore supports two I/O models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O model based on Java NIO. %package demo Group: Documentation Summary: Samples for %{name} Requires: %{name} = %{version}-%{release} %description demo HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint. HttpCore supports two I/O models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O model based on Java NIO. This package contains samples for %{name}. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint. HttpCore supports two I/O models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O model based on Java NIO. This package contains javadoc for %{name}. %package manual Group: Documentation Summary: Manual for %{name} %description manual HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint. HttpCore supports two I/O models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O model based on Java NIO. This package contains documentation for %{name}. %prep %setup -q -n httpcomponents-core-%{version} %patch0 -p1 for f in $(find . -name "*.jar"); do mv $f $f.no done %if %maven 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 %else tar -xzf %{SOURCE2} mkdir -p httpcore-osgi/target/classes # No tests found in org.apache.http.mockup.TestHttpClient No tests found in org.apache.http.mockup.TestHttpServer %patch1 # Class org.apache.http.mockup.TestHttpClient has no public constructor TestCase(String name) or TestCase() # Class org.apache.http.mockup.TestHttpSSLClient has no public constructor TestCase(String name) or TestCase() # Class org.apache.http.mockup.TestHttpSSLServer has no public constructor TestCase(String name) or TestCase() # Class org.apache.http.mockup.TestHttpServer has no public constructor TestCase(String name) or TestCase() #%patch2 %endif %build export JAVA_HOME=%javahome export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL %if %maven export MAVEN_SETTINGS=$(pwd)/settings.xml mkdir external_repo ln -s %{_javadir} external_repo/JPP mkdir -p $MAVEN_REPO_LOCAL/junit/junit/3.8.1 ln -sf $(build-classpath junit-3.8.2) $MAVEN_REPO_LOCAL/junit/junit/3.8.1/junit-3.8.1.jar mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install javadoc:javadoc %else pushd httpcore export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath commons-codec commons-logging) CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ jar javadoc cp target/httpcore-%{version}.jar ../httpcore-osgi/target/classes popd # broken links/url httpcore_api=$PWD/httpcore/target/site/apidocs pushd httpcore-nio export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath commons-codec commons-logging) CLASSPATH=$CLASSPATH:../httpcore/target/httpcore-%{version}.jar CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dmaven.settings.interactiveMode=false \ -Dj2se.api=%{_javadocdir}/java \ -Dhttpcore.api=$httpcore_api \ jar javadoc cp target/httpcore-nio-%{version}.jar ../httpcore-osgi/target/classes popd # OSGi support pushd httpcore-osgi export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath commons-codec commons-logging) CLASSPATH=$CLASSPATH:../httpcore/target/httpcore-%{version}.jar CLASSPATH=$CLASSPATH:../httpcore-nio/target/httpcore-nio-%{version}.jar CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ jar mkdir temp_jar pushd temp_jar jar xf ../target/org.apache.httpcomponents.httpcore_%{version}.jar rm -rf ../target/org.apache.httpcomponents.httpcore_%{version}.jar rm -rf META-INF tar -xzf %{SOURCE3} jar cmf META-INF/MANIFEST.MF ../target/org.apache.httpcomponents.httpcore_%{version}.jar . popd popd %endif %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir} mkdir -p %{buildroot}%{_datadir}/maven2/poms install -pm 644 httpcore/target/httpcore-%{version}.jar \ %{buildroot}%{_javadir}/httpcore-%{version}.jar install -pm 644 httpcore-nio/target/httpcore-nio-%{version}.jar \ %{buildroot}%{_javadir}/httpcore-nio-%{version}.jar install -pm 644 httpcore-osgi/target/org.apache.httpcomponents.httpcore_%{version}.jar \ %{buildroot}%{_javadir}/org.apache.httpcomponents.httpcore-%{version}.jar %add_to_maven_depmap org.apache.httpcomponents httpcomponents-core %{version} JPP core-project %add_to_maven_depmap org.apache.httpcomponents httpcore %{version} JPP httpcore %add_to_maven_depmap org.apache.httpcomponents httpcore-nio %{version} JPP httpcore-nio %add_to_maven_depmap org.apache.httpcomponents httpcore-osgi %{version} JPP org.apache.httpcomponents.httpcore mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 pom.xml \ %{buildroot}%{_datadir}/maven2/poms/JPP.httpcomponents-project.pom install -m 644 httpcore/pom.xml \ %{buildroot}%{_datadir}/maven2/poms/JPP.httpcore.pom install -m 644 httpcore-nio/pom.xml \ %{buildroot}%{_datadir}/maven2/poms/JPP.httpcore-nio.pom install -m 644 httpcore-osgi/pom.xml \ %{buildroot}%{_datadir}/maven2/poms/JPP.org.apache.httpcomponents.httpcore.pom ( cd %{buildroot}%{_javadir} for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) mkdir -p %{buildroot}%{_javadocdir}/httpcomponents-core-%{version} %if %maven cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/httpcomponents-core-%{version} %else # merge apidocs mkdir -p %{buildroot}%{_javadocdir}/httpcomponents-core-%{version} # cp -pr httpcore/target/site/apidocs/* %{buildroot}%{_javadocdir}/httpcomponents-core-%{version}/core # mkdir -p %{buildroot}%{_javadocdir}/httpcomponents-core-%{version}/nio cp -pr httpcore-nio/target/site/apidocs/* %{buildroot}%{_javadocdir}/httpcomponents-core-%{version}/ %endif ln -s httpcomponents-core-%{version} %{buildroot}%{_javadocdir}/httpcomponents-core #%{_bindir}/aot-compile-rpm %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files %defattr(-,root,root) %{_javadir}/httpcore-%{version}.jar %{_javadir}/httpcore.jar %{_javadir}/httpcore-nio-%{version}.jar %{_javadir}/httpcore-nio.jar %{_javadir}/org.apache.httpcomponents.httpcore-%{version}.jar %{_javadir}/org.apache.httpcomponents.httpcore.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc *.txt *.rdf %files javadoc %defattr(-,root,root) %{_javadocdir}/httpcomponents-core-%{version} %{_javadocdir}/httpcomponents-core %changelog * Fri Nov 05 2010 gil 4.0.1-3mamba - rebuilt devel * Wed Jan 13 2010 gil 4.0.1-2mamba - rebuilt with ant support * Sat Sep 12 2009 gil 4.0.1-1mamba - update to 4.0.1 * Sun May 10 2009 gil 4.0-1mamba - update to 4.0 * Wed Mar 04 2009 gil 3.1-1mamba - package created by autospec