You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-java/junit/junit-4.10.ebuild

87 lines
2.4 KiB

# 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="3"
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/KentBeck/${PN}/${PN}${PV}.zip"
HOMEPAGE="http://www.junit.org/"
LICENSE="CPL-1.0"
SLOT="4"
KEYWORDS="~amd64 ~arm ~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"
IUSE=""
CDEPEND="dev-java/hamcrest-core:0"
RDEPEND=">=virtual/jre-1.5
${CDEPEND}"
DEPEND=">=virtual/jdk-1.5
${CDEPEND}"
S="${WORKDIR}/${PN}${PV}"
EANT_BUILD_TARGET="jars"
src_unpack() {
default
# Unpack 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 Gentoo manifest to working directory
cp "${FILESDIR}/gentoo-manifest.mf" "${S}" || die
}
java_prepare() {
# 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)"
# 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):${S}/${PN}${PV}/${PN}-dep-${PV}.jar
ejavac -classpath ${cp} -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}/${PN}-dep-${PV}.jar
dodoc README.html doc/ReleaseNotes${PV}.txt || die
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}/javadoc
fi
}