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.
82 lines
2.5 KiB
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
|
|
}
|