Gentoo Archives: gentoo-commits

From: Patrice Clement <monsieurp@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/jdom/
Date: Thu, 27 Aug 2015 09:24:36
Message-Id: 1440671065.a454bc9baa8794a3aaa4e86f0bc30473cf9982da.monsieurp@gentoo
1 commit: a454bc9baa8794a3aaa4e86f0bc30473cf9982da
2 Author: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
3 AuthorDate: Thu Aug 27 10:22:58 2015 +0000
4 Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 27 10:24:25 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a454bc9b
7
8 dev-java/jdom: rework src_test function and the whole tests handling reasoning.
9
10 Package-Manager: portage-2.2.18
11 Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>
12
13 dev-java/jdom/jdom-2.0.6-r3.ebuild | 118 +++++++++++++++++++++++++++++++++++++
14 1 file changed, 118 insertions(+)
15
16 diff --git a/dev-java/jdom/jdom-2.0.6-r3.ebuild b/dev-java/jdom/jdom-2.0.6-r3.ebuild
17 new file mode 100644
18 index 0000000..be6ed0e
19 --- /dev/null
20 +++ b/dev-java/jdom/jdom-2.0.6-r3.ebuild
21 @@ -0,0 +1,118 @@
22 +# Copyright 1999-2015 Gentoo Foundation
23 +# Distributed under the terms of the GNU General Public License v2
24 +# $Id$
25 +
26 +EAPI=5
27 +JAVA_PKG_IUSE="source test doc"
28 +
29 +inherit java-pkg-2 java-pkg-simple
30 +
31 +DESCRIPTION="Java API to manipulate XML data"
32 +SRC_URI="http://www.jdom.org/dist/binary/${P}.zip"
33 +HOMEPAGE="http://www.jdom.org"
34 +LICENSE="JDOM"
35 +SLOT="2"
36 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
37 +
38 +CDEPEND="
39 + test? (
40 + dev-java/junit:4
41 + )
42 + dev-java/xalan:0
43 + dev-java/jaxen:1.1
44 + dev-java/iso-relax:0
45 + dev-java/xml-commons-external:1.4"
46 +RDEPEND=">=virtual/jre-1.6
47 + ${CDEPEND}"
48 +DEPEND=">=virtual/jdk-1.6
49 + app-arch/unzip
50 + ${CDEPEND}"
51 +IUSE=""
52 +
53 +S="${WORKDIR}"
54 +
55 +JAVA_GENTOO_CLASSPATH="xalan,jaxen-1.1,iso-relax,xml-commons-external-1.4"
56 +JAVA_SRC_DIR="org"
57 +
58 +# Dubious tests:
59 +# They either do not pass or don't have runnable methods (i.e. tests)
60 +UNIT_TESTS=(
61 + org/jdom2/test/cases/input/sax/TestXMLReaderSAX2Factory.java
62 + org/jdom2/test/cases/input/sax/TestXMLReaderSingletons.java
63 + org/jdom2/test/cases/input/sax/TestXMLReaderXSDFactory.java
64 + org/jdom2/test/cases/input/sax/TestXMLReaderJAXPFactory.java
65 + org/jdom2/test/cases/input/sax/TestXMLReaderSchemaFactory.java
66 + org/jdom2/test/cases/input/TestSAXComplexSchema.java
67 + org/jdom2/test/cases/input/TestSAXBuilder.java
68 + org/jdom2/test/cases/input/TestSAXHandler.java
69 + org/jdom2/test/cases/input/TestDOMBuilder.java
70 + org/jdom2/test/cases/input/TestDTDParser.java
71 + org/jdom2/test/cases/input/TestJDOMParseExceptn.java
72 + org/jdom2/test/cases/input/TestStAXEventBuilder.java
73 + org/jdom2/test/cases/input/TestBuilderErrorHandler.java
74 + org/jdom2/test/cases/input/TestStAXStreamBuilder.java
75 + org/jdom2/test/cases/input/HelpTestDOMBuilder.java
76 + org/jdom2/test/cases/special/TestIssue008ExpandEntity.java
77 + org/jdom2/test/cases/located/TestLocatedJDOMFactory.java
78 + org/jdom2/test/cases/xpath/TestJaxenXPathHelper.java
79 + org/jdom2/test/cases/xpath/TestDefaultXPathHelper.java
80 +)
81 +
82 +src_unpack() {
83 + default
84 + cd "${S}"
85 + unpack ./"${P}-sources".jar
86 +}
87 +
88 +java_prepare() {
89 + find "${S}"/lib -type f -delete || die
90 + if use test; then
91 + JAVA_GENTOO_CLASSPATH+=",junit-4"
92 + else
93 + # Override the array with different files.
94 + UNIT_TESTS=(
95 + org/jdom2/test
96 + org/jdom2/Test*.java
97 + org/jdom2/contrib/android/TranslateTests.java
98 + org/jdom2/input/sax/TestTextBuffer.java
99 + )
100 + fi
101 +
102 + rm -rf "${UNIT_TESTS[@]}" || die
103 +}
104 +
105 +src_compile() {
106 + java-pkg-simple_src_compile
107 +}
108 +
109 +src_install() {
110 + java-pkg-simple_src_install
111 + use source && java-pkg_dosrc org
112 +}
113 +
114 +src_test() {
115 + local DIR="org/jdom2/test"
116 + local CP="${DIR}:${PN}.jar:$(java-pkg_getjars junit-4,${JAVA_GENTOO_CLASSPATH})"
117 + local TESTS=()
118 +
119 + while read -d $'\0' -r file; do
120 + basefile=$(basename ${file})
121 + {
122 + # Skip if starts with Abstract
123 + [[ ${basefile} =~ ^Abstract ]] || \
124 + # Skip if doesn't starts with Test
125 + [[ ! ${basefile} =~ ^Test ]] || \
126 + # Skip if doesn't end with the .java extension
127 + [[ ! ${basefile} =~ \.java$ ]]
128 + } && continue
129 + TESTS+=(${file})
130 + done < <(find "${DIR}" -type f -print0)
131 +
132 + # Turn ${TESTS[@}} array into a string
133 + TESTS="${TESTS[@]}"
134 + TESTS="${TESTS//src\/test\/java\/}"
135 + TESTS="${TESTS//.java}"
136 + TESTS="${TESTS//\//.}"
137 +
138 + ejunit4 -classpath "${CP}" ${TESTS}
139 +}