mirror of
https://github.com/containous/traefik.git
synced 2024-12-25 23:21:40 +03:00
b7daa2f3a4
Update traefik dependencies (docker/docker and related) - Update dependencies - Fix compilation problems - Remove vdemeester/docker-events (in docker api now) - Remove `integration/vendor` - Use `testImport` - update some deps. - regenerate the lock from scratch (after a `glide cc`)
112 lines
2.5 KiB
Bash
Executable File
112 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -o errexit
|
|
set -o pipefail
|
|
set -o nounset
|
|
|
|
####
|
|
### Helper script for glide[-vc] to handle specifics for the Traefik repo.
|
|
##
|
|
|
|
GLIDE_ARGS=()
|
|
GLIDE_VC_ARGS=(
|
|
'--use-lock-file' # `glide list` seems to miss test dependencies, e.g., github.com/mattn/go-shellwords
|
|
'--only-code'
|
|
'--no-tests'
|
|
)
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
readonly SCRIPT_DIR
|
|
readonly GLIDE_DIR="${SCRIPT_DIR}/.."
|
|
|
|
usage() {
|
|
echo "usage: $(basename "$0") install | update | get <package> | trim
|
|
install: Install all dependencies and trim the vendor folder afterwards (alternative command: i).
|
|
update: Update all dependencies and trim the vendor folder afterwards (alternative command: up).
|
|
get: Add a dependency and trim the vendor folder afterwards.
|
|
trim: Trim the vendor folder only, do not install or update dependencies.
|
|
|
|
The current working directory must contain a glide.yaml file." >&2
|
|
}
|
|
|
|
GLIDE_ARGS+=('--strip-vendor')
|
|
|
|
if ! type glide > /dev/null 2>&1; then
|
|
echo "glide not found in PATH." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! type glide-vc > /dev/null 2>&1; then
|
|
echo "glide-vc not found in PATH." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -e "${GLIDE_DIR}/glide.yaml" ]]; then
|
|
echo "no glide.yaml file found in the current working directory" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ $# -lt 1 ]]; then
|
|
echo "missing command" >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
readonly glide_command="$1"
|
|
shift
|
|
|
|
skip_glide_command=
|
|
case "${glide_command}" in
|
|
'install' | 'i')
|
|
if [[ $# -ne 0 ]]; then
|
|
echo "surplus parameters given" >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
;;
|
|
|
|
'update' | 'up')
|
|
if [[ $# -ne 0 ]]; then
|
|
echo "surplus parameters given" >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
;;
|
|
|
|
'get')
|
|
if [[ $# -ne 1 ]]; then
|
|
echo 'insufficient/surplus arguments given for "get" command' >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
GLIDE_ARGS+=("$1")
|
|
shift
|
|
;;
|
|
|
|
'trim')
|
|
if [[ $# -ne 0 ]]; then
|
|
echo "surplus parameters given" >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
skip_glide_command=yes
|
|
;;
|
|
|
|
*)
|
|
echo "unknown command: ${glide_command}" >&2
|
|
usage
|
|
exit 1
|
|
esac
|
|
readonly skip_glide_command
|
|
|
|
if [[ -z "${skip_glide_command}" ]]; then
|
|
# Use parameter substitution to account for an empty glide arguments array
|
|
# that would otherwise lead to an "unbound variable" error due to the nounset
|
|
# option.
|
|
GLIDE_ARGS=("${GLIDE_ARGS+"${GLIDE_ARGS[@]}"}")
|
|
echo "running: glide ${glide_command} ${GLIDE_ARGS[*]}"
|
|
glide ${glide_command} ${GLIDE_ARGS[*]}
|
|
fi
|
|
|
|
echo "trimming vendor folder using: glide-vc ${GLIDE_VC_ARGS[*]}"
|
|
glide-vc ${GLIDE_VC_ARGS[*]}
|