def analyze
@analyze ||= begin
debug { "Analyzing spec and lock:" }
if same?
debug { " Same!" }
return lock.manifests
end
debug { " Removed:" } ; removed_dependency_names.each { |name| debug { " #{name}" } }
debug { " ExplicitRemoved:" } ; explicit_removed_dependency_names.each { |name| debug { " #{name}" } }
debug { " Added:" } ; added_dependency_names.each { |name| debug { " #{name}" } }
debug { " NonMatchingAdded:" } ; nonmatching_added_dependency_names.each { |name| debug { " #{name}" } }
debug { " Changed:" } ; changed_dependency_names.each { |name| debug { " #{name}" } }
debug { " DeepKeep:" } ; deep_keep_manifest_names.each { |name| debug { " #{name}" } }
debug { " ShallowStrip:" } ; shallow_strip_manifest_names.each { |name| debug { " #{name}" } }
manifests = ManifestSet.new(lock_manifests)
manifests.deep_keep!(deep_keep_manifest_names)
manifests.shallow_strip!(shallow_strip_manifest_names)
manifests.to_a
end
end