blob: 5dfe16232601e772e47f37a3941bd57f29e1d9f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
# 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
}
|