You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.5 KiB
63 lines
1.5 KiB
#!/bin/sh
|
|
##
|
|
## Copyright (c) 2015 The WebM project authors. All Rights Reserved.
|
|
##
|
|
## Use of this source code is governed by a BSD-style license
|
|
## that can be found in the LICENSE file in the root of the source
|
|
## tree. An additional intellectual property rights grant can be found
|
|
## in the file PATENTS. All contributing project authors may
|
|
## be found in the AUTHORS file in the root of the source tree.
|
|
##
|
|
set -e
|
|
devnull='> /dev/null 2>&1'
|
|
|
|
readonly ORIG_PWD="$(pwd)"
|
|
|
|
elog() {
|
|
echo "${0##*/} failed because: $@" 1>&2
|
|
}
|
|
|
|
vlog() {
|
|
if [ "${VERBOSE}" = "yes" ]; then
|
|
echo "$@"
|
|
fi
|
|
}
|
|
|
|
# Terminates script when name of current directory does not match $1.
|
|
check_dir() {
|
|
current_dir="$(pwd)"
|
|
required_dir="$1"
|
|
if [ "${current_dir##*/}" != "${required_dir}" ]; then
|
|
elog "This script must be run from the ${required_dir} directory."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Terminates the script when $1 is not in $PATH. Any arguments required for
|
|
# the tool being tested to return a successful exit code can be passed as
|
|
# additional arguments.
|
|
check_tool() {
|
|
tool="$1"
|
|
shift
|
|
tool_args="$@"
|
|
if ! eval "${tool}" ${tool_args} > /dev/null 2>&1; then
|
|
elog "${tool} must be in your path."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Echoes git describe output for the directory specified by $1 to stdout.
|
|
git_describe() {
|
|
git_dir="$1"
|
|
check_git
|
|
echo $(git -C "${git_dir}" describe)
|
|
}
|
|
|
|
# Echoes current git revision for the directory specifed by $1 to stdout.
|
|
git_revision() {
|
|
git_dir="$1"
|
|
check_git
|
|
echo $(git -C "${git_dir}" rev-parse HEAD)
|
|
}
|
|
|