-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_seq.sh
More file actions
executable file
·65 lines (64 loc) · 1.78 KB
/
build_seq.sh
File metadata and controls
executable file
·65 lines (64 loc) · 1.78 KB
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
#!/bin/bash -
cd $1
dat=$(date +"%Y%m%d")
if [ -f "$1/$dat.seq" ]; then
seq=$(cat "$1/$dat.seq")
seq=$(expr $seq + 1 )
else
seq=1
fi
rm -f $1/*.seq
echo $seq > $1/${dat}.seq
seq=$(printf "%03d" $seq)
build=${dat}.${seq}
echo '#define BUILD_ID "'$build'"' > ${1}/build_id.h
clean=$(git diff)
branch=$(git rev-parse --abbrev-ref HEAD)
_hash=$(git log -p -1 | head -n 1 | awk '{print $2}')
hash=${_hash:0:7}
if [ -n "$clean" ]; then
hash=${hash}" unclean"
fi
hash="$branch "${hash}
echo '#define GITHASH "'$hash'"' >> ${1}/build_id.h
cd $2
libs=$(ls libraries)
folder=$(dirname ${1})
maxnamesize=0
maxversize=0
nblib=-1
manifest=${1}/manifest.h
declare -a libnames
declare -a libversions
for i in $libs; do
if [ -f ${folder}/libraries/$i/library.properties ]; then
nblib=$(expr $nblib + 1)
libname=$(grep name ${folder}/libraries/$i/library.properties | cut -d= -f2)
sz=${#libname}
if [ $sz -gt $maxnamesize ]; then
maxnamesize=$sz
fi
libver=$(grep version ${folder}/libraries/$i/library.properties | cut -d= -f2)
sz=${#libver}
if [ $sz -gt $maxversize ]; then
maxversize=$sz
fi
libnames[${nblib}]=$libname
libversions[${nblib}]=$libver
fi
done
nbm1=$(expr $nblib - 1)
nblib2=$(expr $nblib + 1)
echo 'etl::string<'$maxnamesize'> libraries['$nblib2'] = {' > $manifest
for i in $(seq 0 $nbm1); do
echo ' etl::string<'$maxnamesize'>("'${libnames[$i]}'"),' >> $manifest
done
echo ' etl::string<'$maxnamesize'>("'${libnames[$nblib]}'")' >> $manifest
echo '};' >> $manifest
echo 'etl::string<'$maxversize'> libversions['$nblib2'] = {' >> $manifest
for i in $(seq 0 $nbm1); do
echo ' etl::string<'$maxversize'>("'${libversions[$i]}'"),' >> $manifest
done
echo ' etl::string<'$maxversize'>("'${libversions[$nblib]}'")' >> $manifest
echo '};' >> $manifest
echo '#define NBLIB '$nblib2 >> $manifest