lib/pvl/main.sh
changeset 676 775747ebdc45
parent 654 8069b08e90ac
child 704 1d5625a944fe
equal deleted inserted replaced
675:f1335a4301d0 676:775747ebdc45
    16 
    16 
    17 General:
    17 General:
    18     -h      display this help text
    18     -h      display this help text
    19 END
    19 END
    20     
    20     
    21     for module in ${MODULES[@]}; do
    21     for module in ${MODULES[@]} $MAIN_MODULE; do
    22         func_test ${module}_help && ${module}_help
    22         func_test ${module}_help && ${module}_help
    23     done
    23     done
    24 }
    24 }
    25 
    25 
    26 function main_opts {
    26 function main_opts {
    28 
    28 
    29     # build opts string
    29     # build opts string
    30     local opts=$(
    30     local opts=$(
    31         echo -n 'h'
    31         echo -n 'h'
    32 
    32 
    33         for module in ${MODULES[@]}; do
    33         for module in ${MODULES[@]} $MAIN_MODULE; do
    34             module_getopts=${module}_GETOPTS
    34             module_getopts=${module}_GETOPTS
    35             echo -n ${!module_getopts:-}
    35             echo -n ${!module_getopts:-}
    36         done
    36         done
    37     )
    37     )
    38 
    38 
    43         if [ "$opt" = 'h' ]; then
    43         if [ "$opt" = 'h' ]; then
    44             main_help
    44             main_help
    45             exit 0;
    45             exit 0;
    46         fi
    46         fi
    47 
    47 
    48         for module in ${MODULES[@]}; do
    48         for module in ${MODULES[@]} $MAIN_MODULE; do
    49             if func_test ${module}_opt && ${module}_opt $opt "${OPTARG:-}"; then
    49             if func_test ${module}_opt && ${module}_opt $opt "${OPTARG:-}"; then
    50                 opt_module=$module
    50                 opt_module=$module
    51             fi
    51             fi
    52         done
    52         done
    53 
    53 
    63 function main {
    63 function main {
    64     local module=
    64     local module=
    65 
    65 
    66     main_opts "$@"
    66     main_opts "$@"
    67 
    67 
    68     for module in ${MODULES[@]}; do
    68     for module in ${MODULES[@]} $MAIN_MODULE; do
    69         func_test ${module}_init && ${module}_init
    69         func_test ${module}_init && ${module}_init
    70     done
    70     done
    71 
       
    72     func_test ${MODULE_MAIN}_init && ${MODULE_MAIN}_init
       
    73 
    71 
    74     # initialize relative paths
    72     # initialize relative paths
    75     [ -z "$SRV" ] || cd $SRV
    73     [ -z "$SRV" ] || cd $SRV
    76 
    74 
    77     ${MODULE_MAIN}_main
    75     ${MAIN_MODULE}_main
    78 }
    76 }