| # Copyright 1999-2016 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 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 |
| } |