Class: Pod::Resolver
- Inherits:
 - 
      Object
      
        
- Object
 - Pod::Resolver
 
 
- Defined in:
 - lib/cocoapods-mtxx-bin/native/resolver.rb
 
Instance Method Summary collapse
- 
  
    
      #aggregate_for_dependency(dependency)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
其实不用到 resolver_specs_by_target 再改 spec 在这个方法里面,通过修改 dependency 的 source 应该也可以 就是有一点,如果改了之后,对应的 source 没有符合 dependency 的版本 分析依赖阶段就会报错了,没法像 resolver_specs_by_target 一样 没有对应的二进制版本时还可以转到源码源码.
 - #old_valid_possibility_version_for_root_name? ⇒ Object
 - 
  
    
      #read_black_list  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
读取黑名单.
 - #requirement_satisfied_by?(requirement, activated, spec) ⇒ Boolean
 - #specifications_for_dependency(dependency, additional_requirements_frozen = []) ⇒ Object
 - #valid_possibility_version_for_root_name?(requirement, activated, spec) ⇒ Boolean
 - #version_helper ⇒ Object
 
Instance Method Details
#aggregate_for_dependency(dependency) ⇒ Object
其实不用到 resolver_specs_by_target 再改 spec 在这个方法里面,通过修改 dependency 的 source 应该也可以 就是有一点,如果改了之后,对应的 source 没有符合 dependency 的版本 分析依赖阶段就会报错了,没法像 resolver_specs_by_target 一样 没有对应的二进制版本时还可以转到源码源码
      22 23 24 25 26 27 28 29 30 31 32  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 22 def aggregate_for_dependency(dependency) sources_manager = Config.instance.sources_manager if dependency&.podspec_repo sources_manager.aggregate_for_dependency(dependency) # 采用 lock 中的 source ,会导致插件对 source 的先后调整失效 # elsif (locked_vertex = @locked_dependencies.vertex_named(dependency.name)) && (locked_dependency = locked_vertex.payload) && locked_dependency.podspec_repo # sources_manager.aggregate_for_dependency(locked_dependency) else @aggregate ||= Source::Aggregate.new(sources) end end  | 
  
#old_valid_possibility_version_for_root_name? ⇒ Object
      65  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 65 alias old_valid_possibility_version_for_root_name? valid_possibility_version_for_root_name?  | 
  
#read_black_list ⇒ Object
读取黑名单
      93 94 95 96 97 98 99 100 101  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 93 def read_black_list config_file = File.join(Pod::Config.instance.project_root, 'BinConfig.yaml') return nil unless File.exist?(config_file) config = YAML.load(File.open(config_file)) return nil if config.nil? install_config = config['install_config'] return nil if install_config.nil? install_config['black_list'] end  | 
  
#requirement_satisfied_by?(requirement, activated, spec) ⇒ Boolean
      73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 73 def requirement_satisfied_by?(requirement, activated, spec) version = spec.version return false unless requirement.requirement.satisfied_by?(version) shared_possibility_versions, prerelease_requirement = possibility_versions_for_root_name(requirement, activated) if !shared_possibility_versions.empty? && !shared_possibility_versions.include?(version) return false end if !podfile.allow_prerelease? && version.prerelease? && !prerelease_requirement return false end unless spec_is_platform_compatible?(activated, requirement, spec) return false end true end  | 
  
#specifications_for_dependency(dependency, additional_requirements_frozen = []) ⇒ Object
      36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 36 def specifications_for_dependency(dependency, additional_requirements_frozen = []) additional_requirements = additional_requirements_frozen.dup.compact requirement = Requirement.new(dependency.requirement.as_list + additional_requirements.flat_map(&:as_list)) if podfile.allow_prerelease? && !requirement.prerelease? requirement = Requirement.new(dependency.requirement.as_list.map { |r| r + '.a' } + additional_requirements.flat_map(&:as_list)) end = if Pod.match_version?('~> 1.7') podfile. else end if Pod.match_version?('~> 1.8') specifications = find_cached_set(dependency) .all_specifications(.warn_for_multiple_pod_sources, requirement) else specifications = find_cached_set(dependency) .all_specifications(.warn_for_multiple_pod_sources) .select { |s| requirement.satisfied_by? s.version } end specifications .map { |s| s.subspec_by_name(dependency.name, false, true) } .compact end  | 
  
#valid_possibility_version_for_root_name?(requirement, activated, spec) ⇒ Boolean
      67 68 69 70 71  | 
    
      # File 'lib/cocoapods-mtxx-bin/native/resolver.rb', line 67 def valid_possibility_version_for_root_name?(requirement, activated, spec) return true if podfile.allow_prerelease? old_valid_possibility_version_for_root_name?(requirement, activated, spec) end  |