summaryrefslogtreecommitdiff
blob: 6d6f07db4551a34da38150d41b19143a18af3f8e (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
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

JAVA_PKG_IUSE="doc source"

inherit java-pkg-2 java-pkg-simple prefix

DMF="R-${PV}-202211231800"

DESCRIPTION="Ant Compiler Adapter for Eclipse Java Compiler"
HOMEPAGE="https://www.eclipse.org/"
SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"

LICENSE="EPL-1.0"
KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux"
SLOT="4.26"
IUSE=""

CDEPEND="~dev-java/eclipse-ecj-${PV}:${SLOT}
	dev-java/ant-core:0"
# though technically both could be set to 1.8 and it would
# compile using jdk 11+, it would not compile using jdk 1.8
# because eclipse ecj has min jdk 11
RDEPEND="${CDEPEND}
	>=virtual/jre-11:*"
DEPEND="${CDEPEND}
	>=virtual/jdk-17:*"
BDEPEND="app-arch/unzip"

JAVA_GENTOO_CLASSPATH="ant-core,eclipse-ecj-${SLOT}"

src_prepare() {
	default

	# Remove everything but the Ant component.
	find org -type f ! -path "org/eclipse/jdt/internal/antadapter/*" ! -name "JDTCompilerAdapter.java" -delete || die

	rm build.xml || die
}

src_compile() {
	java-pkg-simple_src_compile
	find org -type f ! -name "*.java" | xargs jar uvf "${PN}.jar" || die "jar update failed"
}

src_install() {
	java-pkg-simple_src_install
	insinto /usr/share/java-config-2/compiler
	doins "${FILESDIR}/ecj-${SLOT}"
	eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
}