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
|