You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-java/mvel/mvel-2.3.2-r1.ebuild

82 lines
2.5 KiB

# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="org.mvel:mvel2:2.3.2.Final"
# Note: This package has a mixture of JUnit 3 and JUnit 4 tests, all of which
# can be run with JUnit 4. As of January 2022, JUnit 3 test launcher will only
# run 2 tests out of nearly 1100 JUnit 3 tests in total, whereas JUnit 4 test
# launcher can run all of them
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="MVFLEX Expression Language"
HOMEPAGE="https://github.com/mvel/mvel"
SRC_URI="https://github.com/mvel/mvel/archive/refs/tags/mvel2-${PV}.Final.tar.gz"
LICENSE="Apache-2.0"
SLOT="2.3"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
DEPEND="
>=virtual/jdk-1.8:*
"
RDEPEND="
>=virtual/jre-1.8:*
"
S="${WORKDIR}/${PN}-${PN}2-${PV}.Final"
JAVA_SRC_DIR="src/main/java"
# Required due to use of '_' as identifiers in source files
JAVADOC_ARGS="-source 8"
# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L131
JAVA_MAIN_CLASS="org.mvel2.sh.Main"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
JAVA_TEST_EXCLUDES=(
# No runnable methods
org.mvel2.tests.perftests.CompiledPerformanceTests
org.mvel2.tests.perftests.SimpleTests
org.mvel2.tests.core.MVELThreadTest
org.mvel2.tests.core.res.TestClass
org.mvel2.tests.core.res.TestInterface
org.mvel2.tests.core.res.TestMVEL197
org.mvel2.tests.templates.tests.res.TestPluginNode
)
# Significantly speed up test execution
# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L158-L171
JAVA_TEST_EXTRA_ARGS=(
-Dfile.encoding=UTF-8
-Dmvel.disable.jit=true
-Dmvel.tests.quick=true
)
pkg_setup() {
java-pkg-2_pkg_setup
# Fix org.mvel2.tests.core.PropertyAccessTests.testMVEL308 failure
# on Java 17, caused by java.lang.reflect.InaccessibleObjectException:
# module java.base does not "opens java.util" to unnamed module
# https://github.com/mvel/mvel/issues/282
ver_test "$(java-config -g PROVIDES_VERSION)" -ge 17 && \
JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
}
src_prepare() {
# Clean up bundled JARs "manually" to prevent
# removal of JARs under JAVA_TEST_RESOURCE_DIRS
rm -r lib/ || die "Failed to remove bundled JARs"
eapply "${FILESDIR}/${P}-update-supported-java-versions.patch"
eapply "${FILESDIR}/${P}-update-version-in-output.patch"
use test && eapply "${FILESDIR}/${P}-ignore-failing-tests.patch"
java-pkg-2_src_prepare
}