3 LINES=($(grep -n 'list of versions' version.js | cut -d: -f1))
4 VERSIONS_BEGIN=$(expr ${LINES[0]} - 1)
5 VERSIONS_END=$(expr ${LINES[1]} + 1)
8 local folders=($(find -maxdepth 1 -mindepth 1 -type d) $(find -maxdepth 1 -mindepth 1 -type l))
10 for folder in ${folders[*]#./}; do
11 if [ -f $folder/$1/footer.js ]; then
12 version=$(grep "Version" $folder/$1/footer.js | \
13 sed -r "s/.*'Version ([^']+)'.*/\1/" | \
14 sed -r "s/\+.*$//" | \
15 sed -r "s/([^0-9])$/\10/")
16 versions["$version"]="$folder"
20 for version in $(IFS=$'\n'; sed -r 's/$/_/' <<< "${!versions[*]}" | sort -Vr | sed -r 's/_$//'); do
21 fields+=( "\"${versions[$version]}\": \"$version\"" )
26 echo $(IFS=,; echo "${fields[*]}") | sed 's/,/,\n /g'
30 mv version.js version.js.bak
32 head -n ${VERSIONS_BEGIN} version.js.bak > version.js
33 echo "//--- list of versions ---" >> version.js
34 echo "const versions = {" >> version.js
36 get_versions "General" >> version.js
37 echo "," >> version.js
39 get_versions "Core" >> version.js
40 echo "," >> version.js
42 get_versions "Core_A" >> version.js
43 echo "," >> version.js
45 get_versions "Driver" >> version.js
46 echo "," >> version.js
48 get_versions "RTOS2" >> version.js
51 echo "}" >> version.js
52 echo "//--- list of versions ---" >> version.js
53 tail -n +${VERSIONS_END} version.js.bak >> version.js