From 5e326f51c58e500285ea3daee91986ee1ea518eb Mon Sep 17 00:00:00 2001 From: root Date: Tue, 5 Nov 2013 13:24:42 +0100 Subject: sandbox -> .graveyard --- .graveyard/cobra/README.md | 34 ++++++++++++++++++++++++++++++++++ .graveyard/cobra/hello/index.sh | 1 + .graveyard/cobra/index.sh | 16 ++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 .graveyard/cobra/README.md create mode 100644 .graveyard/cobra/hello/index.sh create mode 100755 .graveyard/cobra/index.sh (limited to '.graveyard/cobra') diff --git a/.graveyard/cobra/README.md b/.graveyard/cobra/README.md new file mode 100644 index 00000000..f9bb8026 --- /dev/null +++ b/.graveyard/cobra/README.md @@ -0,0 +1,34 @@ + +# usage +cobra [target...] + +# description +cobra tries to satisfies all specified targets and all of it dependencies. + +# targets +targets can be a lot of different things, e.g. directories + +## dirctory targets +try to do the right thing when the cobra search path contains a directory +that contains an index.{js,sh,py,etc.} file. + +## cobra search path +like your sh's PATH + +## example: cobra as some kind of make + + $ echo $COBRA_PATH + . + $ ls . + foo/ bar/ baz/ + $ cat foo/cobra.json + { "deps": "bar", "baz" } + $ cat bar/cobra.json + No such file or directory + $ cat baz/cobra.json + No such file or directory + $ cobra foo + [cobra bar] + [cobra baz] + [cobra foo] + $ exit diff --git a/.graveyard/cobra/hello/index.sh b/.graveyard/cobra/hello/index.sh new file mode 100644 index 00000000..df2dea7c --- /dev/null +++ b/.graveyard/cobra/hello/index.sh @@ -0,0 +1 @@ +echo 'Hello, world!' diff --git a/.graveyard/cobra/index.sh b/.graveyard/cobra/index.sh new file mode 100755 index 00000000..1118a823 --- /dev/null +++ b/.graveyard/cobra/index.sh @@ -0,0 +1,16 @@ +#! /bin/sh +set -euf +trap "echo 'You are made of stupid!' >&2; exit 23" EXIT + +COBRA_PATH="${COBRA_PATH-$PWD}" + +## main +for target; do + for path in $COBRA_PATH; do + if test -d "$path/$target"; then + if index="$path/$target/index.sh" && test -f "$index"; then + exec /bin/sh "$index" + fi + fi + done +done -- cgit v1.2.3