#!/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 "$@"