Class: XcodeArchiveCache::BuildSettings::Extractor

Inherits:
Object
  • Object
show all
Defined in:
lib/build_settings/extractor.rb

Instance Method Summary collapse

Constructor Details

#initializeExtractor

Returns a new instance of Extractor.



5
6
7
8
# File 'lib/build_settings/extractor.rb', line 5

def initialize
  @parser = Parser.new
  @filter = Filter.new
end

Instance Method Details

#extract_per_target(build_settings, fix_simulator) ⇒ Hash{String => Container}

Returns Target build settings keyed by target name.

Parameters:

  • build_settings (String)

    Raw ‘xcodebuild -alltargets -showBuildSettings` output

Returns:

  • (Hash{String => Container})

    Target build settings keyed by target name



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/build_settings/extractor.rb', line 16

def extract_per_target(build_settings, fix_simulator)
  per_target_settings = build_settings.split("Build settings for action")
  result = Hash.new

  per_target_settings.each do |target_settings|
    parsed_settings = parse(target_settings)
    target_name = get_target_name(parsed_settings)
    next unless target_name

    replace_platform_with_simulator(parsed_settings) if fix_simulator
    filtered_settings = filter.filter(parsed_settings)
    result[target_name] = Container.new(parsed_settings, filtered_settings)
  end

  result
end