diff options
author | root <root@krebs> | 2011-06-29 21:06:26 +0200 |
---|---|---|
committer | root <root@krebs> | 2011-06-29 21:06:26 +0200 |
commit | 01d6ff215f8a142960551cabaa084667ef482133 (patch) | |
tree | 817b8b090da2b3d3f8b127499347dd455885e887 /cobra | |
parent | e0b0b90df26b9190bb24ecee0a3ddb26f4156438 (diff) | |
parent | fc1e4fcabd1e888089d2ea970ee6906735b84598 (diff) |
Merge branch 'master' of github.com:/krebscode/painload
Diffstat (limited to 'cobra')
-rw-r--r-- | cobra/README | 33 | ||||
-rw-r--r-- | cobra/hello/index.sh | 1 | ||||
-rwxr-xr-x | cobra/index.sh | 16 |
3 files changed, 50 insertions, 0 deletions
diff --git a/cobra/README b/cobra/README new file mode 100644 index 00000000..145ecd14 --- /dev/null +++ b/cobra/README @@ -0,0 +1,33 @@ + +# 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/cobra/hello/index.sh b/cobra/hello/index.sh new file mode 100644 index 00000000..df2dea7c --- /dev/null +++ b/cobra/hello/index.sh @@ -0,0 +1 @@ +echo 'Hello, world!' diff --git a/cobra/index.sh b/cobra/index.sh new file mode 100755 index 00000000..1118a823 --- /dev/null +++ b/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 |