mirror of
https://github.com/rdk/p2rank.git
synced 2026-06-04 12:44:24 +08:00
add JVM compatibility flags to run scripts, document all flags
This commit is contained in:
10
build.gradle
10
build.gradle
@@ -113,10 +113,14 @@ test {
|
||||
maxHeapSize = "2g"
|
||||
|
||||
// JVM flags for test compatibility with Java 17+
|
||||
jvmArgs '--add-opens=java.base/java.nio=ALL-UNNAMED', // Apache Arrow memory access
|
||||
'--enable-native-access=ALL-UNNAMED' // zstd-jni native loading
|
||||
// --add-opens: required by Apache Arrow and Netty for direct memory access via sun.misc.Unsafe
|
||||
// --enable-native-access: required by zstd-jni for native library loading
|
||||
jvmArgs '--add-opens=java.base/java.nio=ALL-UNNAMED',
|
||||
'--enable-native-access=ALL-UNNAMED'
|
||||
// --sun-misc-unsafe-memory-access: suppresses warnings from parquet-hadoop CleanUtil
|
||||
// which uses sun.misc.Unsafe (upstream unfixed). Only available in Java 23+.
|
||||
if (JavaVersion.current() >= JavaVersion.VERSION_23) {
|
||||
jvmArgs '--sun-misc-unsafe-memory-access=allow' // parquet-hadoop CleanUtil (upstream unfixed)
|
||||
jvmArgs '--sun-misc-unsafe-memory-access=allow'
|
||||
}
|
||||
|
||||
inputs.dir "$distroDir/test_data"
|
||||
|
||||
21
distro/prank
21
distro/prank
@@ -5,13 +5,6 @@
|
||||
#
|
||||
export JAVA_OPTS="$JAVA_OPTS -Xmx2048m"
|
||||
|
||||
#
|
||||
# Required for Apache Arrow memory access on Java 17+
|
||||
#
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.nio=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED"
|
||||
|
||||
#
|
||||
# Set this to change the Java installation that will be used to run the program:
|
||||
#
|
||||
@@ -38,5 +31,19 @@ else
|
||||
JAVACMD="java"
|
||||
fi
|
||||
|
||||
# JVM flags for compatibility with Java 17+
|
||||
# --add-opens: required by Apache Arrow and Netty for direct memory access via sun.misc.Unsafe
|
||||
# --enable-native-access: required by zstd-jni for native library loading
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.nio=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --enable-native-access=ALL-UNNAMED"
|
||||
|
||||
# --sun-misc-unsafe-memory-access: suppresses warnings from parquet-hadoop CleanUtil
|
||||
# which uses sun.misc.Unsafe (upstream unfixed). Only available in Java 23+.
|
||||
JAVA_MAJOR_VERSION=$("$JAVACMD" -version 2>&1 | head -1 | sed 's/.*"\([0-9]*\).*/\1/')
|
||||
if [ "$JAVA_MAJOR_VERSION" -ge 23 ] 2>/dev/null; then
|
||||
export JAVA_OPTS="$JAVA_OPTS --sun-misc-unsafe-memory-access=allow"
|
||||
fi
|
||||
|
||||
"$JAVACMD" $JAVA_OPTS -cp "${CLASSPATH}" cz.siret.prank.program.Main "$@"
|
||||
|
||||
23
prank.sh
23
prank.sh
@@ -16,12 +16,6 @@
|
||||
export JAVA_OPTS="$JAVA_OPTS"
|
||||
export JAVA_OPTS="$JAVA_OPTS $JAVA_LOCALENV_PARAMS"
|
||||
|
||||
# Required for Apache Arrow memory access on Java 17+
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.nio=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED"
|
||||
|
||||
|
||||
THIS_SCRIPT_DIR_REL_PATH="$( dirname "${BASH_SOURCE[0]}" )"
|
||||
export POCKET_RANK_BASE_DIR="$THIS_SCRIPT_DIR_REL_PATH/distro"
|
||||
|
||||
@@ -41,13 +35,24 @@ else
|
||||
JAVACMD="java"
|
||||
fi
|
||||
|
||||
# JVM flags for compatibility with Java 17+
|
||||
# --add-opens: required by Apache Arrow and Netty for direct memory access via sun.misc.Unsafe
|
||||
# --enable-native-access: required by zstd-jni for native library loading
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.nio=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED"
|
||||
export JAVA_OPTS="$JAVA_OPTS --enable-native-access=ALL-UNNAMED"
|
||||
|
||||
# --sun-misc-unsafe-memory-access: suppresses warnings from parquet-hadoop CleanUtil
|
||||
# which uses sun.misc.Unsafe (upstream unfixed). Only available in Java 23+.
|
||||
JAVA_MAJOR_VERSION=$("$JAVACMD" -version 2>&1 | head -1 | sed 's/.*"\([0-9]*\).*/\1/')
|
||||
if [ "$JAVA_MAJOR_VERSION" -ge 23 ] 2>/dev/null; then
|
||||
export JAVA_OPTS="$JAVA_OPTS --sun-misc-unsafe-memory-access=allow"
|
||||
fi
|
||||
|
||||
PARAMS="$PRANK_LOCALENV_PARAMS"
|
||||
|
||||
|
||||
#CMD="$JAVACMD $JAVA_OPTS -cp ${CLASSPATH} cz.siret.prank.program.Main ${PARAMS} $@"
|
||||
#echo "+" $CMD
|
||||
|
||||
"$JAVACMD" $JAVA_OPTS -cp "${CLASSPATH}" cz.siret.prank.program.Main ${PARAMS} "$@"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user