]> git.wincent.com - docvim.git/blob - bin/put
Squelch warning
[docvim.git] / bin / put
1 #!/bin/sh
2
3 # Put fresh copies of output files into downstream projects based on integration
4 # test golden files.
5 #
6 # Assumes downstreams exist as peers of the current repo.
7 #
8 # Note: Normally one would update the downstreams from each downstream itself,
9 # using the globally installed `docvim` instance, but this script provides a
10 # means of conveniently running an arbitary, potentially unreleased, version of
11 # `docvim` against a downstream.
12
13 set -e
14
15 usage() {
16   echo "Install fresh copies of generated files from integration tests."
17   echo
18   echo "Usage:"
19   echo
20   echo "  bin/put ferret   # freshen a specific downstream"
21   echo "  bin/put scalpel"
22   echo "  ------------------------------------------------"
23   echo "  bin/put all      # freshen all downstreams"
24   exit
25 }
26
27 update() {
28   local PROJECT
29   PROJECT="$1"
30   echo "Updating $PROJECT"
31   cp "tests/fixtures/integration/$PROJECT/golden/markdown.golden" \
32     "../$PROJECT/README.md"
33   cp "tests/fixtures/integration/$PROJECT/golden/plaintext.golden" \
34     "../$PROJECT/doc/$PROJECT.txt"
35 }
36
37 if [ $# -eq 0 ]; then
38   usage
39 else
40   while [ $# -gt 0 ]; do
41     PROJECT=$1
42     shift
43     case $PROJECT in
44       all)
45         update "ferret"
46         update "scalpel"
47         ;;
48       ferret|scalpel)
49         update "$PROJECT"
50         ;;
51       *)
52         echo "Unrecognized project: $PROJECT"
53         echo
54         usage
55         ;;
56     esac
57   done
58 fi