#!/bin/bash
#
# This script cleans up a set of files given as arguments for release in the SDK
# Note that these files are modified in-place.
#

DIR=$1

#
# Remove BEGIN_INCLUDE and END_INCLUDE lines used by the javadoc.
#
# This does it by replacing these lines with blank lines so line numbers aren't
# changed in the process, making it easier to match 3rd party complaints/questions
# with the source tree.
#
# sed on Mac OS takes -i SUFFIX and sed on Linux takes -iSUFFIX
#
if [ $HOST_OS = darwin ] ; then
find $DIR -name "*.java" -o -name "*.xml" | xargs -n 1 \
    sed \
        -e "s/.*BEGIN_INCLUDE(.*//" \
        -e "s/.*END_INCLUDE(.*//" \
        -i ""
else
find $DIR -name "*.java" -o -name "*.xml" | xargs -n 1 \
    sed \
        -e "s/.*BEGIN_INCLUDE(.*//" \
        -e "s/.*END_INCLUDE(.*//" \
        -i
fi

#
# Fix up the line endings of all text files. This also removes executable permissions.
#
if [ $HOST_OS = windows ] ; then
    ENDING_TYPE=dos
else
    ENDING_TYPE=unix
fi
find $DIR -name "*.aidl" -o -name "*.css" -o -name "*.html" -o -name "*.java" \
                     -o -name "*.js" -o -name "*.prop" -o -name "*.template" \
                     -o -name "*.txt" -o -name "*.windows" -o -name "*.xml" \
        | xargs $HOST_OUT_EXECUTABLES/line_endings $ENDING_TYPE