Class: Pod::Resolver
- Inherits:
-
Object
- Object
- Pod::Resolver
- Defined in:
- lib/cocoapods-fy-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_requirement_satisfied_by? ⇒ Object
- #old_valid_possibility_version_for_root_name? ⇒ 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
Instance Method Details
#aggregate_for_dependency(dependency) ⇒ Object
其实不用到 resolver_specs_by_target 再改 spec 在这个方法里面,通过修改 dependency 的 source 应该也可以 就是有一点,如果改了之后,对应的 source 没有符合 dependency 的版本 分析依赖阶段就会报错了,没法像 resolver_specs_by_target 一样 没有对应的二进制版本时还可以转到源码源码
21 22 23 24 25 26 27 28 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 21 def aggregate_for_dependency(dependency) sources_manager = Config.instance.sources_manager if dependency&.podspec_repo sources_manager.aggregate_for_dependency(dependency) else @aggregate ||= Source::Aggregate.new(sources) end end |
#old_requirement_satisfied_by? ⇒ Object
69 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 69 alias old_requirement_satisfied_by? requirement_satisfied_by? |
#old_valid_possibility_version_for_root_name? ⇒ Object
61 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 61 alias old_valid_possibility_version_for_root_name? valid_possibility_version_for_root_name? |
#requirement_satisfied_by?(requirement, activated, spec) ⇒ Boolean
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 70 def requirement_satisfied_by?(requirement, activated, spec) podfile = Pod::Config.instance.podfile # 如果没有使用全局二进制字段 则进入局部二进制判断 删除framework文件夹 二进制源码之间切换时候用到 begin if !podfile.use_binaries_selector.nil? && !podfile.use_binaries_selector.call(spec) && spec.spec_source.url == @sources_manager.binary_source.url && !podfile.use_binaries? return false end rescue puts spec end old_requirement_satisfied_by?(requirement, activated, spec) end |
#specifications_for_dependency(dependency, additional_requirements_frozen = []) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 32 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
63 64 65 66 67 |
# File 'lib/cocoapods-fy-bin/native/resolver.rb', line 63 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 |