class BranchIOCLI::Configuration::XcodeSettings
Attributes
configuration[R]
Public Class Methods
[](configuration)
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 13 def [](configuration) settings configuration end
all_valid?()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 9 def all_valid? Configuration.current.configurations.map { |c| settings(c) }.all?(&:valid?) end
new(configuration)
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 31 def initialize(configuration) @configuration = configuration load_settings_from_xcode end
reset()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 24 def reset @settings = {} end
settings(configuration = Configuration.current.configurations.first)
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 17 def settings(configuration = Configuration.current.configurations.first) return @settings[configuration] if @settings && @settings[configuration] @settings ||= {} @settings[configuration] = self.new configuration end
Public Instance Methods
[](key)
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 49 def [](key) @xcode_settings[key] end
config()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 41 def config Configuration.current end
env()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 45 def env Environment end
load_settings_from_xcode()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 68 def load_settings_from_xcode @xcodebuild_showbuildsettings_output = "" @xcode_settings = {} Open3.popen2e(xcodebuild_cmd) do |stdin, output, thread| while (line = output.gets) @xcodebuild_showbuildsettings_output += env.obfuscate_user(line) line.strip! next unless (matches = /^(.+)\s+=\s+(.+)$/.match line) @xcode_settings[matches[1]] = matches[2] end @xcodebuild_showbuildsettings_status = thread.value end end
log_xcodebuild_showbuildsettings(report = STDOUT)
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 82 def log_xcodebuild_showbuildsettings(report = STDOUT) if report == STDOUT say "<%= color('$ #{xcodebuild_cmd}', [MAGENTA, BOLD]) %>\n\n" else report.write "$ #{env.obfuscate_user(xcodebuild_cmd)}\n\n" end report.write @xcodebuild_showbuildsettings_output if valid? report.write "Success.\n\n" else report.write "#{@xcodebuild_showbuildsettings_status}.\n\n" end end
valid?()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 37 def valid? @xcodebuild_showbuildsettings_status.success? end
xcodebuild_cmd()
click to toggle source
# File lib/branch_io_cli/configuration/xcode_settings.rb, line 53 def xcodebuild_cmd [ "xcodebuild", "-showBuildSettings", "-project", config.xcodeproj_path, "-target", config.target.name, "-sdk", config.sdk, "-configuration", configuration ].shelljoin end