media-gfx/splash-themes-livecd: Merge gentoo-functions use fix
[gentoo.git] / dev-java / testng / testng-6.9.10.ebuild
1 # Copyright 1999-2016 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI="5"
6
7 JAVA_PKG_IUSE="doc source"
8
9 inherit java-pkg-2 java-pkg-simple
10
11 DESCRIPTION="Testing framework inspired by JUnit and NUnit with new features"
12 HOMEPAGE="http://testng.org/"
13 SRC_URI="https://github.com/cbeust/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
14 LICENSE="Apache-2.0"
15 KEYWORDS="~amd64 ~x86"
16 SLOT="0"
17 IUSE="test"
18 RESTRICT="test" # Occasionally fail or run *REALLY* slowly.
19
20 CDEPEND="dev-java/bsh:0
21         dev-java/guice:4
22         dev-java/junit:4
23         dev-java/ant-core:0
24         dev-java/snakeyaml:0
25         dev-java/jcommander:0"
26
27 DEPEND="${CDEPEND}
28         >=virtual/jdk-1.7
29         test? ( dev-java/assertj-core:2 )"
30
31 RDEPEND="${CDEPEND}
32         >=virtual/jre-1.7"
33
34 S="${WORKDIR}/${P}"
35 JAVA_SRC_DIR="src/main/java"
36 JAVA_GENTOO_CLASSPATH="ant-core,bsh,guice-4,jcommander,junit-4,snakeyaml"
37
38 java_prepare() {
39         java-pkg_clean ! -path "./src/*"
40
41         cp -v src/generated/java/org/testng/internal/VersionTemplateJava \
42            src/main/java/org/testng/internal/Version.java || die
43 }
44
45 src_compile() {
46         java-pkg-simple_src_compile
47         java-pkg_addres ${PN}.jar src/main/resources
48 }
49
50 src_test() {
51         local DIR=src/test/java
52         local RES=src/test/resources
53         local CP=${PN}.jar:$(java-pkg_getjars --with-dependencies "${JAVA_GENTOO_CLASSPATH},assertj-core-2")
54
55         ejavac -cp "${CP}" -d ${DIR} $(find ${DIR} -name "*.java")
56         java -cp "${RES}:${DIR}:${CP}" -Dtest.resources.dir=${RES} org.testng.TestNG -listener test.invokedmethodlistener.MyListener src/test/resources/testng.xml || die
57 }
58
59 src_install() {
60         java-pkg-simple_src_install
61         java-pkg_dolauncher ${PN} --main org.testng.TestNG
62         java-pkg_register-ant-task
63
64         dodoc {ANNOUNCEMENT,CHANGES,TODO}.txt
65
66         if use doc; then
67                 docinto html
68                 dodoc -r doc
69         fi
70 }