aboutsummaryrefslogtreecommitdiff
path: root/rel/relive.escript
diff options
context:
space:
mode:
Diffstat (limited to 'rel/relive.escript')
-rw-r--r--rel/relive.escript26
1 files changed, 26 insertions, 0 deletions
diff --git a/rel/relive.escript b/rel/relive.escript
new file mode 100644
index 000000000..3ee2de0f3
--- /dev/null
+++ b/rel/relive.escript
@@ -0,0 +1,26 @@
+#!/usr/bin/env escript
+
+main(_) ->
+ Base = "_build/relive",
+ prepare(Base, "", none),
+ prepare(Base, "conf", {os, cmd, "rel/setup-relive.sh"}),
+ prepare(Base, "database", none),
+ prepare(Base, "logs", none),
+ c:erlangrc([os:cmd("echo -n $HOME")]),
+ ok.
+
+prepare(BaseDir, SuffixDir, MFA) ->
+ Dir = filename:join(BaseDir, SuffixDir),
+ case file:make_dir(Dir) of
+ ok ->
+ io:format("Preparing relive dir ~s...~n", [Dir]),
+ case MFA of
+ none -> ok;
+ {M, F, A} -> M:F(A)
+ end;
+ {error, eexist} ->
+ ok;
+ {error, LogsError} ->
+ io:format("Error creating dir ~s: ~p~n", [Dir, LogsError]),
+ halt(1)
+ end.