# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="5"
JAVA_PKG_IUSE="source test doc"

inherit java-pkg-2 java-ant-2

DESCRIPTION="Jansi is a small java library that allows you to use ANSI escape sequences in your console output"
HOMEPAGE="http://jansi.fusesource.org/"
SRC_URI="https://github.com/fusesource/${PN}/archive/${P}.zip"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ppc64 x86"

CDEPEND="dev-java/jansi-native:0"

DEPEND="${CDEPEND}
	test? (
		dev-java/ant-junit4:0
		dev-java/junit:4
	)
	>=virtual/jdk-1.6"

RDEPEND="${CDEPEND}
	>=virtual/jre-1.6"

S="${WORKDIR}/${PN}-${P}"

EANT_GENTOO_CLASSPATH="jansi-native"
JAVA_ANT_REWRITE_CLASSPATH="true"

java_prepare() {
	cp "${FILESDIR}"/${P}-build.xml build.xml || die
}

EANT_TEST_GENTOO_CLASSPATH="ant-junit4,junit-4"

src_test() {
	EANT_EXTRA_ARGS="-Djunit.present=true"
	java-pkg-2_src_test
}

src_install() {
	java-pkg_newjar "target/${P}.jar" "${PN}.jar"
	use source && java-pkg_dosrc src/main/java/org
	use doc && java-pkg_dojavadoc target/site/apidocs
}
