diff --git a/0008-compatible-for-version-1.8.patch b/0008-compatible-for-version-1.8.patch new file mode 100644 index 0000000000000000000000000000000000000000..72a64b1f14b83242e62bf9ca311f81a0270a5d1f --- /dev/null +++ b/0008-compatible-for-version-1.8.patch @@ -0,0 +1,89 @@ +From bfe732cf53ad19c9a8e6db3af595e728cf2bacfa Mon Sep 17 00:00:00 2001 +From: wang--ge +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 + diff --git a/0009-add-parameter-check-for-grape-define.patch b/0009-add-parameter-check-for-grape-define.patch new file mode 100644 index 0000000000000000000000000000000000000000..7b65e4d7b6f2a67863b3a8a52fd0d04d50bca60e --- /dev/null +++ b/0009-add-parameter-check-for-grape-define.patch @@ -0,0 +1,39 @@ +From 696538030dcf6ba670cb1dd8f9d762d860aac01c Mon Sep 17 00:00:00 2001 +From: wang--ge +Date: Thu, 14 Mar 2024 11:19:28 +0800 +Subject: [PATCH] asd + +--- + .../org/codehaus/groovy/tools/GrapeMain.groovy | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy +index 0a1843d..528e8ed 100644 +--- a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy ++++ b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy +@@ -348,10 +348,18 @@ if (cmd.hasOption('v')) { + return + } + +- +-cmd.getOptionValues('D')?.each {String prop -> +- def (k, v) = prop.split ('=', 2) as List // array multiple assignment quirk +- System.setProperty(k, v ?: "") ++if (cmd.hasOption('D')) { ++ cmd.getOptionValues('D')?.each {String prop -> ++ while (prop.startsWith("=")) { ++ prop = prop.substring(1, prop.length()); ++ } ++ def (k, v) = prop.split ('=', 2) as List // array multiple assignment quirk ++ if (k.isEmpty() || v.isEmpty()) { ++ println "one system property's name or value is emply, skip." ++ } else { ++ System.setProperty(k, v ?: "") ++ } ++ } + } + + String[] arg = cmd.args +-- +2.33.0 + diff --git a/groovy.spec b/groovy.spec index f9141e23d0a498b427d0dc835f50e3a95ddee2c3..dc2b0dbb057a78672a4fdf02ad4cf61fd86653c2 100644 --- a/groovy.spec +++ b/groovy.spec @@ -1,6 +1,6 @@ Name: groovy Version: 2.4.8 -Release: 11 +Release: 13 Summary: Dynamic language for the Java Platform License: ASL 2.0 and BSD-3-Clause and EPL-1.0 and Public Domain and ANTLR-PD and MIT URL: http://groovy-lang.org @@ -19,6 +19,8 @@ Patch5: 0006-Disable-artifactory-publish.patch Patch6: 0007-Fix-missing-extension-definitions.patch Patch7: CVE-2020-17521.patch Patch8: Speed-up-class-loading-of-groovy-all-files.patch +Patch9: 0008-compatible-for-version-1.8.patch +Patch10: 0009-add-parameter-check-for-grape-define.patch BuildRequires: gradle-local >= 2.1-0.9 javapackages-local java-devel >= 1.8 ant antlr-tool ant-antlr BuildRequires: aqute-bnd gpars multiverse apache-parent testng jline apache-commons-cli apache-commons-beanutils @@ -191,6 +193,12 @@ EOF %doc LICENSE NOTICE README.adoc %changelog +* Wed Mar 13 2024 Ge Wang - 2.4.8-13 +- Add parameter check for grape define + +* Tue Feb 20 2024 Ge Wang - 2.4.8-12 +- Compatible adapter for version 1.8 + * Tue May 10 2022 xu_ping - 2.4.8-11 - License compliance rectification