Merge pull request #1457 from roycaihw/refactor-sed-check

Refactor OS X sed check into a util
This commit is contained in:
Kubernetes Prow Robot 2021-05-10 13:23:36 -07:00 committed by GitHub
commit 04e62c676d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 32 deletions

View File

@ -24,22 +24,6 @@ set -o pipefail
# The openapi-generator version used by this client
export OPENAPI_GENERATOR_COMMIT="v4.3.0"
# OS X sed doesn't support "--version". This way we can tell if OS X sed is
# used.
if ! sed --version &>/dev/null; then
# OS X sed and GNU sed aren't compatible with backup flag "-i". Namely
# sed -i ... - does not work on OS X
# sed -i'' ... - does not work on certain OS X versions
# sed -i '' ... - does not work on GNU
echo ">>> OS X sed detected, which may be incompatible with this script. Please install and use GNU sed instead:
$ brew install gnu-sed
$ brew info gnu-sed
# Find the path to the installed gnu-sed and add it to your PATH. The default
# is:
# PATH=\"/Users/\$USER/homebrew/opt/gnu-sed/libexec/gnubin:\$PATH\""
exit 1
fi
SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")
CLIENT_ROOT="${SCRIPT_ROOT}/../kubernetes"
CLIENT_VERSION=$(python "${SCRIPT_ROOT}/constants.py" CLIENT_VERSION)
@ -50,11 +34,14 @@ pushd "${SCRIPT_ROOT}" > /dev/null
SCRIPT_ROOT=`pwd`
popd > /dev/null
source ${SCRIPT_ROOT}/util/common.sh
util::common::check_sed
pushd "${CLIENT_ROOT}" > /dev/null
CLIENT_ROOT=`pwd`
popd > /dev/null
TEMP_FOLDER=$(mktemp -d)
TEMP_FOLDER=$(mktemp -d)
trap "rm -rf ${TEMP_FOLDER}" EXIT SIGINT
SETTING_FILE="${TEMP_FOLDER}/settings"

View File

@ -31,27 +31,15 @@ set -o errexit
set -o nounset
set -o pipefail
# OS X sed doesn't support "--version". This way we can tell if OS X sed is
# used.
if ! sed --version &>/dev/null; then
# OS X sed and GNU sed aren't compatible with backup flag "-i". Namely
# sed -i ... - does not work on OS X
# sed -i'' ... - does not work on certain OS X versions
# sed -i '' ... - does not work on GNU
echo ">>> OS X sed detected, which may be incompatible with this script. Please install and use GNU sed instead:
$ brew install gnu-sed
$ brew info gnu-sed
# Find the path to the installed gnu-sed and add it to your PATH. The default
# is:
# PATH=\"/Users/\$USER/homebrew/opt/gnu-sed/libexec/gnubin:\$PATH\""
exit 1
fi
repo_root="$(git rev-parse --show-toplevel)"
declare -r repo_root
cd "${repo_root}"
source scripts/util/changelog.sh
source scripts/util/common.sh
util::common::check_sed
go get k8s.io/release/cmd/release-notes
TARGET_RELEASE=${TARGET_RELEASE:-"v$(grep "^CLIENT_VERSION = \"" scripts/constants.py | sed "s/CLIENT_VERSION = \"//g" | sed "s/\"//g")"}

35
scripts/util/common.sh Normal file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# Copyright 2021 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# check_sed returns an error and suggests installing GNU sed, if OS X sed is
# detected.
function util::common::check_sed {
# OS X sed doesn't support "--version". This way we can tell if OS X sed is
# used.
if ! sed --version &>/dev/null; then
# OS X sed and GNU sed aren't compatible with backup flag "-i". Namely
# sed -i ... - does not work on OS X
# sed -i'' ... - does not work on certain OS X versions
# sed -i '' ... - does not work on GNU
echo ">>> OS X sed detected, which may be incompatible with this script. Please install and use GNU sed instead:
$ brew install gnu-sed
$ brew info gnu-sed
# Find the path to the installed gnu-sed and add it to your PATH. The default
# is:
# PATH=\"/Users/\$USER/homebrew/opt/gnu-sed/libexec/gnubin:\$PATH\""
exit 1
fi
}