Sha256: 6c222fd454a49620ee6ea77cfc36b3e2617584b18a3a25ea9bcc660206227d43

Contents?: true

Size: 899 Bytes

Versions: 23

Compression:

Stored size: 899 Bytes

Contents

module PodPrebuild
  class DependenciesGraphCacheValidator < AccumulatedCacheValidator
    def initialize(options)
      super(options)
      @ignored_pods = options[:ignored_pods] || Set.new
    end

    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

    def library_evolution_supported?
      false
    end
  end
end

Version data entries

23 entries across 23 versions & 4 rubygems

Version Path
cocoapods-binary-artifactory-cache-0.0.2 lib/cocoapods-binary-artifactory-cache/cache/validator_dependencies_graph.rb
cocoapods-binary-artifactory-cache-0.0.1 lib/cocoapods-binary-artifactory-cache/cache/validator_dependencies_graph.rb
cocoapods-binary-cache-0.1.14 lib/cocoapods-binary-cache/cache/validator_dependencies_graph.rb