#! /bin/bash # ------------------------------------------------------------------ # A script to run the example programs. # # Usage: ./run # # For example: ./run web-file-browser # ------------------------------------------------------------------ set -e die() { for line in "$@"; do echo "$line" > /dev/stderr done exit 1 } # Locate the script file. Cross symlinks if necessary. loc="$0" while [ -h "$loc" ]; do ls=`ls -ld "$loc"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then loc="$link" # Absolute link else loc="`dirname "$loc"`/$link" # Relative link fi done base_dir="$(dirname "$loc")" if [ $# -eq 0 ]; then die "" \ "Usage: run example-args..." \ "" \ "For example: run upload-file ..." \ "" fi declare -a project_properties while [[ $# -gt 0 ]]; do case "${1}" in --use-auth-prop) project_properties+=("-PuseAuthInfoFileProp=true") ;; --fail-on-error) project_properties+=("-PfailOnError=true") ;; --*) die "unrecognized argument: ${1}" ;; *) break ;; esac shift done example_name="$1" ; shift example_name="$(echo "$example_name" | sed 's|/*$||')" # Remove trailing slashes, since shell tab completion will usually add one. base_dir=`dirname "$loc"` i=0 for arg in "${@}" ; do project_properties+=("-Parg${i}=${arg}") i=$((i+1)) done exec "${base_dir}/gradlew" -b "${base_dir}/build.gradle" --console plain --quiet ":${example_name}:run" "${project_properties[@]}"