|
|
|
|
@ -1,28 +1,35 @@
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
mv -f version.js version.js.bak
|
|
|
|
|
LINES=($(grep -n 'list of versions' version.js | cut -d: -f1))
|
|
|
|
|
VERSIONS_BEGIN=$(expr ${LINES[0]} - 1)
|
|
|
|
|
VERSIONS_END=$(expr ${LINES[1]} + 1)
|
|
|
|
|
|
|
|
|
|
LINES=($(grep -n 'list of versions' version.js.bak | cut -d: -f1))
|
|
|
|
|
LINES[0]=$(expr ${LINES[0]} - 1)
|
|
|
|
|
LINES[1]=$(expr ${LINES[1]} + 1)
|
|
|
|
|
|
|
|
|
|
VERSIONS=($(find -maxdepth 1 -mindepth 1 -type l) $(find -maxdepth 1 -mindepth 1 -type d))
|
|
|
|
|
fields=()
|
|
|
|
|
for version in ${VERSIONS[*]#./}; do
|
|
|
|
|
if [ -f "$version/footer.js" ]; then
|
|
|
|
|
label=$(grep "Version" $version/footer.js | sed -r "s/.*'Version ([^']+)'.*/\1/")
|
|
|
|
|
fields+=("\"${version}\": \"${label}\"")
|
|
|
|
|
VERSIONS=($(find -maxdepth 1 -mindepth 1 -type d) $(find -maxdepth 1 -mindepth 1 -type l))
|
|
|
|
|
declare -A versions
|
|
|
|
|
for folder in ${VERSIONS[*]#./}; do
|
|
|
|
|
if [ -f $folder/footer.js ]; then
|
|
|
|
|
version=$(grep "Version" $folder/footer.js | \
|
|
|
|
|
sed -r "s/.*'Version ([^']+)'.*/\1/" | \
|
|
|
|
|
sed -r "s/\+.*$//" | \
|
|
|
|
|
sed -r "s/([^0-9])$/\10/")
|
|
|
|
|
versions["$version"]="$folder"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
fields=()
|
|
|
|
|
for version in $(IFS=$'\n'; sed -r 's/$/_/' <<< "${!versions[*]}" | sort -Vr | sed -r 's/_$//'); do
|
|
|
|
|
fields+=( "\"${versions[$version]}\": \"$version\"" )
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
mv version.js version.js.bak
|
|
|
|
|
|
|
|
|
|
head -n ${LINES[0]} version.js.bak > version.js
|
|
|
|
|
head -n ${VERSIONS_BEGIN} version.js.bak > version.js
|
|
|
|
|
echo "//--- list of versions ---" >> version.js
|
|
|
|
|
echo "const versions = {" >> version.js
|
|
|
|
|
echo -n " " >> version.js
|
|
|
|
|
echo $(IFS=,; echo "${fields[*]}") | sed 's/,/,\n /g' >> version.js
|
|
|
|
|
echo "}" >> version.js
|
|
|
|
|
echo "//--- list of versions ---" >> version.js
|
|
|
|
|
tail -n +${LINES[1]} version.js.bak >> version.js
|
|
|
|
|
tail -n +${VERSIONS_END} version.js.bak >> version.js
|
|
|
|
|
|
|
|
|
|
rm version.js.bak
|
|
|
|
|
|
|
|
|
|
|