1*9e94795aSAndroid Build Coastguard Worker# Copyright (C) 2022 The Android Open Source Project 2*9e94795aSAndroid Build Coastguard Worker# 3*9e94795aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*9e94795aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*9e94795aSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*9e94795aSAndroid Build Coastguard Worker# 7*9e94795aSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*9e94795aSAndroid Build Coastguard Worker# 9*9e94795aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*9e94795aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*9e94795aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9e94795aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*9e94795aSAndroid Build Coastguard Worker# limitations under the License. 14*9e94795aSAndroid Build Coastguard Worker 15*9e94795aSAndroid Build Coastguard Workerimport argparse 16*9e94795aSAndroid Build Coastguard Workerimport shlex 17*9e94795aSAndroid Build Coastguard Worker 18*9e94795aSAndroid Build Coastguard Worker 19*9e94795aSAndroid Build Coastguard Workerdef ParseSignerArgs(args): 20*9e94795aSAndroid Build Coastguard Worker if args is None: 21*9e94795aSAndroid Build Coastguard Worker return None 22*9e94795aSAndroid Build Coastguard Worker return shlex.split(args) 23*9e94795aSAndroid Build Coastguard Worker 24*9e94795aSAndroid Build Coastguard Worker 25*9e94795aSAndroid Build Coastguard Workerdef AddSigningArgumentParse(parser: argparse.ArgumentParser): 26*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--package_key', type=str, 27*9e94795aSAndroid Build Coastguard Worker help='Paths to private key for signing payload') 28*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--search_path', '--path', type=str, 29*9e94795aSAndroid Build Coastguard Worker help='Search path for framework/signapk.jar') 30*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--payload_signer', type=str, 31*9e94795aSAndroid Build Coastguard Worker help='Path to custom payload signer') 32*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--payload_signer_args', type=ParseSignerArgs, 33*9e94795aSAndroid Build Coastguard Worker help='Arguments for payload signer if necessary') 34*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--payload_signer_maximum_signature_size', type=str, 35*9e94795aSAndroid Build Coastguard Worker help='Maximum signature size (in bytes) that would be ' 36*9e94795aSAndroid Build Coastguard Worker 'generated by the given payload signer') 37*9e94795aSAndroid Build Coastguard Worker parser.add_argument('--private_key_suffix', type=str, 38*9e94795aSAndroid Build Coastguard Worker help='Suffix to be appended to package_key path', default=".pk8") 39