Class: Pod::Command::Kz::Info

Inherits:
Pod::Command::Kz show all
Defined in:
lib/cocoapods-kz/command/info.rb

Instance Method Summary collapse

Methods inherited from Pod::Command::Kz

#validate!

Constructor Details

#initialize(argv) ⇒ Info

Returns a new instance of Info.



13
14
15
16
17
18
19
# File 'lib/cocoapods-kz/command/info.rb', line 13

def initialize(argv)
  if Pod.match_version?('~> 1.11')
    KZ::KZGlobalHelper.instance.generate_kz_pod_targets = true
    KZ::KZGlobalHelper.instance.analyze_special_parameters(true, false, argv.arguments!)
  end
  super
end

Instance Method Details

#runObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/cocoapods-kz/command/info.rb', line 21

def run
  installer = installer_for_config
  installer.prepare
  installer.resolve_dependencies
  installer.download_dependencies

  result_info = {}
  main_project = installer.aggregate_targets.first.user_project
  result_info[main_project.root_object.display_name] = {
    "path": main_project.project_dir.to_s
  }
  KZ::KZGlobalHelper.instance.kz_analyzer.all_kz_pod_targets.values.each do |kz_pod_target|
    pod_info = {}
    pod_info["path"] = kz_pod_target.native_pod_target.sandbox.pod_dir(kz_pod_target.name)
    pod_info["is_dev"] = kz_pod_target.is_dev_pod
    dependent_target_names = []
    kz_pod_target.native_pod_target.dependent_targets.each do |native_dependent_target|
      traverse_dependent_targets(native_dependent_target) do |target|
        dependent_target_names.append(target.name)
      end
    end
    pod_info["dependent_target_names"] = dependent_target_names
    result_info[kz_pod_target.name] = pod_info
  end
  puts result_info.to_json
end

#traverse_dependent_targets(native_dependent_target) ⇒ Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/cocoapods-kz/command/info.rb', line 48

def traverse_dependent_targets(native_dependent_target)
  if native_dependent_target.dependent_targets.count > 0
    yield(native_dependent_target)
    native_dependent_target.dependent_targets.each do |sub_native_dependent_target|
      traverse_dependent_targets(sub_native_dependent_target) do |target|
        yield(target)
      end
    end
  end
end