From bfe732cf53ad19c9a8e6db3af595e728cf2bacfa Mon Sep 17 00:00:00 2001
From: wang--ge <wang__ge@126.com>
Date: Mon, 5 Feb 2024 09:56:34 +0800
Subject: [PATCH] compatible for version 1.8

---
 src/bin/startGroovy | 45 +++++++++++++++++++++++++++++++--------------
 1 file changed, 31 insertions(+), 14 deletions(-)

diff --git a/src/bin/startGroovy b/src/bin/startGroovy
index 36d6edd..9fcccc4 100644
--- a/src/bin/startGroovy
+++ b/src/bin/startGroovy
@@ -28,7 +28,6 @@
 ## $Revision$
 ## $Date$
 ##
-
 PROGNAME=`basename "$0"`
 
 #DIRNAME=`dirname "$0"`
@@ -150,7 +149,6 @@ fi
 if [ -z "$GROOVY_CONF" ] ; then
     GROOVY_CONF="$GROOVY_HOME/conf/groovy-starter.conf"
 fi
-STARTER_CLASSPATH="$GROOVY_HOME/lib/@GROOVYJAR@"
 
 # Create the final classpath. Setting a classpath using the -cp or -classpath option means not to use the
 # global classpath. Groovy behaves then the same as the java interpreter
@@ -162,6 +160,11 @@ else
     CP=.
 fi
 
+STARTER_CLASSPATH="$GROOVY_HOME/lib/@GROOVYJAR@"
+if [ ${GROOVY_VERSION} == "1.8" ];then
+  STARTER_CLASSPATH="/usr/share/java/groovy-1.8.jar:$CP"
+fi
+
 # Determine the Java command to use to start the JVM.
 if [ -z "$JAVACMD" ] ; then
     if [ -n "$JAVA_HOME" ] ; then
@@ -283,18 +286,32 @@ startGroovy ( ) {
     if $useprofiler ; then
         runProfiler
     else
-        eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
-            -classpath "\"\$STARTER_CLASSPATH\"" \
-            -Dscript.name="\"\$SCRIPT_PATH\"" \
-            -Dprogram.name="\"\$PROGNAME\"" \
-            -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
-            -Dgroovy.home="\"\$GROOVY_HOME\"" \
-            -Dtools.jar="\"\$TOOLS_JAR\"" \
-            $STARTER_MAIN_CLASS \
-            --main $CLASS \
-            --conf "\"\$GROOVY_CONF\"" \
-            --classpath "\"\$CP\"" \
-            "\"\$@\""
+        if [ ${GROOVY_VERSION} == "1.8" ];then
+          eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
+              -classpath "\"\$STARTER_CLASSPATH\"" \
+              -Dscript.name="\"\$SCRIPT_PATH\"" \
+              -Dprogram.name="\"\$PROGNAME\"" \
+              -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
+              -Dgroovy.home="\"\$GROOVY_HOME\"" \
+              -Dtools.jar="\"\$TOOLS_JAR\"" \
+              $STARTER_MAIN_CLASS \
+              --main $CLASS \
+              --conf "\"\$GROOVY_CONF\"" \
+              "\"\$@\""
+        else
+          eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
+              -classpath "\"\$STARTER_CLASSPATH\"" \
+              -Dscript.name="\"\$SCRIPT_PATH\"" \
+              -Dprogram.name="\"\$PROGNAME\"" \
+              -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
+              -Dgroovy.home="\"\$GROOVY_HOME\"" \
+              -Dtools.jar="\"\$TOOLS_JAR\"" \
+              $STARTER_MAIN_CLASS \
+              --main $CLASS \
+              --conf "\"\$GROOVY_CONF\"" \
+              --classpath "\"\$CP\"" \
+              "\"\$@\""
+        fi
     fi
 }
 
-- 
2.33.0

