Index: sdk/bin/docgen |
diff --git a/sdk/bin/docgen b/sdk/bin/docgen |
index c6c545542d7900b6c0219ffad6be41bdac4d61dd..bf807ad96d5522187d9e3921bc8d924c60202c8a 100755 |
--- a/sdk/bin/docgen |
+++ b/sdk/bin/docgen |
@@ -3,5 +3,34 @@ |
# 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. |
-echo "The 'docgen' name is deprecated. Prefer 'dartdocgen' instead." |
-dartdocgen "$@" |
+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 |