blob: 72649dc89b455dcb114ea9a9da8f92d019a70fdb (
plain)
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
|
#!/bin/bash
#----------------------------
#----------------------------
# Color table
# Black 0;30 Dark Gray 1;30
# Blue 0;34 Light Blue 1;34
# Green 0;32 Light Green 1;32
# Cyan 0;36 Light Cyan 1;36
# Red 0;31 Light Red 1;31
# Purple 0;35 Light Purple 1;35
# Brown 0;33 Yellow 1;33
# Light Gray 0;37 White 1;37
# No Color 0
CBlack='\e[0;30m'
CDarkGray='\e[1;30m'
CBlue='\e[0;34m'
CLightBlue='\e[1;34m'
CGreen='\e[0;32m'
CLightGreen='\e[1;32m'
CCyan='\e[0;36m'
CLightCyan='\e[1;36m'
CRed='\e[0;31m'
CLightRed='\e[1;31m'
CPurple='\e[0;35m'
CLightPurple='\e[1;35m'
CBrown='\e[0;33m'
CYellow='\e[1;33m'
CGray='\e[0;37m'
CWhite='\e[1;37m'
CNone='\e[0m'
#----------------------------
function init_common()
{
# Check script folder
SCRIPT_DIR=$(dirname $(readlink -f "$0"))
# Read config settings
CFG_FILE=$SCRIPT_DIR/build_config.sh
if [ -f "$CFG_FILE" ]; then
. "$CFG_FILE"
else
echo -e "${CYellow} --- NOTE ---${CNone}"
echo "Creating TDE build configuration file from template as $CFG_FILE."
echo "Please check and modify as required, then rerun this script."
cp "$SCRIPT_DIR/_build_config_template.sh" "$CFG_FILE"
exit 1
fi
# TDE root folder must exist
if [ ! -d "$TDE_DIR" ]; then
echo -e "${CYellow} --- ERROR ---${CNone}"
echo "A valid TDE root folder could not be located. Something is wrong with your configuration"
echo "in the config file $CFG_FILE"
echo "Please check and modify the TDE_DIR variable as required, then rerun this script."
exit 2
fi
# Search for main TDE repo
cd "$TDE_DIR/$CFG_GIT_TDE_MAIN" &>/dev/null
CURR_DIR=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -z "$CURR_DIR" ]; then
echo -e "${CYellow} --- ERROR ---${CNone}"
echo "Main TDE repo could not be located. Something is wrong with your configuration"
echo "in the config file $CFG_FILE"
echo "Please check and modify the TDE_DIR variable as required, then rerun this script."
exit 3
fi
# Search for TDE packaging repo
cd "$TDE_DIR/$CFG_GIT_TDE_PACKAGING" &>/dev/null
CURR_DIR=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -z "$CURR_DIR" ]; then
echo -e "${CYellow} --- ERROR ---${CNone}"
echo "TDE packaging repo could not be located. Something is wrong with your configuration"
echo "in the config file $CFG_FILE"
echo "Please check and modify the TDE_DIR variable as required, then rerun this script."
exit 4
fi
SCRIPT_LOG_DIR=$TDE_DIR/$CFG_SCRIPT_LOG_DIR
LOG_RESULT_FILENAME="$SCRIPT_LOG_DIR/build_result.log" # Log result into the common build logfile
cd "$SCRIPT_DIR"
}
#----------------------------
# Save execution start time
# Parameters:
# $1 - timer number
function exec_time_start()
{
_ET_start_var="_ET_start_$1"
eval "$_ET_start_var=`date +%s.%N`"
}
#----------------------------
# Save execution stop time and set $2 to the execution time
# in the format: dd/hh:mm:ss.mmm
# Parameters:
# $1 - timer number
# $2 - result variable name
function exec_time_stop()
{
_ET_start_var="_ET_start_$1"
_ET_stop_var="_ET_stop_$1"
eval "$_ET_stop_var=`date +%s.%N`"
_ET_diff=`echo "${!_ET_stop_var} - ${!_ET_start_var}" | bc`
_ET_days=`echo "$_ET_diff/86400" | bc`
_ET_diff_day=`echo "$_ET_diff-86400*$_ET_days" | bc`
_ET_hours=`echo "$_ET_diff_day/3600" | bc`
_ET_diff_hour=`echo "$_ET_diff_day-3600*$_ET_hours" | bc`
_ET_mins=`echo "$_ET_diff_hour/60" | bc`
_ET_secs=`echo "$_ET_diff_hour-60*$_ET_mins" | bc`
local _resultvar=$2
eval "$_resultvar=`printf \"%02d/%02d:%02d:%06.3f\" $_ET_days $_ET_hours $_ET_mins $_ET_secs`"
}
|