cmd/list: add --poured-from-bottle and --built-from-source
				
					
				
			This commit is contained in:
		
							parent
							
								
									4482e25cb2
								
							
						
					
					
						commit
						6287607ac5
					
				@ -41,6 +41,10 @@ module Homebrew
 | 
				
			|||||||
               description: "List the formulae installed on request."
 | 
					               description: "List the formulae installed on request."
 | 
				
			||||||
        switch "--installed-as-dependency",
 | 
					        switch "--installed-as-dependency",
 | 
				
			||||||
               description: "List the formulae installed as dependencies."
 | 
					               description: "List the formulae installed as dependencies."
 | 
				
			||||||
 | 
					        switch "--poured-from-bottle",
 | 
				
			||||||
 | 
					               description: "List the formulae installed from a bottle."
 | 
				
			||||||
 | 
					        switch "--built-from-source",
 | 
				
			||||||
 | 
					               description: "List the formulae compiled from source."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # passed through to ls
 | 
					        # passed through to ls
 | 
				
			||||||
        switch "-1",
 | 
					        switch "-1",
 | 
				
			||||||
@ -60,7 +64,8 @@ module Homebrew
 | 
				
			|||||||
        conflicts "--pinned", "--cask"
 | 
					        conflicts "--pinned", "--cask"
 | 
				
			||||||
        conflicts "--multiple", "--cask"
 | 
					        conflicts "--multiple", "--cask"
 | 
				
			||||||
        conflicts "--pinned", "--multiple"
 | 
					        conflicts "--pinned", "--multiple"
 | 
				
			||||||
        ["--installed-on-request", "--installed-as-dependency"].each do |flag|
 | 
					        ["--installed-on-request", "--installed-as-dependency",
 | 
				
			||||||
 | 
					         "--poured-from-bottle", "--built-from-source"].each do |flag|
 | 
				
			||||||
          conflicts "--cask", flag
 | 
					          conflicts "--cask", flag
 | 
				
			||||||
          conflicts "--versions", flag
 | 
					          conflicts "--versions", flag
 | 
				
			||||||
          conflicts "--pinned", flag
 | 
					          conflicts "--pinned", flag
 | 
				
			||||||
@ -71,6 +76,7 @@ module Homebrew
 | 
				
			|||||||
        end
 | 
					        end
 | 
				
			||||||
        ["--versions", "--pinned",
 | 
					        ["--versions", "--pinned",
 | 
				
			||||||
         "---installed-on-request", "--installed-as-dependency",
 | 
					         "---installed-on-request", "--installed-as-dependency",
 | 
				
			||||||
 | 
					         "--poured-from-bottle", "--built-from-source",
 | 
				
			||||||
         "-l", "-r", "-t"].each do |flag|
 | 
					         "-l", "-r", "-t"].each do |flag|
 | 
				
			||||||
          conflicts "--full-name", flag
 | 
					          conflicts "--full-name", flag
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
@ -104,25 +110,31 @@ module Homebrew
 | 
				
			|||||||
        elsif args.versions?
 | 
					        elsif args.versions?
 | 
				
			||||||
          filtered_list unless args.cask?
 | 
					          filtered_list unless args.cask?
 | 
				
			||||||
          list_casks if args.cask? || (!args.formula? && !args.multiple? && args.no_named?)
 | 
					          list_casks if args.cask? || (!args.formula? && !args.multiple? && args.no_named?)
 | 
				
			||||||
        elsif args.installed_on_request? || args.installed_as_dependency?
 | 
					        elsif args.installed_on_request? ||
 | 
				
			||||||
          unless args.no_named?
 | 
					              args.installed_as_dependency? ||
 | 
				
			||||||
            raise UsageError,
 | 
					              args.poured_from_bottle? ||
 | 
				
			||||||
                  "Cannot use `--installed-on-request` or " \
 | 
					              args.built_from_source?
 | 
				
			||||||
                  "`--installed-as-dependency` with formula arguments."
 | 
					          flags = []
 | 
				
			||||||
          end
 | 
					          flags << "`--installed-on-request`" if args.installed_on_request?
 | 
				
			||||||
 | 
					          flags << "`--installed-as-dependency`" if args.installed_as_dependency?
 | 
				
			||||||
 | 
					          flags << "`--poured-from-bottle`" if args.poured_from_bottle?
 | 
				
			||||||
 | 
					          flags << "`--built-from-source`" if args.built_from_source?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          raise UsageError, "Cannot use #{flags.join(", ")} with formula arguments." unless args.no_named?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          Formula.installed.sort.each do |formula|
 | 
					          Formula.installed.sort.each do |formula|
 | 
				
			||||||
            tab = Tab.for_formula(formula)
 | 
					            tab = Tab.for_formula(formula)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if args.installed_on_request? && args.installed_as_dependency?
 | 
					 | 
				
			||||||
            statuses = []
 | 
					            statuses = []
 | 
				
			||||||
              statuses << "installed on request" if tab.installed_on_request
 | 
					            statuses << "installed on request" if args.installed_on_request? && tab.installed_on_request
 | 
				
			||||||
              statuses << "installed as dependency" if tab.installed_as_dependency
 | 
					            statuses << "installed as dependency" if args.installed_as_dependency? && tab.installed_as_dependency
 | 
				
			||||||
 | 
					            statuses << "poured from bottle" if args.poured_from_bottle? && tab.poured_from_bottle
 | 
				
			||||||
 | 
					            statuses << "built from source" if args.built_from_source? && !tab.poured_from_bottle
 | 
				
			||||||
            next if statuses.empty?
 | 
					            next if statuses.empty?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if flags.count > 1
 | 
				
			||||||
              puts "#{formula.name}: #{statuses.join(", ")}"
 | 
					              puts "#{formula.name}: #{statuses.join(", ")}"
 | 
				
			||||||
            elsif (args.installed_on_request? && tab.installed_on_request) ||
 | 
					            else
 | 
				
			||||||
                  (args.installed_as_dependency? && tab.installed_as_dependency)
 | 
					 | 
				
			||||||
              puts formula.name
 | 
					              puts formula.name
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,9 @@ class Homebrew::Cmd::List
 | 
				
			|||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
 | 
					class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
 | 
				
			||||||
 | 
					  sig { returns(T::Boolean) }
 | 
				
			||||||
 | 
					  def built_from_source?; end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sig { returns(T::Boolean) }
 | 
					  sig { returns(T::Boolean) }
 | 
				
			||||||
  def cask?; end
 | 
					  def cask?; end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -41,6 +44,9 @@ class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
 | 
				
			|||||||
  sig { returns(T::Boolean) }
 | 
					  sig { returns(T::Boolean) }
 | 
				
			||||||
  def pinned?; end
 | 
					  def pinned?; end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sig { returns(T::Boolean) }
 | 
				
			||||||
 | 
					  def poured_from_bottle?; end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sig { returns(T::Boolean) }
 | 
					  sig { returns(T::Boolean) }
 | 
				
			||||||
  def r?; end
 | 
					  def r?; end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user