Files
dokku/plugins/plugin/subcommands/update
2021-04-16 01:00:53 -04:00

45 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_AVAILABLE_PATH/plugin/internal-functions"
cmd-plugin-update() {
declare desc="updates plugin to optional committish and calls update plugin trigger via command line"
declare cmd="plugin:update"
[[ "$1" == "$cmd" ]] && shift 1
declare PLUGIN="$1" PLUGIN_COMMITTISH="$2"
if [[ -n "$PLUGIN" ]]; then
if ! fn-is-valid-plugin "$PLUGIN"; then
dokku_log_fail "Invalid plugin name specified"
fi
if ! fn-plugin-enabled "$PLUGIN"; then
dokku_log_fail "Specified plugin not enabled or installed"
fi
if fn-is-core-plugin "$PLUGIN"; then
dokku_log_fail "Cannot trigger plugin:update against core plugin, please update Dokku instead"
fi
plugn update "$PLUGIN" "$PLUGIN_COMMITTISH"
else
pushd "$PLUGIN_ENABLED_PATH" >/dev/null
for PLUGIN in *; do
if [[ -d "${PLUGIN}" ]]; then
if fn-is-core-plugin "${PLUGIN}"; then
continue
fi
plugn update "$PLUGIN"
fi
done
popd &>/dev/null || pushd "/tmp" >/dev/null
fi
plugn trigger update
plugin_prime_bash_completion
}
cmd-plugin-update "$@"