From f95bfc55e06004f823359d333b405415b5124a8f Mon Sep 17 00:00:00 2001 From: Gobbo Date: Thu, 11 Sep 2025 15:04:41 +0200 Subject: [PATCH] Adapt startup script to support pshell v2 --- pshell | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pshell b/pshell index 9776aea..8d4716b 100755 --- a/pshell +++ b/pshell @@ -55,7 +55,8 @@ export VER_SUFFIX= export JVM_ARGS= export UCP= export JAVA_VER=/opt/gfa/java/openjdk-12_32 - +export MAIN_CLASS=ch.psi.pshell.ui.App +export COMMAND= # Collect remaining args safely REMAINING_ARGS="" @@ -90,6 +91,11 @@ while [ $# -gt 0 ]; do export JAVA_VER="${1#*=}" #echo "Using Java version $JAVA_VER" ;; + -command=*) + COMMAND="${1#*=}" + #echo "COMMAND: $COMMAND" + ;; + *) REMAINING_ARGS="$REMAINING_ARGS \"$1\"" ;; @@ -111,6 +117,7 @@ if [[ $PSHELL_VER != "default" ]] ; then echo "Using PShell version:" ${PSHELL_VER} fi + export JVM_EARGS= #If starting with -cp the options in PShell manifest fle are not executed: must be don by command line @@ -119,10 +126,19 @@ if [[ $JAVA_VER != *"1.8.0"* ]]; then export JVM_EARGS="--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.base/jdk.internal.loader=ALL-UNNAMED" fi +if [[ $PSHELL_VER == v2* ]]; then + MAIN_CLASS=ch.psi.pshell.App + JVM_EARGS="${JVM_EARGS} --enable-native-access=ALL-UNNAMED" + if [[ $JAVA_VER == "/opt/gfa/java/openjdk-12_32" ]]; then #If was not set, set default for v2 + JAVA_VER=/opt/gfa/java/jdk-24.0.1 + fi +fi + + #Standard startup if [[ $@ != **-py** || $VER_SUFFIX == "-light" ]] ; then if [[ $UCP == "" ]] ; then - ${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -jar /opt/gfa/pshell/${PSHELL_VER} "$@" + ${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -jar /opt/gfa/pshell/${PSHELL_VER} ${COMMAND} "$@" exit fi fi @@ -184,5 +200,5 @@ if [[ $UCP != "" ]] ; then fi export PATH=${PYTHONHOME}/bin:$CLEAN_PATH -${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -cp ${UCP}/opt/gfa/pshell/${PSHELL_VER}:${JEP_JAR} ch.psi.pshell.ui.App "$@" +${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -cp ${UCP}/opt/gfa/pshell/${PSHELL_VER}:${JEP_JAR} ${MAIN_CLASS} ${COMMAND} "$@"