|
13 | 13 | # limitations under the License. |
14 | 14 | """Validates an android manifest xml file.""" |
15 | 15 |
|
| 16 | +import argparse |
16 | 17 | import sys |
17 | 18 | import xml.dom.minidom |
18 | 19 |
|
19 | | -from absl import app |
20 | | -from absl import flags |
21 | | - |
22 | | -_MANIFEST = flags.DEFINE_string('manifest', None, |
23 | | - 'Path to manifest.xml to validate.') |
24 | | -_OUTPUT = flags.DEFINE_string('output', None, |
25 | | - 'Output file for validation action.') |
26 | | -_EXPECTED_MIN_SDK = flags.DEFINE_integer('expected_min_sdk_version', 0, |
27 | | - 'Expected minSdkVersion in manifest.') |
28 | 20 |
|
29 | 21 | _MIN_SDK_VERSION = 'android:minSdkVersion' |
30 | 22 |
|
@@ -58,22 +50,36 @@ def ValidateManifestMinSdk(manifest, expected_min_sdk): |
58 | 50 | """ % (expected_min_sdk, min_sdk_version) |
59 | 51 |
|
60 | 52 |
|
61 | | -def main(argv): |
62 | | - if len(argv) > 1: |
63 | | - raise app.UsageError('Too many command-line arguments.') |
64 | | - |
65 | | - with open(_MANIFEST.value, 'rb') as manifest_file: |
| 53 | +def main(): |
| 54 | + parser = argparse.ArgumentParser( |
| 55 | + description='Validates an android manifest xml file.' |
| 56 | + ) |
| 57 | + parser.add_argument( |
| 58 | + '--manifest', required=True, help='Path to manifest.xml to validate.' |
| 59 | + ) |
| 60 | + parser.add_argument( |
| 61 | + '--output', required=True, help='Output file for validation action.' |
| 62 | + ) |
| 63 | + parser.add_argument( |
| 64 | + '--expected_min_sdk_version', |
| 65 | + type=int, |
| 66 | + default=0, |
| 67 | + help='Expected minSdkVersion in manifest.', |
| 68 | + ) |
| 69 | + args = parser.parse_args() |
| 70 | + |
| 71 | + with open(args.manifest, 'rb') as manifest_file: |
66 | 72 | manifest = manifest_file.read() |
67 | 73 |
|
68 | | - if _EXPECTED_MIN_SDK.value: |
69 | | - error = ValidateManifestMinSdk(manifest, _EXPECTED_MIN_SDK.value) |
| 74 | + if args.expected_min_sdk_version: |
| 75 | + error = ValidateManifestMinSdk(manifest, args.expected_min_sdk_version) |
70 | 76 | if error: |
71 | 77 | sys.stderr.write(error) |
72 | 78 | sys.exit(1) |
73 | 79 |
|
74 | | - with open(_OUTPUT.value, 'w') as output: |
| 80 | + with open(args.output, 'w') as output: |
75 | 81 | output.write('') |
76 | 82 |
|
77 | 83 |
|
78 | 84 | if __name__ == '__main__': |
79 | | - app.run(main) |
| 85 | + main() |
0 commit comments