Class: Pod::SPM::Resolver::Result
- Inherits:
-
Object
- Object
- Pod::SPM::Resolver::Result
show all
- Includes:
- Config::Mixin
- Defined in:
- lib/cocoapods-spm/resolver/result.rb
Defined Under Namespace
Classes: WritableResult
Constant Summary
collapse
- ATTRS =
{
:spm_pkgs => [],
:spm_dependencies_by_target => {},
:project_pkgs => nil,
}.freeze
Instance Method Summary
collapse
#local_macro_pod?, #local_macro_pod_dir, #macro_pods, #spm_config
#pod_config
Methods included from PathMixn
#prepare_dir
#project_config
Constructor Details
#initialize(options = {}) ⇒ Result
Returns a new instance of Result.
23
24
25
26
27
|
# File 'lib/cocoapods-spm/resolver/result.rb', line 23
def initialize(options = {})
ATTRS.each do |k, v|
instance_variable_set("@#{k}", options[k] || v)
end
end
|
Instance Method Details
#linker_flags_for(target) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/cocoapods-spm/resolver/result.rb', line 49
def linker_flags_for(target)
(
spm_targets_for(target).flat_map(&:linker_flags) +
spm_pkgs_for(target).flat_map(&:linker_flags)
).uniq
end
|
#spm_dependencies_for(target) ⇒ Object
33
34
35
36
37
38
|
# File 'lib/cocoapods-spm/resolver/result.rb', line 33
def spm_dependencies_for(target)
filtered_dependencies = @spm_dependencies_by_target[spec_name_of(target)]&.reject do |dep|
dep.pkg&.should_exclude_from_target?(target.name)
end
filtered_dependencies.to_a
end
|
#spm_pkgs_for(target) ⇒ Object
29
30
31
|
# File 'lib/cocoapods-spm/resolver/result.rb', line 29
def spm_pkgs_for(target)
spm_dependencies_for(target).map(&:pkg).uniq(&:name)
end
|
#spm_targets_for(target, exclude_default_xcode_linking: true) ⇒ Object
40
41
42
43
44
45
46
47
|
# File 'lib/cocoapods-spm/resolver/result.rb', line 40
def spm_targets_for(target, exclude_default_xcode_linking: true)
targets = spm_dependencies_for(target).flat_map do |d|
project_pkgs.resolve_recursive_targets_of(d.pkg.name, d.product, platform: target.platform.name)
end.uniq(&:name)
return targets.reject(&:use_default_xcode_linking?) if exclude_default_xcode_linking
targets
end
|