Commit 06c077f5 authored by Samuel E. Giddins's avatar Samuel E. Giddins

[Resolver] Add rudimentary lockfile handling, equivalent to the old behavior

parent 55b27b45
...@@ -241,7 +241,7 @@ module Pod ...@@ -241,7 +241,7 @@ module Pod
locking_pods = result.podfile_state.unchanged locking_pods = result.podfile_state.unchanged
if update_mode == :selected if update_mode == :selected
# If selected Pods should been updated, filter them out of the list # If selected Pods should been updated, filter them out of the list
locking_pods = locking_pods.select { |pod| !update[:pods].include?(pod) } locking_pods = locking_pods.reject { |pod| update[:pods].include?(pod) }
end end
locking_pods.map do |pod| locking_pods.map do |pod|
lockfile.dependencies_to_lock_pod_named(pod) lockfile.dependencies_to_lock_pod_named(pod)
......
...@@ -87,7 +87,9 @@ module Pod ...@@ -87,7 +87,9 @@ module Pod
@activated = ::Resolver::Resolver.new(self,self). @activated = ::Resolver::Resolver.new(self,self).
resolve( resolve(
@podfile.target_definition_list.map(&:dependencies).flatten, @podfile.target_definition_list.map(&:dependencies).flatten,
::Resolver::DependencyGraph.new locked_dependencies.reduce(::Resolver::DependencyGraph.new) do |graph, locked|
graph.tap { |g| g.add_root_vertex(locked.name, locked) }
end
) )
specs_by_target specs_by_target
rescue ::Resolver::ResolverError => e rescue ::Resolver::ResolverError => e
......
Subproject commit b0f4e85738f1f911e32e2914b39e9acdce7c7ed9 Subproject commit b6e1c2429964b4e47b344958572930e15ffbbcea
...@@ -228,7 +228,7 @@ SPEC CHECKSUMS: ...@@ -228,7 +228,7 @@ SPEC CHECKSUMS:
COCOAPODS: 0.33.1 COCOAPODS: 0.33.1
EOS EOS
lockfile = Lockfile.new(YAMLHelper.load_string(lockfile_yaml)) lockfile = Lockfile.new(YAMLHelper.load_string(lockfile_yaml))
resolver = Resolver.new(config.sandbox, podfile, lockfile.dependencies, SourcesManager.all) resolver = Resolver.new(config.sandbox, podfile, lockfile.dependencies, SourcesManager.master)
resolver.resolve.values.first. resolver.resolve.values.first.
find { |s| s.name == 'Mixpanel' }. find { |s| s.name == 'Mixpanel' }.
version.to_s.should == '2.5.1' version.to_s.should == '2.5.1'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment