OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2015 The Chromium Authors. All rights reserved. | 2 # Copyright 2015 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import argparse | 6 import argparse |
7 from datetime import datetime | 7 from datetime import datetime |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import shutil | 10 import shutil |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 # .dart includes '.mojom.dart' | 48 # .dart includes '.mojom.dart' |
49 return ext == '.sky' or ext == '.dart' | 49 return ext == '.sky' or ext == '.dart' |
50 | 50 |
51 | 51 |
52 def ensure_dir_exists(path): | 52 def ensure_dir_exists(path): |
53 if not os.path.exists(path): | 53 if not os.path.exists(path): |
54 os.makedirs(path) | 54 os.makedirs(path) |
55 | 55 |
56 | 56 |
57 def copy(from_root, to_root, filter_func=None): | 57 def copy(from_root, to_root, filter_func=None): |
| 58 assert os.path.exists(from_root), "%s does not exist!" % from_root |
58 if os.path.isfile(from_root): | 59 if os.path.isfile(from_root): |
59 ensure_dir_exists(os.path.dirname(to_root)) | 60 ensure_dir_exists(os.path.dirname(to_root)) |
60 shutil.copy(from_root, to_root) | 61 shutil.copy(from_root, to_root) |
61 return | 62 return |
62 | 63 |
63 ensure_dir_exists(to_root) | 64 ensure_dir_exists(to_root) |
64 | 65 |
65 for root, dirs, files in os.walk(from_root): | 66 for root, dirs, files in os.walk(from_root): |
66 # filter_func expects paths not names, so wrap it to make them absolute. | 67 # filter_func expects paths not names, so wrap it to make them absolute. |
67 wrapped_filter = None | 68 wrapped_filter = None |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 sky_or_dart_filter) | 160 sky_or_dart_filter) |
160 | 161 |
161 # Sky package | 162 # Sky package |
162 copy_or_link(src_path('sky/framework'), | 163 copy_or_link(src_path('sky/framework'), |
163 sdk_path('packages/sky/lib/framework'), sky_or_dart_filter) | 164 sdk_path('packages/sky/lib/framework'), sky_or_dart_filter) |
164 copy_or_link(src_path('sky/assets'), sdk_path('packages/sky/lib/assets')) | 165 copy_or_link(src_path('sky/assets'), sdk_path('packages/sky/lib/assets')) |
165 # Copy gen files every time for now: | 166 # Copy gen files every time for now: |
166 copy(os.path.join(build_dir, 'gen/sky'), | 167 copy(os.path.join(build_dir, 'gen/sky'), |
167 sdk_path('packages/sky/lib'), gen_filter) | 168 sdk_path('packages/sky/lib'), gen_filter) |
168 | 169 |
| 170 # Work around the fact that pub run doesn't work well right now. |
| 171 copy(src_path('sky/sdk/packages/sky/bin/sky'), |
| 172 sdk_path('packages/sky/lib/sky_tool')) |
| 173 |
169 # Sky SDK additions: | 174 # Sky SDK additions: |
170 copy_or_link(src_path('sky/engine/bindings/builtin.dart'), | 175 copy_or_link(src_path('sky/engine/bindings/builtin.dart'), |
171 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart')) | 176 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart')) |
172 bindings_path = os.path.join(build_dir, 'gen/sky/bindings') | 177 bindings_path = os.path.join(build_dir, 'gen/sky/bindings') |
173 copy_or_link(os.path.join(bindings_path, 'dart_sky.dart'), | 178 copy_or_link(os.path.join(bindings_path, 'dart_sky.dart'), |
174 sdk_path('packages/sky/sdk_additions/dart_sky.dart')) | 179 sdk_path('packages/sky/sdk_additions/dart_sky.dart')) |
175 | 180 |
| 181 |
176 # Mojo package, lots of overlap with gen, must be copied: | 182 # Mojo package, lots of overlap with gen, must be copied: |
177 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'), | 183 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'), |
178 dart_filter) | 184 dart_filter) |
179 copy(os.path.join(build_dir, 'gen/mojo'), sdk_path('packages/mojo/lib'), | 185 copy(os.path.join(build_dir, 'gen/mojo'), sdk_path('packages/mojo/lib'), |
180 gen_filter) | 186 gen_filter) |
181 | 187 |
182 # Mojo SDK additions: | 188 # Mojo SDK additions: |
183 copy_or_link(src_path('mojo/public/dart/bindings.dart'), | 189 copy_or_link(src_path('mojo/public/dart/bindings.dart'), |
184 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart')) | 190 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart')) |
185 copy_or_link(src_path('mojo/public/dart/dart_mojo_core.dart'), | 191 copy_or_link(src_path('mojo/public/dart/core.dart'), |
186 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart')) | 192 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart')) |
187 | 193 |
188 if not skip_apks: | 194 if not skip_apks: |
189 ensure_dir_exists(sdk_path('apks')) | 195 ensure_dir_exists(sdk_path('apks')) |
190 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'), | 196 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'), |
191 sdk_path('apks')) | 197 sdk_path('apks')) |
192 | 198 |
193 if generate_licenses: | 199 if generate_licenses: |
194 with open(sdk_path('LICENSES.sky'), 'w') as license_file: | 200 with open(sdk_path('LICENSES.sky'), 'w') as license_file: |
195 subprocess.check_call([src_path('tools/licenses.py'), 'credits'], | 201 subprocess.check_call([src_path('tools/licenses.py'), 'credits'], |
(...skipping 20 matching lines...) Expand all Loading... |
216 'git', 'commit', | 222 'git', 'commit', |
217 '-m', '%s from %s' % (rel_build_dir, git_revision()) | 223 '-m', '%s from %s' % (rel_build_dir, git_revision()) |
218 ], cwd=sdk_root) | 224 ], cwd=sdk_root) |
219 | 225 |
220 time_delta = datetime.now() - start_time | 226 time_delta = datetime.now() - start_time |
221 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds()) | 227 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds()) |
222 | 228 |
223 | 229 |
224 if __name__ == '__main__': | 230 if __name__ == '__main__': |
225 main() | 231 main() |
OLD | NEW |