From 12e2a302d45a51aad4623ec37b06401ecb2040e6 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <timm.fitschen@ds.mpg.de>
Date: Wed, 19 Dec 2018 13:08:11 +0100
Subject: [PATCH] EHN: add start/stop targets for server

---
 .gitignore |  3 +++
 makefile   | 25 ++++++++++++++++++++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index fb8d1973..af5f5653 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,6 @@ target/
 .classpath
 .project
 .settings
+
+# logfiles
+screen*log*
diff --git a/makefile b/makefile
index 515573a6..e71a18f2 100644
--- a/makefile
+++ b/makefile
@@ -21,7 +21,7 @@
 # ** end header
 #
 
-
+SHELL:=/bin/bash
 run: compile
 	mvn exec:exec
 
@@ -60,7 +60,30 @@ clean: clean-antlr
 clean-antlr:
 	rm -rf target/generated-sources/antlr4/
 
+run-server-screen:
+	@if test "$$(screen -ls | grep -c 'caosdb-screen')" -eq "1"; then \
+		echo "server is probably running. try 'screen -ls'"; \
+		exit 1 ; \
+	fi
+	# start and wait for server
+	@screen -L -S caosdb-screen -t server -d -m -A make run
+	@sleep 2
+	@while [ 1 -eq 1 ] ; do \
+		screen -S caosdb-screen -X hardcopy .screen.log || break ; \
+		[ $$(grep -c "org.restlet.ext.jetty.JettyServerHelper start" .screen.log) -eq 0 ] || break ; \
+	done; \
+
+
+stop-server-screen:
+	# stop screen session with server
+	@screen -S caosdb-screen -X hardcopy screen.log || true
+	@screen -S caosdb-screen -p server -X stuff "^C"
+
 run-debug-screen:
+	@if test "$$(screen -ls | grep -c 'caosdb-screen')" -eq "1"; then \
+		echo "server is probably running. try 'screen -ls'; \
+		exit 1 ; \
+	fi
 	# start and wait for server
 	@screen -L -S caosdb-screen -t server -d -m -A make run-debug
 	@sleep 2
-- 
GitLab