diff --git a/CHANGELOG.md b/CHANGELOG.md index 85af3d8..a0047f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.0.1+3 + +- Find SDK properly when invoked from inside SDK tests. + ## 0.0.1+2 - Support an executable in a symlinked directory. diff --git a/lib/cli_util.dart b/lib/cli_util.dart index aff2c67..6533e9f 100644 --- a/lib/cli_util.dart +++ b/lib/cli_util.dart @@ -33,7 +33,14 @@ Directory getSdkDir([List cliArgs]) { } // Look relative to the dart executable. - Directory sdkDirectory = new File(Platform.executable).parent.parent; + File platformExecutable = new File(Platform.executable); + Directory sdkDirectory = platformExecutable.parent.parent; + if (_isSdkDir(sdkDirectory)) return sdkDirectory; + + // Handle the case where Platform.executable is a sibling of the SDK directory + // (this happens during internal testing). + sdkDirectory = + new Directory(p.join(platformExecutable.parent.path, 'dart-sdk')); if (_isSdkDir(sdkDirectory)) return sdkDirectory; // Try and locate the VM using 'which'. diff --git a/pubspec.yaml b/pubspec.yaml index c27866d..560d428 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: cli_util -version: 0.0.1+2 +version: 0.0.1+3 author: Dart Team description: A library to help in building Dart command-line apps. homepage: https://github.com/dart-lang/cli_util