mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
69 lines
2.6 KiB
Python
Executable File
69 lines
2.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright 2016 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import argparse
|
|
import subprocess
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description='Snapshot a Flutter application')
|
|
|
|
parser.add_argument('--snapshotter-path', type=str, required=True,
|
|
help='The Flutter snapshotter')
|
|
parser.add_argument('--vm-snapshot-data', type=str, required=True,
|
|
help='Path to vm_isolate_snapshot.bin')
|
|
parser.add_argument('--vm-snapshot-instructions', type=str, required=True,
|
|
help='Path to vm_isolate_snapshot.bin')
|
|
parser.add_argument('--isolate-snapshot-data', type=str, required=True,
|
|
help='Path to isolate_snapshot.bin')
|
|
parser.add_argument('--isolate-snapshot-instructions', type=str, required=True,
|
|
help='Path to isolate_snapshot.bin')
|
|
parser.add_argument('--main-dart', type=str, required=True,
|
|
help='The main.dart file to use')
|
|
parser.add_argument('--packages', type=str, required=True,
|
|
help='The package map to use')
|
|
parser.add_argument('--snapshot', type=str, required=True,
|
|
help='Where to output application snapshot')
|
|
parser.add_argument('--depfile', type=str, required=True,
|
|
help='Where to output dependency information')
|
|
parser.add_argument('--root-build-dir', type=str, required=True,
|
|
help='The root build dir for --depfile and --snapshot')
|
|
parser.add_argument('--checked', default=False, action='store_true',
|
|
help='Enable checked mode')
|
|
|
|
args = parser.parse_args()
|
|
|
|
cmd = [
|
|
args.snapshotter_path,
|
|
'--enable_mirrors=false',
|
|
'--await_is_keyword',
|
|
'--snapshot_kind=script',
|
|
'--vm_snapshot_data=%s' % args.vm_snapshot_data,
|
|
'--vm_snapshot_instructions=%s' % args.vm_snapshot_instructions,
|
|
'--isolate_snapshot_data=%s' % args.isolate_snapshot_data,
|
|
'--isolate_snapshot_instructions=%s' % args.isolate_snapshot_instructions,
|
|
'--packages=%s' % args.packages,
|
|
'--script_snapshot=%s' % args.snapshot,
|
|
'--dependencies=%s' % args.depfile,
|
|
]
|
|
if args.checked:
|
|
cmd.append('--enable_asserts')
|
|
cmd.append('--enable_type_checks')
|
|
cmd.append('--error_on_bad_type')
|
|
cmd.append('--error_on_bad_override')
|
|
cmd.append(args.main_dart)
|
|
|
|
result = subprocess.call(cmd, cwd=args.root_build_dir)
|
|
if result != 0:
|
|
print("Command failed: '%s'" % (" ".join(cmd)))
|
|
|
|
return result
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|