Class: Flow::Cli::YamlBuilders::IosBuildStepGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/flow/cli/yaml_builders/ios_build_step_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cli_config = {}) ⇒ IosBuildStepGenerator

Returns a new instance of IosBuildStepGenerator.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/flow/cli/yaml_builders/ios_build_step_generator.rb', line 8

def initialize(cli_config = {})
  self.cli_config = cli_config
  if ENV["FLOW_CLI_TEST"] != "TRUE"
    Gym.config = FastlaneCore::Configuration.create(Gym::Options.available_options, {})
    config = Gym.config.values(ask: false).reject { |_k, v| v.nil? }
    allowed_params = %i[workspace project scheme clean output_name configuration
                        codesigning_identity include_symbols include_bitcode
                        export_method export_options export_xcargs]
    @gym_config = config.select { |k, _v| allowed_params.include? k }
  else
    @gym_config = {}
  end
end

Instance Attribute Details

#cli_configObject

Returns the value of attribute cli_config.



7
8
9
# File 'lib/flow/cli/yaml_builders/ios_build_step_generator.rb', line 7

def cli_config
  @cli_config
end

Instance Method Details

#build_gym_paramsObject



34
35
36
# File 'lib/flow/cli/yaml_builders/ios_build_step_generator.rb', line 34

def build_gym_params
  @gym_config.map { |k, v| "--#{k} #{v}".rstrip }.join(' ')
end

#generate_gym_scriptObject



22
23
24
25
# File 'lib/flow/cli/yaml_builders/ios_build_step_generator.rb', line 22

def generate_gym_script
  merge_user_cli_gym_config
  "fastlane gym build #{build_gym_params}"
end

#merge_user_cli_gym_configObject

返回 由 gym 调用的 core 的生成的相关参数



28
29
30
31
32
# File 'lib/flow/cli/yaml_builders/ios_build_step_generator.rb', line 28

def merge_user_cli_gym_config
  user_gym_config = { export_method: 'ad-hoc' }.merge(cli_config[:gym_config] || {})
  @gym_config.merge!(user_gym_config)
  @gym_config
end