dev-java/tomcat-servlet-api: amd64 stable wrt bug #722654
[gentoo.git] / dev-java / lucene / lucene-3.6.2-r2.ebuild
1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 JAVA_PKG_IUSE="doc source test contrib"
7 JAVA_PKG_BSFIX_ALL="no"
8 JAVA_PKG_BSFIX_NAME="build.xml common-build.xml contrib-build.xml"
9
10 inherit java-pkg-2 java-ant-2
11
12 DESCRIPTION="High-performance, full-featured text search engine written entirely in Java"
13 HOMEPAGE="https://lucene.apache.org"
14 SRC_URI="mirror://apache/lucene/java/${PV}/${P}-src.tgz"
15
16 LICENSE="Apache-2.0"
17 SLOT="3.6"
18 KEYWORDS="amd64 x86"
19
20 CDEPEND="
21         dev-java/ant-ivy:2
22         dev-java/ant-junit:0
23         dev-java/ant-core:0
24         dev-java/hamcrest-core:0
25         contrib? (
26                   dev-java/jakarta-regexp:1.4
27                           dev-java/commons-compress:0
28                   dev-java/commons-collections:0
29                   dev-java/commons-digester:0
30                   dev-java/commons-logging:0
31                           dev-java/commons-beanutils:1.7
32         )"
33
34 DEPEND="
35         ${CDEPEND}
36         >=virtual/jdk-1.6
37         test? (
38                 dev-java/junit:4
39         )"
40
41 RDEPEND="
42         ${CDEPEND}
43         >=virtual/jre-1.6"
44
45 DOCS=(
46         CHANGES.txt README.txt
47         NOTICE.txt CHANGES.txt
48         JRE_VERSION_MIGRATION.txt
49 )
50
51 # All tests fail with the following error:
52 # junit.framework.AssertionFailedError: ensure your setUp() calls super.setUp()!!!
53 RESTRICT="test"
54
55 src_prepare() {
56         default
57         java-pkg_clean
58         sed -i \
59                 -e '/-Xmax/ d' \
60                 common-build.xml || die
61
62         # FIXME: contrib builds do not work if junit not included
63         #java-pkg_jar-from --build-only --into lib \
64         #       junit-4 junit.jar junit-4.7.jar
65         java-pkg_jar-from --build-only --into lib \
66                 ant-core ant.jar ant-1.7.1.jar
67         java-pkg_jar-from --build-only --into lib \
68                 ant-junit ant-junit.jar ant-junit-1.7.1.jar
69
70         if use contrib; then
71           cd contrib/ || die
72           java-pkg_jar-from --build-only --into queries/lib \
73                 jakarta-regexp:1.4 jakarta-regexp.jar jakarta-regexpt-1.4.jar
74           java-pkg_jar-from --build-only --into benchmark/lib \
75                 commons-compress commons-compress.jar commons-compress-1.1.jar
76           java-pkg_jar-from --build-only --into benchmark/lib \
77                 commons-collections commons-collections.jar commons-collections-3.1.jar
78           java-pkg_jar-from --build-only --into benchmark/lib \
79                 commons-digester commons-digester.jar commons-digester-1.7.jar
80           java-pkg_jar-from --build-only --into benchmark/lib \
81                 commons-logging commons-logging.jar commons-logging-1.0.4.jar
82           java-pkg_jar-from --build-only --into benchmark/lib \
83                 commons-beanutils:1.7 commons-beanutils.jar commons-beanutils-1.7.0.jar
84         fi
85 }
86
87 src_prepare() {
88         default
89         java-pkg_clean
90         sed -i \
91                 -e '/-Xmax/ d' \
92                 -e '/property="ivy.available"/s,resource="${ivy.resource}",file="." type="dir",g' \
93                 -e '/<ivy:retrieve/d' \
94                 common-build.xml || die
95         mkdir -p {.,queries,benchmark,analyzers/phonetic}/lib || die
96         java-pkg_jar-from --build-only --into lib \
97                 ant-core ant.jar ant-1.7.1.jar
98         java-pkg_jar-from --build-only --into lib \
99                 ant-junit ant-junit.jar ant-junit-1.7.1.jar
100         java-pkg_jar-from --build-only --into lib \
101                 ant-ivy:2
102         java-pkg_jar-from --build-only --into lib \
103                 junit-4 junit.jar junit-4.10.jar
104         java-pkg_jar-from --build-only --into lib \
105                 hamcrest-core
106
107         # Always needed anyway
108         cd "${S}"/test-framework/ || die
109         java-pkg_jar-from --build-only --into lib \
110                 ant-core ant.jar ant-1.7.1.jar
111         java-pkg_jar-from --build-only --into lib \
112                 ant-junit ant-junit.jar ant-junit-1.7.1.jar
113         java-pkg_jar-from --build-only --into lib \
114                 junit-4 junit.jar junit-4.10.jar
115         java-pkg_jar-from --build-only --into lib \
116                 hamcrest-core
117
118         if use contrib; then
119             cd "${S}"/contrib/ || die
120                 # queries
121             java-pkg_jar-from --build-only --into queries/lib \
122                 jakarta-regexp:1.4 jakarta-regexp.jar jakarta-regexp-1.4.jar
123                 # benchmark
124             java-pkg_jar-from --build-only --into benchmark/lib \
125                 commons-compress commons-compress.jar commons-compress-1.1.jar
126             java-pkg_jar-from --build-only --into benchmark/lib \
127                 commons-collections commons-collections.jar commons-collections-3.1.jar
128             java-pkg_jar-from --build-only --into benchmark/lib \
129                 commons-digester commons-digester.jar commons-digester-1.7.jar
130             java-pkg_jar-from --build-only --into benchmark/lib \
131                 commons-logging commons-logging.jar commons-logging-1.0.4.jar
132             java-pkg_jar-from --build-only --into benchmark/lib \
133                 commons-beanutils:1.7 commons-beanutils.jar commons-beanutils-1.7.0.jar
134                 # analyzers/phonetic
135             java-pkg_jar-from --build-only --into analyzers/phonetic/lib \
136                 commons-codec commons-codec.jar commons-codec-1.6.jar
137         fi
138 }
139
140 src_compile() {
141         # FIXME: docs do not build if behind a proxy, -autoproxy does not work
142         java-ant_xml-rewrite -f common-build.xml \
143                 -c -e javadoc \
144                 -a failonerror \
145                 -v "false"
146
147         ANT_TASKS="none" \
148                 eant -Dversion=${PV} \
149                 -Dfailonjavadocwarning=false \
150                 jar-core \
151                 $(use_doc javadocs-core)
152
153         if use contrib; then
154                 ANT_TASKS="none" \
155                         eant -Dversion=${PV} \
156                         -Dfailonjavadocwarning=false \
157                         build-contrib \
158                         $(use_doc javadocs-all)
159         fi
160 }
161
162 src_test() {
163         # FIXME: test does not get run, even when selected
164         java-ant_rewrite-classpath common-build.xml
165         EANT_GENTOO_CLASSPATH="junit-4 ant-core ant-junit" \
166                 ANT_TASKS="ant-junit" \
167                 eant test-core
168 }
169
170 src_install() {
171         einstalldocs
172         java-pkg_newjar build/core/${PN}-core-${PV}.jar ${PN}-core.jar
173
174         if use contrib; then
175                 local i j
176                 for i in $(find build/contrib -name \*-${PV}.jar); do
177                     j=${i##*/}
178                         java-pkg_newjar $i ${j%%-${PV}.jar}.jar
179                 done
180         fi
181         if use doc; then
182                 dodoc -r docs
183                 java-pkg_dohtml -r build/docs/api
184         fi
185         if use source; then
186              java-pkg_dosrc core/src/java/org
187                  use contrib && java-pkg_dosrc contrib
188         fi
189 }