aboutsummaryrefslogtreecommitdiff
path: root/.app/lib
diff options
context:
space:
mode:
Diffstat (limited to '.app/lib')
-rw-r--r--.app/lib/app-conf4
-rwxr-xr-x[-rw-r--r--].app/lib/default-method22
2 files changed, 22 insertions, 4 deletions
diff --git a/.app/lib/app-conf b/.app/lib/app-conf
index b1b06c0..3f2863b 100644
--- a/.app/lib/app-conf
+++ b/.app/lib/app-conf
@@ -44,10 +44,10 @@ get_conf_in_group() {
local BASEDIR=$1
local name=$2
local instance=$3
- local prefix=$1
+ local group=$4
get_conf_all "$BASEDIR" "$name" "$instance" | \
- sed -n "s,^[ ]*${prefix}\.\([._a-zA-Z]*\)=\(.*\)$,\1=\2,p"
+ sed -n "s,^[ ]*${group}\.\([._a-zA-Z]*\)=\(.*\)$,\1=\2,p"
}
assert_key() {
diff --git a/.app/lib/default-method b/.app/lib/default-method
index 2313f61..e718849 100644..100755
--- a/.app/lib/default-method
+++ b/.app/lib/default-method
@@ -1,17 +1,35 @@
#!/bin/bash
+set -e
+
PID_FILE=$APPSH_BASEDIR/.app/var/pid/$name-$instance.pid
-. ./app-conf
+. $APPSH_BASEDIR/.app/lib/app-conf
bin=`get_conf $APPSH_BASEDIR $APPSH_NAME $APPSH_INSTANCE app.bin`
+if [ -z "$bin" ]
+then
+ echo "Missing required configuration: app.bin." >&2
+ exit 1
+fi
+
+if [ ! -r "$bin" ]
+then
+ echo "No such file: $bin" >&2
+ exit 1
+fi
+
+chmod +x "$bin"
+
case "$APPSH_METHOD" in
start)
set -x
$bin &
ret=$?
- echo $! > $PID_FILE
+ pid=$!
+ echo "Application launched with PID=$pid"
+ echo $pid > $PID_FILE
;;
*)
exit 1