fastlane 1.2.1 → 1.2.2
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 +4 -4
- data/README.md +10 -3
- data/lib/assets/FastfileTemplate +1 -1
- data/lib/assets/s3_version_template.erb +4 -0
- data/lib/fastlane/actions/s3.rb +42 -6
- data/lib/fastlane/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7504d19e0947b1f15febb96de94cc07b8bf0fde9
|
|
4
|
+
data.tar.gz: 20cbc95a8a9952d079058c2ee1ade20c3d929bf0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cb83ee5d50fffc5e373500655115b9a0ac366932cdb09f6b9424285262606f86af886d08b41945b29263e6919b5d5087b8e40f563f8bee1468f3d33a3c667c33
|
|
7
|
+
data.tar.gz: 5c4376f9782cd7f87fb4c273b57b526c413a023438966c84d53cb111afb41064fa823945a96ba763ad70801484197ce89b8f103eda80dd6b73a6a139b8f0cc3f
|
data/README.md
CHANGED
|
@@ -30,6 +30,7 @@ Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/Kr
|
|
|
30
30
|
<a href="#features">Features</a> •
|
|
31
31
|
<a href="#installation">Installation</a> •
|
|
32
32
|
<a href="#quick-start">Quick Start</a> •
|
|
33
|
+
<a href="#examples">Example Setups</a> •
|
|
33
34
|
<a href="#need-help">Need help?</a>
|
|
34
35
|
</p>
|
|
35
36
|
|
|
@@ -41,11 +42,13 @@ Why should you have to remember complicated commands and parameters?
|
|
|
41
42
|
|
|
42
43
|
Store your configuration in a text file to easily test, builld, and deploy from _any_ computer.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
[Take a look at how Wikipedia and Product Hunt use `fastlane`](https://github.com/fastlane/examples).
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
Just edit the `Fastfile` to define multiple `lanes`, or different workflows.
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
Examples are: `appstore`, `beta` and `test`.
|
|
50
|
+
|
|
51
|
+
You define a `lane` like this (more details about the commands in the [Actions](https://github.com/KrauseFx/fastlane/blob/master/docs/Actions.md) documentation):
|
|
49
52
|
|
|
50
53
|
```ruby
|
|
51
54
|
lane :appstore do
|
|
@@ -128,6 +131,10 @@ Usually you'll use fastlane by triggering individual lanes:
|
|
|
128
131
|
- `fastlane action [action_name]`: Shows a more detailed description of an action
|
|
129
132
|
- `fastlane new_action`: Create a new action (integration) for fastlane
|
|
130
133
|
|
|
134
|
+
## Examples
|
|
135
|
+
|
|
136
|
+
See how [Wikipedia](https://github.com/fastlane/examples#wikipedia-by-wikimedia-foundation), [Product Hunt](https://github.com/fastlane/examples#product-hunt) and [MindNode](https://github.com/fastlane/examples#mindnode) use `fastlane` to automate their iOS submission process.
|
|
137
|
+
|
|
131
138
|
## [`fastlane`](https://fastlane.tools) Toolchain
|
|
132
139
|
|
|
133
140
|
`fastlane` is designed to make your life easier by bringing together the `fastlane` suite of tools under one roof.
|
data/lib/assets/FastfileTemplate
CHANGED
data/lib/fastlane/actions/s3.rb
CHANGED
|
@@ -10,6 +10,7 @@ module Fastlane
|
|
|
10
10
|
S3_DSYM_OUTPUT_PATH = :S3_DSYM_OUTPUT_PATH
|
|
11
11
|
S3_PLIST_OUTPUT_PATH = :S3_PLIST_OUTPUT_PATH
|
|
12
12
|
S3_HTML_OUTPUT_PATH = :S3_HTML_OUTPUT_PATH
|
|
13
|
+
S3_VERSION_OUTPUT_PATH = :S3_VERSION_OUTPUT_PATH
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
S3_ARGS_MAP = {
|
|
@@ -41,6 +42,8 @@ module Fastlane
|
|
|
41
42
|
params[:plist_template_path] = config[:plist_template_path]
|
|
42
43
|
params[:html_template_path] = config[:html_template_path]
|
|
43
44
|
params[:html_file_name] = config[:html_file_name]
|
|
45
|
+
params[:version_template_path] = config[:version_template_path]
|
|
46
|
+
params[:version_file_name] = config[:version_file_name]
|
|
44
47
|
|
|
45
48
|
# Maps nice developer build parameters to Shenzhen args
|
|
46
49
|
build_args = params_to_build_args(params)
|
|
@@ -62,6 +65,8 @@ module Fastlane
|
|
|
62
65
|
plist_template_path = params[:plist_template_path]
|
|
63
66
|
html_template_path = params[:html_template_path]
|
|
64
67
|
html_file_name = params[:html_file_name]
|
|
68
|
+
version_template_path = params[:version_template_path]
|
|
69
|
+
version_file_name = params[:version_file_name]
|
|
65
70
|
|
|
66
71
|
if Helper.is_test?
|
|
67
72
|
return build_args
|
|
@@ -81,7 +86,7 @@ module Fastlane
|
|
|
81
86
|
#####################################
|
|
82
87
|
|
|
83
88
|
# Gets info used for the plist
|
|
84
|
-
bundle_id, bundle_version, title = get_ipa_info( ipa_file )
|
|
89
|
+
bundle_id, bundle_version, title, full_version = get_ipa_info( ipa_file )
|
|
85
90
|
|
|
86
91
|
# Gets URL for IPA file
|
|
87
92
|
url_part = expand_path_with_substitutions_from_ipa_plist( ipa_file, s3_path )
|
|
@@ -105,6 +110,9 @@ module Fastlane
|
|
|
105
110
|
html_file_name ||= "index.html"
|
|
106
111
|
html_url = "https://#{s3_subdomain}.amazonaws.com/#{s3_bucket}/#{html_file_name}"
|
|
107
112
|
|
|
113
|
+
version_file_name ||= "version.json"
|
|
114
|
+
version_url = "https://#{s3_subdomain}.amazonaws.com/#{s3_bucket}/#{version_file_name}"
|
|
115
|
+
|
|
108
116
|
# Creates plist from template
|
|
109
117
|
plist_template_path ||= "#{Helper.gem_path('fastlane')}/lib/assets/s3_plist_template.erb"
|
|
110
118
|
plist_template = File.read(plist_template_path)
|
|
@@ -129,6 +137,16 @@ module Fastlane
|
|
|
129
137
|
})
|
|
130
138
|
html_render = et.render(html_template)
|
|
131
139
|
|
|
140
|
+
# Creates version from template
|
|
141
|
+
version_template_path ||= "#{Helper.gem_path('fastlane')}/lib/assets/s3_version_template.erb"
|
|
142
|
+
version_template = File.read(version_template_path)
|
|
143
|
+
|
|
144
|
+
et = ErbalT.new({
|
|
145
|
+
url: plist_url,
|
|
146
|
+
full_version: full_version,
|
|
147
|
+
})
|
|
148
|
+
version_render = et.render(version_template)
|
|
149
|
+
|
|
132
150
|
#####################################
|
|
133
151
|
#
|
|
134
152
|
# html and plist uploading
|
|
@@ -142,7 +160,9 @@ module Fastlane
|
|
|
142
160
|
plist_file_name,
|
|
143
161
|
plist_render,
|
|
144
162
|
html_file_name,
|
|
145
|
-
html_render
|
|
163
|
+
html_render,
|
|
164
|
+
version_file_name,
|
|
165
|
+
version_render
|
|
146
166
|
)
|
|
147
167
|
|
|
148
168
|
return true
|
|
@@ -163,7 +183,7 @@ module Fastlane
|
|
|
163
183
|
end.compact
|
|
164
184
|
end
|
|
165
185
|
|
|
166
|
-
def self.upload_plist_and_html_to_s3(s3_access_key, s3_secret_access_key, s3_bucket, plist_file_name, plist_render, html_file_name, html_render)
|
|
186
|
+
def self.upload_plist_and_html_to_s3(s3_access_key, s3_secret_access_key, s3_bucket, plist_file_name, plist_render, html_file_name, html_render, version_file_name, version_render)
|
|
167
187
|
require 'aws-sdk'
|
|
168
188
|
s3_client = AWS::S3.new(
|
|
169
189
|
access_key_id: s3_access_key,
|
|
@@ -173,6 +193,7 @@ module Fastlane
|
|
|
173
193
|
|
|
174
194
|
plist_obj = bucket.objects.create(plist_file_name, plist_render.to_s, :acl => :public_read)
|
|
175
195
|
html_obj = bucket.objects.create(html_file_name, html_render.to_s, :acl => :public_read)
|
|
196
|
+
version_obj = bucket.objects.create(version_file_name, version_render.to_s, :acl => :public_read)
|
|
176
197
|
|
|
177
198
|
# Setting actionand environment variables
|
|
178
199
|
Actions.lane_context[SharedValues::S3_PLIST_OUTPUT_PATH] = plist_obj.public_url.to_s
|
|
@@ -181,6 +202,9 @@ module Fastlane
|
|
|
181
202
|
Actions.lane_context[SharedValues::S3_HTML_OUTPUT_PATH] = html_obj.public_url.to_s
|
|
182
203
|
ENV[SharedValues::S3_HTML_OUTPUT_PATH.to_s] = html_obj.public_url.to_s
|
|
183
204
|
|
|
205
|
+
Actions.lane_context[SharedValues::S3_VERSION_OUTPUT_PATH] = version_obj.public_url.to_s
|
|
206
|
+
ENV[SharedValues::S3_VERSION_OUTPUT_PATH.to_s] = version_obj.public_url.to_s
|
|
207
|
+
|
|
184
208
|
Helper.log.info "Successfully uploaded ipa file to '#{html_obj.public_url.to_s}'".green
|
|
185
209
|
end
|
|
186
210
|
|
|
@@ -214,7 +238,7 @@ module Fastlane
|
|
|
214
238
|
end
|
|
215
239
|
|
|
216
240
|
def self.get_ipa_info(ipa_file)
|
|
217
|
-
bundle_id, bundle_version, title = nil
|
|
241
|
+
bundle_id, bundle_version, title, full_version = nil
|
|
218
242
|
Dir.mktmpdir do |dir|
|
|
219
243
|
|
|
220
244
|
system "unzip -q #{ipa_file} -d #{dir} 2> /dev/null"
|
|
@@ -224,8 +248,11 @@ module Fastlane
|
|
|
224
248
|
bundle_version = Shenzhen::PlistBuddy.print(plist, 'CFBundleShortVersionString')
|
|
225
249
|
title = Shenzhen::PlistBuddy.print(plist, 'CFBundleName')
|
|
226
250
|
|
|
251
|
+
# This is the string: {CFBundleShortVersionString}.{CFBundleVersion}
|
|
252
|
+
full_version = bundle_version + '.' + Shenzhen::PlistBuddy.print(plist, 'CFBundleVersion')
|
|
253
|
+
|
|
227
254
|
end
|
|
228
|
-
return bundle_id, bundle_version, title
|
|
255
|
+
return bundle_id, bundle_version, title, full_version
|
|
229
256
|
end
|
|
230
257
|
|
|
231
258
|
def self.description
|
|
@@ -256,6 +283,14 @@ module Fastlane
|
|
|
256
283
|
env_name: "",
|
|
257
284
|
description: "uploaded html filename",
|
|
258
285
|
optional: true),
|
|
286
|
+
FastlaneCore::ConfigItem.new(key: :version_template_path,
|
|
287
|
+
env_name: "",
|
|
288
|
+
description: "version erb template path",
|
|
289
|
+
optional: true),
|
|
290
|
+
FastlaneCore::ConfigItem.new(key: :version_file_name,
|
|
291
|
+
env_name: "",
|
|
292
|
+
description: "uploaded version filename",
|
|
293
|
+
optional: true),
|
|
259
294
|
FastlaneCore::ConfigItem.new(key: :access_key,
|
|
260
295
|
env_name: "S3_ACCESS_KEY",
|
|
261
296
|
description: "AWS Access Key ID ",
|
|
@@ -297,7 +332,8 @@ module Fastlane
|
|
|
297
332
|
['S3_IPA_OUTPUT_PATH', 'Direct HTTP link to the uploaded ipa file'],
|
|
298
333
|
['S3_DSYM_OUTPUT_PATH', 'Direct HTTP link to the uploaded dsym file'],
|
|
299
334
|
['S3_PLIST_OUTPUT_PATH', 'Direct HTTP link to the uploaded plist file'],
|
|
300
|
-
['S3_HTML_OUTPUT_PATH', 'Direct HTTP link to the uploaded HTML file']
|
|
335
|
+
['S3_HTML_OUTPUT_PATH', 'Direct HTTP link to the uploaded HTML file'],
|
|
336
|
+
['S3_VERSION_OUTPUT_PATH', 'Direct HTTP link to the uploaded Version file']
|
|
301
337
|
]
|
|
302
338
|
end
|
|
303
339
|
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Felix Krause
|
|
@@ -376,6 +376,7 @@ files:
|
|
|
376
376
|
- lib/assets/custom_action_template.rb
|
|
377
377
|
- lib/assets/s3_html_template.erb
|
|
378
378
|
- lib/assets/s3_plist_template.erb
|
|
379
|
+
- lib/assets/s3_version_template.erb
|
|
379
380
|
- lib/fastlane.rb
|
|
380
381
|
- lib/fastlane/action.rb
|
|
381
382
|
- lib/fastlane/action_collector.rb
|