Class: Xcodeproj::Project::Object::XCSwiftPackageProductDependency

Inherits:
Object
  • Object
show all
Defined in:
lib/xccache/xcodeproj/pkg_product_dependency.rb

Instance Method Summary collapse

Instance Method Details

#full_nameObject



7
8
9
# File 'lib/xccache/xcodeproj/pkg_product_dependency.rb', line 7

def full_name
  @full_name ||= "#{pkg&.slug || '__unknown__'}/#{product_name}"
end

#pkgObject



11
12
13
14
15
16
# File 'lib/xccache/xcodeproj/pkg_product_dependency.rb', line 11

def pkg
  return package if package
  return if @warned_missing_pkg
  @warned_missing_pkg = true
  Log.warn("Missing pkg of product dependency #{uuid}: #{to_hash}")
end


18
19
20
21
22
23
24
25
26
27
28
# File 'lib/xccache/xcodeproj/pkg_product_dependency.rb', line 18

def remove_alongside_related
  target = referrers.find { |x| x.is_a?(PBXNativeTarget) }
  Log.info(
    "(-) Remove #{product_name.red} from product dependencies of target #{target.display_name.bold}"
  )
  target.dependencies.each { |x| x.remove_from_project if x.product_ref == self }
  target.build_phases.each do |phase|
    phase.files.select { |f| f.remove_from_project if f.product_ref == self }
  end
  remove_from_project
end