OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 | |
3 # Copyright (c) 2014 The Dart Authors. All rights reserved. | |
4 # Use of this source code is governed by a BSD-style license that can be | |
5 # found in the LICENSE file. | |
6 | |
7 """ | |
8 This script runs the async/await compiler on pub and then compiles the output | |
9 of that to a snapshot. | |
10 | |
11 Usage: create_pub_snapshot.py <dart> <compiler> <package root> <output dir> | |
12 | |
13 When #104 is fixed, this script is no longer needed. Instead, replace the | |
14 generate_pub_snapshot action in utils/pub.gyp with: | |
15 | |
16 'action': [ | |
17 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart<(EXECUTABLE_SUFFIX)', | |
18 '--package-root=<(PRODUCT_DIR)/pub_packages/', | |
19 '--snapshot=<(SHARED_INTERMEDIATE_DIR)/pub.dart.snapshot', | |
20 '../../sdk/lib/_internal/pub/bin/pub.dart', | |
21 ] | |
22 """ | |
23 | |
24 import os | |
25 import subprocess | |
26 import sys | |
27 | |
28 | |
29 def Main(): | |
30 if len(sys.argv) < 5: | |
31 raise Exception("""Not enough arguments. | |
32 | |
33 Usage: create_pub_snapshot.py <dart> <compiler> <package root> <output file>""") | |
34 | |
35 dart_path = sys.argv[1] | |
36 compiler = sys.argv[2] | |
37 package_root = sys.argv[3] | |
38 output_dir = sys.argv[4] | |
39 | |
40 # Run the async compiler. | |
41 status = subprocess.call([ | |
42 dart_path, | |
43 '--package-root=' + package_root, | |
44 compiler, | |
45 output_dir, | |
46 '--silent' | |
47 ]) | |
48 if status != 0: return status | |
49 | |
50 # Generate the snapshot from the output of that. | |
51 status = subprocess.call([ | |
52 dart_path, | |
53 '--package-root=' + package_root, | |
54 '--snapshot=' + os.path.join(output_dir, 'pub.dart.snapshot'), | |
55 os.path.join(output_dir, 'pub_async/bin/pub.dart') | |
56 ]) | |
57 if status != 0: return status | |
58 | |
59 | |
60 if __name__ == '__main__': | |
61 sys.exit(Main()) | |
OLD | NEW |