blob: 671d4121af7a11d9d41be5ec0de4155fe0a1eea4 [file] [log] [blame]
import 'dart:async';
import 'dart:io';
import 'package:path/path.dart' as path;
List<String> dart2JsCommand(List<String> args) {
String basePath = path.fromUri(Platform.script);
while (path.basename(basePath) != 'sdk') {
basePath = path.dirname(basePath);
}
String dart2jsPath =
path.normalize(path.join(basePath, 'pkg/compiler/lib/src/dart2js.dart'));
List command = <String>[];
if (Platform.packageRoot != null) {
command.add('--package-root=${Platform.packageRoot}');
} else if (Platform.packageConfig != null) {
command.add('--packages=${Platform.packageConfig}');
}
command.add(dart2jsPath);
command.addAll(args);
return command;
}
Future launchDart2Js(args, {bool noStdoutEncoding: false}) {
if (noStdoutEncoding) {
return Process.run(Platform.executable, dart2JsCommand(args),
stdoutEncoding: null);
} else {
return Process.run(Platform.executable, dart2JsCommand(args));
}
}