branch_io_cli 0.12.10 → 0.13.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -213,70 +213,6 @@ module BranchIOCLI
213
213
 
214
214
  report
215
215
  end
216
-
217
- def pod_install_if_required(report)
218
- return unless config.pod_install_required?
219
- # Only if a Podfile is detected/supplied at the command line.
220
-
221
- say "pod install required in order to build."
222
- if config.confirm
223
- install = confirm 'Run "pod install" now?', true
224
-
225
- unless install
226
- say 'Please run "pod install" or "pod update" first in order to continue.'
227
- exit(-1)
228
- end
229
- end
230
-
231
- ToolHelper.verify_cocoapods
232
-
233
- install_command = "pod install"
234
-
235
- if config.pod_repo_update
236
- install_command += " --repo-update"
237
- else
238
- say <<-EOF
239
- You have disabled "pod repo update". This can cause "pod install" to fail in
240
- some cases. If that happens, please rerun without --no-pod-repo-update or run
241
- "pod install --repo-update" manually.
242
- EOF
243
- end
244
-
245
- say "Running #{install_command.inspect}"
246
- if report.sh(install_command).success?
247
- say "Done ✅"
248
- else
249
- say "#{install_command.inspect} failed. See report for details."
250
- exit(-1)
251
- end
252
- end
253
-
254
- def carthage_bootstrap_if_required(report)
255
- return unless config.cartfile_path
256
- return if Dir.exist?(File.join(File.dirname(config.cartfile_path), "Carthage", "Build", "iOS"))
257
-
258
- say "carthage checkout required in order to build."
259
- if config.confirm
260
- install = confirm 'Run "carthage checkout && carthage build --platform ios" now?', true
261
-
262
- unless install
263
- say 'Please build your Carthage dependencies first in order to continue.'
264
- exit(-1)
265
- end
266
- end
267
-
268
- ToolHelper.verify_carthage
269
-
270
- install_command = "carthage checkout && carthage build --platform ios"
271
-
272
- say "Running #{install_command.inspect}"
273
- if report.sh(install_command).success?
274
- say "Done ✅"
275
- else
276
- say "#{install_command.inspect} failed. See report for details."
277
- exit(-1)
278
- end
279
- end
280
216
  end
281
217
  end
282
218
  end
@@ -257,31 +257,28 @@ github "BranchMetrics/ios-branch-deep-linking"
257
257
  true
258
258
  end
259
259
 
260
- def install_cmd
261
- ENV["BRANCH_IO_CLI_INSTALLED_FROM_HOMEBREW"] == "true" ? :brew : :gem
262
- end
263
-
264
260
  def verify_cocoapods
265
261
  pod_cmd = `which pod`
266
262
  return unless pod_cmd.empty?
267
263
 
268
- cmd = `which #{install_cmd}`
269
- if cmd.empty?
270
- say "'pod' command not available in PATH and '#{install_command}' command not available in PATH to install cocoapods."
264
+ gem_cmd = `which gem`
265
+ if gem_cmd.empty?
266
+ say "'pod' command not available in PATH and 'gem' command not available in PATH to install cocoapods."
271
267
  exit(-1)
272
268
  end
273
269
 
274
- sudo = install_cmd == :brew || File.writable?(Gem.dir) ? "" : "sudo "
275
- sudo_warning = sudo.blank? ? "" : " (requires a sudo password)"
276
-
277
- install = confirm "'pod' command not available in PATH. Install cocoapods#{sudo_warning}?", true
270
+ install = confirm "'pod' command not available in PATH. Install cocoapods (may require a sudo password)?", true
278
271
  unless install
279
- # TODO: There are times that --no-add-sdk is not available or doesn't avoid the need.
280
272
  say "Please install cocoapods or use --no-add-sdk to continue."
281
273
  exit(-1)
282
274
  end
283
275
 
284
- sh "#{sudo}#{install_cmd} install cocoapods"
276
+ gem_home = Gem.dir
277
+ if gem_home && File.writable?(gem_home)
278
+ sh "gem install cocoapods"
279
+ else
280
+ sh "sudo gem install cocoapods"
281
+ end
285
282
 
286
283
  # Ensure master podspec repo is set up (will update if it exists).
287
284
  sh "pod setup"
@@ -326,6 +323,74 @@ github "BranchMetrics/ios-branch-deep-linking"
326
323
 
327
324
  sh "xcode-select --install"
328
325
  end
326
+
327
+ def pod_install_if_required(report = STDOUT)
328
+ return true unless config.pod_install_required?
329
+ # Only if a Podfile is detected/supplied at the command line.
330
+
331
+ say "pod install required in order to build."
332
+ if config.confirm
333
+ install = confirm 'Run "pod install" now?', true
334
+
335
+ unless install
336
+ say 'Please run "pod install" or "pod update" first in order to continue.'
337
+ return false
338
+ end
339
+ end
340
+
341
+ verify_cocoapods
342
+
343
+ install_command = "pod install"
344
+
345
+ if config.pod_repo_update
346
+ install_command += " --repo-update"
347
+ else
348
+ say <<-EOF
349
+ You have disabled "pod repo update". This can cause "pod install" to fail in
350
+ some cases. If that happens, please rerun without --no-pod-repo-update or run
351
+ "pod install --repo-update" manually.
352
+ EOF
353
+ end
354
+
355
+ say "Running #{install_command.inspect}"
356
+ if report.sh(install_command).success?
357
+ say "Done ✅"
358
+ else
359
+ say "#{install_command.inspect} failed. See report for details."
360
+ return false
361
+ end
362
+
363
+ true
364
+ end
365
+
366
+ def carthage_bootstrap_if_required(report = STDOUT)
367
+ return true unless config.cartfile_path
368
+ return true if Dir.exist?(File.join(File.dirname(config.cartfile_path), "Carthage", "Build", "iOS"))
369
+
370
+ say "carthage checkout required in order to build."
371
+ if config.confirm
372
+ install = confirm 'Run "carthage checkout && carthage build --platform ios" now?', true
373
+
374
+ unless install
375
+ say 'Please build your Carthage dependencies first in order to continue.'
376
+ return false
377
+ end
378
+ end
379
+
380
+ verify_carthage
381
+
382
+ install_command = "carthage checkout && carthage build --platform ios"
383
+
384
+ say "Running #{install_command.inspect}"
385
+ if report.sh(install_command).success?
386
+ say "Done ✅"
387
+ else
388
+ say "#{install_command.inspect} failed. See report for details."
389
+ return false
390
+ end
391
+
392
+ true
393
+ end
329
394
  end
330
395
  end
331
396
  end
@@ -11,7 +11,7 @@ module BranchIOCLI
11
11
  namespace name do
12
12
  add_branch_task :report, "Generate a brief Branch report"
13
13
  add_branch_task :setup, "Set a project up with the Branch SDK"
14
- add_branch_task :validate, "Validate universal links in one or more projects"
14
+ add_branch_task :validate, "Validate Universal Links in one or more projects"
15
15
  end
16
16
  end
17
17
 
@@ -23,13 +23,15 @@ module BranchIOCLI
23
23
  task task_name, %i{paths options} do |task, args|
24
24
  paths = args[:paths]
25
25
  paths = [paths] unless paths.respond_to?(:each)
26
+ options = args[:options] || {}
26
27
 
27
28
  paths.each do |path|
28
29
  Dir.chdir(path) do
29
30
  begin
30
- command_class.new(configuration_class.wrapper(args[:options] || {})).run!
31
+ command_class.new(configuration_class.wrapper(options)).run!
31
32
  rescue StandardError => e
32
33
  say "Error from #{task_name} task in #{path}: #{e.message}"
34
+ say e.backtrace if options[:trace]
33
35
  end
34
36
  end
35
37
  end
@@ -1,3 +1,3 @@
1
1
  module BranchIOCLI
2
- VERSION = "0.12.10"
2
+ VERSION = "0.13.0.pre.1"
3
3
  end
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.10
4
+ version: 0.13.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Branch
@@ -9,50 +9,50 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-02 00:00:00.000000000 Z
12
+ date: 2017-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: CFPropertyList
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '2.3'
20
+ version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '2.3'
27
+ version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: cocoapods-core
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '1.3'
34
+ version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '1.3'
41
+ version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: commander
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '4.4'
48
+ version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '4.4'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: pattern_patch
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -60,9 +60,6 @@ dependencies:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: 0.5.4
63
- - - "~>"
64
- - !ruby/object:Gem::Version
65
- version: '0.5'
66
63
  type: :runtime
67
64
  prerelease: false
68
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,149 +67,146 @@ dependencies:
70
67
  - - ">="
71
68
  - !ruby/object:Gem::Version
72
69
  version: 0.5.4
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '0.5'
76
70
  - !ruby/object:Gem::Dependency
77
71
  name: plist
78
72
  requirement: !ruby/object:Gem::Requirement
79
73
  requirements:
80
- - - "~>"
74
+ - - ">="
81
75
  - !ruby/object:Gem::Version
82
- version: '3.3'
76
+ version: '0'
83
77
  type: :runtime
84
78
  prerelease: false
85
79
  version_requirements: !ruby/object:Gem::Requirement
86
80
  requirements:
87
- - - "~>"
81
+ - - ">="
88
82
  - !ruby/object:Gem::Version
89
- version: '3.3'
83
+ version: '0'
90
84
  - !ruby/object:Gem::Dependency
91
85
  name: rubyzip
92
86
  requirement: !ruby/object:Gem::Requirement
93
87
  requirements:
94
- - - "~>"
88
+ - - ">="
95
89
  - !ruby/object:Gem::Version
96
- version: '1.1'
90
+ version: '0'
97
91
  type: :runtime
98
92
  prerelease: false
99
93
  version_requirements: !ruby/object:Gem::Requirement
100
94
  requirements:
101
- - - "~>"
95
+ - - ">="
102
96
  - !ruby/object:Gem::Version
103
- version: '1.1'
97
+ version: '0'
104
98
  - !ruby/object:Gem::Dependency
105
99
  name: xcodeproj
106
100
  requirement: !ruby/object:Gem::Requirement
107
101
  requirements:
108
- - - "~>"
102
+ - - ">="
109
103
  - !ruby/object:Gem::Version
110
- version: '1.4'
104
+ version: '0'
111
105
  type: :runtime
112
106
  prerelease: false
113
107
  version_requirements: !ruby/object:Gem::Requirement
114
108
  requirements:
115
- - - "~>"
109
+ - - ">="
116
110
  - !ruby/object:Gem::Version
117
- version: '1.4'
111
+ version: '0'
118
112
  - !ruby/object:Gem::Dependency
119
113
  name: bundler
120
114
  requirement: !ruby/object:Gem::Requirement
121
115
  requirements:
122
- - - "~>"
116
+ - - ">="
123
117
  - !ruby/object:Gem::Version
124
- version: '1.15'
118
+ version: '0'
125
119
  type: :development
126
120
  prerelease: false
127
121
  version_requirements: !ruby/object:Gem::Requirement
128
122
  requirements:
129
- - - "~>"
123
+ - - ">="
130
124
  - !ruby/object:Gem::Version
131
- version: '1.15'
125
+ version: '0'
132
126
  - !ruby/object:Gem::Dependency
133
127
  name: cocoapods
134
128
  requirement: !ruby/object:Gem::Requirement
135
129
  requirements:
136
- - - "~>"
130
+ - - ">="
137
131
  - !ruby/object:Gem::Version
138
- version: '1.3'
132
+ version: '0'
139
133
  type: :development
140
134
  prerelease: false
141
135
  version_requirements: !ruby/object:Gem::Requirement
142
136
  requirements:
143
- - - "~>"
137
+ - - ">="
144
138
  - !ruby/object:Gem::Version
145
- version: '1.3'
139
+ version: '0'
146
140
  - !ruby/object:Gem::Dependency
147
141
  name: pry
148
142
  requirement: !ruby/object:Gem::Requirement
149
143
  requirements:
150
- - - "~>"
144
+ - - ">="
151
145
  - !ruby/object:Gem::Version
152
- version: '0.11'
146
+ version: '0'
153
147
  type: :development
154
148
  prerelease: false
155
149
  version_requirements: !ruby/object:Gem::Requirement
156
150
  requirements:
157
- - - "~>"
151
+ - - ">="
158
152
  - !ruby/object:Gem::Version
159
- version: '0.11'
153
+ version: '0'
160
154
  - !ruby/object:Gem::Dependency
161
155
  name: rake
162
156
  requirement: !ruby/object:Gem::Requirement
163
157
  requirements:
164
- - - "<"
158
+ - - ">="
165
159
  - !ruby/object:Gem::Version
166
- version: '13'
160
+ version: '0'
167
161
  type: :development
168
162
  prerelease: false
169
163
  version_requirements: !ruby/object:Gem::Requirement
170
164
  requirements:
171
- - - "<"
165
+ - - ">="
172
166
  - !ruby/object:Gem::Version
173
- version: '13'
167
+ version: '0'
174
168
  - !ruby/object:Gem::Dependency
175
169
  name: rspec
176
170
  requirement: !ruby/object:Gem::Requirement
177
171
  requirements:
178
- - - "~>"
172
+ - - ">="
179
173
  - !ruby/object:Gem::Version
180
- version: '3.5'
174
+ version: '0'
181
175
  type: :development
182
176
  prerelease: false
183
177
  version_requirements: !ruby/object:Gem::Requirement
184
178
  requirements:
185
- - - "~>"
179
+ - - ">="
186
180
  - !ruby/object:Gem::Version
187
- version: '3.5'
181
+ version: '0'
188
182
  - !ruby/object:Gem::Dependency
189
183
  name: rspec-simplecov
190
184
  requirement: !ruby/object:Gem::Requirement
191
185
  requirements:
192
- - - "~>"
186
+ - - ">="
193
187
  - !ruby/object:Gem::Version
194
- version: '0.2'
188
+ version: '0'
195
189
  type: :development
196
190
  prerelease: false
197
191
  version_requirements: !ruby/object:Gem::Requirement
198
192
  requirements:
199
- - - "~>"
193
+ - - ">="
200
194
  - !ruby/object:Gem::Version
201
- version: '0.2'
195
+ version: '0'
202
196
  - !ruby/object:Gem::Dependency
203
197
  name: rspec_junit_formatter
204
198
  requirement: !ruby/object:Gem::Requirement
205
199
  requirements:
206
- - - "~>"
200
+ - - ">="
207
201
  - !ruby/object:Gem::Version
208
- version: '0.3'
202
+ version: '0'
209
203
  type: :development
210
204
  prerelease: false
211
205
  version_requirements: !ruby/object:Gem::Requirement
212
206
  requirements:
213
- - - "~>"
207
+ - - ">="
214
208
  - !ruby/object:Gem::Version
215
- version: '0.3'
209
+ version: '0'
216
210
  - !ruby/object:Gem::Dependency
217
211
  name: rubocop
218
212
  requirement: !ruby/object:Gem::Requirement
@@ -231,16 +225,16 @@ dependencies:
231
225
  name: simplecov
232
226
  requirement: !ruby/object:Gem::Requirement
233
227
  requirements:
234
- - - "~>"
228
+ - - ">="
235
229
  - !ruby/object:Gem::Version
236
- version: '0.15'
230
+ version: '0'
237
231
  type: :development
238
232
  prerelease: false
239
233
  version_requirements: !ruby/object:Gem::Requirement
240
234
  requirements:
241
- - - "~>"
235
+ - - ">="
242
236
  - !ruby/object:Gem::Version
243
- version: '0.15'
237
+ version: '0'
244
238
  description: Set up mobile app projects (currently iOS only) to use the Branch SDK
245
239
  without opening Xcode. Validate the Universal Link settings for any project.
246
240
  email:
@@ -305,6 +299,7 @@ files:
305
299
  - lib/assets/templates/validate_description.erb
306
300
  - lib/branch_io_cli.rb
307
301
  - lib/branch_io_cli/ascii_art.rb
302
+ - lib/branch_io_cli/branch_app.rb
308
303
  - lib/branch_io_cli/cli.rb
309
304
  - lib/branch_io_cli/command.rb
310
305
  - lib/branch_io_cli/command/command.rb
@@ -356,9 +351,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
356
351
  version: 2.0.0
357
352
  required_rubygems_version: !ruby/object:Gem::Requirement
358
353
  requirements:
359
- - - ">="
354
+ - - ">"
360
355
  - !ruby/object:Gem::Version
361
- version: '0'
356
+ version: 1.3.1
362
357
  requirements: []
363
358
  rubyforge_project:
364
359
  rubygems_version: 2.7.4