brew/Library/Homebrew/compat/dependency_collector.rb
Mike McQuaid ba3c46d24f More deprecations.
Deprecate more methods. Internal APIs have been verified to be unused
elsewhere and removed. External APIs have had deprecation methods added.
Existing deprecations have been either upgraded to produce warnings or
no longer deprecated and the reasoning documented.
2017-04-22 16:28:07 +01:00

43 lines
1.2 KiB
Ruby

require "dependency_collector"
class DependencyCollector
alias _parse_symbol_spec parse_symbol_spec
def parse_symbol_spec(spec, tags)
case spec
when :clt
odeprecated "'depends_on :clt'"
when :autoconf, :automake, :bsdmake, :libtool
output_deprecation(spec, tags)
autotools_dep(spec, tags)
when :cairo, :fontconfig, :freetype, :libpng, :pixman
output_deprecation(spec, tags)
Dependency.new(spec.to_s, tags)
when :apr
# output_deprecation(spec, tags, "apr-util")
Dependency.new("apr-util", tags)
when :libltdl
tags << :run
output_deprecation("libtool", tags)
Dependency.new("libtool", tags)
else
_parse_symbol_spec(spec, tags)
end
end
def autotools_dep(spec, tags)
tags << :build unless tags.include? :run
Dependency.new(spec.to_s, tags)
end
def output_deprecation(dependency, tags, new_dependency = dependency)
tags_string = if tags.length > 1
" => [:#{tags.join ", :"}]"
elsif tags.length == 1
" => :#{tags.first}"
end
odeprecated "'depends_on :#{dependency}'",
"'depends_on \"#{new_dependency}\"#{tags_string}'"
end
end