53 lines
1.3 KiB
Bash
53 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function plugin_help() {
|
|
usage_general
|
|
cat<<EOF
|
|
commands:
|
|
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 | tr ' ' ';'))
|
|
|
|
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} | tr ';' ' ')"
|
|
done
|
|
}
|