OSX compatibility
[m6w6/btr] / share / btr / btr.sh
1 #!/bin/sh
2
3 function btr_setup {
4 if test -z "$BTR_SOURCE_RULES" -o -z "$BTR_BUILD_RULES" -o -z "$BTR_REPORT_RULES"
5 then
6 btr_banner
7 btr_help
8 fi
9
10 btr_setup_verbosity ${1:-true}
11 btr_setup_rundir
12
13 export BTR_SOURCE_RULES BTR_BUILD_RULES BTR_REPORT_RULES
14 test -z "$BTR_SOURCE_ARGS" || export BTR_SOURCE_ARGS
15 test -z "$BTR_SOURCE_CLEAN" || export BTR_SOURCE_CLEAN
16 test -z "$BTR_BUILD_ARGS" || export BTR_BUILD_ARGS
17 test -z "$BTR_BUILD_CLEAN" || export BTR_BUILD_CLEAN
18 test -z "$BTR_TEST_ARGS" || export BTR_TEST_ARGS
19 test -z "$BTR_REPORT_ARGS" || export BTR_REPORT_ARGS
20 BTR_REPO=$(basename $(sed 's~^.*[/:#]~~' <<<"$BTR_SOURCE_ARGS") .git)
21 BTR_SAFE_BRANCH=$(tr ":/" "_" <<<$(basename "$BTR_BRANCH"))
22 export BTR_REPO BTR_BRANCH BTR_SAFE_BRANCH
23
24 if test -z "$BTR_SUFFIX"
25 then
26 export BTR_BUILD="$BTR_REPO@$BTR_SAFE_BRANCH"
27 else
28 export BTR_BUILD="$BTR_REPO@$BTR_SAFE_BRANCH-$BTR_SUFFIX"
29 fi
30
31 export BTR_REPO_DIR="$BTR_REPO"
32 export BTR_BRANCH_DIR="$BTR_BUILD/checkout"
33 export BTR_BUILD_DIR="$BTR_BUILD/build"
34 export BTR_LOG_DIR="$BTR_BUILD/log"
35 export BTR_CONFIG_REPORT="$BTR_LOG_DIR/config@$BTR_DATE.log"
36 export BTR_BUILD_REPORT="$BTR_LOG_DIR/build@$BTR_DATE.log"
37 export BTR_TEST_REPORT="$BTR_LOG_DIR/test@$BTR_DATE.log"
38 export BTR_LAST_REPORT=$(basename $(ls -t "$BTR_RUNDIR/$BTR_LOG_DIR/test@"* 2>/dev/null | head -n1) 2>/dev/null)
39 export BTR_REPORT="$BTR_LOG_DIR/report@$BTR_DATE.log"
40 }
41 export -f btr_setup
42
43 function btr_conf_show {
44 echo
45 echo "# Configuration:"
46 echo
47 echo "BTR_RUNDIR = $BTR_RUNDIR"
48 echo "BTR_BINDIR = $BTR_BINDIR"
49 echo "BTR_LIBDIR = $BTR_LIBDIR"
50 echo
51 echo "BTR_SOURCE_RULES = $BTR_SOURCE_RULES"
52 echo "BTR_SOURCE_ARGS = $BTR_SOURCE_ARGS"
53 echo "BTR_SOURCE_CLEAN = $BTR_SOURCE_CLEAN"
54 echo "BTR_BUILD_RULES = $BTR_BUILD_RULES"
55 echo "BTR_BUILD_ARGS = $BTR_BUILD_ARGS"
56 echo "BTR_BUILD_CLEAN = $BTR_BUILD_CLEAN"
57 echo "BTR_TEST_ARGS = $BTR_TEST_ARGS"
58 echo "BTR_REPORT_RULES = $BTR_REPORT_RULES"
59 echo "BTR_REPORT_ARGS = $BTR_REPORT_ARGS"
60 echo "BTR_REPO = $BTR_REPO"
61 echo "BTR_BRANCH = $BTR_BRANCH"
62 echo "BTR_SAFE_BRANCH = $BTR_SAFE_BRANCH"
63 echo "BTR_BUILD = $BTR_BUILD"
64 echo
65 echo "BTR_REPO_DIR = $BTR_REPO_DIR"
66 echo "BTR_BRANCH_DIR = $BTR_BRANCH_DIR"
67 echo "BTR_BUILD_DIR = $BTR_BUILD_DIR"
68 echo "BTR_LOG_DIR = $BTR_LOG_DIR"
69 echo "BTR_CONFIG_REPORT = $BTR_CONFIG_REPORT"
70 echo "BTR_BUILD_REPORT = $BTR_BUILD_REPORT"
71 echo "BTR_TEST_REPORT = $BTR_TEST_REPORT"
72 echo "BTR_LAST_REPORT = $BTR_LAST_REPORT"
73 echo
74 }
75 export -f btr_conf_show
76
77 function btr_run {
78 set -e
79 make -e $BTR_SILENT_FLAG -C $BTR_RUNDIR -f $(pwd)/$BTR_LIBDIR/source/$BTR_SOURCE_RULES.mk
80 make -e $BTR_SILENT_FLAG -C $BTR_RUNDIR -f $(pwd)/$BTR_LIBDIR/build/$BTR_BUILD_RULES.mk
81 make -e $BTR_SILENT_FLAG -C $BTR_RUNDIR -f $(pwd)/$BTR_LIBDIR/report/$BTR_REPORT_RULES.mk
82 set +e
83 }
84 export -f btr_run
85
86 # vim: noet