class PodPrebuild::DependenciesGraphCacheValidator

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/cocoapods-binary-cache/cache/validator_dependencies_graph.rb, line 3
def initialize(options)
  super(options)
  @ignored_pods = options[:ignored_pods] || Set.new
end

Public Instance Methods

library_evolution_supported?() click to toggle source
# File lib/cocoapods-binary-cache/cache/validator_dependencies_graph.rb, line 21
def library_evolution_supported?
  false
end
validate(accumulated) click to toggle source
# File lib/cocoapods-binary-cache/cache/validator_dependencies_graph.rb, line 8
def validate(accumulated)
  return accumulated if library_evolution_supported? || @pod_lockfile.nil?

  dependencies_graph = DependenciesGraph.new(lockfile: @pod_lockfile.lockfile, invert_edge: true)
  clients = dependencies_graph.get_clients(accumulated.discard(@ignored_pods).missed.to_a)
  unless PodPrebuild.config.dev_pods_enabled?
    clients = clients.reject { |client| @pod_lockfile.dev_pods.keys.include?(client) }
  end

  missed = clients.map { |client| [client, "Dependencies were missed"] }.to_h
  accumulated.merge(PodPrebuild::CacheValidationResult.new(missed, Set.new))
end