summaryrefslogtreecommitdiff
path: root/dev-java/apache-rat/apache-rat-0.15.ebuild
blob: 278f8ba410cf976456f727fdb721f6c2b2fbbf4c (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

# javadoc is broken for java 17, see https://bugs.gentoo.org/914458
JAVA_PKG_IUSE="doc source test"
MAVEN_PROVIDES="
	org.apache.rat:apache-rat-core:${PV}
	org.apache.rat:apache-rat-tasks:${PV}
"
JAVA_TESTING_FRAMEWORKS="junit-4"

inherit java-pkg-2 java-pkg-simple verify-sig

DESCRIPTION="Apache Rat is a release audit tool, focused on licenses"
HOMEPAGE="https://creadur.apache.org/rat/"
SRC_URI="mirror://apache//creadur/${P}/${P}-src.tar.bz2
	verify-sig? ( https://archive.apache.org/dist/creadur/${P}/${P}-src.tar.bz2.asc )"
S="${WORKDIR}/${P}"

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

CP_DEPEND="
	dev-java/ant-core:0
	dev-java/commons-cli:1
	dev-java/commons-collections:4
	dev-java/commons-compress:0
	dev-java/commons-io:1
	dev-java/commons-lang:3.6
"

DEPEND="${CP_DEPEND}
	>=virtual/jdk-1.8:*
	test? ( dev-java/ant-testutil:0 )"
RDEPEND="${CP_DEPEND}
	>=virtual/jre-1.8:*"

BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-creadur )"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/creadur.apache.org.asc"

DOCS=( NOTICE README.md README.txt RELEASE-NOTES.txt RELEASE_NOTES.txt )

PATCHES=( "${FILESDIR}/apache-rat-0.15-fix-tests.patch" )

src_prepare() {
	default #780585
	java-pkg-2_src_prepare
}

src_compile() {
	einfo "Compiling apache-rat-core.jar"
	JAVA_JAR_FILENAME="${PN}-core.jar"
	JAVA_RESOURCE_DIRS="${PN}-core/src/main/resources"
	JAVA_SRC_DIR="${PN}-core/src/main/java"
	java-pkg-simple_src_compile
	JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-core.jar"
	rm -r target || die

	einfo "Compiling apache-rat-tasks.jar"
	JAVA_JAR_FILENAME="${PN}-tasks.jar"
	JAVA_RESOURCE_DIRS="${PN}-tasks/src/main/resources"
	JAVA_SRC_DIR="${PN}-tasks/src/main/java"
	java-pkg-simple_src_compile
	JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-tasks.jar"
	rm -r target || die

	# javadoc is broken for java 17, see https://bugs.gentoo.org/914458
	if use doc; then
		einfo "Compiling javadocs"
		ejavadoc \
			-verbose \
			-classpath "$(java-pkg_getjars \
				--build-only ant-core)":"$(java-pkg_getjars \
				--build-only commons-cli-1)":"$(java-pkg_getjars \
				--build-only commons-collections-4)":"$(java-pkg_getjars \
				--build-only commons-compress):$(java-pkg_getjars \
				--build-only commons-io-1):$(java-pkg_getjars \
				--build-only commons-lang-3.6)" \
			-sourcepath "${PN}-core/src/main/java:${PN}-tasks/src/main/java" \
			-d javadoc -subpackages org.apache.rat org.apache.rat.anttasks
	fi
}

src_test() {
	JAVA_TEST_GENTOO_CLASSPATH="ant-testutil,junit-4"

	einfo "Testing apache-rat-core"
	cp -r "${PN}"-core/src/{main,test} src || die
	JAVA_TEST_RESOURCE_DIRS="src/test/resources"
	JAVA_TEST_SRC_DIR="src/test/java"
	java-pkg-simple_src_test
	rm -r src/{main,test} || die

	einfo "Testing apache-rat-tasks"
	cp -r "${PN}"-tasks/src/{main,test} src || die
	mkdir -p target/it-sources || die
	JAVA_TEST_RESOURCE_DIRS="src/test/resources"
	JAVA_TEST_SRC_DIR="src/test/java"
	java-pkg-simple_src_test
}

src_install() {
	java-pkg_dojar "${PN}-core.jar"
	java-pkg_dojar "${PN}-tasks.jar"
	java-pkg_dolauncher "${PN}" --main org.apache.rat.Report

	use doc && java-pkg_dojavadoc javadoc

	if use source; then
		java-pkg_dosrc "${PN}-core/src/main/java/*"
		java-pkg_dosrc "${PN}-tasks/src/main/java/*"
	fi
}