From 45af47af4cbccf7ad2f6c4c694da55e46fcecaf8 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Mon, 23 Jul 2018 17:30:19 +0200 Subject: [PATCH 1/3] Fixes #1225 [core] Error in sed expression on line 82 of run.sh while detecting installed version of Java --- docs/pages/release_notes.md | 2 ++ pmd-dist/src/main/scripts/run.sh | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 23bf24e76d..1e00fa6dca 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -33,6 +33,8 @@ This is a minor release. ### Fixed Issues +* core + * [#1225](https://github.com/pmd/pmd/issues/1225): \[core] Error in sed expression on line 82 of run.sh while detecting installed version of Java * doc * [#1215](https://github.com/pmd/pmd/issues/1215): \[doc] TOC links don't work? * java-codestyle diff --git a/pmd-dist/src/main/scripts/run.sh b/pmd-dist/src/main/scripts/run.sh index fcd9f0cb18..96e03bad77 100755 --- a/pmd-dist/src/main/scripts/run.sh +++ b/pmd-dist/src/main/scripts/run.sh @@ -76,7 +76,11 @@ check_lib_dir() { jre_specific_vm_options() { # java_ver is eg "18" for java 1.8, "90" for java 9.0, "100" for java 10.0.x - java_ver=$(java -version 2>&1 | sed -n -e 's/-ea/.0.0/i' -e 's/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p') + java_ver=$(echo $full_ver | sed -n '{ + s/-ea/.0.0/i # replace early access versions, e.g. 11-ea with 11.0.0 + s/version "\([0-9]\+\)"/version "\1.0.0"/i # replace versions such as 10 with 10.0.0 + s/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p # extract the major and minor parts of the version + }') options="" if [ "$java_ver" -ge 90 ] && [ "${APPNAME}" = "designer" ] From 2a39c7a4d053a8c23f41aac1eb5179549614a5af Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Sat, 28 Jul 2018 12:31:15 +0200 Subject: [PATCH 2/3] Fix sed script to be MacOSX compatible --- pmd-dist/src/main/scripts/run.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pmd-dist/src/main/scripts/run.sh b/pmd-dist/src/main/scripts/run.sh index 96e03bad77..8397f31dc8 100755 --- a/pmd-dist/src/main/scripts/run.sh +++ b/pmd-dist/src/main/scripts/run.sh @@ -77,10 +77,13 @@ check_lib_dir() { jre_specific_vm_options() { # java_ver is eg "18" for java 1.8, "90" for java 9.0, "100" for java 10.0.x java_ver=$(echo $full_ver | sed -n '{ - s/-ea/.0.0/i # replace early access versions, e.g. 11-ea with 11.0.0 - s/version "\([0-9]\+\)"/version "\1.0.0"/i # replace versions such as 10 with 10.0.0 - s/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p # extract the major and minor parts of the version - }') + # replace early access versions, e.g. 11-ea with 11.0.0 + s/-ea/.0.0/ + # replace versions such as 10 with 10.0.0 + s/version "\([0-9]\{1,\}\)"/version "\1.0.0"/ + # extract the major and minor parts of the version + s/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p + }') options="" if [ "$java_ver" -ge 90 ] && [ "${APPNAME}" = "designer" ] From 167cb97337760fe0f8168ef3dc7a2f42d1a2ed21 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Sun, 29 Jul 2018 11:26:27 +0200 Subject: [PATCH 3/3] Fix missing full_ver in run.sh --- pmd-dist/src/main/scripts/run.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pmd-dist/src/main/scripts/run.sh b/pmd-dist/src/main/scripts/run.sh index 8397f31dc8..5cd03fb76a 100755 --- a/pmd-dist/src/main/scripts/run.sh +++ b/pmd-dist/src/main/scripts/run.sh @@ -75,6 +75,7 @@ check_lib_dir() { } jre_specific_vm_options() { + full_ver=$(java -version 2>&1) # java_ver is eg "18" for java 1.8, "90" for java 9.0, "100" for java 10.0.x java_ver=$(echo $full_ver | sed -n '{ # replace early access versions, e.g. 11-ea with 11.0.0