cocoapods-dev-env 0.9.8 → 2.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eba297c1e0a9132aa37caa6a96fd5d3c0c7f358ea37c7770c09d72060e21bee4
4
- data.tar.gz: 914c791d30f0445ae40acefddcfb128128bb154ed59f7c9f2a805a149d3282eb
3
+ metadata.gz: 87f011b42c1df26a04c8ac866532a91eef0f0d7e1d854bf97e369714107c0844
4
+ data.tar.gz: 9befa3b3fe9f53aa5adbd201be02fa44d33ff48b56bada40c433e90235706f0d
5
5
  SHA512:
6
- metadata.gz: ede85195fecf0b9996882ef34cd42eb23bf32df0e439e89dc57b119bc32c5135ecde8ec04d457907e820777239c01c01147d63569481e56a53f8bef5f0cd82e9
7
- data.tar.gz: ee4b507a7a4d52cd0821217a8fad64147b694dc25701896aa6d5f96db68c63d151d51dc5d55b7060d71634ea4b24df797a43ff364827fde600ea7a4797178d8d
6
+ metadata.gz: ce2e9238b1dfb6dad9ce583adb3b9cd61bf7744e91e376dd51dfd7a516d2cbe1c8f95b2469a212c41d4b1f9cbb4be9f915f9ccb0d0b2055f52ff140fa23fe069
7
+ data.tar.gz: 7d30f8dd72ef7bc78625f144e5fdd517c10f55ffec6c6985ae00fe9023673d3c6132f8cca17908f350c2bf15e55845769c684c606d729a2932ed2f5073c69f03
data/.gitignore CHANGED
@@ -6,3 +6,4 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ vendor/
data/Gemfile.lock ADDED
@@ -0,0 +1,20 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cocoapods-dev-env (2.0.2)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rake (10.5.0)
10
+
11
+ PLATFORMS
12
+ ruby
13
+
14
+ DEPENDENCIES
15
+ bundler (~> 2.0)
16
+ cocoapods-dev-env!
17
+ rake (~> 10.0)
18
+
19
+ BUNDLED WITH
20
+ 2.1.4
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ["lib"]
30
30
 
31
+ spec.add_dependency 'luna-binary-uploader'
31
32
  spec.add_development_dependency "bundler", "~> 2.0"
32
33
  spec.add_development_dependency "rake", "~> 10.0"
33
34
  end
@@ -1,7 +1,7 @@
1
1
  module Cocoapods
2
2
  module Dev
3
3
  module Env
4
- VERSION = "0.9.8"
4
+ VERSION = "2.0.2"
5
5
  end
6
6
  end
7
7
  end
@@ -1,4 +1,5 @@
1
1
  require "file_processer"
2
+ require "luna-binary-uploader"
2
3
 
3
4
  Pod::HooksManager.register('cocoapods-dev-env', :pre_install) do |installer|
4
5
  podfile = installer.podfile
@@ -23,10 +24,15 @@ module Pod
23
24
  def self.keyword
24
25
  :dev_env # 'dev'/'beta'/'release'
25
26
  end
27
+ def self.binary_key
28
+ :dev_env_use_binary # true / false
29
+ end
26
30
  UI.message "🎉 plugin cocoapods-dev-env loaded 🎉".green
27
31
  end
28
32
  class Podfile
29
33
  class TargetDefinition
34
+ attr_reader :binary_repo_url
35
+ attr_reader :binary_source
30
36
 
31
37
  def searchAndOpenLocalExample(path)
32
38
  _currentDir = Dir.pwd
@@ -161,10 +167,16 @@ class Podfile
161
167
  index = STDIN.gets.to_i - 1
162
168
  end until (index >= 0 && index < podfile.sources.size)
163
169
  source = podfile.sources[index]
170
+ UI.puts "#{"选择了发布到: ".yellow}. #{source.green}(#{index + 1})"
164
171
  return source
165
172
  end
166
173
 
167
174
  def changeVersionInCocoapods(name, newVersion)
175
+ if (newVersion == nil)
176
+ UI.puts "💔 切换版本号的版本现在为空,无法设置版本号".yellow
177
+ return
178
+ end
179
+ newVersion = get_pure_version(newVersion)
168
180
  specName = name + ".podspec"
169
181
  FileProcesserManager.new(specName,
170
182
  [
@@ -177,6 +189,7 @@ class Podfile
177
189
  end
178
190
 
179
191
  ## --- option for setting using prebuild framework ---
192
+
180
193
  def parse_pod_dev_env(name, requirements)
181
194
  options = requirements.last
182
195
  pod_name = Specification.root_name(name)
@@ -189,176 +202,275 @@ class Podfile
189
202
  else
190
203
  requirements.push(last_options)
191
204
  end
192
-
193
- return
194
- end
195
- if options.is_a?(Hash)
205
+ elsif options.is_a?(Hash)
206
+ use_binary = options.delete(Pod::DevEnv::binary_key)
196
207
  dev_env = options.delete(Pod::DevEnv::keyword)
197
- if dev_env == nil
198
- return
199
- end
200
- UI.message "pod #{name.green} dev-env: #{dev_env.green}"
201
- git = options.delete(:git)
202
- branch = options.delete(:branch)
203
- tag = options.delete(:tag)
204
- path = options.delete(:path)
205
- if path == nil
206
- path = "./developing_pods/#{pod_name}"
208
+
209
+ deal_dev_env_with_options(dev_env, options, pod_name, name, requirements)
210
+ if dev_env != 'dev'
211
+ binary_processer(dev_env, pod_name, use_binary, options, requirements)
207
212
  end
208
- if git == nil || git.length == 0
209
- raise "💔 #{pod_name.yellow} 未定义:git => 'xxx'库地址"
213
+
214
+
215
+ if dev_env || use_binary
216
+ $processedPodsOptions[pod_name] = options.clone
217
+ requirements.pop if options.empty?
210
218
  end
211
- if branch == nil || branch.length == 0
212
- raise "💔 #{pod_name.yellow} 未定义:branch => 'xxx'"
219
+ end
220
+ end
221
+
222
+ def deal_dev_env_with_options(dev_env, options, pod_name, name, requirements)
223
+ if dev_env == nil
224
+ return
225
+ end
226
+ UI.message "pod #{name.green} dev-env: #{dev_env.green}"
227
+ git = options.delete(:git)
228
+ branch = options.delete(:branch)
229
+ tag = options.delete(:tag)
230
+ path = options.delete(:path)
231
+ if path == nil
232
+ path = "./developing_pods/#{pod_name}"
233
+ end
234
+ if git == nil || git.length == 0
235
+ raise "💔 #{pod_name.yellow} 未定义:git => 'xxx'库地址"
236
+ end
237
+ if branch == nil || branch.length == 0
238
+ raise "💔 #{pod_name.yellow} 未定义:branch => 'xxx'"
239
+ end
240
+ if tag == nil || tag.length == 0
241
+ raise "💔 #{pod_name.yellow} 未定义:tag => 'xxx', tag 将会作为 dev模式下载最新代码检查的依据,beta模式引用的tag 以及 release模式引用的版本号"
242
+ end
243
+
244
+ if dev_env == 'subtree'
245
+ if !File.directory?(path)
246
+ _toplevelDir = `git rev-parse --show-toplevel`
247
+ _currentDir = `pwd`
248
+ _subtreeDir = path
249
+ if _currentDir != _toplevelDir
250
+ Dir.chdir(_toplevelDir)
251
+ _end = path
252
+ if _end[0,2] == './'
253
+ _end = _end[1, _end.length - 1]
254
+ else
255
+ _end = '/' + _end
256
+ end
257
+ _subtreeDir = './' + _currentDir[_toplevelDir.length, _currentDir.length - _toplevelDir.length] + path
258
+ end
259
+ _cmd = "git subtree add --prefix #{_subtreeDir} #{git} #{branch} --squash"
260
+ UI.puts _cmd
261
+ system(_cmd)
262
+ Dir.chdir(_currentDir)
213
263
  end
214
- if tag == nil || tag.length == 0
215
- raise "💔 #{pod_name.yellow} 未定义:tag => 'xxx', tag 将会作为 dev模式下载最新代码检查的依据,beta模式引用的tag 以及 release模式引用的版本号"
264
+ options[:path] = path
265
+ if requirements.length >= 2
266
+ requirements.delete_at(0)
216
267
  end
268
+ UI.message "pod #{pod_name.green} enabled #{"subtree".green}-mode 🍺"
269
+ elsif dev_env == 'dev'
270
+ # 开发模式,使用path方式引用本地的submodule git库
271
+ if !File.directory?(path)
272
+ UI.puts "add submodule for #{pod_name.green}".yellow
273
+ _cmd = "git submodule add --force -b #{branch} #{git} #{path}"
274
+ UI.puts _cmd
275
+ system(_cmd)
217
276
 
218
- if dev_env == 'subtree'
219
- if !File.directory?(path)
220
- _toplevelDir = `git rev-parse --show-toplevel`
221
- _currentDir = `pwd`
222
- _subtreeDir = path
223
- if _currentDir != _toplevelDir
224
- Dir.chdir(_toplevelDir)
225
- _end = path
226
- if _end[0,2] == './'
227
- _end = _end[1, _end.length - 1]
228
- else
229
- _end = '/' + _end
230
- end
231
- _subtreeDir = './' + _currentDir[_toplevelDir.length, _currentDir.length - _toplevelDir.length] + path
232
- end
233
- _cmd = "git subtree add --prefix #{_subtreeDir} #{git} #{branch} --squash"
277
+ _currentDir = Dir.pwd
278
+ Dir.chdir(path)
279
+
280
+ curGitRemoteUrl = `git remote get-url origin`.rstrip()
281
+ if curGitRemoteUrl == git
282
+ _cmd = "git reset --hard"
234
283
  UI.puts _cmd
235
284
  system(_cmd)
236
- Dir.chdir(_currentDir)
237
285
  end
238
- options[:path] = path
239
- if requirements.length >= 2
240
- requirements.delete_at(0)
286
+ Dir.chdir(_currentDir)
287
+
288
+ # if inputNeedJumpForReson("本地库#{pod_name} 开发模式加载完成,是否自动打开Example工程")
289
+ # searchAndOpenLocalExample(path)
290
+ # end
291
+ if !checkTagIsEqualToHead(tag, path) && !checkTagIsEqualToHead("#{tag}_beta", path)
292
+ raise "💔 #{pod_name.yellow} branch:#{branch.yellow} 与 tag:#{tag.yellow}[_beta] 内容不同步,请自行确认所用分支和tag后重新执行 pod install"
241
293
  end
242
- UI.message "pod #{pod_name.green} enabled #{"subtree".green}-mode 🍺"
243
- elsif dev_env == 'dev'
244
- # 开发模式,使用path方式引用本地的submodule git库
245
- if !File.directory?(path)
246
- UI.puts "add submodule for #{pod_name.green}".yellow
247
- _cmd = "git submodule add --force -b #{branch} #{git} #{path}"
248
- UI.puts _cmd
249
- system(_cmd)
250
-
251
- _currentDir = Dir.pwd
252
- Dir.chdir(path)
253
-
254
- curGitRemoteUrl = `git remote get-url origin`.rstrip()
255
- if curGitRemoteUrl == git
256
- _cmd = "git reset --hard"
257
- UI.puts _cmd
258
- system(_cmd)
259
- end
260
- Dir.chdir(_currentDir)
261
-
262
- # if inputNeedJumpForReson("本地库#{pod_name} 开发模式加载完成,是否自动打开Example工程")
263
- # searchAndOpenLocalExample(path)
264
- # end
265
- if !checkTagIsEqualToHead(tag, path) && !checkTagIsEqualToHead("#{tag}_beta", path)
266
- raise "💔 #{pod_name.yellow} branch:#{branch.yellow} 与 tag:#{tag.yellow}[_beta] 内容不同步,请自行确认所用分支和tag后重新执行 pod install"
294
+ else
295
+ # if inputNeedJumpForReson("本地库#{pod_name} 处于开发模式,是否自动打开Example工程")
296
+ # searchAndOpenLocalExample(path)
297
+ # end
298
+ end
299
+ options[:path] = path
300
+ if requirements.length >= 2
301
+ requirements.delete_at(0)
302
+ end
303
+ UI.message "pod #{pod_name.green} enabled #{"dev".green}-mode 🍺"
304
+ elsif dev_env == 'beta'
305
+ # Beta模式,使用tag引用远端git库的代码
306
+ originTag = tag
307
+ tag = "#{tag}_beta"
308
+ if File.directory?(path)
309
+ # 从Dev模式刚刚切换过来,需要打tag并且push
310
+ UI.puts "release beta-version for #{pod_name.green}".yellow
311
+ _currentDir = Dir.pwd
312
+ Dir.chdir(path)
313
+ # 已经进入到podspec的文件夹中了
314
+ checkGitStatusAndPush(pod_name) # push一下
315
+ ret = checkRemoteTagExist(tag)
316
+ if ret == true
317
+ # tag已经存在,要么没改动,要么已经手动打过tag,要么是需要引用老版本tag的代码
318
+ if checkTagOrBranchIsEqalToHead(tag, "./")
319
+ UI.puts "#{pod_name.green} 检测到未做任何调整,或已手动打过Tag"
320
+ else
321
+ if !inputNeedJumpForReson("是否跳过beta发布并删除本地submodule(直接引用远端库)")
322
+ raise "💔 #{pod_name.yellow} tag:#{tag.yellow} 已存在, 且与当前Commit不对应. 请确认拉到本地之后已经在podfile中手动修改tag版本号"
323
+ end
267
324
  end
268
325
  else
269
- # if inputNeedJumpForReson("本地库#{pod_name} 处于开发模式,是否自动打开Example工程")
270
- # searchAndOpenLocalExample(path)
271
- # end
326
+ # tag不存在,
327
+ changeVersionInCocoapods(pod_name, originTag)
328
+ checkGitStatusAndPush(pod_name) # 再push一下
329
+ addGitTagAndPush(tag, pod_name)
272
330
  end
273
- options[:path] = path
274
- if requirements.length >= 2
275
- requirements.delete_at(0)
331
+ Dir.chdir(_currentDir)
332
+ checkAndRemoveSubmodule(path)
333
+ end
334
+ options[:git] = git
335
+ options[:tag] = tag
336
+ if requirements.length >= 2
337
+ requirements.delete_at(0)
338
+ end
339
+ UI.message "enabled #{"beta".green}-mode for #{pod_name.green}"
340
+ elsif dev_env == 'release'
341
+ # Release模式,直接使用远端对应的版本
342
+ if File.directory?(path)
343
+ UI.puts "release release-version for #{pod_name.green}".yellow
344
+ _currentDir = Dir.pwd
345
+ Dir.chdir(path)
346
+ verboseParamStr = ""
347
+ if Config.instance.verbose
348
+ verboseParamStr = " --verbose"
276
349
  end
277
- UI.message "pod #{pod_name.green} enabled #{"dev".green}-mode 🍺"
278
- elsif dev_env == 'beta'
279
- # Beta模式,使用tag引用远端git库的代码
280
- originTag = tag
281
- tag = "#{tag}_beta"
282
- if File.directory?(path)
283
- # 从Dev模式刚刚切换过来,需要打tag并且push
284
- UI.puts "release beta-version for #{pod_name.green}".yellow
285
- _currentDir = Dir.pwd
286
- Dir.chdir(path)
287
- # 已经进入到podspec的文件夹中了
288
- checkGitStatusAndPush(pod_name) # push一下
289
- ret = checkRemoteTagExist(tag)
290
- if ret == true
291
- # tag已经存在,要么没改动,要么已经手动打过tag,要么是需要引用老版本tag的代码
292
- if checkTagOrBranchIsEqalToHead(tag, "./")
293
- UI.puts "#{pod_name.green} 检测到未做任何调整,或已手动打过Tag"
294
- else
295
- if !inputNeedJumpForReson("是否跳过beta发布并删除本地submodule(直接引用远端库)")
296
- raise "💔 #{pod_name.yellow} tag:#{tag.yellow} 已存在, 且与当前Commit不对应. 请确认拉到本地之后已经在podfile中手动修改tag版本号"
297
- end
298
- end
350
+ ret = system("pod lib lint --skip-import-validation --fail-fast --allow-warnings#{getReposStrForLint()}#{verboseParamStr}")
351
+ if ret != true
352
+ raise "💔 #{pod_name.yellow} lint 失败"
353
+ end
354
+ checkGitStatusAndPush(pod_name)
355
+ changeVersionInCocoapods(pod_name, tag)
356
+ checkGitStatusAndPush(pod_name)
357
+ ret = addGitTagAndPush(tag, pod_name)
358
+ if ret == false
359
+ if checkTagOrBranchIsEqalToHead(tag, "./")
360
+ UI.puts "#{pod_name.green} 已经打过tag".yellow
299
361
  else
300
- # tag不存在,
301
- changeVersionInCocoapods(pod_name, originTag)
302
- checkGitStatusAndPush(pod_name) # 再push一下
303
- addGitTagAndPush(tag, pod_name)
362
+ raise "💔 #{pod_name.yellow} tag:#{tag.yellow} 已存在, 请确认已经手动修改tag版本号"
304
363
  end
305
- Dir.chdir(_currentDir)
306
- checkAndRemoveSubmodule(path)
307
364
  end
308
- options[:git] = git
309
- options[:tag] = tag
310
- if requirements.length >= 2
311
- requirements.delete_at(0)
365
+ ## TODO:: 发布到的目标库名称需要用变量设置
366
+ repoAddrs = getUserRepoAddress()
367
+ cmd = "pod repo push #{repoAddrs} #{pod_name}.podspec --skip-import-validation --allow-warnings --use-modular-headers#{getReposStrForLint()}#{verboseParamStr}"
368
+ UI.puts cmd.green
369
+ ret = system(cmd)
370
+ if ret != true
371
+ raise "💔 #{pod_name.yellow} 发布失败"
312
372
  end
313
- UI.message "enabled #{"beta".green}-mode for #{pod_name.green}"
314
- elsif dev_env == 'release'
315
- # Release模式,直接使用远端对应的版本
316
- if File.directory?(path)
317
- UI.puts "release release-version for #{pod_name.green}".yellow
318
- _currentDir = Dir.pwd
319
- Dir.chdir(path)
320
- verboseParamStr = ""
321
- if Config.instance.verbose
322
- verboseParamStr = " --verbose"
323
- end
324
- ret = system("pod lib lint --skip-import-validation --allow-warnings#{getReposStrForLint()}#{verboseParamStr}")
325
- if ret != true
326
- raise "💔 #{pod_name.yellow} lint 失败"
327
- end
328
- checkGitStatusAndPush(pod_name)
329
- ## TODO:: 检查tag版本号与podspec里的版本号是否一致
330
- ret = addGitTagAndPush(tag, pod_name)
331
- if ret == false
332
- if checkTagOrBranchIsEqalToHead(tag, "./")
333
- UI.puts "#{pod_name.green} 已经打过tag".yellow
373
+ ## 到最后统一执行,判断如果当次release过
374
+ `pod repo update`
375
+ Dir.chdir(_currentDir)
376
+ checkAndRemoveSubmodule(path)
377
+ end
378
+ if requirements.length < 2
379
+ requirements.insert(0, "#{get_pure_version(tag)}")
380
+ end
381
+ UI.message "enabled #{"release".green}-mode for #{pod_name.green}"
382
+ else
383
+ raise "💔 :dev_env 必须要设置成 dev/beta/release之一,不接受其他值"
384
+ end
385
+ end
386
+
387
+ def binary_processer(dev_env, pod_name, use_binary, options, requirements)
388
+ if use_binary && use_binary == true
389
+ if options[:tag] != nil
390
+ begin
391
+ version = get_pure_version(options[:tag])
392
+ spec = binary_source.specification_path(pod_name, Version.new(version))
393
+ if spec
394
+ if requirements.length < 2
395
+ options.delete(:git)
396
+ options.delete(:path)
397
+ options.delete(:tag)
398
+ options[:source] = binary_repo_url
399
+ requirements.insert(0, "#{version}")
334
400
  else
335
- raise "💔 #{pod_name.yellow} tag:#{tag.yellow} 已存在, 请确认已经手动修改tag版本号"
401
+ UI.puts "pod '#{pod_name}' :tag => #{options[:tag]} version: #{version} 对应的版本,但是已经标记版本号#{requirements}, 不知道用哪个".red
336
402
  end
403
+ else
404
+ UI.puts "pod '#{pod_name}' :tag => #{options[:tag]} version: #{version} 没有找到: tag 对应的版本".red
337
405
  end
338
- ## TODO:: 发布到的目标库名称需要用变量设置
339
- repoAddrs = getUserRepoAddress()
340
- cmd = "pod repo push #{repoAddrs} #{pod_name}.podspec --skip-import-validation --allow-warnings#{getReposStrForLint()}"
341
- UI.puts cmd.green
342
- ret = system(cmd)
343
- if ret != true
344
- raise "💔 #{pod_name.yellow} 发布失败"
345
- end
346
- ## 到最后统一执行,判断如果当次release过
347
- `pod repo update`
348
- Dir.chdir(_currentDir)
349
- checkAndRemoveSubmodule(path)
350
- end
351
- if requirements.length < 2
352
- requirements.insert(0, "#{tag}")
406
+ rescue => exception
407
+ UI.puts "pod '#{pod_name}' :tag => #{options[:tag]} version: #{version} 没有找到: tag 对应的版本".red
408
+ else
409
+
353
410
  end
354
- UI.message "enabled #{"release".green}-mode for #{pod_name.green}"
355
411
  else
356
- raise "💔 :dev_env 必须要设置成 dev/beta/release之一,不接受其他值"
412
+ options.delete(:git)
413
+ options.delete(:path)
414
+ options.delete(:tag)
415
+ options[:source] = binary_repo_url
357
416
  end
358
- $processedPodsOptions[pod_name] = options
359
- requirements.pop if options.empty?
417
+
418
+ else
419
+ if options[:source] == nil
420
+ begin
421
+ sources = find_pod_repos(pod_name).sources.select{|item| item.url.downcase != binary_repo_url.downcase } if options.empty?
422
+ if sources != nil
423
+ if sources.length >= 2
424
+ UI.puts "#{pod_name.green} 有多个source #{sources}".yellow
425
+ source_url = sources.detect{|item| item.url.downcase != Pod::TrunkSource::TRUNK_REPO_URL.downcase && item.url.downcase != "https://github.com/CocoaPods/Specs.git".downcase}.url
426
+ else
427
+ source_url = sources.first.url
428
+ end
429
+ end
430
+ options[:source] = source_url if source_url != nil
431
+ rescue => exception
432
+ UI.puts "#{pod_name} exception:#{exception}".red
433
+ else
434
+
435
+ end
436
+ end
437
+ end
438
+ UI.puts "#{pod_name.green} :source=> #{options[:source].green} by cocoapods-dev-env" if options[:source] != nil
439
+ UI.message "#{pod_name.yellow} options #{options} by cocoapods-dev-env" if options[:source] != nil
440
+ UI.message "#{pod_name.yellow} requirements #{requirements} by cocoapods-dev-env" if options[:source] != nil
441
+ end
442
+
443
+ def binary_repo_url
444
+ if @binary_repo_url == nil
445
+ @binary_repo_url = Luna::Binary::Common.instance.binary_repo_url #从luna-binary-uploader里获取binary_repo_url
360
446
  end
447
+ return @binary_repo_url
361
448
  end
449
+
450
+ def binary_source
451
+ if @binary_source == nil
452
+ @binary_source = Pod::Config.instance.sources_manager.all.detect{|item| item.url.downcase == binary_repo_url.downcase}
453
+ end
454
+ return @binary_source
455
+ end
456
+
457
+ def get_pure_version(version)
458
+ return version.split.last.scan(/\d+/).join('.')
459
+ end
460
+
461
+ def find_pod_repos(pod_name) #等同pod search
462
+ sets = Pod::Config.instance.sources_manager.search_by_name(pod_name)
463
+ if sets.count == 1
464
+ set = sets.first
465
+ elsif sets.map(&:name).include?(pod_name)
466
+ set = sets.find { |s| s.name == pod_name }
467
+ else
468
+ names = sets.map(&:name) * ', '
469
+ raise Informative, "More than one spec found for '#{pod_name}':\n#{names}"
470
+ end
471
+ return set
472
+ end
473
+
362
474
  # ---- patch method ----
363
475
  # We want modify `store_pod` method, but it's hard to insert a line in the
364
476
  # implementation. So we patch a method called in `store_pod`.
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-dev-env
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - 吴锡苗
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-16 00:00:00.000000000 Z
11
+ date: 2021-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: luna-binary-uploader
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -48,6 +62,7 @@ files:
48
62
  - ".gitignore"
49
63
  - CODE_OF_CONDUCT.md
50
64
  - Gemfile
65
+ - Gemfile.lock
51
66
  - LICENSE.txt
52
67
  - README.md
53
68
  - Rakefile