blob: a25348d7764439423cebf0facd261b56f3309fa6 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Downloads and compiles necessary dependencies (closure compiler, junit) and
# builds and runs Java-specific JUnit tests.
readonly SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
readonly TEMP_DIR=$(mktemp -d)
cleanup() {
rm -rf "${TEMP_DIR}"
rm -rf ${SCRIPT_DIR}/runner/*/com/google/javascript/jscomp/*.class
die_earlier() {
exit 1
trap die_earlier SIGINT SIGHUP SIGTERM
cd "${TEMP_DIR}"
echo "Cloning Closure Compiler repo"
git clone || die_earlier
cd closure-compiler
echo "Building Closure Compiler"
ant all-classes-jar || die_earlier
readonly classpath=".:./runner/test:./runner/src:\
cd "${SCRIPT_DIR}"
echo "Compiling tests"
javac -classpath "${classpath}" \
runner/test/com/google/javascript/jscomp/ || die_earlier
echo "Running tests"
java -classpath "${classpath}" org.junit.runner.JUnitCore \ || die_earlier
echo "Cleaning up"