mirror of
https://github.com/dokku/dokku.git
synced 2025-12-25 16:29:30 +01:00
45 lines
1.2 KiB
Bash
Executable File
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 "$@"
|