forked from cpputest/cpputest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReleaseCppUTest.sh
executable file
·108 lines (92 loc) · 2.45 KB
/
ReleaseCppUTest.sh
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
#!/bin/bash
#source in release generator script
echo "Do not use this anymore, please use \"configure; make dist\""
exit
if [ ! -d "scripts" ]; then
echo "You have to run this script from the CPPUTEST_HOME directory!";
exit
fi
GENERATED_FILES=""
release_dir=Releases
scripts_dir=scripts
version=v3.3
zip_root=CppUTest-${version}
tar_root=CppUTest-${version}_tar
clean_unzip_root=${zip_root}_clean_unzip
clean_untar_root=${zip_root}_clean_untar
zip_file=${zip_root}.zip
tar_file=${zip_root}.tar.gz
exitIfFileExists() {
if [ -e $1 ]
then
echo "${1} already exists, exiting."
exit
fi
}
generateMakeScript() {
filename=$1
dateTime=$2
version=$3
target=$4
exitIfFileExists $filename.sh
echo "#Generated file - ${filename}.sh" >$filename.sh
echo "echo \"Running ${filename} for CppUTest ${version} created on ${dateTime}\"" >>$filename.sh
echo "export CPPUTEST_HOME=\$(pwd)" >>$filename.sh
echo "echo \"export CPPUTEST_HOME=\$(pwd)/\"" >>$filename.sh
echo "make $target" >>$filename.sh
chmod +x $filename.sh
GENERATED_FILES+=" $filename.sh"
}
generateVersionFile() {
version=$1
dateTime=$2
versionFile=version.txt
echo "CppUTest ${version} created on ${dateTime}" > $versionFile
GENERATED_FILES+=$versionFile
}
zipIt() {
mkdir -p ${release_dir}
zip -r ${release_dir}/${zip_file} \
$GENERATED_FILES \
.\
-x@${scripts_dir}/zipExclude.txt
tar -cvpzf ${release_dir}/${tar_file} \
-X ./${scripts_dir}/zipExclude.txt \
$GENERATED_FILES \
.
}
cleanUp() {
rm -f $GENERATED_FILES
}
generateCppUTestRelease() {
dateTime=$(date +%F-%H-%M)
generateVersionFile $version $dateTime
generateMakeScript makeAll $dateTime $version everythingInstall
generateMakeScript cleanAll $dateTime $version cleanEverythingInstall
zipIt $version
cleanUp
}
openAndMakeRelease()
{
cd ${release_dir}
# unzip and untar the code and make sure it is the same
rm -rf ${clean_unzip_root}
unzip ${zip_file} -d ${clean_unzip_root}
rm -rf ${clean_untar_root}
mkdir ${clean_untar_root}
tar -xvzpf ${tar_file} -C ${clean_untar_root}
rm -rf ${zip_root}
unzip ${zip_file} -d ${zip_root}
cd ${zip_root}
./makeAll.sh
cd ..
rm -rf ${tar_root}
mkdir ${tar_root}
tar -xvzpf ${tar_file} -C ${tar_root}
cd ${tar_root}
./makeAll.sh
cd ../..
}
#Main
generateCppUTestRelease
openAndMakeRelease