From b4aa01a60f8438271bab827b29715de90146d306 Mon Sep 17 00:00:00 2001 From: Gobbo Alexandre Date: Wed, 9 Oct 2019 14:08:54 +0200 Subject: [PATCH] Initial commit --- pshell | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100755 pshell diff --git a/pshell b/pshell new file mode 100755 index 0000000..436579a --- /dev/null +++ b/pshell @@ -0,0 +1,138 @@ +#!/bin/bash + + + +#Parse JVM arguments, Pshell version and JEP option +export PSHELL_VER=default +export JVM_ARGS= +#export JAVA_VER=/opt/gfa/java/openjdk-1.8.0_40 +#export JAVA_VER=/opt/gfa/java/jdk1.8.0_72 +export JAVA_VER=/opt/gfa/java/openjdk-12_32 +#export JEP= + +for i in "$@" +do +case $i in + -jvmarg=*) + JVM_ARGS="${i#*=}" + #echo 'JVM args:' ${JVM_ARGS} + shift + ;; + + -version=*|--version=*) + export PSHELL_VER="${i#*=}" + echo "Using version " ${PSHELL_VER} + #shift + ;; + + -test) + export PSHELL_VER=testing + echo "Using testing version" + #shift + ;; + + -last) + export PSHELL_VER=latest + echo "Using latest version" + #shift + ;; + + -javaver=*|--javaver=*) + export JAVA_VER="${i#*=}" + echo "Using java version " ${JAVA_VER} + #shift + ;; + +# -py2) +# JEP=2 +# echo "Setting Python 2 for JEP" +# shift +# ;; + +# -py3) +# JEP=3 +# echo "Setting Python 3 for JEP" +# shift +# ;; + + *) # unknown option + ;; +esac +done + +#echo $@ + +#Parse Pshell version +#if [[ $@ == **-test** ]] ; then +# echo "Using testing version" +# export PSHELL_VER=testing +#else +# if [[ $@ == **-last** ]] ; then +# echo "Using latest version" +# export PSHELL_VER=latest +# fi +#fi + + +export JVM_EARGS= + + +#Standard startup +if [[ $@ != **-py** ]] ; then +#if [[ $JEP == "" ]] ; then + ${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -jar /opt/gfa/pshell/${PSHELL_VER} $@ + exit +fi + + +#Using JEP +#First clean path and vars +#unset JCPDS_PATH +#unset XRF_PEAK_LIBRARY +unset PYTHONPATH +CLEAN_PATH="" +for p in $(echo $PATH | sed 's/:/ /g') ; do + if [[ $p =~ ^.*/opt/gfa/python.*$ ]] ; then + echo 'Remove from path' $p + else + if [ "$CLEAN_PATH" == "" ] ; then + CLEAN_PATH=$p + else + CLEAN_PATH=$CLEAN_PATH:$p + fi + fi +done + +if [[ $@ == **-py3** ]] ; then + #Python 3 + echo "Setting Python 3 for JEP" + #export PYTHONHOME=/opt/gfa/pshell/python/anaconda3 + #export PYTHONHOME=/exchange/tmp/pshell/python/anaconda3 + #export PYTHONHOME=/exchange/tmp/pshell/python/latest + export PYTHONHOME=/opt/gfa/python-3.5/latest + #export JEP_JAR=${PYTHONHOME}/lib/python3.5/site-packages/jep/jep-3.6.1.jar + export JEP_JAR=${PYTHONHOME}/lib/python3.5/site-packages/jep/jep-3.6.3.jar + #TODO: Check why had to set library I compiled myself + #export LD_LIBRARY_PATH=${PYTHONHOME}/lib/python3.5/site-packages/jep + #export LD_LIBRARY_PATH=/opt/gfa/python-3.5/latest/lib:/opt/gfa/pshell/python/jep/py3 + + #${PYTHONHOME}/lib is for OpenJDK + export LD_LIBRARY_PATH=${PYTHONHOME}/lib:/opt/gfa/pshell/python/jep/py3 + export LD_PRELOAD=${PYTHONHOME}/lib/libpython3.5m.so +else + #Python 2 + echo "Setting Python 2 for JEP" + export PYTHONHOME=/exchange/tmp/pshell/python/anaconda2 + export LD_LIBRARY_PATH=${PYTHONHOME}/lib/python2.7/site-packages/jep + export JEP_JAR=${PYTHONHOME}/lib/python2.7/site-packages/jep/jep-3.5.3.jar +fi + +#If starting with -cp the options in PShell manifest fle are not executed: must be don by command line +if [[ $JAVA_VER != *"1.8.0"* ]]; then + #echo 'Java > 1.8' + 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 + +export PATH=${PYTHONHOME}/bin:$CLEAN_PATH +${JAVA_VER}/bin/java ${JVM_EARGS} ${JVM_ARGS} -cp /opt/gfa/pshell/${PSHELL_VER}:${JEP_JAR} ch.psi.pshell.ui.App $@ +