Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(949)

Side by Side Diff: sky/tools/deploy_sdk.py

Issue 1106383006: Dart: Adds mojom pub package. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Cleanup Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« mojo/dart/mojom/README.md ('K') | « mojo/dart/mojom/pubspec.yaml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 copy_or_link(src_path('sky/engine/bindings/builtin.dart'), 167 copy_or_link(src_path('sky/engine/bindings/builtin.dart'),
168 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart')) 168 sdk_path('packages/sky/sdk_additions/dart_sky_builtins.dart'))
169 bindings_path = os.path.join(build_dir, 'gen/sky/bindings') 169 bindings_path = os.path.join(build_dir, 'gen/sky/bindings')
170 # dart_sky.dart has many supporting files: 170 # dart_sky.dart has many supporting files:
171 copy(bindings_path, sdk_path('packages/sky/sdk_additions'), 171 copy(bindings_path, sdk_path('packages/sky/sdk_additions'),
172 dart_filter) 172 dart_filter)
173 173
174 # Mojo package, lots of overlap with gen, must be copied: 174 # Mojo package, lots of overlap with gen, must be copied:
175 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'), 175 copy(src_path('mojo/public'), sdk_path('packages/mojo/lib/public'),
176 dart_filter) 176 dart_filter)
177 mojom_dirs = [ os.path.join(build_dir, 'gen/dart-gen/mojom') ] 177
178 mojom_dirs += args.extra_mojom_dirs 178 # By convention the generated .mojom.dart files in a pub package
179 for mojom_dir in mojom_dirs: 179 # go under $PACKAGE/lib/mojom.
180 copy(mojom_dir, sdk_path('packages/mojom/lib/'), gen_filter) 180 # The mojo package owns all the .mojom.dart files that are not in the 'sky'
181 # mojom module.
182 def non_sky_gen_filter(path):
183 if os.path.isdir(path) and path.endswith('sky'):
184 return False
185 return gen_filter(path)
186 mojo_package_mojom_dir = sdk_path('packages/mojo/lib/mojom')
187 copy(os.path.join(build_dir, 'gen/dart-gen/mojom'), mojo_package_mojom_dir,
188 non_sky_gen_filter)
189
190 # The Sky package owns the .mojom.dart files in the 'sky' mojom module.
191 def sky_gen_filter(path):
192 if os.path.isfile(path) and not os.path.dirname(path).endswith('sky'):
193 return False
194 return gen_filter(path)
195 sky_package_mojom_dir = sdk_path('packages/sky/lib/mojom')
196 copy(os.path.join(build_dir, 'gen/dart-gen/mojom'), sky_package_mojom_dir,
197 sky_gen_filter)
181 198
182 # Mojo SDK additions: 199 # Mojo SDK additions:
183 copy_or_link(src_path('mojo/public/dart/bindings.dart'), 200 copy_or_link(src_path('mojo/public/dart/bindings.dart'),
184 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart')) 201 sdk_path('packages/mojo/sdk_additions/dart_mojo_bindings.dart'))
185 copy_or_link(src_path('mojo/public/dart/core.dart'), 202 copy_or_link(src_path('mojo/public/dart/core.dart'),
186 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart')) 203 sdk_path('packages/mojo/sdk_additions/dart_mojo_core.dart'))
187 204
188 if not skip_apks: 205 if not skip_apks:
189 ensure_dir_exists(sdk_path('packages/sky/apks')) 206 ensure_dir_exists(sdk_path('packages/sky/apks'))
190 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'), 207 shutil.copy(os.path.join(build_dir, 'apks', 'SkyDemo.apk'),
191 sdk_path('packages/sky/apks')) 208 sdk_path('packages/sky/apks'))
192 209
193 if generate_licenses: 210 if generate_licenses:
194 with open(sdk_path('LICENSES.sky'), 'w') as license_file: 211 with open(sdk_path('LICENSES.sky'), 'w') as license_file:
195 subprocess.check_call([src_path('tools/licenses.py'), 'credits'], 212 subprocess.check_call([src_path('tools/licenses.py'), 'credits'],
196 stdout=license_file) 213 stdout=license_file)
197 214
198 copy_or_link(src_path('AUTHORS'), sdk_path('packages/mojo/AUTHORS')) 215 copy_or_link(src_path('AUTHORS'), sdk_path('packages/mojo/AUTHORS'))
199 copy_or_link(src_path('LICENSE'), sdk_path('packages/mojo/LICENSE')) 216 copy_or_link(src_path('LICENSE'), sdk_path('packages/mojo/LICENSE'))
200 copy_or_link(src_path('AUTHORS'), sdk_path('packages/sky/AUTHORS')) 217 copy_or_link(src_path('AUTHORS'), sdk_path('packages/sky/AUTHORS'))
201 copy_or_link(src_path('LICENSE'), sdk_path('packages/sky/LICENSE')) 218 copy_or_link(src_path('LICENSE'), sdk_path('packages/sky/LICENSE'))
202 219
203 if args.fake_pub_get_into: 220 if args.fake_pub_get_into:
204 packages_dir = os.path.abspath(args.fake_pub_get_into) 221 packages_dir = os.path.abspath(args.fake_pub_get_into)
205 ensure_dir_exists(packages_dir) 222 ensure_dir_exists(packages_dir)
206 make_relative_symlink(sdk_path('packages/mojo/lib'), 223 make_relative_symlink(sdk_path('packages/mojo/lib'),
207 os.path.join(packages_dir, 'mojo')) 224 os.path.join(packages_dir, 'mojo'))
208 make_relative_symlink(sdk_path('packages/mojom/lib'),
209 os.path.join(packages_dir, 'mojom'))
210 make_relative_symlink(sdk_path('packages/sky/lib'), 225 make_relative_symlink(sdk_path('packages/sky/lib'),
211 os.path.join(packages_dir, 'sky')) 226 os.path.join(packages_dir, 'sky'))
212 227
228 mojom_dirs = [ mojo_package_mojom_dir, sky_package_mojom_dir ]
229 mojom_dirs += args.extra_mojom_dirs
230 for mojom_dir in mojom_dirs:
231 copy(mojom_dir, os.path.join(packages_dir, 'mojom'), gen_filter)
232
213 if should_commit: 233 if should_commit:
214 # Kinda a hack to make a prettier build dir for the commit: 234 # Kinda a hack to make a prettier build dir for the commit:
215 script_path = os.path.relpath(os.path.abspath(__file__), SRC_ROOT) 235 script_path = os.path.relpath(os.path.abspath(__file__), SRC_ROOT)
216 rel_build_dir = os.path.relpath(build_dir, SRC_ROOT) 236 rel_build_dir = os.path.relpath(build_dir, SRC_ROOT)
217 revision = git_revision() 237 revision = git_revision()
218 commit_url = "https://github.com/domokit/mojo/commit/%s" % revision 238 commit_url = "https://github.com/domokit/mojo/commit/%s" % revision
219 pattern = """Autogenerated from %s 239 pattern = """Autogenerated from %s
220 Using %s and build output from %s. 240 Using %s and build output from %s.
221 """ 241 """
222 commit_message = pattern % (commit_url, script_path, rel_build_dir) 242 commit_message = pattern % (commit_url, script_path, rel_build_dir)
223 subprocess.check_call(['git', 'add', '.'], cwd=sdk_root) 243 subprocess.check_call(['git', 'add', '.'], cwd=sdk_root)
224 subprocess.check_call([ 244 subprocess.check_call([
225 'git', 'commit', 245 'git', 'commit',
226 '-m', commit_message 246 '-m', commit_message
227 ], cwd=sdk_root) 247 ], cwd=sdk_root)
228 248
229 time_delta = datetime.now() - start_time 249 time_delta = datetime.now() - start_time
230 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds()) 250 print 'SDK built at %s in %ss' % (sdk_root, time_delta.total_seconds())
231 251
232 252
233 if __name__ == '__main__': 253 if __name__ == '__main__':
234 main() 254 main()
OLDNEW
« mojo/dart/mojom/README.md ('K') | « mojo/dart/mojom/pubspec.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698