|  | #!/usr/bin/env python3 | 
|  | # Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file | 
|  | # for details. All rights reserved. Use of this source code is governed by a | 
|  | # BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | import argparse | 
|  | import sys | 
|  |  | 
|  | import gmaven | 
|  | import utils | 
|  |  | 
|  | ARCHIVE_BUCKET = 'r8-releases' | 
|  | REPO = 'https://github.com/google/smali' | 
|  |  | 
|  | def parse_options(): | 
|  | result = argparse.ArgumentParser(description='Release Smali') | 
|  | result.add_argument('--version', | 
|  | required=True, | 
|  | metavar=('<version>'), | 
|  | help='The version of smali to release.') | 
|  | result.add_argument('--dry-run', | 
|  | default=False, | 
|  | action='store_true', | 
|  | help='Only perform non-commiting tasks and print others.') | 
|  | return result.parse_args() | 
|  |  | 
|  |  | 
|  | def Main(): | 
|  | options = parse_options() | 
|  | utils.check_gcert() | 
|  | gfile = ('/bigstore/r8-releases/smali/%s/smali-maven-release-%s.zip' | 
|  | % (options.version, options.version)) | 
|  | release_id = gmaven.publisher_stage([gfile], options.dry_run) | 
|  |  | 
|  | print('Staged Release ID %s.\n' % release_id) | 
|  | gmaven.publisher_stage_redir_test_info( | 
|  | release_id, 'com.android.tools.smali:smali:%s' % options.version, 'smali.jar') | 
|  |  | 
|  | print() | 
|  | answer = input('Continue with publishing [y/N]:') | 
|  |  | 
|  | if answer != 'y': | 
|  | print('Aborting release to Google maven') | 
|  | sys.exit(1) | 
|  |  | 
|  | gmaven.publisher_publish(release_id, options.dry_run) | 
|  |  | 
|  | print() | 
|  | print('Published. Use the email workflow for approval.') | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | sys.exit(Main()) |