mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-29 04:27:34 -07:00
147 lines
3.4 KiB
Bash
147 lines
3.4 KiB
Bash
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI="5"
|
|
|
|
JAVA_PKG_IUSE="source examples doc test"
|
|
|
|
inherit java-pkg-2 java-ant-2
|
|
|
|
DESCRIPTION="A low level toolset of Java components focused on HTTP and associated protocols"
|
|
HOMEPAGE="http://hc.apache.org/index.html"
|
|
SRC_URI="mirror://apache/${PN/-//http}/source/${P}-src.tar.gz"
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="4.5"
|
|
KEYWORDS="amd64 x86"
|
|
|
|
CDEPEND="
|
|
dev-java/ant-junit:0
|
|
dev-java/easymock:3.2
|
|
dev-java/spymemcached:0
|
|
dev-java/osgi-core-api:0
|
|
dev-java/osgi-enterprise-api:0
|
|
dev-java/commons-codec:0
|
|
dev-java/commons-logging:0
|
|
dev-java/httpcomponents-core:4.4
|
|
dev-java/easymock-classextension:3.2
|
|
"
|
|
|
|
RDEPEND=">=virtual/jre-1.6
|
|
${CDEPEND}"
|
|
|
|
DEPEND=">=virtual/jdk-1.6
|
|
test? (
|
|
dev-java/junit:4
|
|
dev-java/mockito:0
|
|
)
|
|
${CDEPEND}"
|
|
|
|
JAVA_ANT_REWRITE_CLASSPATH="true"
|
|
EANT_GENTOO_CLASSPATH="
|
|
commons-codec
|
|
commons-logging
|
|
spymemcached
|
|
osgi-core-api
|
|
osgi-enterprise-api
|
|
httpcomponents-core-4.4
|
|
"
|
|
|
|
# List of modules to compile and test.
|
|
MODULES=(
|
|
httpclient
|
|
httpclient-cache
|
|
httpmime
|
|
fluent-hc
|
|
httpclient-osgi
|
|
)
|
|
|
|
EANT_BUILD_TARGET="package"
|
|
EANT_GENTOO_CLASSPATH_EXTRA="${S}/${MODULES[0]}/target/${MODULES[0]}-${PV}.jar"
|
|
|
|
java_prepare() {
|
|
# copy build.xml files to their location.
|
|
for module in ${MODULES[@]}; do
|
|
cd "${S}"/"${module}" || die
|
|
cp "${FILESDIR}"/"${PN}-${module}-${PV}"-build.xml build.xml
|
|
done
|
|
|
|
cd "${S}" || die
|
|
|
|
# httpclient:
|
|
# - copy deprecated sources for compilation
|
|
cp -r "${S}"/${MODULES[0]}/src/main/java-deprecated/* \
|
|
"${S}"/${MODULES[0]}/src/main/java/* || die
|
|
|
|
# - remove broken tests
|
|
rm -v ${MODULES[0]}/src/test/java/org/apache/http/client/config/TestRequestConfig.java
|
|
|
|
# httpclient-cache:
|
|
# - copy deprecated sources into main repository
|
|
cp -r "${S}"/${MODULES[1]}/src/main/java-deprecated/* \
|
|
"${S}"/${MODULES[1]}/src/main/java || die
|
|
|
|
# - remove broken tests
|
|
rm -v \
|
|
${MODULES[1]}/src/test/java/org/apache/http/impl/client/cache/TestCachingExec*
|
|
|
|
# - disable ehcache support altogether
|
|
# the version in Portage is very old and compilation chokes on missing imports
|
|
rm -rf \
|
|
"${S}"/${MODULES[1]}/src/main/java/org/apache/http/impl/client/cache/ehcache \
|
|
"${S}"/${MODULES[1]}/src/test/java/org/apache/http/impl/client/cache/ehcache
|
|
|
|
# httpmime:
|
|
# - copy deprecated sources into main repository
|
|
cp -r "${S}"/${MODULES[2]}/src/main/java-deprecated/* \
|
|
"${S}"/${MODULES[2]}/src/main/java
|
|
|
|
# fluent-hc:
|
|
# remove broken tests.
|
|
rm -v ${MODULES[3]}/src/test/java/org/apache/http/client/fluent/TestFluent.java
|
|
}
|
|
|
|
EANT_TEST_GENTOO_CLASSPATH="
|
|
${EANT_GENTOO_CLASSPATH}
|
|
junit-4
|
|
mockito
|
|
easymock-3.2
|
|
easymock-classextension-3.2
|
|
"
|
|
|
|
src_compile() {
|
|
for module in ${MODULES[@]}; do
|
|
EANT_BUILD_XML="${module}/build.xml" \
|
|
java-pkg-2_src_compile
|
|
done
|
|
}
|
|
|
|
src_test() {
|
|
for module in ${MODULES[@]}; do
|
|
ANT_TASKS= \
|
|
EANT_BUILD_XML="${module}/build.xml" \
|
|
java-pkg-2_src_test
|
|
done
|
|
}
|
|
|
|
src_install() {
|
|
for module in ${MODULES[@]}; do
|
|
java-pkg_newjar ${module}/target/${module}-${PV}.jar ${module}.jar
|
|
done
|
|
|
|
if use source; then
|
|
|
|
java-pkg_dosrc {httpclient,httpclient-cache,httpmime,fluent-hc}/src/main/java/org
|
|
fi
|
|
|
|
if use examples; then
|
|
for dir in $(find "${S}" -mindepth 3 -maxdepth 4 -name "examples" -type d -print); do
|
|
java-pkg_doexamples ${dir}/*
|
|
done
|
|
fi
|
|
|
|
if use doc; then
|
|
java-pkg_dojavadoc {httpclient,httpclient-cache,httpmime,fluent-hc}/target/site/apidocs/
|
|
fi
|
|
}
|