Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/bash

IMAGES_DIR="${HOME}/code/trunk/Website/src/main/webapp/images"
WEBSITE_DIR="${HOME}/code/trunk/Website/src/main"
BASE_OUTPUT_DIR="${HOME}/code/trunk/Website/"

IMAGES=()
REVISION_IMAGES=()
OLD_IMAGES=()
cd $IMAGES_DIR
DIRS="$(find -maxdepth 1 -type d)"
for DIR in ${DIRS}
do

        if [ $DIR != "./.svn" ];then
                IMAGES[${#IMAGES[@]}]="$(find ${DIR} -maxdepth 1 -type f)"

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

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

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

                        if [ ${REV} ];then
                                arrREV=(${REV//// })
                                REV=${arrREV[4]}
                                arrIN=(${FILENAME//./ })
                                num=1
                                total=${#arrIN[@]}
                                (( total-- ))
                                NEWFILENAME=${arrIN[0]:1}
                                while [ $num -lt ${total} ]
                                do
                                        NEWFILENAME=$NEWFILENAME"."${arrIN[$num]}
                                        (( num++ ))
                                done
                                NEWFILENAME=$NEWFILENAME"-"$REV"."${arrIN[${#arrIN[@]}-1]}
                                OLD_IMAGES[${#OLD_IMAGES[@]}]="${FILENAME:1}"
                                REVISION_IMAGES[${#REVISION_IMAGES[@]}]="${NEWFILENAME}"
                        fi

                done

fi
done

TARGET_DIR=$BASE_OUTPUT_DIR"target"
SNAPSHOT_DIR=$TARGET_DIR"/Website-1.0-SNAPSHOT"
FINAL_IMAGE_DIR=$SNAPSHOT_DIR"/images"
if [ ! -d "$TARGET_DIR" ]; then 
    mkdir "$TARGET_DIR";
    OUT=$?
    if [ $OUT -ne 0 ]; then
        exit;
    fi
fi

if [ ! -d "$SNAPSHOT_DIR" ]; then
    mkdir "$SNAPSHOT_DIR";
    OUT=$?
    if [ $OUT -ne 0 ]; then
        exit;
    fi
fi

if [ ! -d "$FINAL_IMAGE_DIR" ]; then
    mkdir "$FINAL_IMAGE_DIR";
    OUT=$?
    if [ $OUT -ne 0 ]; then
        exit;
    fi
fi

cd $WEBSITE_DIR
num=${#OLD_IMAGES[@]}
while [ $num -gt 0 ]
do

        OLD=${OLD_IMAGES[$num-1]}
        NEW=${REVISION_IMAGES[$num-1]}
        results=$(grep -R -l --include="*.vm" --include="*.js" --include="*.css" "/images/${OLD}" *)
        for file in $results
        do
                sed -i "s@/images/${OLD}@/images/${NEW}@g" "${file}"
        done
        
        arrOLD=(${OLD//// })
        if [ ${#arrOLD[@]} -gt 1 ]; then
                SUB_IMAGE_DIR=$FINAL_IMAGE_DIR"/"${arrOLD[0]}
                if [ ! -d "$SUB_IMAGE_DIR" ]; then
                        mkdir "$SUB_IMAGE_DIR";
                        OUT=$?
                        if [ $OUT -ne 0 ]; then
                                exit;
                        fi
                fi
        fi
        cp $IMAGES_DIR"/"$OLD $FINAL_IMAGE_DIR"/"$NEW

(( num-- ))
done