OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
3 # for details. All rights reserved. Use of this source code is governed by a | 3 # for details. All rights reserved. Use of this source code is governed by a |
4 # BSD-style license that can be found in the LICENSE file. | 4 # BSD-style license that can be found in the LICENSE file. |
5 | 5 |
6 function follow_links() { | 6 PROG_NAME=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && \ |
7 file="$1" | 7 PROG_NAME=$PROG_NAME/$(basename -- "$0") |
8 while [ -h "$file" ]; do | |
9 # On Mac OS, readlink -f doesn't work. | |
10 file="$(readlink "$file")" | |
11 done | |
12 echo "$file" | |
13 } | |
14 | 8 |
15 # Unlike $0, $BASH_SOURCE points to the absolute path of this file. | 9 # resolve symlinks |
16 PROG_NAME="$(follow_links "$BASH_SOURCE")" | 10 while [ -h $PROG_NAME ]; do |
| 11 DIR=$(dirname -- "$PROG_NAME") |
| 12 SYM=$(readlink $PROG_NAME) |
| 13 PROG_NAME=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") |
| 14 done |
17 | 15 |
18 # Handle the case where dart-sdk/bin has been symlinked to. | 16 # Handle the case where dart-sdk/bin has been symlinked to. |
19 BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)" | 17 BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)" |
20 | 18 |
21 unset COLORS | 19 unset COLORS |
22 if test -t 1; then | 20 if test -t 1; then |
23 # Stdout is a terminal. | 21 # Stdout is a terminal. |
24 if test 8 -le `tput colors`; then | 22 if test 8 -le `tput colors`; then |
25 # Stdout has at least 8 colors, so enable colors. | 23 # Stdout has at least 8 colors, so enable colors. |
26 COLORS="--enable-diagnostic-colors" | 24 COLORS="--enable-diagnostic-colors" |
27 fi | 25 fi |
28 fi | 26 fi |
29 | 27 |
30 unset SNAPSHOT | 28 unset SNAPSHOT |
31 | 29 |
32 SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot" | 30 SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot" |
33 | 31 |
34 if test -f $SNAPSHOT; then | 32 if test -f $SNAPSHOT; then |
35 # TODO(ahe): Remove the following line when we are relatively sure it works. | 33 # TODO(ahe): Remove the following line when we are relatively sure it works. |
36 echo Using snapshot $SNAPSHOT 1>&2 | 34 echo Using snapshot $SNAPSHOT 1>&2 |
37 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ | 35 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ |
38 "--package-root=$BIN_DIR/../packages/" $SNAPSHOT dartdoc $COLORS \ | 36 "--package-root=$BIN_DIR/../packages/" $SNAPSHOT dartdoc $COLORS \ |
39 "--package-root=$BIN_DIR/../packages/" "--library-root=$BIN_DIR/.." "$@" | 37 "--package-root=$BIN_DIR/../packages/" "--library-root=$BIN_DIR/.." "$@" |
40 else | 38 else |
41 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ | 39 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ |
42 "--package-root=$BIN_DIR/../packages/" \ | 40 "--package-root=$BIN_DIR/../packages/" \ |
43 "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" $COLORS "$@" | 41 "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" $COLORS "$@" |
44 fi | 42 fi |
OLD | NEW |