1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env python3
- # Copyright 2017 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.
- """Writes a .json file with the per-apk details for an incremental install."""
- import argparse
- import json
- import os
- import sys
- sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, 'gyp'))
- from util import build_utils
- def _ParseArgs(args):
- args = build_utils.ExpandFileArgs(args)
- parser = argparse.ArgumentParser()
- parser.add_argument('--output-path',
- help='Output path for .json file.',
- required=True)
- parser.add_argument('--apk-path',
- help='Path to .apk relative to output directory.',
- required=True)
- parser.add_argument('--split',
- action='append',
- dest='split_globs',
- default=[],
- help='A glob matching the apk splits. '
- 'Can be specified multiple times.')
- parser.add_argument(
- '--native-libs',
- action='append',
- help='GN-list of paths to native libraries relative to '
- 'output directory. Can be repeated.')
- parser.add_argument(
- '--dex-files', help='GN-list of dex paths relative to output directory.')
- parser.add_argument('--show-proguard-warning',
- action='store_true',
- default=False,
- help='Print a warning about proguard being disabled')
- options = parser.parse_args(args)
- options.dex_files = build_utils.ParseGnList(options.dex_files)
- options.native_libs = build_utils.ParseGnList(options.native_libs)
- return options
- def main(args):
- options = _ParseArgs(args)
- data = {
- 'apk_path': options.apk_path,
- 'native_libs': options.native_libs,
- 'dex_files': options.dex_files,
- 'show_proguard_warning': options.show_proguard_warning,
- 'split_globs': options.split_globs,
- }
- with build_utils.AtomicOutput(options.output_path, mode='w+') as f:
- json.dump(data, f, indent=2, sort_keys=True)
- if __name__ == '__main__':
- main(sys.argv[1:])
|