fastlane-plugin-polidea 2.2.0.pre → 3.0.1

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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -13
  3. data/lib/fastlane/plugin/polidea.rb +4 -0
  4. data/lib/fastlane/plugin/polidea/actions/fota_mail.rb +13 -3
  5. data/lib/fastlane/plugin/polidea/actions/fota_s3.rb +36 -29
  6. data/lib/fastlane/plugin/polidea/actions/release_notes.rb +1 -1
  7. data/lib/fastlane/plugin/polidea/actions/release_notes_from_commits.rb +1 -1
  8. data/lib/fastlane/plugin/polidea/helper/page_generator.rb +28 -56
  9. data/lib/fastlane/plugin/polidea/helper/qr_generator.rb +7 -42
  10. data/lib/fastlane/plugin/polidea/version.rb +1 -1
  11. data/templates/install.erb +238 -0
  12. data/{lib/fastlane/plugin/polidea/templates/download.erb → templates/mail.erb} +18 -23
  13. metadata +10 -111
  14. data/lib/fastlane/plugin/polidea/actions/extract_app_icon.rb +0 -172
  15. data/lib/fastlane/plugin/polidea/actions/extract_app_name.rb +0 -100
  16. data/lib/fastlane/plugin/polidea/actions/extract_version.rb +0 -106
  17. data/lib/fastlane/plugin/polidea/actions/get_binary_size.rb +0 -57
  18. data/lib/fastlane/plugin/polidea/templates/images/cover-shuttle.jpg +0 -0
  19. data/lib/fastlane/plugin/polidea/templates/images/icon-placeholder.png +0 -0
  20. data/lib/fastlane/plugin/polidea/templates/images/polidea-logo.png +0 -0
  21. data/lib/fastlane/plugin/polidea/templates/images/social-behance.png +0 -0
  22. data/lib/fastlane/plugin/polidea/templates/images/social-dribbble.png +0 -0
  23. data/lib/fastlane/plugin/polidea/templates/images/social-facebook.png +0 -0
  24. data/lib/fastlane/plugin/polidea/templates/images/social-github.png +0 -0
  25. data/lib/fastlane/plugin/polidea/templates/images/social-instagram.png +0 -0
  26. data/lib/fastlane/plugin/polidea/templates/images/social-linkedin.png +0 -0
  27. data/lib/fastlane/plugin/polidea/templates/images/social-twitter.png +0 -0
  28. data/lib/fastlane/plugin/polidea/templates/installation-page/css/installation-page.css +0 -4895
  29. data/lib/fastlane/plugin/polidea/templates/installation-page/css/installation-page.css.map +0 -7
  30. data/lib/fastlane/plugin/polidea/templates/installation-page/img/bg.png +0 -0
  31. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg.jpg +0 -0
  32. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1024.jpg +0 -0
  33. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1280.jpg +0 -0
  34. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1360.jpg +0 -0
  35. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1440.jpg +0 -0
  36. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_1680.jpg +0 -0
  37. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_768.jpg +0 -0
  38. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_ipad_1024.jpg +0 -0
  39. data/lib/fastlane/plugin/polidea/templates/installation-page/img/jenkins_bg_ipad_768.jpg +0 -0
  40. data/lib/fastlane/plugin/polidea/templates/installation-page/img/logo.svg +0 -32
  41. data/lib/fastlane/plugin/polidea/templates/installation-page/img/logo_square.svg +0 -12
  42. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation.min.js +0 -10
  43. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.abide.js +0 -294
  44. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.accordion.js +0 -65
  45. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.alert.js +0 -43
  46. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.clearing.js +0 -558
  47. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.dropdown.js +0 -313
  48. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.equalizer.js +0 -74
  49. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.interchange.js +0 -344
  50. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.joyride.js +0 -915
  51. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.js +0 -625
  52. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.magellan.js +0 -189
  53. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.offcanvas.js +0 -139
  54. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.orbit.js +0 -472
  55. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.reveal.js +0 -443
  56. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.slider.js +0 -231
  57. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.tab.js +0 -167
  58. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.tooltip.js +0 -298
  59. data/lib/fastlane/plugin/polidea/templates/installation-page/js/foundation/foundation.topbar.js +0 -436
  60. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/aes.js +0 -35
  61. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/enc-base64-min.js +0 -8
  62. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/fastclick.js +0 -9
  63. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/jquery.cookie.js +0 -8
  64. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/jquery.js +0 -26
  65. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/modernizr.js +0 -8
  66. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/pbkdf2.js +0 -19
  67. data/lib/fastlane/plugin/polidea/templates/installation-page/js/vendor/placeholder.js +0 -2
  68. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/fonts.scss +0 -64
  69. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation.scss +0 -45
  70. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/_functions.scss +0 -101
  71. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/_settings.scss +0 -1441
  72. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_accordion.scss +0 -156
  73. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_alert-boxes.scss +0 -126
  74. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_block-grid.scss +0 -132
  75. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_breadcrumbs.scss +0 -132
  76. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_button-groups.scss +0 -200
  77. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_buttons.scss +0 -252
  78. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_clearing.scss +0 -247
  79. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_dropdown-buttons.scss +0 -129
  80. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_dropdown.scss +0 -248
  81. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_flex-video.scss +0 -51
  82. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_forms.scss +0 -570
  83. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_global.scss +0 -447
  84. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_grid.scss +0 -275
  85. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_icon-bar.scss +0 -293
  86. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_inline-lists.scss +0 -57
  87. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_joyride.scss +0 -222
  88. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_keystrokes.scss +0 -61
  89. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_labels.scss +0 -105
  90. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_magellan.scss +0 -34
  91. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_offcanvas.scss +0 -510
  92. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_orbit.scss +0 -368
  93. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_pagination.scss +0 -162
  94. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_panels.scss +0 -93
  95. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_pricing-tables.scss +0 -150
  96. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_progress-bars.scss +0 -79
  97. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_range-slider.scss +0 -168
  98. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_reveal.scss +0 -220
  99. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_side-nav.scss +0 -116
  100. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_split-buttons.scss +0 -191
  101. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_sub-nav.scss +0 -125
  102. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_switches.scss +0 -226
  103. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tables.scss +0 -135
  104. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tabs.scss +0 -123
  105. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_thumbs.scss +0 -66
  106. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_toolbar.scss +0 -70
  107. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_tooltips.scss +0 -142
  108. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_top-bar.scss +0 -676
  109. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_type.scss +0 -523
  110. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/foundation/components/_visibility.scss +0 -408
  111. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/installation-page.scss +0 -171
  112. data/lib/fastlane/plugin/polidea/templates/installation-page/sass/normalize.scss +0 -425
  113. data/lib/fastlane/plugin/polidea/templates/installation_template.erb +0 -54
  114. data/lib/fastlane/plugin/polidea/templates/mailgun_template.erb +0 -1257
  115. data/lib/fastlane/plugin/polidea/templates/secure_installation_template.erb +0 -130
@@ -1,172 +0,0 @@
1
- require 'ruby_apk'
2
-
3
- Zip.warn_invalid_date = false
4
-
5
- module Fastlane
6
- module Actions
7
- module SharedValues
8
- ICON_OUTPUT_PATH = :ICON_OUTPUT_PATH
9
- end
10
-
11
- class ExtractAppIconAction < Action
12
- def self.run(config)
13
- Fastlane::Polidea.session.action_launched("extract_app_icon", config)
14
-
15
- platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
16
- icon_output_path = config[:icon_output_path]
17
-
18
- # Gets icon from ipa/apk
19
- icon_file = extract_icon(platform, config)
20
-
21
- if icon_file
22
- Actions.lane_context[SharedValues::ICON_OUTPUT_PATH] = icon_output_path
23
- ENV[SharedValues::ICON_OUTPUT_PATH.to_s] = icon_output_path
24
- UI.success("Successfully extracted app icon file to '#{Actions.lane_context[SharedValues::ICON_OUTPUT_PATH]}'")
25
- icon_file
26
- else
27
- UI.important("No icon found.")
28
- end
29
-
30
- Fastlane::Polidea.session.action_completed("extract_app_icon")
31
- end
32
-
33
- def self.extract_icon(platform, config)
34
- validate_common(config)
35
- case platform
36
- when :ios
37
- extract_icon_from_ipa(config[:ipa], config[:icon_output_path]) if validate_ios(config)
38
- when :android
39
- extract_icon_from_apk(config[:apk], config[:icon_output_path]) if validate_android(config)
40
- end
41
- end
42
-
43
- ######## ios specific
44
-
45
- def self.validate_ios(config)
46
- UI.user_error!("No IPA file path given, pass using `ipa: 'ipa path'`") unless config[:ipa].to_s.length > 0
47
- true
48
- end
49
-
50
- def self.extract_icon_from_ipa(ipa_file, icon_output_path)
51
- info = FastlaneCore::IpaFileAnalyser.fetch_info_plist_file(ipa_file)
52
- icon_files = ipa_icon_files(info)
53
- return if icon_files.empty?
54
- icon_file_name = icon_files.first
55
- Zip::File.open(ipa_file) do |zipfile|
56
- icon_file = self.largest_ios_icon(zipfile.glob("**/Payload/**/#{icon_file_name}*.png"))
57
- return nil unless icon_file
58
- tmp_path = "/tmp/app_icon.png"
59
- File.write(tmp_path, zipfile.read(icon_file))
60
- Actions.sh("xcrun -sdk iphoneos pngcrush -revert-iphone-optimizations #{tmp_path} #{icon_output_path}")
61
- File.delete(tmp_path)
62
- end
63
- end
64
-
65
- def self.ipa_icon_files(info)
66
- icons = info['CFBundleIcons']
67
- unless icons.nil?
68
- primary_icon = icons['CFBundlePrimaryIcon']
69
- unless primary_icon.nil?
70
- return primary_icon['CFBundleIconFiles']
71
- end
72
- end
73
- []
74
- end
75
-
76
- def self.largest_ios_icon(icons)
77
- icons.max_by do |file, _|
78
- case file.name
79
- when /@(\d+)x/
80
- $1.to_i
81
- else
82
- 1
83
- end
84
- end
85
- end
86
-
87
- ######## android specific
88
-
89
- def self.validate_android(config)
90
- UI.user_error!("No APK file path given, pass using `apk: 'apk path'`") unless config[:apk].to_s.length > 0
91
- true
92
- end
93
-
94
- def self.extract_icon_from_apk(apk_file, icon_output_path)
95
- apk = Android::Apk.new(apk_file)
96
- icon = largest_android_icon(apk)
97
- return unless icon
98
- icon_file = File.open(icon_output_path, 'wb')
99
- icon_file.write icon[:data]
100
- icon_file
101
- end
102
-
103
- def self.largest_android_icon(apk)
104
- icons = apk.icon
105
- selected_icon = icons.max_by do |name, _|
106
- case name
107
- when /x*hdpi/
108
- name.count "x"
109
- when /mdpi/
110
- -1
111
- when %r{\/drawable\/}
112
- -2
113
- else
114
- -3
115
- end
116
- end
117
- { name: selected_icon[0], data: selected_icon[1] } if selected_icon
118
- rescue
119
- nil
120
- end
121
-
122
- ######## common
123
-
124
- def self.validate_common(config)
125
- UI.user_error!("No icon path given, pass using `icon_output_path: 'icon path'`") unless config[:icon_output_path].to_s.length > 0
126
- true
127
- end
128
-
129
- def self.description
130
- "Extracts largest icon from .ipa/.apk, use `extract_app_info` instead"
131
- end
132
-
133
- def self.available_options
134
- [
135
- FastlaneCore::ConfigItem.new(key: :ipa,
136
- env_name: "",
137
- description: ".ipa file to extract icon",
138
- optional: true,
139
- default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]),
140
- FastlaneCore::ConfigItem.new(key: :apk,
141
- env_name: "",
142
- description: ".apk file to extract icon",
143
- optional: true,
144
- default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]),
145
- FastlaneCore::ConfigItem.new(key: :icon_output_path,
146
- env_name: "",
147
- description: "icon output path",
148
- optional: true,
149
- default_value: "./app_icon.png")
150
- ]
151
- end
152
-
153
- def self.output
154
- [
155
- ['ICON_OUTPUT_PATH', 'Path to app icon extracted from .ipa/.apk']
156
- ]
157
- end
158
-
159
- def self.author
160
- "Piotrek Dubiel"
161
- end
162
-
163
- def self.is_supported?(platform)
164
- [:ios, :android].include? platform
165
- end
166
-
167
- def self.category
168
- :deprecated
169
- end
170
- end
171
- end
172
- end
@@ -1,100 +0,0 @@
1
- require 'ruby_apk'
2
-
3
- Zip.warn_invalid_date = false
4
-
5
- module Fastlane
6
- module Actions
7
- module SharedValues
8
- APP_NAME = :APP_NAME
9
- end
10
-
11
- class ExtractAppNameAction < Action
12
- def self.run(config)
13
- Fastlane::Polidea.session.action_launched("extract_app_name", config)
14
-
15
- platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
16
-
17
- # Gets name from ipa/apk
18
- app_name = extract_app_name(platform, config)
19
-
20
- Actions.lane_context[SharedValues::APP_NAME] = app_name
21
- ENV[SharedValues::APP_NAME.to_s] = app_name
22
-
23
- UI.success("Successfully extracted app name: '#{Actions.lane_context[SharedValues::APP_NAME]}'")
24
-
25
- Fastlane::Polidea.session.action_completed("extract_app_name")
26
- app_name
27
- end
28
-
29
- def self.extract_app_name(platform, config)
30
- case platform
31
- when :ios
32
- extract_name_from_ipa(config[:ipa]) if validate_ios(config)
33
- when :android
34
- extract_name_from_apk(config[:apk]) if validate_android(config)
35
- end
36
- end
37
-
38
- ######## ios specific
39
-
40
- def self.validate_ios(config)
41
- UI.user_error!("No IPA file path given, pass using `ipa: 'ipa path'`") unless config[:ipa].to_s.length > 0
42
- true
43
- end
44
-
45
- def self.extract_name_from_ipa(ipa_file)
46
- info = FastlaneCore::IpaFileAnalyser.fetch_info_plist_file(ipa_file)
47
- info['CFBundleDisplayName'] || info['CFBundleName']
48
- end
49
-
50
- ######## android specific
51
-
52
- def self.validate_android(config)
53
- UI.user_error!("No APK file path given, pass using `apk: 'apk path'`") unless config[:apk].to_s.length > 0
54
- true
55
- end
56
-
57
- def self.extract_name_from_apk(apk_file)
58
- apk = Android::Apk.new(apk_file)
59
- apk.manifest.label
60
- end
61
-
62
- def self.description
63
- "Extracts application name from .apk/.ipa, use `extract_app_info` instead"
64
- end
65
-
66
- def self.available_options
67
- [
68
- FastlaneCore::ConfigItem.new(key: :ipa,
69
- env_name: "",
70
- description: ".ipa file to extract icon",
71
- optional: true,
72
- default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]),
73
- FastlaneCore::ConfigItem.new(key: :apk,
74
- env_name: "",
75
- description: ".apk file to extract icon",
76
- optional: true,
77
- default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH])
78
- ]
79
- end
80
-
81
- def self.output
82
- [
83
- ['APP_NAME', 'App name extracted from .ipa/.apk']
84
- ]
85
- end
86
-
87
- def self.author
88
- "Piotrek Dubiel"
89
- end
90
-
91
- def self.is_supported?(platform)
92
- [:ios, :android].include? platform
93
- end
94
-
95
- def self.category
96
- :deprecated
97
- end
98
- end
99
- end
100
- end
@@ -1,106 +0,0 @@
1
- require 'ruby_apk'
2
-
3
- Zip.warn_invalid_date = false
4
-
5
- module Fastlane
6
- module Actions
7
- module SharedValues
8
- APP_VERSION = :APP_VERSION
9
- BUILD_NUMBER = :BUILD_NUMBER
10
- end
11
-
12
- class ExtractVersionAction < Action
13
- def self.run(config)
14
- Fastlane::Polidea.session.action_launched("extract_version", config)
15
-
16
- platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
17
-
18
- # Gets version from ipa/apk
19
- app_version, build_number = extract_version(platform, config)
20
-
21
- Actions.lane_context[SharedValues::APP_VERSION] = app_version
22
- ENV[SharedValues::APP_VERSION.to_s] = app_version
23
-
24
- Actions.lane_context[SharedValues::BUILD_NUMBER] = build_number
25
- ENV[SharedValues::BUILD_NUMBER.to_s] = build_number.to_s
26
-
27
- UI.success("Successfully extracted app version: '#{Actions.lane_context[SharedValues::APP_VERSION]}', build number: #{Actions.lane_context[SharedValues::BUILD_NUMBER]}")
28
-
29
- Fastlane::Polidea.session.action_completed("extract_version")
30
-
31
- return app_version, build_number
32
- end
33
-
34
- def self.extract_version(platform, config)
35
- case platform
36
- when :ios
37
- extract_version_from_ipa(config[:ipa]) if validate_ios(config)
38
- when :android
39
- extract_version_from_apk(config[:apk]) if validate_android(config)
40
- end
41
- end
42
-
43
- ######## ios specific
44
-
45
- def self.validate_ios(config)
46
- UI.user_error!("No IPA file path given, pass using `ipa: 'ipa path'`") unless config[:ipa].to_s.length > 0
47
- true
48
- end
49
-
50
- def self.extract_version_from_ipa(ipa_file)
51
- info = FastlaneCore::IpaFileAnalyser.fetch_info_plist_file(ipa_file)
52
- return info['CFBundleShortVersionString'], info['CFBundleVersion']
53
- end
54
-
55
- ######## android specific
56
-
57
- def self.validate_android(config)
58
- UI.user_error!("No APK file path given, pass using `apk: 'apk path'`") unless config[:apk].to_s.length > 0
59
- true
60
- end
61
-
62
- def self.extract_version_from_apk(apk_file)
63
- apk = Android::Apk.new(apk_file)
64
- return apk.manifest.version_name, apk.manifest.version_code
65
- end
66
-
67
- def self.description
68
- "Extracts application version and build number from .ipa/.apk, use `extract_app_info` instead"
69
- end
70
-
71
- def self.available_options
72
- [
73
- FastlaneCore::ConfigItem.new(key: :ipa,
74
- env_name: "",
75
- description: ".ipa file to extract icon",
76
- optional: true,
77
- default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]),
78
- FastlaneCore::ConfigItem.new(key: :apk,
79
- env_name: "",
80
- description: ".apk file to extract icon",
81
- optional: true,
82
- default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH])
83
- ]
84
- end
85
-
86
- def self.output
87
- [
88
- ['APP_VERSION', 'App version extracted from .ipa/.apk'],
89
- ['BUILD_NUMBER', 'Build number extracted from .ipa/.apk']
90
- ]
91
- end
92
-
93
- def self.author
94
- "Piotrek Dubiel"
95
- end
96
-
97
- def self.is_supported?(platform)
98
- [:ios, :android].include? platform
99
- end
100
-
101
- def self.category
102
- :deprecated
103
- end
104
- end
105
- end
106
- end
@@ -1,57 +0,0 @@
1
- module Fastlane
2
- module Actions
3
- module SharedValues
4
- BINARY_SIZE = :BINARY_SIZE
5
- end
6
-
7
- class GetBinarySizeAction < Action
8
- def self.run(config)
9
- Fastlane::Polidea.session.action_launched("get_binary_size", config)
10
-
11
- binary_file = config[:binary]
12
-
13
- UI.user_error!("No IPA or APK file path given, pass using `binary: 'ipa or apk path'`") unless binary_file.to_s.length > 0
14
-
15
- binary_size = File.open(binary_file).size
16
- binary_size_in_mb = (binary_size / 1024.0 / 1024.0).round(2)
17
-
18
- Actions.lane_context[SharedValues::BINARY_SIZE] = binary_size
19
- ENV[SharedValues::BINARY_SIZE.to_s] = binary_size.to_s
20
-
21
- UI.success("Size of #{binary_file} is #{binary_size_in_mb} MB (#{binary_size} bytes)")
22
-
23
- Fastlane::Polidea.session.action_completed("get_binary_size")
24
-
25
- binary_size
26
- end
27
-
28
- def self.description
29
- "Measures binary size in bytes, use `extract_app_info` instead"
30
- end
31
-
32
- def self.available_options
33
- [
34
- FastlaneCore::ConfigItem.new(key: :binary,
35
- env_name: "",
36
- description: ".ipa or .apk file from the build ",
37
- optional: true,
38
- default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] || Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH])
39
- ]
40
- end
41
-
42
- def self.output
43
- [
44
- ['BINARY_SIZE', 'Size of .ipa/.apk in bytes']
45
- ]
46
- end
47
-
48
- def self.author
49
- "Piotrek Dubiel"
50
- end
51
-
52
- def self.is_supported?(platform)
53
- [:ios, :android].include? platform
54
- end
55
- end
56
- end
57
- end