deliver 0.10.0 → 0.11.0
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 +3 -3
- data/bin/deliver +15 -2
- data/lib/deliver/app_metadata_screenshots.rb +11 -4
- data/lib/deliver/deliver_process.rb +109 -42
- data/lib/deliver/ipa_uploader.rb +3 -0
- data/lib/deliver/itunes_connect/itunes_connect.rb +2 -1
- data/lib/deliver/itunes_connect/itunes_connect_information.rb +34 -0
- data/lib/deliver/itunes_connect/itunes_connect_screenshot_fetcher.rb +0 -2
- data/lib/deliver/itunes_connect/itunes_connect_submission.rb +12 -2
- data/lib/deliver/version.rb +1 -1
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6827a727bec1ffe3eb9e9aa53db1f744ce70037c
|
4
|
+
data.tar.gz: 861e402152acd6b7153cb4cfb0001167575ebfc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6451cbde937213b378b598c63085fcac77e6f24210e75fc93c6eba5a01c66eb3ddb69c0e1297207df99f4e5522325af1f668f3d927cb4b8c30bb5a8c515efbc
|
7
|
+
data.tar.gz: 9f4fc188af8db6f38c39de3f077a256b496604e0d2614a8d2dbb8375b7210f52b7693bc3bb7bc137685ca8bd8c08c04725172a3b5845ab93bfbf1956d7be941f
|
data/README.md
CHANGED
@@ -290,13 +290,13 @@ This project is well documented, check it out on [Rubydoc](http://www.rubydoc.in
|
|
290
290
|
|
291
291
|
# Credentials
|
292
292
|
|
293
|
-
A detailed description about your credentials is available on a [separate repo](https://github.com/
|
293
|
+
A detailed description about your credentials is available on a [separate repo](https://github.com/fastlane/CredentialsManager).
|
294
294
|
|
295
295
|
|
296
296
|
# Can I trust `deliver`?
|
297
297
|
###How does this thing even work? Is magic involved? 🎩###
|
298
298
|
|
299
|
-
`deliver` is fully open source, you can take a look at its source files. It will only modify the content you want to modify using the ```Deliverfile```. Your password will be stored in the Mac OS X keychain, but can also be passed using environment variables.
|
299
|
+
`deliver` is fully open source, you can take a look at its source files. It will only modify the content you want to modify using the ```Deliverfile```. Your password will be stored in the Mac OS X keychain, but can also be passed using environment variables. (More information available on [CredentialsManager](https://github.com/fastlane/CredentialsManager))
|
300
300
|
|
301
301
|
Before actually uploading anything to iTunes, ```deliver``` will generate a [PDF summary](https://github.com/krausefx/deliver/blob/master/assets/PDFExample.png?raw=1) of the collected data.
|
302
302
|
|
@@ -323,7 +323,7 @@ Before actually uploading anything to iTunes, ```deliver``` will generate a [PDF
|
|
323
323
|
|
324
324
|
## Available language codes
|
325
325
|
```ruby
|
326
|
-
["da-DK", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "id-ID", "it-IT", "ja-JP", "ko-KR", "ms-MY", "nl-NL", "no-NO", "pt-BR", "pt-PT", "ru-RU", "sv-SE", "th-TH", "tr-TR", "vi-VI", "cmn-Hans", "
|
326
|
+
["da-DK", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "id-ID", "it-IT", "ja-JP", "ko-KR", "ms-MY", "nl-NL", "no-NO", "pt-BR", "pt-PT", "ru-RU", "sv-SE", "th-TH", "tr-TR", "vi-VI", "cmn-Hans", "cmn-Hant"]
|
327
327
|
```
|
328
328
|
|
329
329
|
## Use a clean status bar
|
data/bin/deliver
CHANGED
@@ -28,7 +28,21 @@ class FastlaneApplication
|
|
28
28
|
c.syntax = 'deliver'
|
29
29
|
c.description = 'Run a deploy process using the Deliverfile in the current folder'
|
30
30
|
c.action do |args, options|
|
31
|
-
|
31
|
+
run_deliver(options)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
command :upload_metadata do |c|
|
36
|
+
c.syntax = 'deliver upload_metadata'
|
37
|
+
c.description = "Uploads new app metadata only. No binary will be uploaded"
|
38
|
+
c.action do |args, options|
|
39
|
+
ENV["DELIVER_SKIP_BINARY"] = "1"
|
40
|
+
run_deliver(options)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def run_deliver(options)
|
45
|
+
path = (Deliver::Helper.fastlane_enabled?? './fastlane' : '.')
|
32
46
|
Dir.chdir(path) do # switch the context
|
33
47
|
if File.exists?(deliver_path)
|
34
48
|
# Everything looks alright, use the given Deliverfile
|
@@ -41,7 +55,6 @@ class FastlaneApplication
|
|
41
55
|
end
|
42
56
|
end
|
43
57
|
end
|
44
|
-
end
|
45
58
|
end
|
46
59
|
|
47
60
|
command :init do |c|
|
@@ -101,7 +101,9 @@ module Deliver
|
|
101
101
|
#
|
102
102
|
# This will also clear all existing screenshots before setting the new ones.
|
103
103
|
# @param (Hash) hash A hash containing a different path for each locale ({FastlaneCore::Languages::ALL_LANGUAGES})
|
104
|
-
|
104
|
+
# @param (Bool) Use the framed screenshots? Only use it if you use frameit 2.0
|
105
|
+
|
106
|
+
def set_screenshots_for_each_language(hash, use_framed = false)
|
105
107
|
raise AppMetadataParameterError.new("Parameter needs to be an hash, containg strings with the new description") unless hash.kind_of?Hash
|
106
108
|
|
107
109
|
hash.each do |language, current_path|
|
@@ -117,7 +119,11 @@ module Deliver
|
|
117
119
|
self.clear_all_screenshots(language)
|
118
120
|
|
119
121
|
Dir.glob(resulting_path, File::FNM_CASEFOLD).sort.each do |path|
|
120
|
-
|
122
|
+
if use_framed
|
123
|
+
next unless path.include?"_framed."
|
124
|
+
else
|
125
|
+
next if path.include?"_framed."
|
126
|
+
end
|
121
127
|
|
122
128
|
begin
|
123
129
|
add_screenshot(language, Deliver::AppScreenshot.new(path))
|
@@ -134,7 +140,8 @@ module Deliver
|
|
134
140
|
# This method will run through all the available locales, check if there is
|
135
141
|
# a folder for this language (e.g. 'en-US') and use all screenshots in there
|
136
142
|
# @param (String) path A path to the folder, which contains a folder for each locale
|
137
|
-
|
143
|
+
# @param (Bool) Use the framed screenshots? Only use it if you use frameit 2.0
|
144
|
+
def set_all_screenshots_from_path(path, use_framed = false)
|
138
145
|
raise AppMetadataParameterError.new("Parameter needs to be a path (string)") unless path.kind_of?String
|
139
146
|
|
140
147
|
found = false
|
@@ -144,7 +151,7 @@ module Deliver
|
|
144
151
|
found = true
|
145
152
|
set_screenshots_for_each_language({
|
146
153
|
language => full_path
|
147
|
-
})
|
154
|
+
}, use_framed)
|
148
155
|
end
|
149
156
|
end
|
150
157
|
return found
|
@@ -26,33 +26,36 @@ module Deliver
|
|
26
26
|
|
27
27
|
def run
|
28
28
|
begin
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
Helper.log.info("Got all information needed to deploy a new update ('#{@app_version}') for app '#{@app_identifier}'")
|
29
|
+
unless metadata_only?
|
30
|
+
run_unit_tests
|
31
|
+
fetch_app_key_information
|
32
|
+
fetch_information_from_ipa_file
|
35
33
|
|
34
|
+
@app_version ||= get_latest_version
|
35
|
+
verify_ipa_file
|
36
|
+
else
|
37
|
+
fetch_app_key_information
|
38
|
+
@app_identifier ||= ask("App Identifier (e.g. com.krausefx.app): ")
|
39
|
+
@app_version ||= get_latest_version || ask("Which version number should be updated? ")
|
40
|
+
end
|
36
41
|
create_app
|
37
|
-
verify_app_on_itunesconnect
|
38
|
-
|
39
|
-
unless is_beta_build?
|
40
|
-
# App Metdata will not be updated for beta builds
|
41
42
|
|
42
|
-
|
43
|
-
load_metadata_folder # this is the new way of defining app metadata
|
44
|
-
set_app_metadata
|
45
|
-
set_screenshots
|
43
|
+
Helper.log.info("Got all information needed to deploy a new update ('#{@app_version}') for app '#{@app_identifier}'")
|
46
44
|
|
47
|
-
|
45
|
+
verify_app_on_itunesconnect unless metadata_only?
|
48
46
|
|
49
|
-
|
47
|
+
if ready_for_sale?
|
48
|
+
raise "Cannot update metadata of apps 'Ready for Sale'. You can dupe: http://www.openradar.appspot.com/18263306".red
|
49
|
+
end
|
50
50
|
|
51
|
-
|
51
|
+
if is_beta_build?
|
52
|
+
Helper.log.info "Beta builds don't upload new metadata to iTunesConnet".yellow
|
53
|
+
else
|
54
|
+
upload_metadata
|
52
55
|
end
|
53
56
|
|
54
57
|
# Always upload a new ipa (except if none was given)
|
55
|
-
trigger_ipa_upload
|
58
|
+
trigger_ipa_upload unless metadata_only?
|
56
59
|
|
57
60
|
call_success_block
|
58
61
|
rescue => ex
|
@@ -60,6 +63,53 @@ module Deliver
|
|
60
63
|
end
|
61
64
|
end
|
62
65
|
|
66
|
+
def upload_metadata
|
67
|
+
load_metadata_from_config_json_folder # the json file generated from the quick start # deprecated
|
68
|
+
load_metadata_folder # this is the new way of defining app metadata
|
69
|
+
set_app_metadata
|
70
|
+
set_screenshots
|
71
|
+
|
72
|
+
verify_pdf_file
|
73
|
+
|
74
|
+
additional_itc_information # e.g. copyright, age rating
|
75
|
+
|
76
|
+
trigger_metadata_upload
|
77
|
+
end
|
78
|
+
|
79
|
+
#####################################################
|
80
|
+
# @!group What kind of release
|
81
|
+
#####################################################
|
82
|
+
|
83
|
+
# Deployment = Submission of the binary
|
84
|
+
def skip_deployment?
|
85
|
+
@deploy_information[Deliverer::ValKey::SKIP_DEPLOY]
|
86
|
+
end
|
87
|
+
|
88
|
+
# Release = App Store and not TestFlight
|
89
|
+
def is_release_build?
|
90
|
+
is_beta_build? == false
|
91
|
+
end
|
92
|
+
|
93
|
+
# TestFlight Buil
|
94
|
+
def is_beta_build?
|
95
|
+
@deploy_information[Deliverer::ValKey::IS_BETA_IPA]
|
96
|
+
end
|
97
|
+
|
98
|
+
# Only upload metadata and no binary
|
99
|
+
def metadata_only?
|
100
|
+
ENV["DELIVER_SKIP_BINARY"]
|
101
|
+
end
|
102
|
+
|
103
|
+
# Is the app already ready for sale?
|
104
|
+
# if so, we can't update the app metadata: http://www.openradar.appspot.com/18263306
|
105
|
+
def ready_for_sale?
|
106
|
+
return false if Helper.is_test?
|
107
|
+
return @ready if @checked_for_ready
|
108
|
+
|
109
|
+
@checked_for_ready = true
|
110
|
+
@ready = (app.get_app_status == App::AppStatus::READY_FOR_SALE)
|
111
|
+
end
|
112
|
+
|
63
113
|
#####################################################
|
64
114
|
# @!group All the methods
|
65
115
|
#####################################################
|
@@ -75,10 +125,24 @@ module Deliver
|
|
75
125
|
end
|
76
126
|
end
|
77
127
|
|
78
|
-
|
128
|
+
# Tries to fetch app version and app identifier from Deliverfile
|
129
|
+
def fetch_app_key_information
|
79
130
|
@app_version = @deploy_information[Deliverer::ValKey::APP_VERSION]
|
80
131
|
@app_identifier = @deploy_information[Deliverer::ValKey::APP_IDENTIFIER]
|
132
|
+
fetch_app_identifier_from_app_file
|
133
|
+
end
|
134
|
+
|
135
|
+
# returns the latest app version from iTunes Connect
|
136
|
+
def get_latest_version
|
137
|
+
return nil if Helper.is_test?
|
81
138
|
|
139
|
+
data = itc.get_app_information(Deliver::App.new(app_identifier: @app_identifier))
|
140
|
+
return (data['version']['value'] rescue nil)
|
141
|
+
rescue
|
142
|
+
return nil
|
143
|
+
end
|
144
|
+
|
145
|
+
def fetch_information_from_ipa_file
|
82
146
|
used_ipa_file = ENV["IPA_OUTPUT_PATH"]# if (ENV["IPA_OUTPUT_PATH"] and File.exists?(ENV["IPA_OUTPUT_PATH"]))
|
83
147
|
|
84
148
|
if is_release_build?
|
@@ -125,7 +189,7 @@ module Deliver
|
|
125
189
|
end
|
126
190
|
|
127
191
|
def fetch_app_identifier_from_app_file
|
128
|
-
@app_identifier
|
192
|
+
@app_identifier ||= (CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) rescue nil)
|
129
193
|
end
|
130
194
|
|
131
195
|
def verify_ipa_file
|
@@ -216,20 +280,25 @@ module Deliver
|
|
216
280
|
@app.metadata.update_price_tier(@deploy_information[Deliverer::ValKey::PRICE_TIER]) if @deploy_information[Deliverer::ValKey::PRICE_TIER]
|
217
281
|
end
|
218
282
|
|
283
|
+
def screenshots_path
|
284
|
+
return @screens_path if @screens_path
|
219
285
|
|
220
|
-
|
221
|
-
screens_path = @deploy_information[Deliverer::ValKey::SCREENSHOTS_PATH]
|
222
|
-
|
286
|
+
@screens_path = @deploy_information[Deliverer::ValKey::SCREENSHOTS_PATH]
|
223
287
|
if (ENV["DELIVER_SCREENSHOTS_PATH"] || '').length > 0
|
224
|
-
Helper.log.warn "Overwriting screenshots path from config (#{screens_path}) with (#{ENV["DELIVER_SCREENSHOTS_PATH"]})".yellow
|
225
|
-
screens_path = ENV["DELIVER_SCREENSHOTS_PATH"]
|
288
|
+
Helper.log.warn "Overwriting screenshots path from config (#{@screens_path}) with (#{ENV["DELIVER_SCREENSHOTS_PATH"]})".yellow
|
289
|
+
@screens_path = ENV["DELIVER_SCREENSHOTS_PATH"]
|
226
290
|
end
|
227
291
|
|
228
|
-
screens_path ||= "./screenshots/" # default value
|
229
|
-
|
292
|
+
@screens_path ||= "./screenshots/" # default value
|
293
|
+
|
294
|
+
return @screens_path
|
295
|
+
end
|
296
|
+
|
297
|
+
def set_screenshots
|
298
|
+
screens_path = screenshots_path
|
230
299
|
if screens_path
|
231
300
|
# Not using Snapfile. Not a good user.
|
232
|
-
if not @app.metadata.set_all_screenshots_from_path(screens_path)
|
301
|
+
if not @app.metadata.set_all_screenshots_from_path(screens_path, use_framed_screenshots?)
|
233
302
|
# This path does not contain folders for each language
|
234
303
|
if screens_path.kind_of?String
|
235
304
|
if @deploy_information[Deliverer::ValKey::DEFAULT_LANGUAGE]
|
@@ -240,11 +309,18 @@ module Deliver
|
|
240
309
|
screens_path = nil
|
241
310
|
end
|
242
311
|
end
|
243
|
-
@app.metadata.set_screenshots_for_each_language(screens_path) if screens_path
|
312
|
+
@app.metadata.set_screenshots_for_each_language(screens_path, use_framed_screenshots?) if screens_path
|
244
313
|
end
|
245
314
|
end
|
246
315
|
end
|
247
316
|
|
317
|
+
# Should _framed screenshots be used for the screenshot upload?
|
318
|
+
# This will only be true if there is a Framefile, as this makes the screenshots valid
|
319
|
+
# since the resolution is only correct when using a background + title using frameit 2.0
|
320
|
+
def use_framed_screenshots?
|
321
|
+
return Dir[screenshots_path + "**/Framefile.json"].count > 0
|
322
|
+
end
|
323
|
+
|
248
324
|
def verify_pdf_file
|
249
325
|
if @deploy_information[Deliverer::ValKey::SKIP_PDF]
|
250
326
|
Helper.log.debug "PDF verify was skipped"
|
@@ -276,9 +352,12 @@ module Deliver
|
|
276
352
|
raise "Error uploading app metadata".red unless result == true
|
277
353
|
end
|
278
354
|
|
355
|
+
def itc
|
356
|
+
@itc ||= ItunesConnect.new
|
357
|
+
end
|
358
|
+
|
279
359
|
def additional_itc_information
|
280
360
|
# e.g. rating or copyright
|
281
|
-
itc = ItunesConnect.new
|
282
361
|
itc.set_copyright!(@app, @deploy_information[Deliverer::ValKey::COPYRIGHT]) if @deploy_information[Deliverer::ValKey::COPYRIGHT]
|
283
362
|
itc.set_app_review_information!(@app, @deploy_information[Deliverer::ValKey::APP_REVIEW_INFORMATION]) if @deploy_information[Deliverer::ValKey::APP_REVIEW_INFORMATION]
|
284
363
|
itc.set_release_after_approval!(@app, @deploy_information[Deliverer::ValKey::AUTOMATIC_RELEASE]) if @deploy_information[Deliverer::ValKey::AUTOMATIC_RELEASE] != nil
|
@@ -362,17 +441,5 @@ module Deliver
|
|
362
441
|
end
|
363
442
|
return app_version
|
364
443
|
end
|
365
|
-
|
366
|
-
def skip_deployment?
|
367
|
-
@deploy_information[Deliverer::ValKey::SKIP_DEPLOY]
|
368
|
-
end
|
369
|
-
|
370
|
-
def is_release_build?
|
371
|
-
is_beta_build? == false
|
372
|
-
end
|
373
|
-
|
374
|
-
def is_beta_build?
|
375
|
-
@deploy_information[Deliverer::ValKey::IS_BETA_IPA]
|
376
|
-
end
|
377
444
|
end
|
378
445
|
end
|
data/lib/deliver/ipa_uploader.rb
CHANGED
@@ -91,6 +91,9 @@ module Deliver
|
|
91
91
|
return publish_production_build(submit_information)
|
92
92
|
elsif @publish_strategy == IPA_UPLOAD_STRATEGY_BETA_BUILD
|
93
93
|
return publish_beta_build
|
94
|
+
else
|
95
|
+
Helper.log.info "deliver will **not** submit the app for Review or for TestFlight distribution".yellow
|
96
|
+
Helper.log.info "If you want to distribute the binary, don't define `skip_deploy` ".yellow
|
94
97
|
end
|
95
98
|
return true
|
96
99
|
end
|
@@ -8,4 +8,5 @@ require 'deliver/itunes_connect/itunes_connect_app_icon'
|
|
8
8
|
require 'deliver/itunes_connect/itunes_connect_apple_watch_app_icon'
|
9
9
|
require 'deliver/itunes_connect/itunes_connect_app_rating'
|
10
10
|
require 'deliver/itunes_connect/itunes_connect_additional'
|
11
|
-
require 'deliver/itunes_connect/itunes_connect_screenshot_fetcher'
|
11
|
+
require 'deliver/itunes_connect/itunes_connect_screenshot_fetcher'
|
12
|
+
require 'deliver/itunes_connect/itunes_connect_information'
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
3
|
+
module Deliver
|
4
|
+
# For all the information reading (e.g. version number)
|
5
|
+
class ItunesConnect < FastlaneCore::ItunesConnect
|
6
|
+
ALL_INFORMATION_URL = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/"
|
7
|
+
|
8
|
+
# This method will download information for a given app
|
9
|
+
# @param app (Deliver::App) the app you want this information from
|
10
|
+
# @raise [ItunesConnectGeneralError] General error while executing
|
11
|
+
# this action
|
12
|
+
# @raise [ItunesConnectLoginError] Login data is wrong
|
13
|
+
def get_app_information(app)
|
14
|
+
begin
|
15
|
+
verify_app(app)
|
16
|
+
|
17
|
+
url = ALL_INFORMATION_URL + app.apple_id.to_s
|
18
|
+
|
19
|
+
# Turn off/on the async mode of jQuery
|
20
|
+
evaluate_script("jQuery.ajaxSetup({async:false});")
|
21
|
+
response = evaluate_script("$.get('#{url}').responseText")
|
22
|
+
evaluate_script("jQuery.ajaxSetup({async:true});")
|
23
|
+
|
24
|
+
raise "Could not fetch data for app" unless response
|
25
|
+
|
26
|
+
data = JSON.parse(response)
|
27
|
+
|
28
|
+
return data['data']
|
29
|
+
rescue Exception => ex
|
30
|
+
error_occured(ex)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -3,8 +3,6 @@ require 'open-uri'
|
|
3
3
|
module Deliver
|
4
4
|
# For all the information reading (e.g. version number)
|
5
5
|
class ItunesConnect < FastlaneCore::ItunesConnect
|
6
|
-
ALL_INFORMATION_URL = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/"
|
7
|
-
|
8
6
|
# This method will download all existing app screenshots
|
9
7
|
# @param app (Deliver::App) the app you want this information from
|
10
8
|
# @param folder_path (String) the path to store the screenshots in
|
@@ -67,12 +67,22 @@ module Deliver
|
|
67
67
|
build_url = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/#{app.apple_id}/trains/#{current_build['trainVersion']}/builds/#{current_build['buildVersion']}/testInformation"
|
68
68
|
build_info = JSON.parse(Excon.get(build_url, headers: { "Cookie" => cookie_string } ).body)['data']
|
69
69
|
|
70
|
+
Helper.log.info "Setting the following information for this build:".yellow
|
71
|
+
Helper.log.info "DELIVER_WHAT_TO_TEST: '#{ENV['DELIVER_WHAT_TO_TEST']}'"
|
72
|
+
Helper.log.info "DELIVER_BETA_DESCRIPTION: '#{ENV['DELIVER_BETA_DESCRIPTION']}'"
|
73
|
+
Helper.log.info "DELIVER_BETA_FEEDBACK_EMAIL: '#{ENV['DELIVER_BETA_FEEDBACK_EMAIL']}'"
|
74
|
+
|
70
75
|
build_info['details'][0]['whatsNew']['value'] = ENV["DELIVER_WHAT_TO_TEST"]
|
71
76
|
build_info['details'][0]['description']['value'] = ENV["DELIVER_BETA_DESCRIPTION"]
|
72
77
|
build_info['details'][0]['feedbackEmail']['value'] = ENV["DELIVER_BETA_FEEDBACK_EMAIL"]
|
73
|
-
Excon.post(build_url, body: build_info.to_json, headers: { "Cookie" => cookie_string } )
|
78
|
+
h = Excon.post(build_url, body: build_info.to_json, headers: { "Cookie" => cookie_string } )
|
74
79
|
|
75
|
-
|
80
|
+
if h.status == 200
|
81
|
+
Helper.log.info "Successfully distributed latest beta build 🚀".green
|
82
|
+
else
|
83
|
+
Helper.log.info h.data
|
84
|
+
Helper.log.info "Some error occured marking the new builds as TestFlight build. Please do it manually on '#{current_url}'.".green
|
85
|
+
end
|
76
86
|
|
77
87
|
return true
|
78
88
|
rescue => ex
|
data/lib/deliver/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deliver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.1.0
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: prawn
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: excon
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -258,6 +244,7 @@ files:
|
|
258
244
|
- lib/deliver/itunes_connect/itunes_connect_app_icon.rb
|
259
245
|
- lib/deliver/itunes_connect/itunes_connect_app_rating.rb
|
260
246
|
- lib/deliver/itunes_connect/itunes_connect_apple_watch_app_icon.rb
|
247
|
+
- lib/deliver/itunes_connect/itunes_connect_information.rb
|
261
248
|
- lib/deliver/itunes_connect/itunes_connect_new_version.rb
|
262
249
|
- lib/deliver/itunes_connect/itunes_connect_reader.rb
|
263
250
|
- lib/deliver/itunes_connect/itunes_connect_screenshot_fetcher.rb
|