blob: 7e5fae568cf001104c616a9951651355d73c677e (
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
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=9
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
JAVACC_SLOT="8"
DESCRIPTION="A small embeddable Java source interpreter"
HOMEPAGE="https://github.com/beanshell/beanshell"
SRC_URI="https://github.com/beanshell/beanshell/archive/${PV/_rc/RC}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/beanshell-${PV/_rc/RC}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64"
DEPEND="
dev-java/javacc:${JAVACC_SLOT}
dev-java/javacc-java:${JAVACC_SLOT}
>=virtual/jdk-1.8:*
test? (
dev-java/hamcrest-core:1.3
dev-java/hamcrest-library:1.3
>=dev-java/jmh-core-1.37:0
)
"
RDEPEND=">=virtual/jre-1.8:*"
DOCS=( {CHANGES,HISTORY,MIGRATION,README}.md NOTICE )
# src/main/java/bsh/Interpreter.java:1100: error: invalid use of a restricted identifier 'yield'
JAVADOC_ARGS="-source 8"
# JAVA_GENTOO_CLASSPATH="asm"
JAVA_LAUNCHER_FILENAME="bsh-console"
JAVA_MAIN_CLASS="bsh.Console"
JAVA_RESOURCE_DIRS="src/main/resources"
# Attempts to unbundle asm would cause some test failures.
# JAVA_SRC_DIR=( src/main/java -type f ! -path '*/objectweb/*' ) # unbundle asm
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_EXCLUDES=(
mypackage.ReflectTest # Invalid
bsh.TestFilter # Invalid
bsh.TestUtil # Invalid
# All 3 tests of of following test-class fail
bsh.SharedInterpreterEvalConcurrencyTest
)
JAVA_TEST_GENTOO_CLASSPATH="hamcrest-core-1.3 hamcrest-library-1.3 jmh-core junit-4"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_SRC_DIR="src/test/java"
src_prepare() {
java-pkg-2_src_prepare
cat <<- VERSION > src/main/resources/bsh/version.properties || die "version.properties"
build=1234
release=${PV/_rc/RC}
VERSION
# sed \
# -i -e 's:bsh.org.objectweb.asm:org.objectweb.asm:' \
# src/main/java/bsh/BshLambda.java \
# src/main/java/bsh/ClassGeneratorUtil.java \
# src/test/java/bsh/BshLambdaClassLoadingTest.java \
# src/test/java/bsh/ClassLifecycleConcurrencyTest.java \
# src/test/java/bsh/ReflectTest.java
local CP="$(java-pkg_getjars --build-only javacc-${JAVACC_SLOT},javacc-java-${JAVACC_SLOT})"
"$(java-config -J)" -cp "${CP}" org.javacc.jjtree.Main \
-JJTREE_OUTPUT_DIRECTORY="jjtree-out" \
"src/main/jjtree/bsh.jjt" || die "jjtree"
"$(java-config -J)" -cp "${CP}" org.javacc.parser.Main \
-OUTPUT_DIRECTORY="javacc-out" \
jjtree-out/bsh.jj || die "javacc"
cp --update=none -v jjtree-out/*.java src/main/java/bsh || die
cp --update=none -v javacc-out/*.java src/main/java/bsh || die
# This test ramdomly fails or passes.
# Settings accoding to pom.xml, line 292, don't help.
# JAVA_TEST_EXTRA_ARGS="-Xmx1000M -Xms500M" # pom.xml, line 292
rm -v src/test/resources/test-scripts/trycatch_ome.bsh || die
}
src_install() {
# use source && JAVA_SRC_DIR=( src/main/java )
java-pkg-simple_src_install
# The eclass installs only the main launcher.
java-pkg_dolauncher "${PN}-interpreter" --main bsh.Interpreter
}
|