branch_io_cli 0.12.5 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/branch_io_cli/command/setup_command.rb +34 -26
- data/lib/branch_io_cli/configuration/configuration.rb +12 -0
- data/lib/branch_io_cli/configuration/setup_configuration.rb +7 -7
- data/lib/branch_io_cli/configuration/setup_options.rb +4 -3
- data/lib/branch_io_cli/helper/ios_helper.rb +23 -4
- data/lib/branch_io_cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d66c36f8ea879767e9928b94821ca85203a04db1beda4e23c387194b955e60f
|
4
|
+
data.tar.gz: 0a3d8be8d0787754615ac1c98cb7b07e86261bd46e13e1006a5e6ff5e284bb48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9720d76203af10eeb5ce6abab6760c8e73235309dea04f66fa276e07f33b8d957b14827f3f3470e579aad8efa934e0ce65b82ef783e49619b07b394d4d48631
|
7
|
+
data.tar.gz: cbbc107c96b63ee5ffe3ee7256dca279c53ed8aca4ac60cdb8b932f62ce8d82bb7cc6797e8d450fac91d878c1589820c69485a073442a255eb232fab358d4fd5
|
@@ -21,7 +21,7 @@ module BranchIOCLI
|
|
21
21
|
return 1 unless valid || config.force
|
22
22
|
end
|
23
23
|
|
24
|
-
# Make sure we can resolve all build settings in a project
|
24
|
+
# Make sure we can resolve all build settings in a project that uses
|
25
25
|
# CocoaPods.
|
26
26
|
if config.podfile_path && File.exist?(config.podfile_path) && config.pod_install_required?
|
27
27
|
tool_helper.verify_cocoapods
|
@@ -50,37 +50,28 @@ module BranchIOCLI
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def validate_universal_links
|
53
|
-
say "Validating new Universal Link configuration before making any changes
|
54
|
-
valid =
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
say "Universal Link configuration failed validation.\n\n"
|
59
|
-
helper.errors.each { |error| say " #{error}" }
|
60
|
-
end
|
61
|
-
valid
|
62
|
-
end
|
53
|
+
say "Validating new Universal Link configuration before making any changes."
|
54
|
+
valid = true
|
55
|
+
config.xcodeproj.build_configurations.each do |c|
|
56
|
+
message = "Validating #{c.name} configuration"
|
57
|
+
say "\n<%= color('#{message}', [BOLD, CYAN]) %>\n\n"
|
63
58
|
|
64
|
-
|
65
|
-
say "Updating project settings.\n\n"
|
66
|
-
helper.add_custom_build_setting if config.setting
|
67
|
-
helper.add_keys_to_info_plist @keys
|
68
|
-
config.target.add_system_frameworks config.frameworks unless config.frameworks.blank?
|
59
|
+
configuration_valid = helper.validate_team_and_bundle_ids_from_aasa_files @domains, false, c.name
|
69
60
|
|
70
|
-
|
61
|
+
if configuration_valid
|
62
|
+
say "Universal Link configuration passed validation for #{c.name} configuration. ✅\n\n"
|
63
|
+
else
|
64
|
+
say "Universal Link configuration failed validation for #{c.name} configuration.\n\n"
|
65
|
+
helper.errors.each { |error| say " #{error}" }
|
66
|
+
end
|
71
67
|
|
72
|
-
|
73
|
-
helper.ensure_uri_scheme_in_info_plist
|
74
|
-
config.xcodeproj.build_configurations.each do |c|
|
75
|
-
new_path = helper.add_universal_links_to_project @domains, false, c.name
|
76
|
-
sh "git", "add", new_path if config.commit && new_path
|
68
|
+
valid &&= configuration_valid
|
77
69
|
end
|
78
|
-
|
79
|
-
config.xcodeproj.save
|
70
|
+
valid
|
80
71
|
end
|
81
72
|
|
82
73
|
def add_sdk
|
83
|
-
say "
|
74
|
+
say "\nMaking sure Branch dependency is available.\n\n"
|
84
75
|
case config.sdk_integration_mode
|
85
76
|
when :cocoapods
|
86
77
|
if File.exist? config.podfile_path
|
@@ -97,7 +88,24 @@ module BranchIOCLI
|
|
97
88
|
when :direct
|
98
89
|
tool_helper.add_direct config
|
99
90
|
end
|
100
|
-
|
91
|
+
end
|
92
|
+
|
93
|
+
def update_project_settings
|
94
|
+
say "Updating project settings.\n\n"
|
95
|
+
helper.add_custom_build_setting if config.setting
|
96
|
+
helper.add_keys_to_info_plist @keys
|
97
|
+
config.target.add_system_frameworks config.frameworks unless config.frameworks.blank?
|
98
|
+
|
99
|
+
return unless config.target.symbol_type == :application
|
100
|
+
|
101
|
+
helper.add_branch_universal_link_domains_to_info_plist @domains
|
102
|
+
helper.ensure_uri_scheme_in_info_plist
|
103
|
+
config.xcodeproj.build_configurations.each do |c|
|
104
|
+
new_path = helper.add_universal_links_to_project @domains, false, c.name
|
105
|
+
sh "git", "add", new_path if config.commit && new_path
|
106
|
+
end
|
107
|
+
ensure
|
108
|
+
config.xcodeproj.save
|
101
109
|
end
|
102
110
|
|
103
111
|
def commit_changes
|
@@ -53,6 +53,18 @@ module BranchIOCLI
|
|
53
53
|
return nil unless current
|
54
54
|
current.root
|
55
55
|
end
|
56
|
+
|
57
|
+
# Removes any trailing :/* from the argument and returns a copy.
|
58
|
+
# Matches:
|
59
|
+
# myscheme
|
60
|
+
# myscheme:
|
61
|
+
# myscheme://
|
62
|
+
# myscheme:///
|
63
|
+
# etc.
|
64
|
+
def uri_scheme_without_suffix(scheme)
|
65
|
+
return nil if scheme.blank?
|
66
|
+
scheme.sub %r{:/*$}, ""
|
67
|
+
end
|
56
68
|
end
|
57
69
|
|
58
70
|
attr_reader :options
|
@@ -175,7 +175,13 @@ module BranchIOCLI
|
|
175
175
|
|
176
176
|
def validate_uri_scheme(options)
|
177
177
|
# No validation at the moment. Just strips off any trailing ://
|
178
|
-
|
178
|
+
uri_scheme = options.uri_scheme
|
179
|
+
|
180
|
+
if confirm
|
181
|
+
uri_scheme ||= ask "Please enter any URI scheme you entered in the Branch Dashboard (optional). "
|
182
|
+
end
|
183
|
+
|
184
|
+
@uri_scheme = self.class.uri_scheme_without_suffix uri_scheme
|
179
185
|
end
|
180
186
|
|
181
187
|
def app_link_roots_from_domains(domains)
|
@@ -225,12 +231,6 @@ module BranchIOCLI
|
|
225
231
|
custom_domains + app_link_subdomains
|
226
232
|
end
|
227
233
|
|
228
|
-
# Removes any trailing :// from the argument and returns a copy
|
229
|
-
def uri_scheme_without_suffix(scheme)
|
230
|
-
return nil if scheme.nil?
|
231
|
-
scheme.sub %r{://$}, ""
|
232
|
-
end
|
233
|
-
|
234
234
|
def prompt_for_podfile_or_cartfile
|
235
235
|
loop do
|
236
236
|
path = ask("Please enter the location of your Podfile or Cartfile: ").trim
|
@@ -40,7 +40,8 @@ module BranchIOCLI
|
|
40
40
|
example: "myurischeme[://]",
|
41
41
|
type: String,
|
42
42
|
aliases: "-U",
|
43
|
-
label: "URI scheme"
|
43
|
+
label: "URI scheme",
|
44
|
+
convert_proc: ->(value) { Configuration.uri_scheme_without_suffix(value) }
|
44
45
|
),
|
45
46
|
Option.new(
|
46
47
|
name: :setting,
|
@@ -57,7 +58,7 @@ module BranchIOCLI
|
|
57
58
|
example: "config1,config2",
|
58
59
|
type: Array,
|
59
60
|
negatable: true,
|
60
|
-
valid_values_proc: -> { Configuration.current.xcodeproj.build_configurations.map(&:name) }
|
61
|
+
valid_values_proc: -> { Configuration.current && Configuration.current.xcodeproj.build_configurations.map(&:name) }
|
61
62
|
),
|
62
63
|
Option.new(
|
63
64
|
name: :xcodeproj,
|
@@ -73,7 +74,7 @@ module BranchIOCLI
|
|
73
74
|
example: "MyAppTarget",
|
74
75
|
type: String,
|
75
76
|
confirm_symbol: :target_name,
|
76
|
-
valid_values_proc: -> { Configuration.current.xcodeproj.targets.map(&:name) }
|
77
|
+
valid_values_proc: -> { Configuration.current && Configuration.current.xcodeproj.targets.map(&:name) }
|
77
78
|
),
|
78
79
|
Option.new(
|
79
80
|
name: :podfile,
|
@@ -177,9 +177,13 @@ module BranchIOCLI
|
|
177
177
|
end
|
178
178
|
|
179
179
|
def team_and_bundle_from_app_id(identifier)
|
180
|
-
|
181
|
-
|
182
|
-
|
180
|
+
matches = /^(.*?)\.(.*)$/.match identifier
|
181
|
+
matches[1, 2]
|
182
|
+
end
|
183
|
+
|
184
|
+
def reportable_app_id(identifier)
|
185
|
+
team, bundle = team_and_bundle_from_app_id identifier
|
186
|
+
"Signing team: #{team.inspect}, Bundle identifier: #{bundle.inspect}"
|
183
187
|
end
|
184
188
|
|
185
189
|
def update_team_and_bundle_ids_from_aasa_file(domain)
|
@@ -317,12 +321,27 @@ module BranchIOCLI
|
|
317
321
|
match_found = identifiers.include? app_id
|
318
322
|
|
319
323
|
unless match_found
|
320
|
-
|
324
|
+
report_app_id_mismatch domain, app_id, identifiers
|
321
325
|
end
|
322
326
|
|
323
327
|
match_found
|
324
328
|
end
|
325
329
|
|
330
|
+
def report_app_id_mismatch(domain, app_id, identifiers)
|
331
|
+
error_string = "[#{domain}] appID mismatch. Project #{reportable_app_id app_id}\n"
|
332
|
+
if identifiers.count <= 20
|
333
|
+
error_string << " Apps from AASA:\n"
|
334
|
+
identifiers.each do |identifier|
|
335
|
+
reportable = reportable_app_id identifier
|
336
|
+
error_string << " #{reportable}\n"
|
337
|
+
end
|
338
|
+
else
|
339
|
+
error_string << " Please check your settings in the Branch Dashboard (https://dashboard.branch.io)"
|
340
|
+
end
|
341
|
+
|
342
|
+
@errors << error_string
|
343
|
+
end
|
344
|
+
|
326
345
|
def validate_project_domains(expected, configuration = RELEASE_CONFIGURATION)
|
327
346
|
@errors = []
|
328
347
|
project_domains = domains_from_project configuration
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: branch_io_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Branch
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-12-
|
12
|
+
date: 2017-12-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: CFPropertyList
|