#!/usr/bin/env python3 # # Copyright (C) 2022 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import argparse import logging import update import utils VNDK_SNAPSHOT_SOURCE_BRANCHES = { 29: 'qt-gsi-release', 30: 'android11-gsi', 31: 'android12-gsi', 32: 'android12L-gsi', 33: 'android13-gsi', } def fetch_and_update_snapshots(versions, args): for version in versions: if version not in VNDK_SNAPSHOT_SOURCE_BRANCHES: raise ValueError ('Unknown VNDK version: {}'.format(version)) logging.info('Updating snapshot version {}'.format(version)) branch = VNDK_SNAPSHOT_SOURCE_BRANCHES[version] bid = utils.get_latest_vndk_bid(branch) update.run(version, branch, bid, None, args.use_current_branch, args.remote, args.verbose) def get_args(parser): parser.add_argument( 'versions', metavar='vndk_version', type=int, nargs='*', help='list of versions to fetch and update') parser.add_argument( '--all', action='store_true', help='fetch all vndk snapshots') parser.add_argument( '--use-current-branch', action='store_true', help='Perform the update in the current branch. Do not repo start.') parser.add_argument( '--remote', default='aosp', help=('Remote name to fetch and check if the revision of VNDK snapshot ' 'is included in the source to conform GPL license. default=aosp')) parser.add_argument( '-v', '--verbose', action='count', default=0, help='Increase output verbosity, e.g. "-v", "-vv"') return parser.parse_args() def main(): parser = argparse.ArgumentParser() args = get_args(parser) utils.set_logging_config(args.verbose) if args.all: versions = VNDK_SNAPSHOT_SOURCE_BRANCHES.keys() fetch_and_update_snapshots(versions, args) return if not args.versions: parser.print_help() return fetch_and_update_snapshots(args.versions, args) if __name__ == '__main__': main()