 ba3c46d24f
			
		
	
	
		ba3c46d24f
		
	
	
	
	
		
			
			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.
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			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
 |