Work in progress for extending livecheck command for resources
This commit is contained in:
		
							parent
							
								
									f4a42d7d66
								
							
						
					
					
						commit
						1ee4f1a696
					
				@ -485,9 +485,11 @@ module Homebrew
 | 
				
			|||||||
      when String
 | 
					      when String
 | 
				
			||||||
        livecheck_url
 | 
					        livecheck_url
 | 
				
			||||||
      when :url
 | 
					      when :url
 | 
				
			||||||
        package_or_resource.url&.to_s if package_or_resource.is_a?(Cask::Cask)
 | 
					        package_or_resource.url&.to_s if package_or_resource.is_a?(Cask::Cask) || package_or_resource.is_a?(Resource)
 | 
				
			||||||
      when :head, :stable
 | 
					      when :head, :stable
 | 
				
			||||||
        package_or_resource.send(livecheck_url)&.url if package_or_resource.is_a?(Formula) || package_or_resource.is_a?(Resource)
 | 
					        # Not sure how to handle this ?
 | 
				
			||||||
 | 
					        # Do I have to add :stable / :head in Resources' as well (like it's being implemented in Formula ?)
 | 
				
			||||||
 | 
					        package_or_resource.send(livecheck_url)&.url if package_or_resource.is_a?(Formula)
 | 
				
			||||||
      when :homepage
 | 
					      when :homepage
 | 
				
			||||||
        package_or_resource.homepage
 | 
					        package_or_resource.homepage
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
@ -500,12 +502,7 @@ module Homebrew
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      case package_or_resource
 | 
					      case package_or_resource
 | 
				
			||||||
      when Resource
 | 
					      when Resource
 | 
				
			||||||
        if package_or_resource.stable
 | 
					        urls << package_or_resource.url
 | 
				
			||||||
          urls << package_or_resource.stable.url
 | 
					 | 
				
			||||||
          urls.concat(package_or_resource.stable.mirrors)
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
        urls << package_or_resource.head.url if package_or_resource.head
 | 
					 | 
				
			||||||
        urls << package_or_resource.homepage if package_or_resource.homepage
 | 
					 | 
				
			||||||
      when Formula
 | 
					      when Formula
 | 
				
			||||||
        if package_or_resource.stable
 | 
					        if package_or_resource.stable
 | 
				
			||||||
          urls << package_or_resource.stable.url
 | 
					          urls << package_or_resource.stable.url
 | 
				
			||||||
@ -623,6 +620,11 @@ module Homebrew
 | 
				
			|||||||
      formula_with_resources.resources.each_with_index do |resource, i|
 | 
					      formula_with_resources.resources.each_with_index do |resource, i|
 | 
				
			||||||
        has_livecheckable = resource.livecheckable?
 | 
					        has_livecheckable = resource.livecheckable?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if debug
 | 
				
			||||||
 | 
					          puts "Resource:          #{resource_name(resource, full_name: full_name)}"
 | 
				
			||||||
 | 
					          puts "Livecheckable?:    #{has_livecheckable ? "Yes" : "No"}"
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #@todo: for now, only check resources with livecheck block
 | 
					        #@todo: for now, only check resources with livecheck block
 | 
				
			||||||
        if has_livecheckable
 | 
					        if has_livecheckable
 | 
				
			||||||
          livecheck = resource.livecheck
 | 
					          livecheck = resource.livecheck
 | 
				
			||||||
@ -640,12 +642,165 @@ module Homebrew
 | 
				
			|||||||
          urls = [livecheck_url_string] if livecheck_url_string
 | 
					          urls = [livecheck_url_string] if livecheck_url_string
 | 
				
			||||||
          urls ||= checkable_urls(resource)
 | 
					          urls ||= checkable_urls(resource)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          puts "URLs:       #{urls}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          checked_urls = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          urls.each_with_index do |original_url, i|
 | 
				
			||||||
 | 
					            # Only preprocess the URL when it's appropriate
 | 
				
			||||||
 | 
					            url = if STRATEGY_SYMBOLS_TO_SKIP_PREPROCESS_URL.include?(livecheck_strategy)
 | 
				
			||||||
 | 
					              original_url
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					              preprocess_url(original_url)
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            next if checked_urls.include?(url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            strategies = Strategy.from_url(
 | 
				
			||||||
 | 
					              url,
 | 
				
			||||||
 | 
					              livecheck_strategy: livecheck_strategy,
 | 
				
			||||||
 | 
					              url_provided:       livecheck_url.present?,
 | 
				
			||||||
 | 
					              regex_provided:     livecheck_regex.present?,
 | 
				
			||||||
 | 
					              block_provided:     livecheck_strategy_block.present?,
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            strategy = Strategy.from_symbol(livecheck_strategy) || strategies.first
 | 
				
			||||||
 | 
					            strategy_name = livecheck_strategy_names[strategy]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if debug
 | 
				
			||||||
 | 
					              puts
 | 
				
			||||||
 | 
					              if livecheck_url.is_a?(Symbol)
 | 
				
			||||||
 | 
					                # This assumes the URL symbol will fit within the available space
 | 
				
			||||||
 | 
					                puts "URL (#{livecheck_url}):".ljust(18, " ") + original_url
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                puts "URL:              #{original_url}"
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					              puts "URL (processed):  #{url}" if url != original_url
 | 
				
			||||||
 | 
					              if strategies.present? && verbose
 | 
				
			||||||
 | 
					                puts "Strategies:       #{strategies.map { |s| livecheck_strategy_names[s] }.join(", ")}"
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					              puts "Strategy:         #{strategy.blank? ? "None" : strategy_name}"
 | 
				
			||||||
 | 
					              puts "Regex:            #{livecheck_regex.inspect}" if livecheck_regex.present?
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if livecheck_strategy.present?
 | 
				
			||||||
 | 
					              if livecheck_url.blank? && strategy.method(:find_versions).parameters.include?([:keyreq, :url])
 | 
				
			||||||
 | 
					                odebug "#{strategy_name} strategy requires a URL"
 | 
				
			||||||
 | 
					                next
 | 
				
			||||||
 | 
					              elsif livecheck_strategy != :page_match && strategies.exclude?(strategy)
 | 
				
			||||||
 | 
					                odebug "#{strategy_name} strategy does not apply to this URL"
 | 
				
			||||||
 | 
					                next
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            next if strategy.blank?
 | 
				
			||||||
 | 
					            homebrew_curl = case strategy_name
 | 
				
			||||||
 | 
					            when "PageMatch", "HeaderMatch"
 | 
				
			||||||
 | 
					              use_homebrew_curl?((referenced_formula_or_cask || formula_or_cask), url)
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            puts "Homebrew curl?:   Yes" if debug && homebrew_curl.present?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # p "strategy.method(:find_versions).parameters:      #{strategy.method(:find_versions).parameters}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            strategy_data = strategy.find_versions(
 | 
				
			||||||
 | 
					              url:           url,
 | 
				
			||||||
 | 
					              regex:         livecheck_regex,
 | 
				
			||||||
 | 
					              homebrew_curl: homebrew_curl,
 | 
				
			||||||
 | 
					              &livecheck_strategy_block
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # p strategy_data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            match_version_map = strategy_data[:matches]
 | 
				
			||||||
 | 
					            p "match_version_map:         #{match_version_map}"
 | 
				
			||||||
 | 
					            regex = strategy_data[:regex]
 | 
				
			||||||
 | 
					            messages = strategy_data[:messages]
 | 
				
			||||||
 | 
					            checked_urls << url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if messages.is_a?(Array) && match_version_map.blank?
 | 
				
			||||||
 | 
					              puts messages unless json
 | 
				
			||||||
 | 
					              next if i + 1 < urls.length
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              return status_hash(formula_or_cask, "error", messages, full_name: full_name, verbose: verbose)
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if debug
 | 
				
			||||||
 | 
					              if strategy_data[:url].present? && strategy_data[:url] != url
 | 
				
			||||||
 | 
					                puts "URL (strategy):   #{strategy_data[:url]}"
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					              puts "URL (final):      #{strategy_data[:final_url]}" if strategy_data[:final_url].present?
 | 
				
			||||||
 | 
					              if strategy_data[:regex].present? && strategy_data[:regex] != livecheck_regex
 | 
				
			||||||
 | 
					                puts "Regex (strategy): #{strategy_data[:regex].inspect}"
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					              puts "Cached?:          Yes" if strategy_data[:cached] == true
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            match_version_map.delete_if do |_match, version|
 | 
				
			||||||
 | 
					              next true if version.blank?
 | 
				
			||||||
 | 
					              next false if has_livecheckable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              UNSTABLE_VERSION_KEYWORDS.any? do |rejection|
 | 
				
			||||||
 | 
					                version.to_s.include?(rejection)
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            next if match_version_map.blank?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if debug
 | 
				
			||||||
 | 
					              puts
 | 
				
			||||||
 | 
					              puts "Matched Versions:"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              if verbose
 | 
				
			||||||
 | 
					                match_version_map.each do |match, version|
 | 
				
			||||||
 | 
					                  puts "#{match} => #{version.inspect}"
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                puts match_version_map.values.join(", ")
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            version_info = {
 | 
				
			||||||
 | 
					              latest: Version.new(match_version_map.values.max_by { |v| LivecheckVersion.create(formula_or_cask, v) }),
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if json && verbose
 | 
				
			||||||
 | 
					              version_info[:meta] = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              if livecheck_references.present?
 | 
				
			||||||
 | 
					                version_info[:meta][:references] = livecheck_references.map do |ref_formula_or_cask|
 | 
				
			||||||
 | 
					                  case ref_formula_or_cask
 | 
				
			||||||
 | 
					                  when Formula
 | 
				
			||||||
 | 
					                    { formula: formula_name(ref_formula_or_cask, full_name: full_name) }
 | 
				
			||||||
 | 
					                  when Cask::Cask
 | 
				
			||||||
 | 
					                    { cask: cask_name(ref_formula_or_cask, full_name: full_name) }
 | 
				
			||||||
 | 
					                  end
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              version_info[:meta][:url] = {}
 | 
				
			||||||
 | 
					              version_info[:meta][:url][:symbol] = livecheck_url if livecheck_url.is_a?(Symbol) && livecheck_url_string
 | 
				
			||||||
 | 
					              version_info[:meta][:url][:original] = original_url
 | 
				
			||||||
 | 
					              version_info[:meta][:url][:processed] = url if url != original_url
 | 
				
			||||||
 | 
					              if strategy_data[:url].present? && strategy_data[:url] != url
 | 
				
			||||||
 | 
					                version_info[:meta][:url][:strategy] = strategy_data[:url]
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					              version_info[:meta][:url][:final] = strategy_data[:final_url] if strategy_data[:final_url]
 | 
				
			||||||
 | 
					              version_info[:meta][:url][:homebrew_curl] = homebrew_curl if homebrew_curl.present?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              version_info[:meta][:strategy] = strategy.present? ? strategy_name : nil
 | 
				
			||||||
 | 
					              version_info[:meta][:strategies] = strategies.map { |s| livecheck_strategy_names[s] } if strategies.present?
 | 
				
			||||||
 | 
					              version_info[:meta][:regex] = regex.inspect if regex.present?
 | 
				
			||||||
 | 
					              version_info[:meta][:cached] = true if strategy_data[:cached] == true
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            puts "Version Info:     #{}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return version_info
 | 
				
			||||||
 | 
					          end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if debug
 | 
					 | 
				
			||||||
          puts "Resource:          #{resource_name(resource, full_name: full_name)}"
 | 
					 | 
				
			||||||
          puts "Livecheckable?:    #{has_livecheckable ? "Yes" : "No"}"
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -654,152 +809,9 @@ module Homebrew
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # checked_urls = []
 | 
					      # rubocop:disable Metrics/BlockLength
 | 
				
			||||||
      # # rubocop:disable Metrics/BlockLength
 | 
					 | 
				
			||||||
      # urls.each_with_index do |original_url, i|
 | 
					 | 
				
			||||||
      #   # Only preprocess the URL when it's appropriate
 | 
					 | 
				
			||||||
      #   url = if STRATEGY_SYMBOLS_TO_SKIP_PREPROCESS_URL.include?(livecheck_strategy)
 | 
					 | 
				
			||||||
      #     original_url
 | 
					 | 
				
			||||||
      #   else
 | 
					 | 
				
			||||||
      #     preprocess_url(original_url)
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
      #   next if checked_urls.include?(url)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      #   strategies = Strategy.from_url(
 | 
					      #rubocop:enable Metrics/BlockLength
 | 
				
			||||||
      #     url,
 | 
					 | 
				
			||||||
      #     livecheck_strategy: livecheck_strategy,
 | 
					 | 
				
			||||||
      #     url_provided:       livecheck_url.present?,
 | 
					 | 
				
			||||||
      #     regex_provided:     livecheck_regex.present?,
 | 
					 | 
				
			||||||
      #     block_provided:     livecheck_strategy_block.present?,
 | 
					 | 
				
			||||||
      #   )
 | 
					 | 
				
			||||||
      #   strategy = Strategy.from_symbol(livecheck_strategy) || strategies.first
 | 
					 | 
				
			||||||
      #   strategy_name = livecheck_strategy_names[strategy]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if debug
 | 
					 | 
				
			||||||
      #     puts
 | 
					 | 
				
			||||||
      #     if livecheck_url.is_a?(Symbol)
 | 
					 | 
				
			||||||
      #       # This assumes the URL symbol will fit within the available space
 | 
					 | 
				
			||||||
      #       puts "URL (#{livecheck_url}):".ljust(18, " ") + original_url
 | 
					 | 
				
			||||||
      #     else
 | 
					 | 
				
			||||||
      #       puts "URL:              #{original_url}"
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #     puts "URL (processed):  #{url}" if url != original_url
 | 
					 | 
				
			||||||
      #     if strategies.present? && verbose
 | 
					 | 
				
			||||||
      #       puts "Strategies:       #{strategies.map { |s| livecheck_strategy_names[s] }.join(", ")}"
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #     puts "Strategy:         #{strategy.blank? ? "None" : strategy_name}"
 | 
					 | 
				
			||||||
      #     puts "Regex:            #{livecheck_regex.inspect}" if livecheck_regex.present?
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if livecheck_strategy.present?
 | 
					 | 
				
			||||||
      #     if livecheck_url.blank? && strategy.method(:find_versions).parameters.include?([:keyreq, :url])
 | 
					 | 
				
			||||||
      #       odebug "#{strategy_name} strategy requires a URL"
 | 
					 | 
				
			||||||
      #       next
 | 
					 | 
				
			||||||
      #     elsif livecheck_strategy != :page_match && strategies.exclude?(strategy)
 | 
					 | 
				
			||||||
      #       odebug "#{strategy_name} strategy does not apply to this URL"
 | 
					 | 
				
			||||||
      #       next
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   next if strategy.blank?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   homebrew_curl = case strategy_name
 | 
					 | 
				
			||||||
      #   when "PageMatch", "HeaderMatch"
 | 
					 | 
				
			||||||
      #     use_homebrew_curl?((referenced_formula_or_cask || formula_or_cask), url)
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
      #   puts "Homebrew curl?:   Yes" if debug && homebrew_curl.present?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   strategy_data = strategy.find_versions(
 | 
					 | 
				
			||||||
      #     url:           url,
 | 
					 | 
				
			||||||
      #     regex:         livecheck_regex,
 | 
					 | 
				
			||||||
      #     homebrew_curl: homebrew_curl,
 | 
					 | 
				
			||||||
      #     cask:          cask,
 | 
					 | 
				
			||||||
      #     &livecheck_strategy_block
 | 
					 | 
				
			||||||
      #   )
 | 
					 | 
				
			||||||
      #   match_version_map = strategy_data[:matches]
 | 
					 | 
				
			||||||
      #   regex = strategy_data[:regex]
 | 
					 | 
				
			||||||
      #   messages = strategy_data[:messages]
 | 
					 | 
				
			||||||
      #   checked_urls << url
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if messages.is_a?(Array) && match_version_map.blank?
 | 
					 | 
				
			||||||
      #     puts messages unless json
 | 
					 | 
				
			||||||
      #     next if i + 1 < urls.length
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     return status_hash(formula_or_cask, "error", messages, full_name: full_name, verbose: verbose)
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if debug
 | 
					 | 
				
			||||||
      #     if strategy_data[:url].present? && strategy_data[:url] != url
 | 
					 | 
				
			||||||
      #       puts "URL (strategy):   #{strategy_data[:url]}"
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #     puts "URL (final):      #{strategy_data[:final_url]}" if strategy_data[:final_url].present?
 | 
					 | 
				
			||||||
      #     if strategy_data[:regex].present? && strategy_data[:regex] != livecheck_regex
 | 
					 | 
				
			||||||
      #       puts "Regex (strategy): #{strategy_data[:regex].inspect}"
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #     puts "Cached?:          Yes" if strategy_data[:cached] == true
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   match_version_map.delete_if do |_match, version|
 | 
					 | 
				
			||||||
      #     next true if version.blank?
 | 
					 | 
				
			||||||
      #     next false if has_livecheckable
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     UNSTABLE_VERSION_KEYWORDS.any? do |rejection|
 | 
					 | 
				
			||||||
      #       version.to_s.include?(rejection)
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   next if match_version_map.blank?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if debug
 | 
					 | 
				
			||||||
      #     puts
 | 
					 | 
				
			||||||
      #     puts "Matched Versions:"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     if verbose
 | 
					 | 
				
			||||||
      #       match_version_map.each do |match, version|
 | 
					 | 
				
			||||||
      #         puts "#{match} => #{version.inspect}"
 | 
					 | 
				
			||||||
      #       end
 | 
					 | 
				
			||||||
      #     else
 | 
					 | 
				
			||||||
      #       puts match_version_map.values.join(", ")
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   version_info = {
 | 
					 | 
				
			||||||
      #     latest: Version.new(match_version_map.values.max_by { |v| LivecheckVersion.create(formula_or_cask, v) }),
 | 
					 | 
				
			||||||
      #   }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   if json && verbose
 | 
					 | 
				
			||||||
      #     version_info[:meta] = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     if livecheck_references.present?
 | 
					 | 
				
			||||||
      #       version_info[:meta][:references] = livecheck_references.map do |ref_formula_or_cask|
 | 
					 | 
				
			||||||
      #         case ref_formula_or_cask
 | 
					 | 
				
			||||||
      #         when Formula
 | 
					 | 
				
			||||||
      #           { formula: formula_name(ref_formula_or_cask, full_name: full_name) }
 | 
					 | 
				
			||||||
      #         when Cask::Cask
 | 
					 | 
				
			||||||
      #           { cask: cask_name(ref_formula_or_cask, full_name: full_name) }
 | 
					 | 
				
			||||||
      #         end
 | 
					 | 
				
			||||||
      #       end
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url] = {}
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url][:symbol] = livecheck_url if livecheck_url.is_a?(Symbol) && livecheck_url_string
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url][:original] = original_url
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url][:processed] = url if url != original_url
 | 
					 | 
				
			||||||
      #     if strategy_data[:url].present? && strategy_data[:url] != url
 | 
					 | 
				
			||||||
      #       version_info[:meta][:url][:strategy] = strategy_data[:url]
 | 
					 | 
				
			||||||
      #     end
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url][:final] = strategy_data[:final_url] if strategy_data[:final_url]
 | 
					 | 
				
			||||||
      #     version_info[:meta][:url][:homebrew_curl] = homebrew_curl if homebrew_curl.present?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #     version_info[:meta][:strategy] = strategy.present? ? strategy_name : nil
 | 
					 | 
				
			||||||
      #     version_info[:meta][:strategies] = strategies.map { |s| livecheck_strategy_names[s] } if strategies.present?
 | 
					 | 
				
			||||||
      #     version_info[:meta][:regex] = regex.inspect if regex.present?
 | 
					 | 
				
			||||||
      #     version_info[:meta][:cached] = true if strategy_data[:cached] == true
 | 
					 | 
				
			||||||
      #   end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #   return version_info
 | 
					 | 
				
			||||||
      # end
 | 
					 | 
				
			||||||
      # rubocop:enable Metrics/BlockLength
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      nil
 | 
					      nil
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
@ -927,7 +939,11 @@ module Homebrew
 | 
				
			|||||||
          cask:          cask,
 | 
					          cask:          cask,
 | 
				
			||||||
          &livecheck_strategy_block
 | 
					          &livecheck_strategy_block
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # p strategy_data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        match_version_map = strategy_data[:matches]
 | 
					        match_version_map = strategy_data[:matches]
 | 
				
			||||||
 | 
					        p "match_version_map:       #{match_version_map}"
 | 
				
			||||||
        regex = strategy_data[:regex]
 | 
					        regex = strategy_data[:regex]
 | 
				
			||||||
        messages = strategy_data[:messages]
 | 
					        messages = strategy_data[:messages]
 | 
				
			||||||
        checked_urls << url
 | 
					        checked_urls << url
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user