lib/cocoapods_stats/target_mapper.rb in cocoapods-stats-1.0.0.beta.1 vs lib/cocoapods_stats/target_mapper.rb in cocoapods-stats-1.0.0.beta.2

- old
+ new

@@ -5,38 +5,29 @@ class TargetMapper # Loop though all targets in the pod # generate a collection of hashes def pods_from_project(context, master_pods) context.umbrella_targets.flat_map do |target| - next unless target.user_project_path - - # These UUIDs come from the Xcode project - # http://danwright.info/blog/2010/10/xcode-pbxproject-files-3/ - - project = Xcodeproj::Project.open(target.user_project_path) - next unless project - root_specs = target.specs.map(&:root).uniq # As it's hard to look up the source of a pod, we # can check if the pod exists in the master specs repo though pods = root_specs. select { |spec| master_pods.include?(spec.name) }. map { |spec| { :name => spec.name, :version => spec.version.to_s } } - target.user_target_uuids.map do |uuid| - project_target = project.objects_by_uuid[uuid] - + # This will be an empty array for `integrate_targets: false` Podfiles + target.user_targets.map do |user_target| # Send in a digested'd UUID anyway, a second layer # of misdirection can't hurt { - :uuid => Digest::SHA256.hexdigest(uuid), - :type => project_target.product_type, + :uuid => Digest::SHA256.hexdigest(user_target.uuid), + :type => user_target.product_type, :pods => pods, - :platform => project_target.platform_name, + :platform => user_target.platform_name, } end - end.compact + end end end end