This is an automated email from the ASF dual-hosted git repository. dongjoon pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-3.0 by this push: new 9690d9f [SPARK-31462][INFRA] The usage of getopts and case statement is wrong in do-release.sh 9690d9f is described below commit 9690d9feb090f6b72fc36d120f1baf3dc3de367e Author: Kousuke Saruta <saru...@oss.nttdata.com> AuthorDate: Thu Apr 16 12:54:10 2020 -0700 [SPARK-31462][INFRA] The usage of getopts and case statement is wrong in do-release.sh ### What changes were proposed in this pull request? This PR (SPARK-31462) fixes the usage of getopts and case statement in `do-release.sh` and `do-release-docker.sh`. ### Why are the changes needed? In the current master, do-release.sh contains the following code. ``` while getopts "bn" opt; do case $opt in b) GIT_BRANCH=$OPTARG ;; n) DRY_RUN=1 ;; ?) error "Invalid option: $OPTARG" ;; esac done ``` There are 3 wrong usage in getopts and case statement. 1. To set $OPTARG to an argument passed for the option "b", the parameter for getopts should be "b:". 2. To set $OPTARG to the invalid option name passed, the parameter for getopts starts with ":". 3. It's minor but to match the character "?", it's better to escape like "\\?". ### Does this PR introduce any user-facing change? No. ### How was this patch tested? I checked that $GIT_BRANCH is set when do-release.sh is launched with -b option. I also checked that the error message contains invalid option name when do-release.sh is launched with an invalid option. Closes #28234 from sarutak/fix-do-release. Authored-by: Kousuke Saruta <saru...@oss.nttdata.com> Signed-off-by: Dongjoon Hyun <dongj...@apache.org> (cherry picked from commit 2921be7a4e17b45591c25873a55fb286599b0fd7) Signed-off-by: Dongjoon Hyun <dongj...@apache.org> --- dev/create-release/do-release-docker.sh | 4 ++-- dev/create-release/do-release.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/create-release/do-release-docker.sh b/dev/create-release/do-release-docker.sh index 4a003d7..2f794c0 100755 --- a/dev/create-release/do-release-docker.sh +++ b/dev/create-release/do-release-docker.sh @@ -54,7 +54,7 @@ WORKDIR= IMGTAG=latest JAVA= RELEASE_STEP= -while getopts "d:hj:ns:t:" opt; do +while getopts ":d:hj:ns:t:" opt; do case $opt in d) WORKDIR="$OPTARG" ;; n) DRY_RUN=1 ;; @@ -62,7 +62,7 @@ while getopts "d:hj:ns:t:" opt; do j) JAVA="$OPTARG" ;; s) RELEASE_STEP="$OPTARG" ;; h) usage ;; - ?) error "Invalid option. Run with -h for help." ;; + \?) error "Invalid option. Run with -h for help." ;; esac done diff --git a/dev/create-release/do-release.sh b/dev/create-release/do-release.sh index f1d4f3a..4f18a55 100755 --- a/dev/create-release/do-release.sh +++ b/dev/create-release/do-release.sh @@ -20,11 +20,11 @@ SELF=$(cd $(dirname $0) && pwd) . "$SELF/release-util.sh" -while getopts "bn" opt; do +while getopts ":b:n" opt; do case $opt in b) GIT_BRANCH=$OPTARG ;; n) DRY_RUN=1 ;; - ?) error "Invalid option: $OPTARG" ;; + \?) error "Invalid option: $OPTARG" ;; esac done --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org