aboutsummaryrefslogtreecommitdiff
path: root/build/mainline_modules_sdks.py
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2022-03-17 18:10:24 +0000
committerPaul Duffin <paulduffin@google.com>2022-03-21 12:53:14 +0000
commit14c6bd8c38632da95b82218c825ee68cd46a97dd (patch)
tree1b8026795d0e9d1e4d954c6db8716f1e4a6c6813 /build/mainline_modules_sdks.py
parentde60aeb525d7201c634b185f137d5e4e591603d8 (diff)
downloadcommon-14c6bd8c38632da95b82218c825ee68cd46a97dd.tar.gz
Add --build-release option to mainline_modules_sdks.sh
This change makes it easier to test the behavior of specific build releases. Bug: 218685706 Test: atest --host mainline_modules_sdks_test packages/modules/common/build/mainline_modules_sdks.sh packages/modules/common/build/mainline_modules_sdks.sh --build-release=S --build-release=latest pyformat -s 4 --force_quote_type double -i build/mainline_modules_sdks*.py /usr/bin/pylint --rcfile $ANDROID_BUILD_TOP/tools/repohooks/tools/pylintrc build/mainline_modules_sdks*.py Change-Id: Ib9ef2f35d27d10cd960c4b6225417d930cb10afc
Diffstat (limited to 'build/mainline_modules_sdks.py')
-rwxr-xr-xbuild/mainline_modules_sdks.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py
index 0db4c783..2b5bd234 100755
--- a/build/mainline_modules_sdks.py
+++ b/build/mainline_modules_sdks.py
@@ -18,7 +18,7 @@
If the environment variable TARGET_BUILD_APPS is nonempty then only the SDKs for
the APEXes in it are built, otherwise all configured SDKs are built.
"""
-
+import argparse
import dataclasses
import io
import os
@@ -757,16 +757,34 @@ def filter_modules(modules):
return modules
-def main():
+def main(args):
"""Program entry point."""
if not os.path.exists("build/make/core/Makefile"):
sys.exit("This script must be run from the top of the tree.")
+ args_parser = argparse.ArgumentParser(
+ description="Build snapshot zips for consumption by Gantry.")
+ args_parser.add_argument(
+ "--build-release",
+ action="append",
+ choices=[br.name for br in ALL_BUILD_RELEASES],
+ help="A target build for which snapshots are required.",
+ )
+ args = args_parser.parse_args(args)
+
+ build_releases = ALL_BUILD_RELEASES
+ if args.build_release:
+ selected_build_releases = {b.lower() for b in args.build_release}
+ build_releases = [
+ b for b in build_releases
+ if b.name.lower() in selected_build_releases
+ ]
+
producer = create_producer()
modules = filter_modules(MAINLINE_MODULES)
- producer.produce_dist(modules, ALL_BUILD_RELEASES)
+ producer.produce_dist(modules, build_releases)
if __name__ == "__main__":
- main()
+ main(sys.argv[1:])