blob: a82ad51997cfb3dbda187f8e11e8ee13684b2c19 [file] [log] [blame]
#!/bin/bash
# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
set -e
REPO_DIR="$(git rev-parse --show-toplevel)"
# TODO(ahe): We currently rely on the Dart VM wrapper script to define
# DART_CONFIGURATION for locating platform.dill.
DART_VM="${REPO_DIR}/sdk/bin/dart"
TOOL_DIR="${REPO_DIR}/pkg/front_end/tool/_fasta"
KERNEL_BIN="${REPO_DIR}/pkg/kernel/bin"
function stop {
echo "$@" >&2
exit 1
}
case "${1//_/-}" in
abcompile) SCRIPT="${TOOL_DIR}/abcompile.dart";;
analyzer-compile) SCRIPT="${TOOL_DIR}/analyzer_compile.dart";;
compile) SCRIPT="${TOOL_DIR}/compile.dart";;
compile-platform) SCRIPT="${TOOL_DIR}/compile_platform.dart";;
compile-platform-dartk)
SCRIPT="${TOOL_DIR}/compile_platform_dartk.dart"
if [ "$#" != "2" ]; then
stop "Usage: $1 file"
fi
;;
log) SCRIPT="${TOOL_DIR}/log_analyzer.dart";;
logd) SCRIPT="${TOOL_DIR}/log_collector.dart";;
outline) SCRIPT="${TOOL_DIR}/outline.dart";;
parser) SCRIPT="${TOOL_DIR}/parser.dart";;
run) SCRIPT="${TOOL_DIR}/run.dart";;
scanner) SCRIPT="${TOOL_DIR}/scanner.dart";;
dump-ir)
SCRIPT="${KERNEL_BIN}/dump.dart"
if [ "$#" = "2" ]; then
# Write to stdout if no target is given.
set -- "$@" /dev/fd/1
fi
if [ "$#" != "3" ]; then
stop "Usage: $1 dillfile [output]"
fi
;;
*)
stop "'$1' isn't a valid subcommand."
;;
esac
shift
exec "${DART_VM}" -c "${SCRIPT}" "$@"