class ChefCLI::Policyfile::SolutionDependencies

def assert_cookbook_version_valid!(cookbook_name, version)

def assert_cookbook_version_valid!(cookbook_name, version)
  policyfile_conflicts = policyfile_conflicts_with(cookbook_name, version)
  cookbook_conflicts = cookbook_conflicts_with(cookbook_name, version)
  all_conflicts = policyfile_conflicts + cookbook_conflicts
  return false if all_conflicts.empty?
  details = all_conflicts.map { |source, name, constraint| "#{source} depends on #{name} #{constraint}" }
  message = "Cookbook #{cookbook_name} (#{version}) conflicts with other dependencies:\n"
  full_message = message + details.join("\n")
  raise DependencyConflict, full_message
end