danger-app_size_report 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ae19f7d03dad68a467738ede966441747a12a27a5a0b572de6c25de2bef082e
4
- data.tar.gz: 5d9765041e4e3b4731d3263f397f1957995ad89fe09ce9e274119953d8255e54
3
+ metadata.gz: 9b365600ee021d284beda6dcbfbf0458f1a5a70e57e5602de4f90fa96a42e89d
4
+ data.tar.gz: 0c673c72637fd341e61c43ec044bdf9c5e2742e9571920269dfdacf8a2c97cb7
5
5
  SHA512:
6
- metadata.gz: 7c90b189990e4d26379f21523a11c52525bc4a4f4dc3947c8a1f55cfb47758e23d6ea38f5c3cfd5f55a689fc356ebb7996d4fe86d8b7f0f87f336460cc79d340
7
- data.tar.gz: 3751d8710bc6595d6b513726370e78e5f3b99474f54d21f0e79cb8f3ec5a5114b425b504ccf6581e2ef35e57c1e54d475630eeeb1d4aebf41c54d6105e609234
6
+ metadata.gz: df752062c2f4f08a90f1ccaf9d153f25e1c782e4c342c22529175989a44dd0187470abeeabc88e726b8d0cd31f14df9abafd6c7f22b3c7b8d2e672f2556fde82
7
+ data.tar.gz: 414f43733a1c575c051ed0bfce2a9bf9e28438facb30c361080fef18d58c4ecb58d12ad86806ce17feefa0ab8f8f52137a8a9e71bb91a2a1986003d392ee9b23
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
- # Specify your gem's dependencies in danger-app_size_report.gemspec
5
+ # Specify your gem's dependencies in ${PLUGIN_NAME}.gemspec
4
6
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,170 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ danger-app_size_report (0.0.2)
5
+ danger-plugin-api (~> 1.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.8.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ ast (2.4.2)
13
+ claide (1.1.0)
14
+ claide-plugins (0.9.2)
15
+ cork
16
+ nap
17
+ open4 (~> 1.3)
18
+ coderay (1.1.3)
19
+ colored2 (3.1.2)
20
+ cork (0.3.0)
21
+ colored2 (~> 3.1)
22
+ danger (8.4.2)
23
+ claide (~> 1.0)
24
+ claide-plugins (>= 0.9.2)
25
+ colored2 (~> 3.1)
26
+ cork (~> 0.1)
27
+ faraday (>= 0.9.0, < 2.0)
28
+ faraday-http-cache (~> 2.0)
29
+ git (~> 1.7)
30
+ kramdown (~> 2.3)
31
+ kramdown-parser-gfm (~> 1.0)
32
+ no_proxy_fix
33
+ octokit (~> 4.7)
34
+ terminal-table (>= 1, < 4)
35
+ danger-plugin-api (1.0.0)
36
+ danger (> 2.0)
37
+ diff-lcs (1.5.0)
38
+ faraday (1.9.3)
39
+ faraday-em_http (~> 1.0)
40
+ faraday-em_synchrony (~> 1.0)
41
+ faraday-excon (~> 1.1)
42
+ faraday-httpclient (~> 1.0)
43
+ faraday-multipart (~> 1.0)
44
+ faraday-net_http (~> 1.0)
45
+ faraday-net_http_persistent (~> 1.0)
46
+ faraday-patron (~> 1.0)
47
+ faraday-rack (~> 1.0)
48
+ faraday-retry (~> 1.0)
49
+ ruby2_keywords (>= 0.0.4)
50
+ faraday-em_http (1.0.0)
51
+ faraday-em_synchrony (1.0.0)
52
+ faraday-excon (1.1.0)
53
+ faraday-http-cache (2.2.0)
54
+ faraday (>= 0.8)
55
+ faraday-httpclient (1.0.1)
56
+ faraday-multipart (1.0.3)
57
+ multipart-post (>= 1.2, < 3)
58
+ faraday-net_http (1.0.1)
59
+ faraday-net_http_persistent (1.2.0)
60
+ faraday-patron (1.0.0)
61
+ faraday-rack (1.0.0)
62
+ faraday-retry (1.0.3)
63
+ ffi (1.15.5)
64
+ formatador (1.1.0)
65
+ git (1.10.2)
66
+ rchardet (~> 1.8)
67
+ guard (2.18.0)
68
+ formatador (>= 0.2.4)
69
+ listen (>= 2.7, < 4.0)
70
+ lumberjack (>= 1.0.12, < 2.0)
71
+ nenv (~> 0.1)
72
+ notiffany (~> 0.0)
73
+ pry (>= 0.13.0)
74
+ shellany (~> 0.0)
75
+ thor (>= 0.18.1)
76
+ guard-compat (1.2.1)
77
+ guard-rspec (4.7.3)
78
+ guard (~> 2.1)
79
+ guard-compat (~> 1.1)
80
+ rspec (>= 2.99.0, < 4.0)
81
+ kramdown (2.3.1)
82
+ rexml
83
+ kramdown-parser-gfm (1.1.0)
84
+ kramdown (~> 2.0)
85
+ listen (3.0.7)
86
+ rb-fsevent (>= 0.9.3)
87
+ rb-inotify (>= 0.9.7)
88
+ lumberjack (1.2.8)
89
+ method_source (1.0.0)
90
+ multipart-post (2.1.1)
91
+ nap (1.1.0)
92
+ nenv (0.3.0)
93
+ no_proxy_fix (0.1.2)
94
+ notiffany (0.1.3)
95
+ nenv (~> 0.1)
96
+ shellany (~> 0.0)
97
+ octokit (4.22.0)
98
+ faraday (>= 0.9)
99
+ sawyer (~> 0.8.0, >= 0.5.3)
100
+ open4 (1.3.4)
101
+ parallel (1.21.0)
102
+ parser (3.1.0.0)
103
+ ast (~> 2.4.1)
104
+ pry (0.14.1)
105
+ coderay (~> 1.1)
106
+ method_source (~> 1.0)
107
+ public_suffix (4.0.6)
108
+ rainbow (3.1.1)
109
+ rake (10.5.0)
110
+ rb-fsevent (0.11.0)
111
+ rb-inotify (0.10.1)
112
+ ffi (~> 1.0)
113
+ rchardet (1.8.0)
114
+ regexp_parser (2.2.0)
115
+ rexml (3.2.5)
116
+ rspec (3.10.0)
117
+ rspec-core (~> 3.10.0)
118
+ rspec-expectations (~> 3.10.0)
119
+ rspec-mocks (~> 3.10.0)
120
+ rspec-core (3.10.2)
121
+ rspec-support (~> 3.10.0)
122
+ rspec-expectations (3.10.2)
123
+ diff-lcs (>= 1.2.0, < 2.0)
124
+ rspec-support (~> 3.10.0)
125
+ rspec-mocks (3.10.2)
126
+ diff-lcs (>= 1.2.0, < 2.0)
127
+ rspec-support (~> 3.10.0)
128
+ rspec-support (3.10.3)
129
+ rubocop (1.25.0)
130
+ parallel (~> 1.10)
131
+ parser (>= 3.1.0.0)
132
+ rainbow (>= 2.2.2, < 4.0)
133
+ regexp_parser (>= 1.8, < 3.0)
134
+ rexml
135
+ rubocop-ast (>= 1.15.1, < 2.0)
136
+ ruby-progressbar (~> 1.7)
137
+ unicode-display_width (>= 1.4.0, < 3.0)
138
+ rubocop-ast (1.15.1)
139
+ parser (>= 3.0.1.1)
140
+ ruby-progressbar (1.11.0)
141
+ ruby2_keywords (0.0.5)
142
+ sawyer (0.8.2)
143
+ addressable (>= 2.3.5)
144
+ faraday (> 0.8, < 2.0)
145
+ shellany (0.0.1)
146
+ terminal-table (3.0.2)
147
+ unicode-display_width (>= 1.1.1, < 3)
148
+ thor (1.2.1)
149
+ unicode-display_width (2.1.0)
150
+ webrick (1.7.0)
151
+ yard (0.9.27)
152
+ webrick (~> 1.7.0)
153
+
154
+ PLATFORMS
155
+ x86_64-darwin-20
156
+
157
+ DEPENDENCIES
158
+ bundler (~> 2.0)
159
+ danger-app_size_report!
160
+ guard (~> 2.14)
161
+ guard-rspec (~> 4.7)
162
+ listen (= 3.0.7)
163
+ pry (~> 0.14.1)
164
+ rake (~> 10.0)
165
+ rspec (~> 3.4)
166
+ rubocop (~> 1.25.0)
167
+ yard (~> 0.9.27)
168
+
169
+ BUNDLED WITH
170
+ 2.3.6
data/Guardfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A guardfile for making Danger Plugins
2
4
  # For more info see https://github.com/guard/guard#readme
3
5
 
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 ChargePoint
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,17 +1,55 @@
1
1
  # danger-app_size_report
2
2
 
3
- Danger-app_size_report. A danger plugin for reporting app sizes.
3
+ A [Danger](https://github.com/danger/danger) plugin for reporting iOS app size violations. A valid [App Thinning Size Report](https://developer.apple.com/documentation/xcode/reducing-your-app-s-size) must be passed to the plugin for accurate functionality.
4
4
 
5
5
  ## Installation
6
- put `$ gem danger-app_size_report` to your project 'Gemfile'
6
+
7
+ $ gem install danger-app_size_report
7
8
 
8
9
  ## Usage
9
10
 
10
- Simply add `app_size_report.report` to your `Dangerfile` passing the path to report JSON path and app size limit.
11
+ ### `flag_violations`
12
+
13
+ Report app size violations given a valid App Thinning Size Report.
11
14
 
12
- ```ruby
13
- app_size_report.report(
14
- "./report.json",
15
- 10
15
+ // Dangerfile
16
+
17
+ report_path = "/Path/to/AppSizeReport.txt"
18
+ app_size_report.flag_violations(
19
+ report_path,
20
+ build_type: 'App',
21
+ size_limit: 4,
22
+ limit_unit: 'GB',
23
+ fail_on_warning: false
16
24
  )
17
- ```
25
+
26
+ #### Parameters
27
+
28
+ - `report_path` [String, required] Path to valid App Thinning Size Report text file.
29
+ - `build_type` [String, optional] [Default: 'App'] Specify whether the report corresponds to an App or an App Clip.
30
+ - Supported values: 'App', 'Clip'
31
+ - `size_limit` [Numeric, optional] [Default: 4] Specify the app size limit.
32
+ - `limit_unit` [String, optional] [Default: 'GB'] Specific the unit for the given size limit.
33
+ - Supported values: 'KB', 'MB', 'GB'
34
+ - `fail_on_warning` [Boolean, optional] [Default: false] Specify whether the PR should fail if one or more app variants exceed the given size limit. By default, the plugin issues a warning in this case.
35
+
36
+ ### `report_json`
37
+
38
+ Returns a JSON string representation of the given App Thinning Size Report.
39
+
40
+ // Dangerfile
41
+
42
+ report_path = "/Path/to/AppSizeReport.txt"
43
+ app_size_json = app_size_report.report_json(report_path)
44
+
45
+ #### Parameters
46
+
47
+ - `report_path` [String, required] Path to valid App Thinning Size Report text file.
48
+
49
+ ## Development
50
+
51
+ 1. Clone this repo
52
+ 2. Run `bundle install` to setup dependencies.
53
+ 3. Run `bundle exec rake spec` to run the tests.
54
+ 4. Use `bundle exec guard` to automatically have tests run as you make changes.
55
+ 5. Make your changes.
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
  require 'rubocop/rake_task'
@@ -0,0 +1,57 @@
1
+
2
+ App Thinning Size Report for All Variants of CP
3
+
4
+ Variant: ChargePointAppClip-0F01226A-99F0-4092-8BBD-6919103E6F0A.ipa
5
+ Supported variant descriptors: [device: iPhone8,4, os-version: 14.0], [device: iPhone8,1, os-version: 14.0], and [device: iPod9,1, os-version: 14.0]
6
+ App + On Demand Resources size: 5.4 MB compressed, 11.6 MB uncompressed
7
+ App size: 5.4 MB compressed, 11.6 MB uncompressed
8
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
9
+
10
+
11
+ Variant: ChargePointAppClip-35AD0331-EA57-4B82-B8E6-029D7786B9B7.ipa
12
+ Supported variant descriptors: [device: iPhone10,3, os-version: 14.0], [device: iPhone10,6, os-version: 14.0], [device: iPhone13,4, os-version: 14.0], [device: iPhone9,4, os-version: 14.0], [device: iPhone10,2, os-version: 14.0], [device: iPhone12,3, os-version: 14.0], [device: iPhone12,5, os-version: 14.0], [device: iPhone11,4, os-version: 14.0], [device: iPhone9,2, os-version: 14.0], [device: iPhone11,2, os-version: 14.0], [device: iPhone13,1, os-version: 14.0], [device: iPhone13,3, os-version: 14.0], [device: iPhone10,5, os-version: 14.0], [device: iPhone13,2, os-version: 14.0], and [device: iPhone11,6, os-version: 14.0]
13
+ App + On Demand Resources size: 6.6 MB compressed, 12.9 MB uncompressed
14
+ App size: 6.6 MB compressed, 12.9 MB uncompressed
15
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
16
+
17
+
18
+ Variant: ChargePointAppClip-4982417C-64B2-48AA-B47A-AB97290C2D46.ipa
19
+ Supported variant descriptors: [device: iPad8,11, os-version: 14.0], [device: iPad8,5, os-version: 14.0], [device: MacFamily20,1, os-version: 14.0], [device: iPad8,6, os-version: 14.0], [device: iPad13,2, os-version: 14.0], [device: iPad8,8, os-version: 14.0], [device: iPad7,3, os-version: 14.0], [device: iPad11,4, os-version: 14.0], [device: iPad11,2, os-version: 14.0], [device: iPad6,3, os-version: 14.0], [device: iPad7,1, os-version: 14.0], [device: iPad8,12, os-version: 14.0], [device: iPad11,3, os-version: 14.0], [device: iPad7,4, os-version: 14.0], [device: iPad8,1, os-version: 14.0], [device: iPad11,1, os-version: 14.0], [device: iPad7,2, os-version: 14.0], [device: iPad8,10, os-version: 14.0], [device: iPad6,4, os-version: 14.0], [device: iPad8,9, os-version: 14.0], [device: iPad8,2, os-version: 14.0], [device: iPad8,3, os-version: 14.0], [device: iPad13,1, os-version: 14.0], [device: iPad8,7, os-version: 14.0], and [device: iPad8,4, os-version: 14.0]
20
+ App + On Demand Resources size: 5.4 MB compressed, 11.6 MB uncompressed
21
+ App size: 5.4 MB compressed, 11.6 MB uncompressed
22
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
23
+
24
+
25
+ Variant: ChargePointAppClip-759FEA38-87EA-46C1-96A1-010F088B2E3A.ipa
26
+ Supported variant descriptors: [device: iPad5,3, os-version: 14.0], [device: iPad5,2, os-version: 14.0], [device: iPad6,11, os-version: 14.0], [device: iPad7,6, os-version: 14.0], [device: iPad6,8, os-version: 14.0], [device: iPad5,4, os-version: 14.0], [device: iPad7,12, os-version: 14.0], [device: iPad6,7, os-version: 14.0], [device: iPad7,5, os-version: 14.0], [device: iPad6,12, os-version: 14.0], [device: iPad11,6, os-version: 14.0], [device: iPad7,11, os-version: 14.0], [device: iPad5,1, os-version: 14.0], and [device: iPad11,7, os-version: 14.0]
27
+ App + On Demand Resources size: 5.4 MB compressed, 11.6 MB uncompressed
28
+ App size: 5.4 MB compressed, 11.6 MB uncompressed
29
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
30
+
31
+
32
+ Variant: ChargePointAppClip-9EC3FFDB-82C5-4EC0-882B-2005C6FEADD2.ipa
33
+ Supported variant descriptors: [device: iPhone8,2, os-version: 14.0]
34
+ App + On Demand Resources size: 6.6 MB compressed, 12.9 MB uncompressed
35
+ App size: 6.6 MB compressed, 12.9 MB uncompressed
36
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
37
+
38
+
39
+ Variant: ChargePointAppClip-CDC4B730-FF8B-43B3-B392-3E29B1DC4A13.ipa
40
+ Supported variant descriptors: [device: iPhone12,8, os-version: 14.0], [device: iPhone9,3, os-version: 14.0], [device: iPhone9,1, os-version: 14.0], [device: iPhone10,1, os-version: 14.0], and [device: iPhone10,4, os-version: 14.0]
41
+ App + On Demand Resources size: 5.4 MB compressed, 11.6 MB uncompressed
42
+ App size: 5.4 MB compressed, 11.6 MB uncompressed
43
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
44
+
45
+
46
+ Variant: ChargePointAppClip-D958C2E0-14C7-481E-BB6B-6450CC20B2C1.ipa
47
+ Supported variant descriptors: [device: iPhone12,1, os-version: 14.0] and [device: iPhone11,8, os-version: 14.0]
48
+ App + On Demand Resources size: 5.4 MB compressed, 11.6 MB uncompressed
49
+ App size: 5.4 MB compressed, 11.6 MB uncompressed
50
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed
51
+
52
+
53
+ Variant: ChargePointAppClip.ipa
54
+ Supported variant descriptors: Universal
55
+ App + On Demand Resources size: 9.3 MB compressed, 16 MB uncompressed
56
+ App size: 9.3 MB compressed, 16 MB uncompressed
57
+ On Demand Resources size: Zero KB compressed, Zero KB uncompressed