#!/bin/bash
function help_and_exit() {
echo "Usage: $0 [-go] [-verbose] [-force]"
echo
echo "Moves minified CSS and JS to distribution directories and"
echo "creates a branch in SVN."
echo
echo " -go: Run commands instead of just echoing them."
echo " -verbose: More verbose logging."
echo " -force: Ignore sanity checks for testing."
echo " Incompatible with -go."
echo " -nobranch: Don't create a new release branch."
exit "$1"
}
# 1 for verbose logging
export VERBOSE="0"
# 1 if commands that have side-effects should actually be run instead of logged
export EFFECT="0"
for var in "$@"; do
case "$var" in
-verbose)
VERBOSE="1"
;;
-go)
EFFECT="1"
;;
-h)
help_and_exit 0
;;
*)
echo "Unrecognized argument $var"
help_and_exit -1
;;
esac
done
function panic() {
echo "PANIC: $*"
if ! (( $NO_PANIC )); then
exit -1
fi
}
function command() {
if (( $VERBOSE )) || ! (( $EFFECT )); then
echo '$' "$*"
fi
if (( $EFFECT )); then
"$@" || panic "command failed: $@"
fi
}
export VERSION_BASE="$(
pushd "$(dirname "$0")/../.." > /dev/null; pwd; popd > /dev/null)"
if ! [ -d "$VERSION_BASE/trunk/tools" ]; then
panic "missing trunk/tools in $VERSION_BASE"
fi
VERSION="$(svn info | perl -ne 'print $1 if m/^Revision: (\d+)$/')"
DOWNLOADS_ZIP="$VERSION_BASE/trunk/out/owasp-java-html-sanitizer.zip"
VERSIONED_ZIP="$VERSION_BASE/trunk/out/owasp-java-html-sanitizer-r$VERSION.zip"
pushd "$VERSION_BASE/trunk" > /dev/null
command make download
popd > /dev/null
if ! [ -f "$DOWNLOADS_ZIP" ]; then
panic "$DOWNLOADS_ZIP is not up-to-date"
fi
command cp "$DOWNLOADS_ZIP" "$VERSIONED_ZIP"
command "$VERSION_BASE/trunk/tools/googlecode_upload.py" \
--summary="JARs, source JAR, and documentation for version $VERSION." \
-p owasp-java-html-sanitizer -u mikesamuel \
--labels='Type-Archive,OpSys-All,Featured' \
"$VERSIONED_ZIP"
if (( $EFFECT )); then
echo "Don't forget to mark any old ones deprecated at"
echo "https://code.google.com/p/owasp-java-html-sanitizer/downloads/list"
else
echo
echo "Rerun with -go to actually run these commands."
fi