| #!/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 |