diff options
Diffstat (limited to 'dev-java/junit/junit-4.11.ebuild')
-rw-r--r-- | dev-java/junit/junit-4.11.ebuild | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/dev-java/junit/junit-4.11.ebuild b/dev-java/junit/junit-4.11.ebuild new file mode 100644 index 000000000000..deba38725578 --- /dev/null +++ b/dev-java/junit/junit-4.11.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# WARNING: JUNIT.JAR IS _NOT_ SYMLINKED TO ANT-CORE LIB FOLDER AS JUNIT3 IS + +EAPI="5" + +JAVA_PKG_IUSE="doc examples source test" + +inherit java-pkg-2 java-ant-2 + +DESCRIPTION="Simple framework to write repeatable tests" +SRC_URI="mirror://github/${PN}-team/${PN}/${PN}${PV}.zip" +HOMEPAGE="http://www.junit.org/" + +LICENSE="CPL-1.0" +SLOT="4" + +KEYWORDS="amd64 ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" + +CDEPEND="dev-java/hamcrest-core:1.3" + +RDEPEND=">=virtual/jre-1.5 + ${CDEPEND}" + +DEPEND=">=virtual/jdk-1.5 + userland_GNU? ( >=sys-apps/findutils-4.3 ) + ${CDEPEND}" + +S="${WORKDIR}/${PN}${PV}" + +EANT_BUILD_TARGET="jars samples-and-tests" + +src_unpack() { + default + + # Unpack the source JAR. + mkdir -p "${S}/src/main/java" "${S}/src/test/java" \ + || die "Unable to create source directories" + + pushd "${S}/src/main/java" > /dev/null + jar xf "${S}/${P}-src.jar" || die "Unable to unpack sources." + popd >/dev/null + + # Copy the Gentoo manifest to the working directory. + cp "${FILESDIR}/gentoo-manifest.mf" "${S}" || die +} + +java_prepare() { + epatch "${FILESDIR}"/${P}-do-not-unpack-hamcrest-sources.patch + + mkdir lib || die + java-pkg_jar-from --into lib hamcrest-core{-1.3,.jar,-1.3.jar} + + # Fix javadoc compilation. + if use doc ; then + cp "${S}"/javadoc/stylesheet.css "${S}" \ + || die "Unable to copy Javdoc stylesheet" + fi + + # Remove binary and other generated files. + rm -rf javadoc temp.hamcrest.source *.jar \ + || die "Unable to clean generated files." + find . -name "*.class" -delete \ + || die "Unable to remove distributed class files" + + # Let Ant know where its hamcrest went. + EANT_EXTRA_ARGS="-Dhamcrestlib=$(java-pkg_getjars hamcrest-core-1.3)" + + # Add Gentoo manifest information to generated JAR files. + java-ant_xml-rewrite -f build.xml -c \ + -e jar -a manifest -v "gentoo-manifest.mf" +} + +src_test() { + mkdir classes || die "Unable to create build directory for tests." + + local cp=$(java-pkg_getjars hamcrest-core-1.3):"${S}"/target/main + + ejavac -classpath ${cp} \ + -d classes $(find org/junit/internal -name "*.java") + ejavac -classpath ${cp}:"${S}/classes" \ + -d classes $(find junit/tests org/junit/tests -name "*.java") + + java -classpath ${cp}:classes \ + org.junit.runner.JUnitCore junit.tests.AllTests || die "Tests failed." +} + +src_install() { + java-pkg_newjar ${PN}${PV}-SNAPSHOT/${PN}-dep-${PV}-SNAPSHOT.jar + dodoc README.html doc/ReleaseNotes${PV}.txt + + use examples && java-pkg_doexamples org/junit/samples + use source && java-pkg_dosrc src/main/java/org src/main/java/junit + + if use doc; then + dohtml -r doc/* + java-pkg_dojavadoc ${PN}${PV}-SNAPSHOT/javadoc + fi +} |