# 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" 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 }