add plugin functionality
This commit is contained in:
parent
12833d4490
commit
fd2d79d0ac
2 changed files with 42 additions and 2 deletions
|
@ -4,20 +4,50 @@ function plugin_help() {
|
|||
usage_general
|
||||
cat<<EOF
|
||||
commands:
|
||||
fetch [download-url] [servername]
|
||||
delete [plugin-name] [servername]
|
||||
fetch [servername] [download-url]
|
||||
delete [servername] [plugin-name]
|
||||
list [servername]
|
||||
EOF
|
||||
}
|
||||
|
||||
function plugin_fetch() {
|
||||
checkPluginDir "${1}"
|
||||
|
||||
local plugin_dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/plugins"
|
||||
local plugin_name="$(echo ${2} | awk -F/ '{print $NF}')"
|
||||
|
||||
if [[ -f "${plugin_dir}/${plugin_name}" ]]; then
|
||||
log e "Plugin '${plugin_name}' does already exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curl -L "${2}" -o "${plugin_dir}/${plugin_name}"
|
||||
}
|
||||
|
||||
function plugin_delete() {
|
||||
checkPluginDir "${1}"
|
||||
|
||||
local plugin_dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/plugins"
|
||||
if [[ ! -f "${plugin_dir}/${2}" ]]; then
|
||||
log e "Plugin '${2}' does not exist! Check again using '$(basename 0) plugin list'"
|
||||
exit 1
|
||||
fi
|
||||
rm "${plugin_dir}/${2}"
|
||||
}
|
||||
|
||||
function plugin_list {
|
||||
checkPluginDir "${1}"
|
||||
|
||||
local plugin_dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/plugins"
|
||||
local found_plugins=($(find "$plugin_dir" -iname "*.jar" -maxdepth 1 -type f -print))
|
||||
|
||||
if [[ "${#found_plugins[@]}" -eq 0 ]]; then
|
||||
log i "No plugins found for '$1'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log i "Found ${#found_plugins[@]} plugins:"
|
||||
for plugin in "${found_plugins[@]}"; do
|
||||
echo "- $(basename ${plugin})"
|
||||
done
|
||||
}
|
||||
|
|
|
@ -129,3 +129,13 @@ function checkDatapackDir() {
|
|||
mkdir -p "$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/world/datapacks"
|
||||
fi
|
||||
}
|
||||
|
||||
function checkPluginDir() {
|
||||
if [[ -z "$1" ]]; then
|
||||
log e "Parameters can't be empty!"
|
||||
exit 1
|
||||
fi
|
||||
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/plugins" ]]; then
|
||||
mkdir -p "$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/plugins"
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue