summaryrefslogtreecommitdiff
blob: ed209747cf882073617971e9bfc53642462ffe0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=4

JAVA_PKG_IUSE="doc source test"

inherit eutils java-pkg-2

DESCRIPTION="An easy-to-use Java logging toolkit designed for secure, performance-oriented logging"
HOMEPAGE="http://avalon.apache.org/"
SRC_URI="mirror://apache/avalon/logkit/source/logkit-${PV}-src.tar.gz"

LICENSE="Apache-1.1"
SLOT="1.2"
IUSE=""
KEYWORDS="amd64 ppc64 x86 ~x86-fbsd"

COMMON_DEP="
	dev-java/avalon-framework:4.1
	dev-java/log4j:0
	java-virtuals/jaf:0
	java-virtuals/javamail:0
	java-virtuals/jms:0
	java-virtuals/servlet-api:2.5"
RDEPEND="${COMMON_DEP}
	>=virtual/jre-1.4"
DEPEND="${COMMON_DEP}
	>=virtual/jdk-1.4
	test? ( dev-java/junit:4 )"

S="${WORKDIR}/logkit-${PV}-dev"
SRC_DIR="${S}/src/java"
JAVADOC_DIR="${S}/javadoc"

java_prepare() {
	epatch "${FILESDIR}/${P}-java7.patch"
}

src_compile() {
	mkdir classes || die "Could not create compile output dir"

	ejavac \
		-encoding "ISO-8859-1" \
		-classpath $(java-pkg_getjars jaf,javamail,jms,log4j,servlet-api-2.5,avalon-framework-4.1) \
		-d classes $(find "${SRC_DIR}" -name "*.java") \
		|| die "Compilation failed"

	jar -cf "${S}/${PN}.jar" -C classes . || die "Could not create jar"

	#Generate javadoc
	if use doc ; then
		mkdir "${JAVADOC_DIR}" || die "Could not create javadoc dir"
		cd "${SRC_DIR}"
		javadoc \
			-encoding "ISO-8859-1" \
			-sourcepath "${SRC_DIR}" \
			-classpath $(java-pkg_getjars jaf,javamail,jms,log4j,servlet-api-2.5,avalon-framework-4.1) \
			-source "${JAVA_VERSION}" \
			-d "${JAVADOC_DIR}" \
			$(find "org/apache/log" -type d | tr '/' '.') \
			|| die "Could not create javadoc"
	fi
}

src_test() {
	mkdir test-classes || die "Unable to make dir"
	local TESTJAR="avalon-logkit-test.jar"

	ejavac \
		-encoding "ISO-8859-1" \
		-classpath "avalon-logkit.jar:$(java-config -p junit-4)" \
		-d test-classes \
		$(find src/test -name '*.java')

	jar -cf "${TESTJAR}" -C test-classes .

	java -cp "avalon-logkit.jar:${TESTJAR}:$(java-config -p junit:4)" \
		org.junit.runner.JUnitCore org.apache.log.format.test.FormatterTestCase \
		org.apache.log.output.test.RevolvingFileStrategyTestCase \
		org.apache.log.output.test.OutputTargetTestCase \
		org.apache.log.output.test.DBTargetTestCase \
		org.apache.log.util.test.UtilTestCase \
		org.apache.log.test.LoggerListenerTestCase \
		org.apache.log.test.WrappingTargetTestCase \
		org.apache.log.test.InheritanceTestCase
}

src_install() {
	java-pkg_dojar "${PN}.jar"
	use doc && java-pkg_dojavadoc "${JAVADOC_DIR}"
	use source && java-pkg_dosrc "${SRC_DIR}/*"
}