class BranchIOCLI::Command::ValidateCommand
Public Instance Methods
project_matches_keys?(configurations)
click to toggle source
# File lib/branch_io_cli/command/validate_command.rb, line 70 def project_matches_keys?(configurations) expected_keys = [config.live_key, config.test_key].compact return true if expected_keys.empty? # Validate the keys in the project against those passed in by the user. branch_keys = helper.branch_keys_from_project(configurations).sort keys_valid = expected_keys == branch_keys say "\n" if keys_valid say "Branch keys from project match provided keys. ✅" else say "Branch keys from project do not match provided keys. ❌" say " Expected: #{expected_keys.inspect}" say " Actual: #{branch_keys.inspect}" end keys_valid end
run!()
click to toggle source
# File lib/branch_io_cli/command/validate_command.rb, line 4 def run! say "\n" configurations = config.configurations || config.xcodeproj.build_configurations.map(&:name) return false unless tool_helper.pod_install_if_required valid = project_matches_keys?(configurations) schemes_valid = uri_schemes_valid?(configurations) valid &&= schemes_valid configurations.each do |configuration| message = "Validating #{configuration} configuration" say "\n<%= color('#{message}', [BOLD, CYAN]) %>\n\n" config_valid = true unless config.domains.blank? domains_valid = helper.validate_project_domains(config.domains, configuration) if domains_valid say "Project domains match domains parameter. ✅" else say "Project domains do not match specified domains. ❌" helper.errors.each { |error| say " #{error}" } end config_valid &&= domains_valid end if config.target.symbol_type == :application entitlements_valid = helper.validate_team_and_bundle_ids_from_aasa_files [], false, configuration unless entitlements_valid say "Universal Link configuration failed validation for #{configuration} configuration. ❌" helper.errors.each { |error| say " #{error}" } end config_valid &&= entitlements_valid say "Universal Link configuration passed validation for #{configuration} configuration. ✅" if config_valid end unless config.universal_links_only branch_config_valid = helper.project_valid? configuration unless branch_config_valid say "Branch configuration failed validation for #{configuration} configuration. ❌" helper.errors.each { |error| say " #{error}" } end config_valid &&= branch_config_valid say "Branch configuration passed validation for #{configuration} configuration. ✅" if config_valid end valid &&= config_valid end unless valid say "\nValidation failed. See errors above marked with ❌." say "Please verify your app configuration at https://dashboard.branch.io." say "If your Dashboard configuration is correct, br setup will fix most errors." end valid ? 0 : 1 end
uri_schemes_valid?(configurations)
click to toggle source
# File lib/branch_io_cli/command/validate_command.rb, line 91 def uri_schemes_valid?(configurations) uri_schemes = helper.branch_apps_from_project(configurations).map(&:ios_uri_scheme).compact.uniq expected = uri_schemes.map { |s| BranchIOCLI::Configuration::Configuration.uri_scheme_without_suffix(s) }.sort return true if expected.empty? actual = helper.uri_schemes_from_project(configurations).sort valid = (expected - actual).empty? if valid say "URI schemes from project match schemes from Dashboard. ✅" else say "URI schemes from project do not match schemes from Dashboard. ❌" say " Expected: #{expected.inspect}" say " Actual: #{actual.inspect}" end valid end