summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/testng/testng-6.8-r3.ebuild')
-rw-r--r--dev-java/testng/testng-6.8-r3.ebuild98
1 files changed, 98 insertions, 0 deletions
diff --git a/dev-java/testng/testng-6.8-r3.ebuild b/dev-java/testng/testng-6.8-r3.ebuild
new file mode 100644
index 000000000000..83f523f9ea6e
--- /dev/null
+++ b/dev-java/testng/testng-6.8-r3.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc examples source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Testing framework introducing some new functionalities that make it more powerful and easier to use"
+HOMEPAGE="http://testng.org/"
+SRC_URI="http://${PN}.org/${P}.zip"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+CDEPEND="
+ dev-java/bsh:0
+ dev-java/guice:2
+ dev-java/junit:4
+ dev-java/ant-core:0
+ dev-java/jcommander:0
+ dev-java/snakeyaml:1.9"
+
+DEPEND=">=virtual/jdk-1.6
+ app-arch/zip
+ ${CDEPEND}"
+
+RDEPEND=">=virtual/jre-1.6
+ ${CDEPEND}"
+
+JAVA_ANT_CLASSPATH_TAGS+=" testng javadocs-current"
+JAVA_PKG_BSFIX_NAME="build.xml build-tests.xml"
+JAVA_ANT_REWRITE_CLASSPATH="true"
+JAVA_ANT_ENCODING="ISO-8859-1"
+
+EANT_GENTOO_CLASSPATH="ant-core,bsh,guice-2,jcommander,junit-4,snakeyaml-1.9"
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH}"
+
+EANT_BUILD_TARGET="build"
+EANT_TEST_TARGET="tests"
+EANT_DOC_TARGET="javadocs"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-remove-ivy-retrieve.patch
+ "${FILESDIR}"/${P}-remove-jar-bundling.patch
+)
+
+# Error: A JNI error has occurred, please check your installation and try again.
+RESTRICT="test"
+
+java_prepare() {
+ java-pkg_clean
+
+ cp "${FILESDIR}"/${P}-build-tests.xml build-tests.xml || die
+
+ epatch "${PATCHES[@]}"
+
+ # Removal of tests that break due to restrictions or environment expectations:
+ # ServiceLoaderTest - Breaks due absolute URL load that Portage prevents;
+ # we assume the underlying functionality to work, as
+ # the underlying functionality is simple and should
+ # show the usage of this package to break.
+ sed -i '/test.serviceloader.ServiceLoaderTest/d' src/test/resources/testng.xml || die
+
+ # TrueParallelTest - Doesn't always work, especially not on a system
+ # under load; since this could fail during parallel
+ # emerges, we assume the underlying functionality to
+ # work as it has definitely succeeded under lower load.
+ sed -i '/test.thread.TrueParallelTest/d' src/test/resources/testng.xml || die
+
+ mkdir lib || die
+}
+
+src_test() {
+ java-pkg-2_src_test
+
+ local tests_file="target/test-output/index.html"
+
+ if [[ ! -f ${tests_file} ]] ; then
+ die "Tests failed, test output does not exist; a problem with starting the tests."
+ fi
+
+ grep 'method-stats.*failed' target/test-output/index.html > /dev/null && \
+ die "Tests failed; one or more test failed, see ${tests_file} for more details."
+}
+
+src_install() {
+ java-pkg_newjar target/${P}.jar
+ java-pkg_dolauncher ${PN} --main org.testng.TestNG
+ java-pkg_register-ant-task
+
+ use doc && java-pkg_dojavadoc javadocs
+ use examples && java-pkg_doexamples examples
+ use source && java-pkg_dosrc src/main/java/{org,com}
+}