diff --git a/plugins/plugin/commands b/plugins/plugin/commands index d4eb6532772..a993454d6f5 100755 --- a/plugins/plugin/commands +++ b/plugins/plugin/commands @@ -17,7 +17,7 @@ case "$1" in ;; https:*|git:*) PLUGIN_GIT_URL="$2" - download_and_enable_plugin $PLUGIN_GIT_URL + download_and_enable_plugin "$PLUGIN_GIT_URL" "$3" plugn trigger install ;; *) @@ -37,7 +37,7 @@ case "$1" in case "$2" in https:*|git:*) PLUGIN_GIT_URL="$2" - download_and_enable_plugin $PLUGIN_GIT_URL + download_and_enable_plugin "$PLUGIN_GIT_URL" "$3" plugn trigger update ;; *) diff --git a/plugins/plugin/functions b/plugins/plugin/functions index a30c6dcc786..8ccb5a6ef0d 100755 --- a/plugins/plugin/functions +++ b/plugins/plugin/functions @@ -21,15 +21,17 @@ enable_plugin() { download_plugin() { local PLUGIN_GIT_URL="$1" - plugn install $PLUGIN_GIT_URL + local PLUGIN_NAME="$2" + plugn install "$PLUGIN_GIT_URL" "$PLUGIN_NAME" } download_and_enable_plugin() { local PLUGIN_GIT_URL="$1" - local PLUGIN_NAME=$(echo $PLUGIN_GIT_URL | awk -F '/' '{ print $NF }' | sed -e "s:.git::g") + local CUSTOM_NAME="$2" + local PLUGIN_NAME=${CUSTOM_NAME:-$(plugin_name "$PLUGIN_GIT_URL")} dokku_log_info1_quiet "Cloning plugin repo $PLUGIN_GIT_URL to $PLUGIN_AVAILABLE_PATH/$PLUGIN_NAME" - download_plugin $PLUGIN_GIT_URL - enable_plugin $PLUGIN_NAME + download_plugin "$PLUGIN_GIT_URL" "$PLUGIN_NAME" + enable_plugin "$PLUGIN_NAME" } uninstall_plugin() { @@ -39,3 +41,8 @@ uninstall_plugin() { plugn uninstall $PLUGIN_NAME dokku_log_info1_quiet "Plugin $PLUGIN uninstalled" } + +plugin_name() { + local PLUGIN_GIT_URL="$1" + echo "$PLUGIN_GIT_URL" | awk -F '/' '{ print $NF }' | sed -e "s:.git::g" | sed 's:^dokku-::' +}