mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
67 lines
2.4 KiB
Python
Executable File
67 lines
2.4 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='Package a Flutter application')
|
|
|
|
parser.add_argument('--flutter-root', type=str, required=True,
|
|
help='The root of the Flutter SDK')
|
|
parser.add_argument('--flutter-tools', type=str, required=True,
|
|
help='The executable for the Flutter tool')
|
|
parser.add_argument('--working-dir', type=str, required=True,
|
|
help='The directory where to put intermediate files')
|
|
parser.add_argument('--app-dir', type=str, required=True,
|
|
help='The root of the app')
|
|
parser.add_argument('--packages', type=str, required=True,
|
|
help='The package map to use')
|
|
parser.add_argument('--snapshot', type=str, required=False,
|
|
help='Path to application snapshot')
|
|
parser.add_argument('--dylib', type=str, required=False,
|
|
help='Path to AOT dylib')
|
|
parser.add_argument('--output-file', type=str, required=True,
|
|
help='Where to output application bundle')
|
|
parser.add_argument('--build-root', type=str, required=True,
|
|
help='The build\'s root directory')
|
|
parser.add_argument('--depfile', type=str, required=True,
|
|
help='Where to output application bundle dependencies')
|
|
parser.add_argument('--interpreter', type=str, required=True,
|
|
help='')
|
|
parser.add_argument('--manifest', type=str, help='The application manifest')
|
|
|
|
args = parser.parse_args()
|
|
|
|
env = os.environ.copy()
|
|
env['FLUTTER_ROOT'] = args.flutter_root
|
|
|
|
call_args = [
|
|
args.flutter_tools,
|
|
'--working-dir=%s' % args.working_dir,
|
|
'--packages=%s' % args.packages,
|
|
'--output-file=%s' % args.output_file,
|
|
'--header=#!fuchsia %s' % args.interpreter,
|
|
'--build-root=%s' % args.build_root,
|
|
'--depfile=%s' % args.depfile,
|
|
]
|
|
if args.snapshot != None:
|
|
call_args.append('--snapshot=%s' % args.snapshot)
|
|
if args.dylib != None:
|
|
call_args.append('--dylib=%s' % args.dylib)
|
|
if 'manifest' in args:
|
|
call_args.append('--manifest=%s' % args.manifest)
|
|
|
|
result = subprocess.call(call_args, env=env, cwd=args.app_dir)
|
|
|
|
return result
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|