Skip to content

Commit 25e367f

Browse files
committed
Draft impl of app-thinning.plist parsing
1 parent 9367f7e commit 25e367f

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_send_app_size_metrics.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,16 @@ def self.run(params)
1212
)
1313
payload.add_metric(name: 'File Size', value: File.size(params[:ipa_path]))
1414

15-
if File.exist?(params[:app_thinning_plist_path])
16-
plist = Plist.parse_xml(params[:app_thinning_plist_path])
17-
payload.add_metric(name: 'plist', value: plist) # TODO: Parse the actual plist
15+
app_thinning_plist_path = params[:app_thinning_plist_path] || File.join(File.dirname(params[:ipa_path]), 'app-thinning.plist')
16+
if File.exist?(app_thinning_plist_path)
17+
plist = Plist.parse_xml(app_thinning_plist_path)
18+
plist['variants'].each do |_key, variant|
19+
# FIXME: We should probably not take only the first `variantDescriptor` from the list. But that'll do for now as a draft implementation.
20+
vd = variant['variantDescriptors']&.first
21+
variant_metadata = vd.nil? ? { device: 'Universal' } : { device: vd['device'], 'OS Version': vd['os-version'] }
22+
payload.add_metric(name: 'Download Size', value: variant['sizeCompressedApp'], meta: variant_metadata)
23+
payload.add_metric(name: 'Install Size', value: variant['sizeUncompressedApp'], meta: variant_metadata)
24+
end
1825
end
1926

2027
payload.send_metrics(

0 commit comments

Comments
 (0)