/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/env bash

ARGV=("$@")


###
# http://stackoverflow.com/a/23342259
###
exe() { echo "\$ $@" ; "$@" ; }

show_usage () {
  echo ""
  echo "Set up the building of libssts and clean up too."
  echo "  This is not ment as a replacment for bazaar or for cmake, just a"
  echo "  \"kick-start\" for new developers... and makes branching easier."
  echo ""
  echo "  ./build.sh clean      -  Clean up the project and build files."
  echo "             cl"
  echo ""
  echo "  ./build.sh build      -  Create the build directory, run CMake (if"
  echo "             bl            needed) and build libssts."
  echo ""
  echo "  ./build.sh help       -  Show this helpful help text."
  echo "             -h"
  echo ""
  echo "  ./build.sh clean-tree -  clean the bzr three. reverting all and any"
  echo "             ct            changes made to the file tree since the last"
  echo "                           commit."
  echo ""
  echo "  ./build.sh commit     -  commit changes."
  echo "             cm"
  echo ""
  echo "  ./build.sh branch <name> - create a branch. This will cd up one level"
  echo "             br              and then do a branch. The name of the"
  echo "                             branch will be \"simpletypesystem_<name>\"."
  echo ""
  echo "  ./build.sh merge-trunk   - Commits your current changes and then pull"
  echo "             mt             merge from trunk. If the merge went smoothly"
  echo "                            it will procide to commit the merge with"
  echo "                            message \"* Merged trunk.\""
  echo ""
  echo " ./build.sh propose-merge  - Propese merge of current branch."
  echo "            pm"
}

do_build () {
  if ( ! -d "./build" )
  then
    exe mkdir ./build
  fi
  
  cd ./build
  
  if [ ! -f "Makefile" ]
  then
    exe cmake ..
  fi
  
  make
}

do_clean () {
  if [ -d "./build" ]
  then
    exe rm -R ./build
  fi
}

do_clean_tree () {
  exe bzr revert
  exe bzr clean-tree 
}

do_commit () {
  exe bzr commit
}


do_branch () {
  echo ${ARGV[1]}
  if [[ -z ${ARGV[1]} ]]
  then
    echo "Missing branch name."
    show_usage
    exit
  else
    #build up the branch name.
    NEW_BRANCH_NAME="simpletypesystem_"${ARGV[1]}
    CURRENT_WD=$(pwd)
    exe cd ..
    PARENT_WD=$(pwd)
    exe bzr branch $CURRENT_WD $PARENT_WD/$NEW_BRANCH_NAME
    if [[ -z $? ]]
    then
      echo ""
      echo "Something went wrong when trying to branch..."
    else
      echo ""
      echo "The directory $PARENT_WD/$NEW_BRANCH_NAME is ready. To go to that"
      echo "branch cd to it."
      echo ""
      echo "Remember to commit often and run"
      echo "$ bzr push --remember lp:~<lp-username>/simpletypesystem/${ARGV[1]}"
      echo "before you start hacking."
    fi
  fi
}

do_merge_trunk () {
  exe bzr commit
  exe bzr merge lp:simpletypesystem
  if [[ -z $? ]]
  then
    echo "Something went wrong with the merge! Plese solve these problems"
    echo "before you procide to commit again!"
  else
    exe commit -m "* Merged with trunk."
  fi
}

do_propose_merge () {
  exe bzr lp-propose-merge
}

case ${ARGV[0]} in
     "help"|"-h") show_usage ;;
     "clean"|"cl") do_clean ;;
     "build"|"bl") do_build ;;
     "clean-tree"|"ct") do_clean_tree ;;
     "commit"|"cm") do_commit ;;
     "branch"|"br") do_branch ;;
     "merge-trunk"|"mt") do_merge_trunk ;;
     "propose-merge"|"pm") do_propose_merge ;;
     *) show_usage ;;
esac