Skip to content

Commit a09c47f

Browse files
ted-xiecopybara-github
authored andcommitted
Migrate validate_manifest.py from absl to argparse.
This change removes the dependency on `absl.app` and `absl.flags`, replacing them with the standard `argparse` module for command-line argument parsing. PiperOrigin-RevId: 793727840 Change-Id: I420802d7a45cf9a8cfa1051aa39ad5f122c80a15
1 parent cab913f commit a09c47f

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

src/validations/validate_manifest/validate_manifest.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,10 @@
1313
# limitations under the License.
1414
"""Validates an android manifest xml file."""
1515

16+
import argparse
1617
import sys
1718
import xml.dom.minidom
1819

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.')
2820

2921
_MIN_SDK_VERSION = 'android:minSdkVersion'
3022

@@ -58,22 +50,36 @@ def ValidateManifestMinSdk(manifest, expected_min_sdk):
5850
""" % (expected_min_sdk, min_sdk_version)
5951

6052

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:
6672
manifest = manifest_file.read()
6773

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)
7076
if error:
7177
sys.stderr.write(error)
7278
sys.exit(1)
7379

74-
with open(_OUTPUT.value, 'w') as output:
80+
with open(args.output, 'w') as output:
7581
output.write('')
7682

7783

7884
if __name__ == '__main__':
79-
app.run(main)
85+
main()

0 commit comments

Comments
 (0)