fastlane-plugin-polidea 1.0.0.pre → 2.2.0.pre.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.
- checksums.yaml +5 -5
- data/README.md +1 -3
- data/lib/fastlane/plugin/polidea.rb +7 -0
- data/lib/fastlane/plugin/polidea/actions/add_prefix_schema.rb +3 -0
- data/lib/fastlane/plugin/polidea/actions/extract_app_icon.rb +4 -0
- data/lib/fastlane/plugin/polidea/actions/extract_app_info.rb +11 -8
- data/lib/fastlane/plugin/polidea/actions/extract_app_name.rb +3 -0
- data/lib/fastlane/plugin/polidea/actions/extract_version.rb +4 -0
- data/lib/fastlane/plugin/polidea/actions/fota_mail.rb +14 -16
- data/lib/fastlane/plugin/polidea/actions/fota_s3.rb +28 -33
- data/lib/fastlane/plugin/polidea/actions/get_binary_size.rb +4 -0
- data/lib/fastlane/plugin/polidea/actions/import_provisioning.rb +5 -0
- data/lib/fastlane/plugin/polidea/actions/release_notes.rb +5 -0
- data/lib/fastlane/plugin/polidea/actions/release_notes_from_commits.rb +54 -0
- data/lib/fastlane/plugin/polidea/actions/shuttle.rb +6 -38
- data/lib/fastlane/plugin/polidea/helper/analytics.rb +43 -0
- data/lib/fastlane/plugin/polidea/helper/mime.rb +22 -0
- data/lib/fastlane/plugin/polidea/helper/page_generator.rb +39 -3
- data/lib/fastlane/plugin/polidea/helper/qr_generator.rb +7 -7
- data/lib/fastlane/plugin/polidea/helper/shuttle.rb +39 -0
- data/lib/fastlane/plugin/polidea/templates/download.erb +481 -0
- data/lib/fastlane/plugin/polidea/templates/images/cover-shuttle.jpg +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/icon-placeholder.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/polidea-logo.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-behance.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-dribbble.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-facebook.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-github.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-instagram.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-linkedin.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/social-twitter.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/installation-page/css/installation-page.css +2835 -1082
- data/lib/fastlane/plugin/polidea/templates/installation_template.erb +3 -7
- data/lib/fastlane/plugin/polidea/templates/mailgun_template.erb +56 -24
- data/lib/fastlane/plugin/polidea/templates/secure_installation_template.erb +6 -10
- data/lib/fastlane/plugin/polidea/version.rb +1 -1
- metadata +97 -20
- data/lib/fastlane/plugin/polidea/actions/polidea_store.rb +0 -255
- data/lib/fastlane/plugin/polidea/templates/images/logo.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/polidea-facebook-icon.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/polidea-github-icon.png +0 -0
- data/lib/fastlane/plugin/polidea/templates/images/polidea-twitter-icon.png +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 3a200dfe6c81fc0c43478b1092c96b60a4bb2d516128b8d6e3e82d244b0f0278
|
|
4
|
+
data.tar.gz: 9bfa26033bfbe2bdae07e37c2fcd3271f2e0eb897c6a586b4d12430f7922d192
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e1c8608894077d23abd728f70c020af492b2a83d0d1202e9374815336946694bb1b6b75308219258c4d99337b6c84839012ddfa06b5e9832845c53c055939f8
|
|
7
|
+
data.tar.gz: a15a41c923351da5092cd8c4bf1b8f32c537a159c3128317c569a87457b3e0c3c96bd778f757c0a756d798c58face121aa526e31eb6bcbef77e07b984a1d5117
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# fastlane-plugin-polidea
|
|
2
2
|
|
|
3
|
-
[](https://gitlab.polidea.com/CICD/fastlane-plugin-polidea/pipelines)
|
|
4
4
|
[](http://rubygems.org/gems/fastlane-plugin-polidea)
|
|
5
5
|
|
|
6
6
|
|
|
@@ -21,7 +21,6 @@ Plugin contains following actions:
|
|
|
21
21
|
- `get_binary_size`: Measures binary size in bytes
|
|
22
22
|
- `s3`: Custom version of s3 action with Polidea's installation page
|
|
23
23
|
- `fota_mail`: Custom version of mailgun action with Polidea's mail template
|
|
24
|
-
- `polidea_store`: Notifies Polidea Store about new app version
|
|
25
24
|
|
|
26
25
|
See more details [here](https://gitlab2.polidea.com/CI/fastlane-plugin-polidea/blob/master/docs/Actions.md).
|
|
27
26
|
To list all available actions run:
|
|
@@ -39,7 +38,6 @@ lane :deploy do
|
|
|
39
38
|
extract_version
|
|
40
39
|
get_binary_size
|
|
41
40
|
s3
|
|
42
|
-
polidea_store
|
|
43
41
|
fota_mail(
|
|
44
42
|
to: "piotr.dubiel@polidea.com"
|
|
45
43
|
)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'fastlane/plugin/polidea/version'
|
|
2
|
+
require 'fastlane/plugin/polidea/helper/analytics'
|
|
2
3
|
|
|
3
4
|
module Fastlane
|
|
4
5
|
module Polidea
|
|
@@ -6,6 +7,12 @@ module Fastlane
|
|
|
6
7
|
def self.all_classes
|
|
7
8
|
Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
|
|
8
9
|
end
|
|
10
|
+
|
|
11
|
+
def self.session
|
|
12
|
+
require 'securerandom'
|
|
13
|
+
@session_id ||= SecureRandom.uuid
|
|
14
|
+
@session ||= Analytics.new(@session_id)
|
|
15
|
+
end
|
|
9
16
|
end
|
|
10
17
|
end
|
|
11
18
|
|
|
@@ -8,6 +8,8 @@ module Fastlane
|
|
|
8
8
|
|
|
9
9
|
class AddPrefixSchemaAction < Action
|
|
10
10
|
def self.run(config)
|
|
11
|
+
Fastlane::Polidea.session.action_launched("add_prefix_schema", config)
|
|
12
|
+
|
|
11
13
|
prefix_schema = generate_url_scheme
|
|
12
14
|
|
|
13
15
|
info_plists = Dir.glob(File.join(config[:path], "**/*.plist"))
|
|
@@ -18,6 +20,7 @@ module Fastlane
|
|
|
18
20
|
|
|
19
21
|
Actions.lane_context[SharedValues::PREFIX_SCHEMA] = prefix_schema
|
|
20
22
|
|
|
23
|
+
Fastlane::Polidea.session.action_completed("add_prefix_schema")
|
|
21
24
|
prefix_schema
|
|
22
25
|
end
|
|
23
26
|
|
|
@@ -10,6 +10,8 @@ module Fastlane
|
|
|
10
10
|
|
|
11
11
|
class ExtractAppIconAction < Action
|
|
12
12
|
def self.run(config)
|
|
13
|
+
Fastlane::Polidea.session.action_launched("extract_app_icon", config)
|
|
14
|
+
|
|
13
15
|
platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
|
|
14
16
|
icon_output_path = config[:icon_output_path]
|
|
15
17
|
|
|
@@ -24,6 +26,8 @@ module Fastlane
|
|
|
24
26
|
else
|
|
25
27
|
UI.important("No icon found.")
|
|
26
28
|
end
|
|
29
|
+
|
|
30
|
+
Fastlane::Polidea.session.action_completed("extract_app_icon")
|
|
27
31
|
end
|
|
28
32
|
|
|
29
33
|
def self.extract_icon(platform, config)
|
|
@@ -15,6 +15,8 @@ module Fastlane
|
|
|
15
15
|
|
|
16
16
|
class ExtractAppInfoAction < Action
|
|
17
17
|
def self.run(config)
|
|
18
|
+
Fastlane::Polidea.session.action_launched("extract_app_info", config)
|
|
19
|
+
|
|
18
20
|
platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
|
|
19
21
|
|
|
20
22
|
icon_output_path = config[:icon_output_path]
|
|
@@ -34,6 +36,8 @@ module Fastlane
|
|
|
34
36
|
SharedValues::APP_VERSION => app_version,
|
|
35
37
|
SharedValues::BUILD_NUMBER => build_number
|
|
36
38
|
)
|
|
39
|
+
|
|
40
|
+
Fastlane::Polidea.session.action_completed("extract_app_info")
|
|
37
41
|
end
|
|
38
42
|
|
|
39
43
|
def self.validate(platform, config)
|
|
@@ -133,7 +137,7 @@ module Fastlane
|
|
|
133
137
|
info = FastlaneCore::IpaFileAnalyser.fetch_info_plist_file(ipa_file)
|
|
134
138
|
icon_files = ipa_icon_files(info)
|
|
135
139
|
return if icon_files.empty?
|
|
136
|
-
icon_file_name = icon_files.
|
|
140
|
+
icon_file_name = icon_files.sort.last
|
|
137
141
|
Zip::File.open(ipa_file) do |zipfile|
|
|
138
142
|
icon_file = self.largest_ios_icon(zipfile.glob("**/Payload/**/#{icon_file_name}*.png"))
|
|
139
143
|
return nil unless icon_file
|
|
@@ -145,13 +149,12 @@ module Fastlane
|
|
|
145
149
|
end
|
|
146
150
|
|
|
147
151
|
def self.ipa_icon_files(info)
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
end
|
|
152
|
+
# try iPhone
|
|
153
|
+
icons = info.dig('CFBundleIcons', 'CFBundlePrimaryIcon', 'CFBundleIconFiles')
|
|
154
|
+
return icons unless icons.nil?
|
|
155
|
+
# try iPad
|
|
156
|
+
icons = info.dig('CFBundleIcons~ipad', 'CFBundlePrimaryIcon', 'CFBundleIconFiles')
|
|
157
|
+
return icons unless icons.nil?
|
|
155
158
|
[]
|
|
156
159
|
end
|
|
157
160
|
|
|
@@ -10,6 +10,8 @@ module Fastlane
|
|
|
10
10
|
|
|
11
11
|
class ExtractAppNameAction < Action
|
|
12
12
|
def self.run(config)
|
|
13
|
+
Fastlane::Polidea.session.action_launched("extract_app_name", config)
|
|
14
|
+
|
|
13
15
|
platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
|
|
14
16
|
|
|
15
17
|
# Gets name from ipa/apk
|
|
@@ -20,6 +22,7 @@ module Fastlane
|
|
|
20
22
|
|
|
21
23
|
UI.success("Successfully extracted app name: '#{Actions.lane_context[SharedValues::APP_NAME]}'")
|
|
22
24
|
|
|
25
|
+
Fastlane::Polidea.session.action_completed("extract_app_name")
|
|
23
26
|
app_name
|
|
24
27
|
end
|
|
25
28
|
|
|
@@ -11,6 +11,8 @@ module Fastlane
|
|
|
11
11
|
|
|
12
12
|
class ExtractVersionAction < Action
|
|
13
13
|
def self.run(config)
|
|
14
|
+
Fastlane::Polidea.session.action_launched("extract_version", config)
|
|
15
|
+
|
|
14
16
|
platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
|
|
15
17
|
|
|
16
18
|
# Gets version from ipa/apk
|
|
@@ -24,6 +26,8 @@ module Fastlane
|
|
|
24
26
|
|
|
25
27
|
UI.success("Successfully extracted app version: '#{Actions.lane_context[SharedValues::APP_VERSION]}', build number: #{Actions.lane_context[SharedValues::BUILD_NUMBER]}")
|
|
26
28
|
|
|
29
|
+
Fastlane::Polidea.session.action_completed("extract_version")
|
|
30
|
+
|
|
27
31
|
return app_version, build_number
|
|
28
32
|
end
|
|
29
33
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# rubocop:disable Metrics/MethodLength
|
|
2
|
+
require 'redcarpet'
|
|
2
3
|
require 'fastlane/erb_template_helper'
|
|
3
4
|
|
|
4
5
|
module Fastlane
|
|
@@ -9,10 +10,14 @@ module Fastlane
|
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
def self.run(options)
|
|
13
|
+
Fastlane::Polidea.session.action_launched("fota_mail", options)
|
|
14
|
+
|
|
12
15
|
Actions.verify_gem!('premailer')
|
|
13
16
|
require 'premailer'
|
|
14
17
|
inline_images(options)
|
|
15
18
|
mailgunit(options)
|
|
19
|
+
|
|
20
|
+
Fastlane::Polidea.session.action_completed("fota_mail")
|
|
16
21
|
UI.success "Mail sent!"
|
|
17
22
|
end
|
|
18
23
|
|
|
@@ -105,24 +110,15 @@ module Fastlane
|
|
|
105
110
|
end
|
|
106
111
|
|
|
107
112
|
def self.inline_images(options)
|
|
108
|
-
base_path = "#{__dir__}/../templates/images"
|
|
109
113
|
options[:inline] = [
|
|
110
114
|
qr_code(options[:installation_link])
|
|
111
115
|
]
|
|
112
116
|
options[:inline] << File.new(options[:app_icon]) if options[:app_icon]
|
|
113
|
-
images = [
|
|
114
|
-
"polidea-facebook-icon.png",
|
|
115
|
-
"polidea-github-icon.png",
|
|
116
|
-
"polidea-logo.png",
|
|
117
|
-
"polidea-twitter-icon.png"
|
|
118
|
-
]
|
|
119
|
-
images << "icon-placeholder.png" unless options[:app_icon]
|
|
120
|
-
options[:inline].concat(images.map { |image| File.new("#{base_path}/#{image}") })
|
|
121
117
|
end
|
|
122
118
|
|
|
123
119
|
def self.qr_code(installation_link)
|
|
124
120
|
qr_code_path = "/tmp/qr_code.png"
|
|
125
|
-
QRGenerator.new(installation_link, false, ::ChunkyPNG::Color.rgb(
|
|
121
|
+
QRGenerator.new(installation_link, false, ::ChunkyPNG::Color.rgb(21, 18, 126)).generate(qr_code_path)
|
|
126
122
|
File.new(qr_code_path)
|
|
127
123
|
end
|
|
128
124
|
|
|
@@ -150,25 +146,27 @@ module Fastlane
|
|
|
150
146
|
app_version: options[:app_version],
|
|
151
147
|
build_number: options[:build_number],
|
|
152
148
|
installation_link: options[:installation_link],
|
|
153
|
-
release_notes:
|
|
149
|
+
release_notes: options[:release_notes],
|
|
154
150
|
platform: options[:platform],
|
|
155
151
|
release_date: DateTime.now.strftime('%b %d, %Y'),
|
|
156
|
-
binary_size: (options[:binary_size] / 1024.0 / 1024.0).round(2).to_s
|
|
152
|
+
binary_size: (options[:binary_size] / 1024.0 / 1024.0).round(2).to_s,
|
|
153
|
+
qr_code: "qr_code.png"
|
|
157
154
|
}
|
|
158
155
|
hash[:success] = options[:success]
|
|
159
156
|
hash[:ci_build_link] = options[:ci_build_link]
|
|
160
157
|
|
|
161
|
-
# grabs module
|
|
162
|
-
eth = Fastlane::ErbTemplateHelper
|
|
163
158
|
# create html from template
|
|
164
159
|
html_template_path = options[:template_path]
|
|
165
160
|
if html_template_path && File.exist?(html_template_path)
|
|
161
|
+
eth = Fastlane::ErbTemplateHelper
|
|
166
162
|
html_template = eth.load_from_path(html_template_path)
|
|
163
|
+
mail_html = eth.render(html_template, hash)
|
|
167
164
|
else
|
|
168
|
-
|
|
165
|
+
mail_html = PageGenerator.mail(hash)
|
|
169
166
|
end
|
|
167
|
+
|
|
170
168
|
premailer = Premailer.new(
|
|
171
|
-
|
|
169
|
+
mail_html,
|
|
172
170
|
{ warn_level: Premailer::Warnings::SAFE, with_html_string: true }
|
|
173
171
|
)
|
|
174
172
|
premailer.to_inline_css
|
|
@@ -30,6 +30,8 @@ module Fastlane
|
|
|
30
30
|
|
|
31
31
|
class FotaS3Action < Action
|
|
32
32
|
def self.run(config)
|
|
33
|
+
Fastlane::Polidea.session.action_launched("fota_s3", config)
|
|
34
|
+
|
|
33
35
|
platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME].to_sym
|
|
34
36
|
|
|
35
37
|
# Calling fetch on config so that default values will be used
|
|
@@ -61,6 +63,7 @@ module Fastlane
|
|
|
61
63
|
upload_android(params)
|
|
62
64
|
end
|
|
63
65
|
|
|
66
|
+
Fastlane::Polidea.session.action_completed("fota_s3")
|
|
64
67
|
return true
|
|
65
68
|
end
|
|
66
69
|
|
|
@@ -164,7 +167,7 @@ module Fastlane
|
|
|
164
167
|
icon_url = self.upload_icon(icon_file, url_part, bucket, acl, treat_bucket_as_domain_name)
|
|
165
168
|
|
|
166
169
|
# Creates html from template
|
|
167
|
-
html_render = PageGenerator.
|
|
170
|
+
html_render = PageGenerator.installation_page({
|
|
168
171
|
url: "itms-services://?action=download-manifest&url=#{URI.encode_www_form_component(plist_url)}",
|
|
169
172
|
installation_password: installation_password,
|
|
170
173
|
app_version: bundle_version,
|
|
@@ -278,7 +281,7 @@ module Fastlane
|
|
|
278
281
|
icon_url = self.upload_icon(icon_file, url_part, bucket, acl, treat_bucket_as_domain_name)
|
|
279
282
|
|
|
280
283
|
# Creates html from template
|
|
281
|
-
html_render = PageGenerator.
|
|
284
|
+
html_render = PageGenerator.installation_page({
|
|
282
285
|
url: apk_url,
|
|
283
286
|
installation_password: installation_password,
|
|
284
287
|
app_version: app_version,
|
|
@@ -321,20 +324,21 @@ module Fastlane
|
|
|
321
324
|
end
|
|
322
325
|
|
|
323
326
|
def self.get_bucket(s3_access_key, s3_secret_access_key, s3_region, s3_bucket)
|
|
324
|
-
self.s3_client(s3_access_key, s3_secret_access_key, s3_region).
|
|
327
|
+
self.s3_client(s3_access_key, s3_secret_access_key, s3_region).bucket(s3_bucket)
|
|
325
328
|
end
|
|
326
329
|
|
|
327
330
|
def self.s3_client(s3_access_key, s3_secret_access_key, s3_region)
|
|
328
|
-
Actions.verify_gem!('aws-sdk')
|
|
329
|
-
require 'aws-sdk'
|
|
331
|
+
Actions.verify_gem!('aws-sdk-s3')
|
|
332
|
+
require 'aws-sdk-s3'
|
|
333
|
+
|
|
330
334
|
if s3_region
|
|
331
|
-
s3_client =
|
|
335
|
+
s3_client = Aws::S3::Resource.new(
|
|
332
336
|
access_key_id: s3_access_key,
|
|
333
337
|
secret_access_key: s3_secret_access_key,
|
|
334
338
|
region: s3_region
|
|
335
339
|
)
|
|
336
340
|
else
|
|
337
|
-
s3_client =
|
|
341
|
+
s3_client = Aws::S3::Resource.new(
|
|
338
342
|
access_key_id: s3_access_key,
|
|
339
343
|
secret_access_key: s3_secret_access_key
|
|
340
344
|
)
|
|
@@ -343,13 +347,18 @@ module Fastlane
|
|
|
343
347
|
end
|
|
344
348
|
|
|
345
349
|
def self.upload_file(bucket, file_name, file_data, acl, treat_bucket_as_domain_name)
|
|
346
|
-
obj = bucket.
|
|
350
|
+
obj = bucket.put_object({
|
|
351
|
+
key: file_name,
|
|
352
|
+
body: file_data,
|
|
353
|
+
acl: acl,
|
|
354
|
+
content_type: Mime.content_type_for_file(file_name)
|
|
355
|
+
})
|
|
347
356
|
|
|
348
357
|
# When you enable versioning on a S3 bucket,
|
|
349
358
|
# writing to an object will create an object version
|
|
350
359
|
# instead of replacing the existing object.
|
|
351
360
|
# http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/ObjectVersion.html
|
|
352
|
-
if obj.kind_of?
|
|
361
|
+
if obj.kind_of? Aws::S3::ObjectVersion
|
|
353
362
|
obj = obj.object
|
|
354
363
|
end
|
|
355
364
|
|
|
@@ -367,8 +376,13 @@ module Fastlane
|
|
|
367
376
|
files.each do |file|
|
|
368
377
|
local_path = directory_path + file
|
|
369
378
|
s3_path = directory_name + file
|
|
370
|
-
|
|
371
|
-
|
|
379
|
+
|
|
380
|
+
bucket.put_object({
|
|
381
|
+
key: s3_path,
|
|
382
|
+
body: File.open(local_path),
|
|
383
|
+
acl: acl,
|
|
384
|
+
content_type: Mime.content_type_for_file(local_path)
|
|
385
|
+
})
|
|
372
386
|
end
|
|
373
387
|
end
|
|
374
388
|
|
|
@@ -388,25 +402,6 @@ module Fastlane
|
|
|
388
402
|
return files
|
|
389
403
|
end
|
|
390
404
|
|
|
391
|
-
def self.content_type_for_file(file)
|
|
392
|
-
file_extension = File.extname(file)
|
|
393
|
-
extensions_to_type = {
|
|
394
|
-
".html" => "text/html",
|
|
395
|
-
".png" => "image/png",
|
|
396
|
-
".jpg" => "text/jpeg",
|
|
397
|
-
".gif" => "image/gif",
|
|
398
|
-
".svg" => "image/svg+xml",
|
|
399
|
-
".log" => "text/plain",
|
|
400
|
-
".css" => "text/css",
|
|
401
|
-
".js" => "application/javascript"
|
|
402
|
-
}
|
|
403
|
-
if extensions_to_type[file_extension].nil?
|
|
404
|
-
"application/octet-stream"
|
|
405
|
-
else
|
|
406
|
-
extensions_to_type[file_extension]
|
|
407
|
-
end
|
|
408
|
-
end
|
|
409
|
-
|
|
410
405
|
#
|
|
411
406
|
# NOT a fan of this as this was taken straight from Shenzhen
|
|
412
407
|
# https://github.com/nomad/shenzhen/blob/986792db5d4d16a80c865a2748ee96ba63644821/lib/shenzhen/plugins/s3.rb#L32
|
|
@@ -519,7 +514,7 @@ module Fastlane
|
|
|
519
514
|
env_name: "S3_ACL",
|
|
520
515
|
description: "Uploaded object permissions e.g public_read (default), private, public_read_write, authenticated_read ",
|
|
521
516
|
optional: true,
|
|
522
|
-
default_value: "
|
|
517
|
+
default_value: "public-read"),
|
|
523
518
|
FastlaneCore::ConfigItem.new(key: :installation_password,
|
|
524
519
|
env_name: "INSTALLATION_PASSWORD",
|
|
525
520
|
description: "Password for installation page",
|
|
@@ -528,9 +523,9 @@ module Fastlane
|
|
|
528
523
|
FastlaneCore::ConfigItem.new(key: :release_notes,
|
|
529
524
|
env_name: "S3_RELEASE_NOTES",
|
|
530
525
|
description: "Release notes",
|
|
531
|
-
type:
|
|
526
|
+
type: String,
|
|
532
527
|
optional: true,
|
|
533
|
-
default_value: Actions.lane_context[SharedValues::RELEASE_NOTES]
|
|
528
|
+
default_value: Actions.lane_context[SharedValues::RELEASE_NOTES]),
|
|
534
529
|
FastlaneCore::ConfigItem.new(key: :treat_bucket_as_domain_name,
|
|
535
530
|
description: "If it's true, it transforms all urls from https://s3.amazonaws.com/BUCKET_NAME to https://BUCKET_NAME",
|
|
536
531
|
is_string: false,
|
|
@@ -6,6 +6,8 @@ module Fastlane
|
|
|
6
6
|
|
|
7
7
|
class GetBinarySizeAction < Action
|
|
8
8
|
def self.run(config)
|
|
9
|
+
Fastlane::Polidea.session.action_launched("get_binary_size", config)
|
|
10
|
+
|
|
9
11
|
binary_file = config[:binary]
|
|
10
12
|
|
|
11
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
|
|
@@ -18,6 +20,8 @@ module Fastlane
|
|
|
18
20
|
|
|
19
21
|
UI.success("Size of #{binary_file} is #{binary_size_in_mb} MB (#{binary_size} bytes)")
|
|
20
22
|
|
|
23
|
+
Fastlane::Polidea.session.action_completed("get_binary_size")
|
|
24
|
+
|
|
21
25
|
binary_size
|
|
22
26
|
end
|
|
23
27
|
|
|
@@ -2,6 +2,8 @@ module Fastlane
|
|
|
2
2
|
module Actions
|
|
3
3
|
class ImportProvisioningAction < Action
|
|
4
4
|
def self.run(config)
|
|
5
|
+
Fastlane::Polidea.session.action_launched("import_provisioning", config)
|
|
6
|
+
|
|
5
7
|
path = config[:path]
|
|
6
8
|
profiles = Dir.glob File.join(path, "*.mobileprovision")
|
|
7
9
|
|
|
@@ -10,6 +12,9 @@ module Fastlane
|
|
|
10
12
|
FastlaneCore::ProvisioningProfile.install(profile)
|
|
11
13
|
end
|
|
12
14
|
UI.success "Successfully imported:\n#{profiles.join("\n")}"
|
|
15
|
+
|
|
16
|
+
Fastlane::Polidea.session.action_completed("import_provisioning")
|
|
17
|
+
|
|
13
18
|
true
|
|
14
19
|
end
|
|
15
20
|
|
|
@@ -6,12 +6,17 @@ module Fastlane
|
|
|
6
6
|
|
|
7
7
|
class ReleaseNotesAction < Action
|
|
8
8
|
def self.run(config)
|
|
9
|
+
Fastlane::Polidea.session.action_launched("release_notes", config)
|
|
10
|
+
|
|
9
11
|
current_tag = sh "git describe --exact-match --tags HEAD"
|
|
10
12
|
tag_info = sh "git cat-file -p #{current_tag}"
|
|
11
13
|
release_notes = tag_info.split("\n").drop(5).join("\n")
|
|
12
14
|
UI.success "Extracted release notes:\n#{release_notes}"
|
|
13
15
|
Actions.lane_context[SharedValues::RELEASE_NOTES] = release_notes
|
|
14
16
|
ENV[SharedValues::RELEASE_NOTES.to_s] = release_notes
|
|
17
|
+
|
|
18
|
+
Fastlane::Polidea.session.action_completed("release_notes")
|
|
19
|
+
|
|
15
20
|
release_notes
|
|
16
21
|
end
|
|
17
22
|
|