Procházet zdrojové kódy

Add dry mode to skip actyal deploying/removing

Alois Mahdal před 9 roky
rodič
revize
73d65fbd25
2 změnil soubory, kde provedl 17 přidání a 4 odebrání
  1. 16
    4
      src/include/deploy.sh
  2. 1
    0
      src/make.skel

+ 16
- 4
src/include/deploy.sh Zobrazit soubor

@@ -1,5 +1,17 @@
1 1
 #!/bin/bash
2 2
 
3
+_maybe() {
4
+    #
5
+    # Call the deploy command $1 $@ unless in dry mode
6
+    #
7
+    local cmd="$1"; shift
8
+    $MKIT_DRY && echo "MKIT_DRY: $cmd" "$@" && return
9
+    case "$cmd" in
10
+        cp|rm|rmdir|chmod|mkdir) $cmd "$@" ;;
11
+        install)                 command -p install "$@" ;;
12
+        *)                       die "bad command called";;
13
+    esac
14
+}
3 15
 
4 16
 check_env() {
5 17
     #
@@ -37,11 +49,11 @@ deploy_item() {
37 49
     local mode="${3:-$MKIT_DEFAULT_MODE}"
38 50
     if test -d "$src";
39 51
     then
40
-        mkdir -vp "$(dirname "$dst")"
41
-        cp -Tvr "$src" "$dst"
52
+        _maybe mkdir -vp "$(dirname "$dst")"
53
+        _maybe cp -Tvr "$src" "$dst"
42 54
         find "$dst" -type f -print0 | xargs -0 chmod -c "$mode"
43 55
     else
44
-        command -p install -DTvm "$mode" "$src" "$dst"
56
+        _maybe install -DTvm "$mode" "$src" "$dst"
45 57
     fi
46 58
 }
47 59
 
@@ -98,7 +110,7 @@ uninstall() {
98 110
               | while read src;
99 111
                 do
100 112
                     dst=$(get_dst "$group" "$src")
101
-                    rm -vrf "$dst"
113
+                    _maybe rm -vrf "$dst"
102 114
                 done
103 115
         done
104 116
 }

+ 1
- 0
src/make.skel Zobrazit soubor

@@ -10,6 +10,7 @@ export MKIT_VERSION=__VERSION__
10 10
 
11 11
 export MKIT_DIR=${MKIT_DIR:-$(dirname "$0")}
12 12
 export MKIT_LOCAL=${MKIT_LOCAL:-.mkit}
13
+export MKIT_DRY=${MKIT_DRY:-false}
13 14
 
14 15
 . "$MKIT_DIR/include/mkit.sh" || die "failed to init; check if MKIT_DIR is set properly: $MKIT_DIR"
15 16