move module-loading out of bin/update into lib/pvl/main.sh
authorTero Marttila <tero.marttila@aalto.fi>
Fri, 27 Feb 2015 17:42:35 +0200
changeset 649 88ff10dae514
parent 648 8e3e6be9ac70
child 650 c707c3ee8665
move module-loading out of bin/update into lib/pvl/main.sh
bin/update
lib/pvl/hosts/update.sh
lib/pvl/main.sh
lib/pvl/service.sh
--- a/bin/update	Fri Feb 27 17:25:01 2015 +0200
+++ b/bin/update	Fri Feb 27 17:42:35 2015 +0200
@@ -7,16 +7,7 @@
 LIB=${LIB:-$SRC/lib}
 VAR=${VAR:-$SRV/var}
 
-. $LIB/pvl/main.sh
-
-MODULES=(log commit apply service update)
-MODULE=update
+MODULE=hosts
+MODULE_MAIN=update
 
-. $LIB/pvl/commit.sh
-. $LIB/pvl/apply.sh
-. $LIB/pvl/service.sh
-
-. $LIB/pvl/test.sh
-. $LIB/pvl/hosts/update.sh
-
-main "$@"
+. $LIB/pvl/main.sh
--- a/lib/pvl/hosts/update.sh	Fri Feb 27 17:25:01 2015 +0200
+++ b/lib/pvl/hosts/update.sh	Fri Feb 27 17:42:35 2015 +0200
@@ -1,3 +1,4 @@
+update_MODULES='log commit apply service test'
 update_GETOPTS='sSrR'
 
 UPDATE_SERIAL=
--- a/lib/pvl/main.sh	Fri Feb 27 17:25:01 2015 +0200
+++ b/lib/pvl/main.sh	Fri Feb 27 17:42:35 2015 +0200
@@ -2,9 +2,18 @@
 
 shopt -s globstar nullglob
 
+. $LIB/pvl/$MODULE/$MODULE_MAIN.sh
+
+module_main_modules=${MODULE_MAIN}_MODULES
+
+MODULES=(${!module_main_modules})
+
+for module in ${MODULES[@]}; do
+    . $LIB/pvl/$module.sh
+done
+
 . $LIB/pvl/util.sh
 . $LIB/pvl/list.sh
-. $LIB/pvl/log.sh
 . $LIB/pvl/cmd.sh
 
 function main_help {
@@ -16,7 +25,7 @@
 END
     
     for module in ${MODULES[@]}; do
-        ${module}_help
+        func_test ${module}_help && ${module}_help
     done
 }
 
@@ -29,7 +38,7 @@
 
         for module in ${MODULES[@]}; do
             module_getopts=${module}_GETOPTS
-            echo -n ${!module_getopts}
+            echo -n ${!module_getopts:-}
         done
     )
 
@@ -43,7 +52,7 @@
         fi
 
         for module in ${MODULES[@]}; do
-            if ${module}_opt $opt "${OPTARG:-}"; then
+            if func_test ${module}_opt && ${module}_opt $opt "${OPTARG:-}"; then
                 opt_module=$module
             fi
         done
@@ -66,6 +75,9 @@
         func_test ${module}_init && ${module}_init
     done
 
-    ${MODULE}_main     
+    func_test ${MODULE_MAIN}_init && ${MODULE_MAIN}_init
+
+    ${MODULE_MAIN}_main
 }
 
+main "$@"
--- a/lib/pvl/service.sh	Fri Feb 27 17:25:01 2015 +0200
+++ b/lib/pvl/service.sh	Fri Feb 27 17:42:35 2015 +0200
@@ -1,14 +1,6 @@
-service_GETOPTS=''
-
 SERVICE_NOOP=
 SERVICE_TYPE=
 
-function service_help {
-    echo <<EOM
-
-EOM
-}
-
 function service_opt {
     local opt=$1
     local optarg="$2"