Skip to content

Commit

Permalink
refactor OS X sed check into a util
Browse files Browse the repository at this point in the history
  • Loading branch information
roycaihw committed May 10, 2021
1 parent 02c4f7a commit 468115e
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 32 deletions.
21 changes: 4 additions & 17 deletions scripts/update-client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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"
Expand Down
18 changes: 3 additions & 15 deletions scripts/update-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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")"}
Expand Down
35 changes: 35 additions & 0 deletions scripts/util/common.sh
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 468115e

Please sign in to comment.