Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/bash

WEBSITE_DIR="${HOME}/code/trunk/Website/src/main/webapp"
OUTPUT_DIR="${HOME}/code/trunk/Website/target/Website-1.0-SNAPSHOT/WEB-INF"
JS_OUTPUT="${HOME}/code/trunk/Website/target/Website-1.0-SNAPSHOT/js/"
CSS_OUTPUT="${HOME}/code/trunk/Website/target/Website-1.0-SNAPSHOT/css/"

cd $WEBSITE_DIR
images_rev=$(svn info images | grep "Last Changed Rev: " | sed -e "s/Last Changed Rev: //")
js_rev=$(svn info js | grep "Last Changed Rev: " | sed -e "s/Last Changed Rev: //")
css_rev=$(svn info css | grep "Last Changed Rev: " | sed -e "s/Last Changed Rev: //")
js_hash=$(( $js_rev + $images_rev ))
css_hash=$(( $css_rev + $images_rev ))
NEW_JS_OUTPUT="saholic-min-"$js_hash".js"
NEW_CSS_OUTPUT="saholic-min-"$css_hash".css"
mv $JS_OUTPUT"saholic-min.js" $JS_OUTPUT$NEW_JS_OUTPUT
mv $CSS_OUTPUT"saholic-min.css" $CSS_OUTPUT$NEW_CSS_OUTPUT

results=$(grep -R -l --include="*.vm" "/js/saholic-min.js" $OUTPUT_DIR/*)
for file in $results
do
        sed -i "s@/js/saholic-min.js@/js/${NEW_JS_OUTPUT}@g" "${file}"
done

results=$(grep -R -l --include="*.vm" "/css/saholic-min.css" $OUTPUT_DIR/*)
for file in $results
do
        sed -i "s@/css/saholic-min.css@/css/${NEW_CSS_OUTPUT}@g" "${file}"
done

CSS=()
CSS[${#CSS[@]}]="$(find $CSS_OUTPUT -maxdepth 1 -type f)"

for FILENAME in ${CSS[${#CSS[@]}-1]}
do

        if [ ${FILENAME:0:1} = "." ];then
                FILENAME=${FILENAME:1}
        fi

        arrFILENAME=(${FILENAME//// })
        FILENAME=${arrFILENAME[${#arrFILENAME[@]}-1]}
        FILENAME="css/"$FILENAME

        REV=$(grep "${FILENAME}" $WEBSITE_DIR"/css/.svn/all-wcprops")

        if [ ${REV} ];then
                arrREV=(${REV//// })
                REVNO=${arrREV[4]}
                REV_hash=$(( $REVNO + $images_rev ))
                arrIN=(${FILENAME//./ })
                num=1
                total=${#arrIN[@]}
                (( total-- ))
                NEWFILENAME=${arrIN[0]:4}
                while [ $num -lt ${total} ]
                do
                        NEWFILENAME=$NEWFILENAME"."${arrIN[$num]}
                        (( num++ ))
                done
                NEWFILENAME=$NEWFILENAME"-"$REV_hash"."${arrIN[${#arrIN[@]}-1]}
                OLD="${FILENAME:4}"
                NEW="${NEWFILENAME}"
                results=$(grep -R -l --include="*.vm" "/css/${OLD}" $OUTPUT_DIR/*)
                for file in $results
                do
                        sed -i "s@/css/${OLD}@/css/${NEW}@g" "${file}"
                done
                mv $CSS_OUTPUT$OLD $CSS_OUTPUT$NEW
        fi

done

JS=()
JS[${#JS[@]}]="$(find $JS_OUTPUT -maxdepth 1 -type f)"

for FILENAME in ${JS[${#JS[@]}-1]}
do

        if [ ${FILENAME:0:1} = "." ];then
                FILENAME=${FILENAME:1}
        fi

        arrFILENAME=(${FILENAME//// })
        FILENAME=${arrFILENAME[${#arrFILENAME[@]}-1]}
        FILENAME="js/"$FILENAME

        REV=$(grep "${FILENAME}" $WEBSITE_DIR"/js/.svn/all-wcprops")

        if [ ${REV} ];then
                arrREV=(${REV//// })
                REVNO=${arrREV[4]}
                REV_hash=$(( $REVNO + $images_rev ))
                arrIN=(${FILENAME//./ })
                num=1
                total=${#arrIN[@]}
                (( total-- ))
                NEWFILENAME=${arrIN[0]:3}
                while [ $num -lt ${total} ]
                do
                        NEWFILENAME=$NEWFILENAME"."${arrIN[$num]}
                        (( num++ ))
                done
                NEWFILENAME=$NEWFILENAME"-"$REV_hash"."${arrIN[${#arrIN[@]}-1]}
                OLD="${FILENAME:3}"
                NEW="${NEWFILENAME}"
                results=$(grep -R -l --include="*.vm" "/js/${OLD}" $OUTPUT_DIR/*)
                for file in $results
                do
                        sed -i "s@/js/${OLD}@/js/${NEW}@g" "${file}"
                done
                mv $JS_OUTPUT$OLD $JS_OUTPUT$NEW
        fi

done

svn revert -R ${HOME}/code/trunk/Website/src/