Chromium Code Reviews| Index: build/android/gyp/aar.py |
| diff --git a/build/android/gyp/aar.py b/build/android/gyp/aar.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..abf944f3d5a860e1fd5ff6af1de5b70b5c225973 |
| --- /dev/null |
| +++ b/build/android/gyp/aar.py |
| @@ -0,0 +1,51 @@ |
| +#!/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. |
| + |
| +"""Processes an Android AAR file.""" |
| + |
| +import argparse |
| +import os |
| +import shutil |
| +import sys |
| +import zipfile |
| + |
| +from util import build_utils |
| + |
|
agrieve
2016/07/15 14:34:40
nit: 2 blank lines between top-level things
Ian Wen
2016/07/17 02:08:09
Done.
|
| +def main(): |
| + parser = argparse.ArgumentParser(description=__doc__) |
| + parser.add_argument('--extract', |
| + help=('Extract the files to output directory.'), |
|
agrieve
2016/07/15 14:34:41
these braces are not required.
Ian Wen
2016/07/17 02:08:08
Done.
|
| + action='store_true') |
| + parser.add_argument('--list_res', |
|
agrieve
2016/07/15 14:34:41
use - rather than _ in flags. --list-resources
Ian Wen
2016/07/17 02:08:09
Done.
|
| + help=('List all files in res folder.'), |
| + action='store_true') |
| + parser.add_argument('--input_file', |
| + help=('Name and path of the AAR file.'), |
|
agrieve
2016/07/15 14:34:41
nit: path implies name. Just say "Path to the .aar
Ian Wen
2016/07/17 02:08:09
Done.
|
| + required=True, |
| + metavar='FILE') |
| + parser.add_argument('--output_dir', |
| + help=('Output dir for the extracted files.'), |
|
agrieve
2016/07/15 14:34:41
nit: don't use abbreviations in help when possible
Ian Wen
2016/07/17 02:08:09
Done.
|
| + required=True, |
|
agrieve
2016/07/15 14:34:40
This shouldn't be required for --list
Ian Wen
2016/07/17 02:08:08
Done.
|
| + metavar='PATH') |
|
agrieve
2016/07/15 14:34:41
It would make more sense to say 'DIR' since your o
Ian Wen
2016/07/17 02:08:09
Done.
|
| + |
| + args = parser.parse_args() |
| + |
| + aar_file = args.input_file # e.g. library.aar |
| + output_dir = args.output_dir # e.g. path/to/output |
| + |
| + if (args.extract): |
|
agrieve
2016/07/15 14:34:41
nit: drop parentheses.
Ian Wen
2016/07/17 02:08:08
Done.
|
| + # Clear previously extracted versions of the AAR |
|
agrieve
2016/07/15 14:34:41
nit: missing . at end of sentence.
Ian Wen
2016/07/17 02:08:09
Done.
|
| + shutil.rmtree(output_dir, True) |
| + build_utils.ExtractAll(aar_file, path=output_dir) |
| + |
| + if (args.list_res): |
| + with zipfile.ZipFile(aar_file) as z: |
| + for name in z.namelist(): |
| + if name.startswith('res/') and not name.endswith('/'): |
| + print os.path.join(output_dir, name) |
|
agrieve
2016/07/15 14:34:41
I think it would make more sense to just output na
Ian Wen
2016/07/17 02:08:09
Done.
|
| + |
| +if __name__ == '__main__': |
| + sys.exit(main()) |