blob: c868887408d3b33345bd604a834581b9dfb786aa [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2018 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('--asset-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('--manifest', type=str, help='The application manifest')
parser.add_argument('--component-name', type=str, help='The name of the component')
parser.add_argument('--asset-manifest-out', type=str,
help='Output path for the asset manifest used by the fuchsia packaging tool')
args = parser.parse_args()
env = os.environ.copy()
env['FLUTTER_ROOT'] = args.flutter_root
call_args = [
args.flutter_tools,
'--asset-dir=%s' % args.asset_dir,
'--packages=%s' % args.packages,
]
if 'manifest' in args:
call_args.append('--manifest=%s' % args.manifest)
if args.asset_manifest_out:
call_args.append('--asset-manifest-out=%s' % args.asset_manifest_out)
if args.component_name:
call_args.append('--component-name=%s' % args.component_name)
result = subprocess.call(call_args, env=env, cwd=args.app_dir)
return result
if __name__ == '__main__':
sys.exit(main())