Class: PodBuilder::Command::InstallSources

Inherits:
Object
  • Object
show all
Defined in:
lib/pod_builder/command/install_sources.rb

Class Method Summary collapse

Class Method Details

.callObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/pod_builder/command/install_sources.rb', line 6

def self.call
  Configuration.check_inited
  if Configuration.build_using_repo_paths
    raise "\n\nSource cannot be installed because lldb shenanigans not supported when 'build_using_repo_paths' is enabled".red
  end

  PodBuilder::prepare_basepath

  argument_pods = ARGV.dup

  install_update_repo = OPTIONS.fetch(:update_repos, true)
  installer, analyzer = Analyze.installer_at(PodBuilder::basepath, install_update_repo)
  podfile_items = Analyze.podfile_items(installer, analyzer).select { |x| !x.is_prebuilt }
  podspec_names = podfile_items.map(&:podspec_name)

  base_path = PodBuilder::prebuiltpath
  framework_files = Dir.glob("#{base_path}/**/*.framework")
  
  framework_files.each do |path|
    next if !OPTIONS.has_key?(:all) && !argument_pods.include?(File.basename(path, ".*"))

    if podfile_spec = podfile_items.detect { |x| x.root_name == File.basename(path, ".*") }
      update_repo(podfile_spec)
    end
  end

  Clean::install_sources(podfile_items)

  ARGV << PodBuilder::basepath("Sources")

  puts "\n\nšŸŽ‰ done!\n".green
  return 0
end