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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 else: | 108 else: |
109 os.remove(path) | 109 os.remove(path) |
110 | 110 |
111 | 111 |
112 def main(): | 112 def main(): |
113 logging.basicConfig(level=logging.WARN) | 113 logging.basicConfig(level=logging.WARN) |
114 parser = argparse.ArgumentParser(description='Deploy a new sky_sdk.') | 114 parser = argparse.ArgumentParser(description='Deploy a new sky_sdk.') |
115 parser.add_argument('sdk_root', type=str) | 115 parser.add_argument('sdk_root', type=str) |
116 parser.add_argument('--build-dir', action='store', type=str, | 116 parser.add_argument('--build-dir', action='store', type=str, |
117 default=os.path.join(SRC_ROOT, DEFAULT_REL_BUILD_DIR)) | 117 default=os.path.join(SRC_ROOT, DEFAULT_REL_BUILD_DIR)) |
| 118 parser.add_argument('--extra-mojom-dir', action='append', |
| 119 type=str, |
| 120 dest='extra_mojom_dirs', |
| 121 metavar='EXTRA_MOJOM_DIR', |
| 122 help='Extra root directory for mojom packages. ' |
| 123 'Can be specified multiple times.', |
| 124 default=[]) |
118 parser.add_argument('--non-interactive', action='store_true') | 125 parser.add_argument('--non-interactive', action='store_true') |
119 parser.add_argument('--dev-environment', action='store_true') | 126 parser.add_argument('--dev-environment', action='store_true') |
120 parser.add_argument('--commit', action='store_true') | 127 parser.add_argument('--commit', action='store_true') |
121 parser.add_argument('--fake-pub-get-into', action='store', type=str) | 128 parser.add_argument('--fake-pub-get-into', action='store', type=str) |
122 args = parser.parse_args() | 129 args = parser.parse_args() |
123 | 130 |
124 build_dir = os.path.abspath(args.build_dir) | 131 build_dir = os.path.abspath(args.build_dir) |
125 sdk_root = os.path.abspath(args.sdk_root) | 132 sdk_root = os.path.abspath(args.sdk_root) |
126 | 133 |
127 print 'Building SDK from %s into %s' % (build_dir, sdk_root) | 134 print 'Building SDK from %s into %s' % (build_dir, sdk_root) |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 copy_or_link(src_path('sky/engine/bindings/builtin.dart'), | 167 copy_or_link(src_path('sky/engine/bindings/builtin.dart'), |
161 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart')) | 168 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart')) |
162 bindings_path = os.path.join(build_dir, 'gen/sky/bindings') | 169 bindings_path = os.path.join(build_dir, 'gen/sky/bindings') |
163 # dart_sky.dart has many supporting files: | 170 # dart_sky.dart has many supporting files: |
164 copy(bindings_path, sdk_path('packages/sky/sdk_additions'), | 171 copy(bindings_path, sdk_path('packages/sky/sdk_additions'), |
165 dart_filter) | 172 dart_filter) |
166 | 173 |
167 # Mojo package, lots of overlap with gen, must be copied: | 174 # Mojo package, lots of overlap with gen, must be copied: |
168 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'), | 175 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'), |
169 dart_filter) | 176 dart_filter) |
170 copy(os.path.join(build_dir, 'gen/dart-gen/mojom'), | 177 mojom_dirs = [ os.path.join(build_dir, 'gen/dart-gen/mojom') ] |
171 sdk_path('packages/mojom/lib/'), gen_filter) | 178 mojom_dirs += args.extra_mojom_dirs |
| 179 for mojom_dir in mojom_dirs: |
| 180 copy(mojom_dir, sdk_path('packages/mojom/lib/'), gen_filter) |
172 | 181 |
173 # Mojo SDK additions: | 182 # Mojo SDK additions: |
174 copy_or_link(src_path('mojo/public/dart/bindings.dart'), | 183 copy_or_link(src_path('mojo/public/dart/bindings.dart'), |
175 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart')) | 184 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart')) |
176 copy_or_link(src_path('mojo/public/dart/core.dart'), | 185 copy_or_link(src_path('mojo/public/dart/core.dart'), |
177 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart')) | 186 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart')) |
178 | 187 |
179 if not skip_apks: | 188 if not skip_apks: |
180 ensure_dir_exists(sdk_path('packages/sky/apks')) | 189 ensure_dir_exists(sdk_path('packages/sky/apks')) |
181 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'), | 190 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'), |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 'git', 'commit', | 225 'git', 'commit', |
217 '-m', commit_message | 226 '-m', commit_message |
218 ], cwd=sdk_root) | 227 ], cwd=sdk_root) |
219 | 228 |
220 time_delta = datetime.now() - start_time | 229 time_delta = datetime.now() - start_time |
221 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds()) | 230 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds()) |
222 | 231 |
223 | 232 |
224 if __name__ == '__main__': | 233 if __name__ == '__main__': |
225 main() | 234 main() |
OLD | NEW |