summaryrefslogtreecommitdiff
path: root/eclass/java-utils-2.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
committerV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
commit752d6256e5204b958b0ef7905675a940b5e9172f (patch)
tree330d16e6362a49cbed8875a777fe641a43376cd3 /eclass/java-utils-2.eclass
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'eclass/java-utils-2.eclass')
-rw-r--r--eclass/java-utils-2.eclass94
1 files changed, 49 insertions, 45 deletions
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 2a649942550c..5b4783f350f2 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -43,21 +43,6 @@ has test ${JAVA_PKG_IUSE} && RESTRICT+=" !test? ( test )"
JAVA_PKG_E_DEPEND=">=dev-java/java-config-2.2.0-r3"
has source ${JAVA_PKG_IUSE} && JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} source? ( app-arch/zip )"
-# @ECLASS_VARIABLE: JAVA_PKG_WANT_BOOTCLASSPATH
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The version of bootclasspath the package needs to work. Translates to a proper
-# dependency. The bootclasspath can then be obtained by java-ant_rewrite-bootclasspath
-if [[ -n "${JAVA_PKG_WANT_BOOTCLASSPATH}" ]]; then
- if [[ "${JAVA_PKG_WANT_BOOTCLASSPATH}" == "1.5" ]]; then
- JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} >=dev-java/gnu-classpath-0.98-r1:0.98"
- else
- eerror "Unknown value of JAVA_PKG_WANT_BOOTCLASSPATH"
- # since die in global scope doesn't work, this will make repoman fail
- JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} BAD_JAVA_PKG_WANT_BOOTCLASSPATH"
- fi
-fi
-
# @ECLASS_VARIABLE: JAVA_PKG_ALLOW_VM_CHANGE
# @DESCRIPTION:
# Allow this eclass to change the active VM?
@@ -76,9 +61,9 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
#
# Should only be used for testing and debugging.
#
-# Example: use sun-jdk-1.5 to emerge foo:
+# Example: use openjdk-11 to emerge foo:
# @CODE
-# JAVA_PKG_FORCE_VM=sun-jdk-1.5 emerge foo
+# JAVA_PKG_FORCE_VM=openjdk-11 emerge foo
# @CODE
# @ECLASS_VARIABLE: JAVA_PKG_WANT_BUILD_VM
@@ -103,9 +88,9 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
#
# Should generally only be used for testing and debugging.
#
-# Use 1.4 source to emerge baz
+# Use 1.8 source to emerge baz
# @CODE
-# JAVA_PKG_WANT_SOURCE=1.4 emerge baz
+# JAVA_PKG_WANT_SOURCE=1.8 emerge baz
# @CODE
# @ECLASS_VARIABLE: JAVA_PKG_WANT_TARGET
@@ -118,9 +103,9 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
#
# Should generally only be used for testing and debugging.
#
-# emerge bar to be compatible with 1.3
+# emerge bar to be compatible with 1.8
# @CODE
-# JAVA_PKG_WANT_TARGET=1.3 emerge bar
+# JAVA_PKG_WANT_TARGET=1.8 emerge bar
# @CODE
# @ECLASS_VARIABLE: JAVA_TEST_EXTRA_ARGS
@@ -139,6 +124,20 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
# )
# @CODE
+# @ECLASS-VARIABLE: JAVA_TEST_RUNNER_EXTRA_ARGS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Array of extra arguments that should be passed to the test runner when running tests.
+# It is useful when you need to pass an extra argument to the test runner.
+#
+# It is used only when running tests.
+#
+# @CODE
+# JAVA_TEST_RUNNER_EXTRA_ARGS=(
+# -verbose 3
+# )
+# @CODE
+
# @ECLASS_VARIABLE: JAVA_PKG_DEBUG
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -1373,7 +1372,7 @@ java-pkg_register-environment-variable() {
# @DESCRIPTION:
# Returns classpath of a given bootclasspath-providing package version.
#
-# @param $1 - the version of bootclasspath (e.g. 1.5), 'auto' for bootclasspath
+# @param $1 - the version of bootclasspath (e.g. 1.8), 'auto' for bootclasspath
# of the current JDK
java-pkg_get-bootclasspath() {
local version="${1}"
@@ -1383,9 +1382,6 @@ java-pkg_get-bootclasspath() {
auto)
bcp="$(java-config -g BOOTCLASSPATH)"
;;
- 1.5)
- bcp="$(java-pkg_getjars --build-only gnu-classpath-0.98)"
- ;;
*)
eerror "unknown parameter of java-pkg_get-bootclasspath"
die "unknown parameter of java-pkg_get-bootclasspath"
@@ -1807,8 +1803,18 @@ ejunit_() {
if [[ "${junit}" == "junit-4" ]] ; then
runner=org.junit.runner.JUnitCore
fi
- debug-print "Calling: java -cp \"${cp}\" -Djava.io.tmpdir=\"${T}\" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner} ${@}"
- java -cp "${cp}" -Djava.io.tmpdir="${T}/" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner} "${@}" || die "Running junit failed"
+
+ local args=(
+ -cp ${cp}
+ -Djava.io.tmpdir="${T}"
+ -Djava.awt.headless=true
+ ${JAVA_TEST_EXTRA_ARGS[@]}
+ ${runner}
+ ${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
+ ${@}
+ )
+ debug-print "Calling: java ${args[@]}"
+ java "${args[@]}" || die "Running junit failed"
}
# @FUNCTION: ejunit
@@ -1886,12 +1892,21 @@ etestng() {
tests+="${test},"
done
- debug-print "java -cp \"${cp}\" -Djava.io.tmpdir=\"${T}\""\
- "-Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner}"\
- "-usedefaultlisteners false -testclass ${tests}"
- java -cp "${cp}" -Djava.io.tmpdir=\"${T}\" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]}\
- ${runner} -usedefaultlisteners false -testclass ${tests}\
- || die "Running TestNG failed."
+ local args=(
+ -cp ${cp}
+ -Djava.io.tmpdir="${T}"
+ -Djava.awt.headless=true
+ ${JAVA_TEST_EXTRA_ARGS[@]}
+ ${runner}
+ ${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
+ )
+
+ [[ ! "${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}" =~ "-usedefaultlisteners" ]] && args+=( -usedefaultlisteners false )
+
+ args+=( -testclass ${tests} )
+
+ debug-print "java ${args[@]}"
+ java ${args[@]} || die "Running TestNG failed."
}
# @FUNCTION: java-utils-2_src_prepare
@@ -2547,20 +2562,9 @@ java-pkg_setup-vm() {
debug-print-function ${FUNCNAME} $*
local vendor="$(java-pkg_get-vm-vendor)"
- if [[ "${vendor}" == "sun" ]] && java-pkg_is-vm-version-ge "1.5" ; then
- addpredict "/dev/random"
- elif [[ "${vendor}" == "ibm" ]]; then
- addpredict "/proc/self/maps"
- addpredict "/proc/cpuinfo"
- addpredict "/proc/self/coredump_filter"
- elif [[ "${vendor}" == "oracle" ]]; then
- addpredict "/dev/random"
- addpredict "/proc/self/coredump_filter"
- elif [[ "${vendor}" == icedtea* ]] && java-pkg_is-vm-version-ge "1.7" ; then
+ if [[ "${vendor}" == icedtea* ]] && java-pkg_is-vm-version-ge "1.8" ; then
addpredict "/dev/random"
addpredict "/proc/self/coredump_filter"
- elif [[ "${vendor}" == "jrockit" ]]; then
- addpredict "/proc/cpuinfo"
fi
}