142 lines
4.5 KiB
Plaintext
142 lines
4.5 KiB
Plaintext
# Completions for JBoss Application Server 7 (EAP 6)
|
|
# VERSION: 0.6
|
|
# DATE: 2012-10-30
|
|
# rparree-at-edc4it-dot-com
|
|
|
|
|
|
|
|
|
|
_serverProfiles(){
|
|
if [[ $COMP_WORDS == *standalone.sh* ]]
|
|
then
|
|
serverdir="../standalone/configuration/"
|
|
else
|
|
# assume is domain.sh
|
|
serverdir="../domain/configuration/"
|
|
fi
|
|
|
|
for i in ${!COMP_WORDS[*]}
|
|
do
|
|
if [[ "${COMP_WORDS[i]}" == "-Djboss.server.base.dir" || "${COMP_WORDS[i]}" == "-Djboss.domain.base.dir" ]]; then
|
|
serverdir="${COMP_WORDS[i+2]}/configuration"
|
|
fi
|
|
|
|
done
|
|
if [ -d "${serverdir}" ]
|
|
then
|
|
|
|
IFS=$'\n' tmp="$(ls "${serverdir}" | grep xml)"
|
|
local fls="${tmp[@]// /\ }"
|
|
unset IFS
|
|
COMPREPLY=( $(compgen -W "${fls} initial boot last v" -- "$cur" ))
|
|
fi
|
|
}
|
|
|
|
_bindingAddress(){
|
|
# from /etc/bash_completion.d/ssh
|
|
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
|
|
"0.0.0.0 $( PATH="$PATH:/sbin" ifconfig -a | \
|
|
sed -ne 's/.*addr:\([^[:space:]]*\).*/\1/p' \
|
|
-ne 's/.*inet[[:space:]]\{1,\}\([^[:space:]]*\).*/\1/p' )" \
|
|
-- "$cur" ) )
|
|
}
|
|
|
|
_jboss(){
|
|
|
|
local cur prev words cword
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref -n = cur prev words cword
|
|
|
|
case $cur in
|
|
|
|
-Djboss.socket.binding.port-offset=*)
|
|
cur=${cur#*=}
|
|
#static list of common bindings sets
|
|
local bindings="100 200 300 400 10000 20000 30000 40000"
|
|
COMPREPLY=( $(compgen -W "${bindings}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-Djboss.default.jgroups.stack=*)
|
|
cur=${cur#*=}
|
|
#static list of standard JGroups stacks
|
|
local stacks="udp udp-async udp-sync tcp tcp-sync"
|
|
COMPREPLY=( $(compgen -W "${stacks}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
|
|
-Dorg.jboss.ejb3.remoting.IsLocalInterceptor.passByRef=*|-Dcom.sun.management.jmxremote.authenticate=*|-Dcom.sun.management.jmxremote.ssl=*)
|
|
cur=${cur#*=}
|
|
local booleans="true false"
|
|
COMPREPLY=( $(compgen -W "${booleans}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
|
|
-Djboss.server.base.dir=*|-Djboss.home.dir=*|-Djboss.domain.base.dir=*)
|
|
cur=${cur#*=}
|
|
_filedir -d
|
|
return 0
|
|
;;
|
|
|
|
-Djboss.domain.master.address=*|-Djboss.bind.address*=*)
|
|
cur=${cur#*=}
|
|
_bindingAddress
|
|
return 0
|
|
;;
|
|
--server-config=*|-c=|--host-config=*)
|
|
cur=${cur#*=}
|
|
_serverProfiles
|
|
return 0
|
|
|
|
|
|
esac
|
|
|
|
|
|
case $prev in
|
|
-u)
|
|
# a few from RFC 2365 IPv4 Local Scope ()
|
|
local addresses="239.255.0.1 239.255.0.2 239.255.0.3"
|
|
COMPREPLY=( $(compgen -W "${addresses}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-b*)
|
|
_bindingAddress
|
|
return 0
|
|
;;
|
|
-c)
|
|
_serverProfiles
|
|
return 0
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
# *** from jboss5 ********************
|
|
# *** -modulepath -c -m -g -l -d -p -n -B -L -C -Djboss.platform.mbeanserver -Djboss.server.base.directory
|
|
# *** -Djboss.Domain -Djboss.modcluster.proxyList -Djboss.jvmRoute -Djboss.default.jgroups.stack -Dorg.jboss.ejb3.remoting.IsLocalInterceptor.passByRef -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote.port -Dcom.sun.management.jmxremote.ssl
|
|
# *************************************
|
|
|
|
# standard commands for standalone and domain mode
|
|
local commandsWithoutEqualSign='-b -bmanagement -bunsecure -bpublic --admin-only -h -help -u -version -V -v'
|
|
local commandsWithEqualSign='-P -Djboss.node.name -Djboss.home.dir -Djboss.socket.binding.port-offset -Djboss.bind.address.management -Djboss.bind.address -Djboss.bind.address.unsecure'
|
|
|
|
if [[ $COMP_WORDS == *standalone.sh* ]]
|
|
then
|
|
commandsWithoutEqualSign="${commandsWithoutEqualSign} -c"
|
|
commandsWithEqualSign="${commandsWithEqualSign} --server-config -Djboss.server.base.dir -c"
|
|
else
|
|
# assume is domain.sh
|
|
commandsWithoutEqualSign="${commandsWithoutEqualSign} --backup --cached-dc"
|
|
commandsWithEqualSign="${commandsWithEqualSign} -Djboss.domain.master.address --host-config -Djboss.domain.master.port -Djboss.domain.base.dir "
|
|
fi
|
|
|
|
|
|
|
|
|
|
COMPREPLY=( $( compgen -W "$commandsWithoutEqualSign" -- "$cur" )
|
|
$( compgen -W "$commandsWithEqualSign" -S '=' -- "$cur" ) )
|
|
return 0
|
|
|
|
|
|
}
|
|
complete -o nospace -F _jboss standalone.sh
|
|
complete -o nospace -F _jboss domain.sh
|