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 # Setting BIN_DIR this way is ugly, but is needed to handle the case where | 6 function follow_links() { |
7 # dart-sdk/bin has been symlinked to. On MacOS, readlink doesn't work | 7 file="$1" |
8 # with this case. | 8 while [ -h "$file" ]; do |
9 BIN_DIR="$(cd "${0%/*}" ; pwd -P)" | 9 # On Mac OS, readlink -f doesn't work. |
| 10 file="$(readlink "$file")" |
| 11 done |
| 12 echo "$file" |
| 13 } |
| 14 |
| 15 # Unlike $0, $BASH_SOURCE points to the absolute path of this file. |
| 16 PROG_NAME="$(follow_links "$BASH_SOURCE")" |
| 17 |
| 18 # Handle the case where dart-sdk/bin has been symlinked to. |
| 19 BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)" |
10 | 20 |
11 unset COLORS | 21 unset COLORS |
12 if test -t 1; then | 22 if test -t 1; then |
13 # Stdout is a terminal. | 23 # Stdout is a terminal. |
14 if test 8 -le `tput colors`; then | 24 if test 8 -le `tput colors`; then |
15 # Stdout has at least 8 colors, so enable colors. | 25 # Stdout has at least 8 colors, so enable colors. |
16 COLORS="--enable-diagnostic-colors" | 26 COLORS="--enable-diagnostic-colors" |
17 fi | 27 fi |
18 fi | 28 fi |
19 | 29 |
20 unset SNAPSHOT | 30 unset SNAPSHOT |
21 | 31 |
22 SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot" | 32 SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot" |
23 | 33 |
24 if test -f $SNAPSHOT; then | 34 if test -f $SNAPSHOT; then |
25 # TODO(ahe): Remove the following line when we are relatively sure it works. | 35 # TODO(ahe): Remove the following line when we are relatively sure it works. |
26 echo Using snapshot $SNAPSHOT 1>&2 | 36 echo Using snapshot $SNAPSHOT 1>&2 |
27 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ | 37 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ |
28 "--package-root=$BIN_DIR/../packages/" $SNAPSHOT dartdoc $COLORS \ | 38 "--package-root=$BIN_DIR/../packages/" $SNAPSHOT dartdoc $COLORS \ |
29 "--package-root=$BIN_DIR/../packages/" "--library-root=$BIN_DIR/.." "$@" | 39 "--package-root=$BIN_DIR/../packages/" "--library-root=$BIN_DIR/.." "$@" |
30 else | 40 else |
31 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ | 41 exec "$BIN_DIR"/dart --heap_growth_rate=32 \ |
32 "--package-root=$BIN_DIR/../packages/" \ | 42 "--package-root=$BIN_DIR/../packages/" \ |
33 "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" $COLORS "$@" | 43 "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" $COLORS "$@" |
34 fi | 44 fi |
OLD | NEW |