summaryrefslogtreecommitdiff
blob: a96812d2e95f14c900483ee4da0918112409eb4a (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=2
JAVA_PKG_IUSE="doc source test"

inherit eutils java-pkg-2 java-ant-2

DESCRIPTION="StatSVN generates HTML reports from SVN repository logs"
HOMEPAGE="http://www.statsvn.org/"
SRC_URI="mirror://sourceforge/${PN}/${P}-source.zip"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

COMMON_DEPEND="
	>=dev-vcs/statcvs-0.5:0
	>=dev-java/backport-util-concurrent-3.1:0
	dev-java/jcommon:1.0
	dev-java/jfreechart:1.0"

DEPEND=">=virtual/jdk-1.4
	app-arch/unzip
	test? ( dev-java/junit:0 )
	${COMMON_DEPEND}"

RDEPEND=">=virtual/jre-1.4
	>=dev-vcs/subversion-1.3.0
	dev-java/xerces:2
	${COMMON_DEPEND}"

EANT_GENTOO_CLASSPATH="statcvs,backport-util-concurrent,jcommon-1.0,jfreechart-1.0"
EANT_BUILD_TARGET="dist"
JAVA_ANT_CLASSPATH_TAGS="javac java javadoc"
JAVA_ANT_REWRITE_CLASSPATH="true"

java_prepare() {
	ebegin "Removing bundled jars."
	find . -name "*.jar" -delete
	eend
	ebegin "Removing prebuilt classses."
	find . -name "*.class" -delete
	rm -r "${S}"/bin/*
	eend
	epatch "${FILESDIR}"/${PN}-0.4.1-build.xml.patch
}

src_test() {
	ewarn "Note that the tests require you to be online."
	eant -Dgentoo.classpath=$(java-pkg_getjars ${EANT_GENTOO_CLASSPATH}):$(java-pkg_getjars --build-only junit) test
}

src_install() {
	java-pkg_dojar dist/${PN}.jar

	# jfreechart pulls in gnu-jaxp which doesn't work for statsvn so we need
	# to force another SAXParserFactory and DocumentBuilderFactory
	java-pkg_register-dependency xerces-2
	java-pkg_dolauncher statsvn --main net.sf.statsvn.Main \
		--java_args '-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl'

	use doc && java-pkg_dojavadoc doc
	use source && java-pkg_dosrc src/*
}

pkg_postinst() {
	elog "For instractions on how to use StatSVN see"
	elog "http://svn.statsvn.org/statsvnwiki/index.php/Main_Page"
	elog "You need to regenerate statistics"
	elog "if you update dev-java/jtreemap"
}