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
|
usage_general
|
||||||
cat<<EOF
|
cat<<EOF
|
||||||
commands:
|
commands:
|
||||||
fetch [download-url] [servername]
|
fetch [servername] [download-url]
|
||||||
delete [plugin-name] [servername]
|
delete [servername] [plugin-name]
|
||||||
list [servername]
|
list [servername]
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
function plugin_fetch() {
|
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() {
|
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 {
|
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"
|
mkdir -p "$(getValueByKey 'PODMAN_DIRECTORY')/${1}/data/world/datapacks"
|
||||||
fi
|
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