Compare commits

...

1 Commits

1 changed files with 20 additions and 25 deletions

View File

@ -374,11 +374,8 @@ end
def fill_up_options_using_configuration_type(options, configuration_type)
configuration = get_configuration_for_type(configuration_type.type)
api_key_json_path = File.expand_path "../fastlane/#{configuration_type.prefix}_api_key.json"
is_api_key_file_exists = File.exists?(api_key_json_path)
api_key_path = nil
api_key = nil
api_key_path = File.expand_path "../fastlane/#{configuration_type.prefix}_api_key.json"
is_api_key_file_exists = File.exists?(api_key_path)
# Check whether configuration type is required to configure one of api key parameters or not
@ -389,40 +386,38 @@ def fill_up_options_using_configuration_type(options, configuration_type)
if is_api_key_file_exists
# If exists then fill in all required information through api_key_path parameter
# and set a value to an options` parameter respectively
api_key_path = "fastlane/#{configuration_type.prefix}_api_key.json"
default_options = {:api_key_path => api_key_path}
else
require 'json'
# If doesn't exist then build api_key parameter through app_store_connect_api_key action
# and set a value to an options` parameter respectively also
api_key_parameters = JSON.parse(ENV['API_KEY_JSON'])
api_key = app_store_connect_api_key(
key_id: api_key_parameters['key_id'],
issuer_id: api_key_parameters['issuer_id'],
key_content: api_key_parameters['key'],
duration: api_key_parameters['duration'],
in_house: api_key_parameters['in_house']
)
default_options = {:api_key => get_app_store_connect_api_key()}
end
end
# Setting required parameter depending on API key JSON file existence
if is_api_key_file_exists
default_options = {:api_key_path => api_key_path}
else
default_options = {:api_key => api_key}
end
default_options
.merge(configuration.to_options)
.merge(get_keychain_options(options))
.merge(options)
end
def get_app_store_connect_api_key()
require 'json'
api_key_parameters = JSON.parse(ENV['API_KEY_JSON'])
return app_store_connect_api_key(
key_id: api_key_parameters['key_id'],
issuer_id: api_key_parameters['issuer_id'],
key_content: api_key_parameters['key'],
duration: api_key_parameters['duration'],
in_house: api_key_parameters['in_house']
)
end
def get_keychain_options(options)
keychain_name = options[:keychain_name]
keychain_password = options[:keychain_password]