asdf/lib/commands/plugin-add.sh

38 lines
758 B
Bash
Raw Normal View History

#!/usr/bin/env bash
2015-05-17 11:20:51 -07:00
plugin_add_command() {
if [[ $# -lt 1 || $# -gt 2 ]]; then
display_error "usage: asdf plugin-add <name> [<git-url>]"
2016-07-03 04:11:40 -07:00
exit 1
fi
2015-05-26 23:43:26 -07:00
local plugin_name=$1
if [ -n "$2" ]; then
local source_url=$2
else
initialize_or_update_repository
local source_url
source_url=$(get_plugin_source_url "$plugin_name")
fi
if [ -z "$source_url" ]; then
display_error "plugin $plugin_name not found in repository"
exit 1
fi
2015-05-26 23:43:26 -07:00
local plugin_path=$(get_plugin_path $plugin_name)
2015-05-17 11:20:51 -07:00
2015-05-17 11:32:57 -07:00
mkdir -p $(asdf_dir)/plugins
2015-06-15 05:59:27 -07:00
if [ -d $plugin_path ]; then
2016-07-03 04:11:40 -07:00
display_error "Plugin named $plugin_name already added"
exit 1
2015-06-15 05:59:27 -07:00
else
git clone $source_url $plugin_path
if [ ! $? -eq 0 ]; then
exit 1
2015-06-15 05:59:27 -07:00
fi
2015-05-17 11:20:51 -07:00
fi
}