OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 import 'dart:async'; | |
6 import 'dart:io'; | |
7 | |
8 import 'package:path/path.dart' as p; | |
9 | |
10 import '../../test_pub.dart'; | |
11 | |
12 /// The buildbots do not have the Dart SDK (containing "dart" and "pub") on | |
13 /// their PATH, so we need to spawn the binstub process with a PATH that | |
14 /// explicitly includes it. | |
15 Future<Map> getEnvironment() { | |
16 final completer0 = new Completer(); | |
17 scheduleMicrotask(() { | |
18 try { | |
19 var binDir = p.dirname(Platform.executable); | |
20 join0(x0) { | |
21 var separator = x0; | |
22 var path = "${Platform.environment["PATH"]}${separator}${binDir}"; | |
23 new Future.value(getPubTestEnvironment()).then((x1) { | |
24 try { | |
25 var environment = x1; | |
26 environment["PATH"] = path; | |
27 completer0.complete(environment); | |
28 } catch (e0, s0) { | |
29 completer0.completeError(e0, s0); | |
30 } | |
31 }, onError: completer0.completeError); | |
32 } | |
33 if (Platform.operatingSystem == "windows") { | |
34 join0(";"); | |
35 } else { | |
36 join0(":"); | |
37 } | |
38 } catch (e, s) { | |
39 completer0.completeError(e, s); | |
40 } | |
41 }); | |
42 return completer0.future; | |
43 } | |
OLD | NEW |