#!/usr/bin/env bash
# Copyright (c) 2014, 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.
#
# This script generates the following files, based on the contents of
# spec_input.html:
#
# - ../../doc/api.html: The human-readable API spec.
#
# - ../../test/integration/protocol_matchers.dart: matchers to be used by
#   integration tests.
#
# - ../../test/integration/integration_test_methods.dart: convenience methods
#   to be used by integration tests.

set -e

function follow_links() {
  file="$1"
  while [ -h "$file" ]; do
    # On Mac OS, readlink -f doesn't work.
    file="$(readlink "$file")"
  done
  echo "$file"
}

# Unlike $0, $BASH_SOURCE points to the absolute path of this file.
PROG_NAME="$(follow_links "$BASH_SOURCE")"

SCRIPT_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"

ROOT_DIR="$(cd "${SCRIPT_DIR}/../../../.." ; pwd -P)"

if [[ $1 == '--arch' && $2 == 'x64' ]];
then
  DART_CONFIGURATION="ReleaseX64"
elif [ -z "$DART_CONFIGURATION" ];
then
  DART_CONFIGURATION="ReleaseIA32"
fi

if [[ `uname` == 'Darwin' ]];
then
  BUILD_DIR="${ROOT_DIR}/xcodebuild/$DART_CONFIGURATION"
fi

PKG_FILE="${ROOT_DIR}/.packages"
if [[ !(-e $PKG_FILE) ]];
then
  PKG_FILE="${ROOT_DIR}/.packages"
fi

DART="${BUILD_DIR}/dart-sdk/bin/dart"

declare -a VM_OPTIONS
VM_OPTIONS+=("--enable-asserts")
VM_OPTIONS+=("--packages=${PKG_FILE}")

cd "${SCRIPT_DIR}"
"${DART}" "${VM_OPTIONS[@]}" "generate_all.dart"
