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

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")"

# Handle the case where dart-sdk/bin has been symlinked to.
BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"

SDK_DIR="$(cd "${BIN_DIR}/.." ; pwd -P)"

unset SNAPSHOT

SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot"

if test -f "$SNAPSHOT"; then
  exec "$BIN_DIR"/dart \
      "--package-root=$BIN_DIR/../packages/" "--old_gen_heap_size=1024" \
      "$SNAPSHOT" \
       docgen "--sdk=$SDK_DIR" "$@"
else
  exec "$BIN_DIR"/dart \
      "--package-root=$BIN_DIR/../packages/" "--old_gen_heap_size=1024" \
      "$BIN_DIR/../../pkg/docgen/bin/docgen.dart" "--sdk=$SDK_DIR" "$@"
fi
