OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 # Run pub.dart on the Dart VM. This script assumes the Dart SDK's directory | 2 # Run pub.dart on the Dart VM. This script assumes the Dart SDK's directory |
3 # structure. | 3 # structure. |
4 | 4 |
5 # Setting BIN_DIR this way is ugly, but is needed to handle the case where | 5 # Setting BIN_DIR this way is ugly, but is needed to handle the case where |
6 # dart-sdk/bin has been symlinked to. On MacOS, readlink doesn't work | 6 # dart-sdk/bin has been symlinked to. On MacOS, readlink doesn't work |
7 # with this case. | 7 # with this case. |
8 BIN_DIR="$(cd "${0%/*}" ; pwd -P)" | 8 function link_dir() { |
9 DART_SDK="$(cd "${BIN_DIR%/*}" ; pwd -P)" | 9 a="$1" |
| 10 while [ -h "$a" ]; do |
| 11 # On Mac OS, readlink -f doesn't work. |
| 12 a="$(readlink "$a")" |
| 13 done |
| 14 # if dir linked, not file, need to follow dir path: |
| 15 echo $(cd $(dirname $a); pwd -P) |
| 16 } |
| 17 |
| 18 BIN_DIR="$(link_dir "$0")" |
| 19 DART_SDK="${BIN_DIR%/*}" |
10 | 20 |
11 exec "$BIN_DIR"/dart "$DART_SDK"/bin/snapshots/pub.dart.snapshot $@ | 21 exec "$BIN_DIR"/dart "$DART_SDK"/bin/snapshots/pub.dart.snapshot $@ |
OLD | NEW |