fastlane 2.123.0.beta.20190507200014 → 2.123.0.beta.20190508200056
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44ba9c053828aa330fdf2b970e8877979f5c6aaa
|
4
|
+
data.tar.gz: 3146fe676e7313faace99f3159a772f2f8724e5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2a08a63a529b9d0c56309cc075ea867e1ac3d04ebc039c69b622bdbe93a765e921a563af6b20a5cfd507c560dc7575bcc38f0d971fcaca759ea748d0f68ee91
|
7
|
+
data.tar.gz: 60119ef1dc886d456b9f02c7cfefe84999b16436289c524777556df6226c95531fabb53c051ff17b77a86de85eecbf83db03c7277d082dff01ea7451ff943a9b
|
@@ -225,3 +225,7 @@ _pilot_ uses the [CredentialsManager](https://github.com/fastlane/fastlane/tree/
|
|
225
225
|
|
226
226
|
## Provider Short Name
|
227
227
|
If you are on multiple App Store Connect teams, iTunes Transporter may need a provider short name to know where to upload your binary. _pilot_ will try to use the long name of the selected team to detect the provider short name. To override the detected value with an explicit one, use the `itc_provider` option.
|
228
|
+
|
229
|
+
## Use an Application Specific Password to upload
|
230
|
+
|
231
|
+
_pilot_/`upload_to_testflight` can use an [Application Specific Password via the `FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD` envirionment variable](https://docs.fastlane.tools/best-practices/continuous-integration/#application-specific-passwords) to upload a binary if both the `skip_waiting_for_build_processing` and `apple_id` options are set. (If any of those are not set, it will use the normal Apple login process that might require 2FA authentication.)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.123.0.beta.
|
2
|
+
VERSION = '2.123.0.beta.20190508200056'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
@@ -10,7 +10,10 @@ require_relative 'manager'
|
|
10
10
|
module Pilot
|
11
11
|
class BuildManager < Manager
|
12
12
|
def upload(options)
|
13
|
-
|
13
|
+
# Only need to login before upload if no apple_id was given
|
14
|
+
# 'login' will be deferred until before waiting for build processing
|
15
|
+
should_login_in_start = options[:apple_id].nil?
|
16
|
+
start(options, should_login: should_login_in_start)
|
14
17
|
|
15
18
|
options[:changelog] = self.class.sanitize_changelog(options[:changelog]) if options[:changelog]
|
16
19
|
|
@@ -24,18 +27,18 @@ module Pilot
|
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
27
|
-
UI.success("Ready to upload new build to TestFlight (App: #{
|
30
|
+
UI.success("Ready to upload new build to TestFlight (App: #{fetch_apple_id})...")
|
28
31
|
|
29
32
|
dir = Dir.mktmpdir
|
30
33
|
|
31
34
|
platform = fetch_app_platform
|
32
|
-
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(app_id:
|
33
|
-
ipa_path:
|
35
|
+
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(app_id: fetch_apple_id,
|
36
|
+
ipa_path: options[:ipa],
|
34
37
|
package_path: dir,
|
35
38
|
platform: platform)
|
36
39
|
|
37
40
|
transporter = transporter_for_selected_team(options)
|
38
|
-
result = transporter.upload(
|
41
|
+
result = transporter.upload(fetch_apple_id, package_path)
|
39
42
|
|
40
43
|
unless result
|
41
44
|
UI.user_error!("Error uploading ipa file, for more information see above")
|
@@ -49,6 +52,9 @@ module Pilot
|
|
49
52
|
return
|
50
53
|
end
|
51
54
|
|
55
|
+
# Calling login again here is needed if login was not called during 'start'
|
56
|
+
login unless should_login_in_start
|
57
|
+
|
52
58
|
UI.message("If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option")
|
53
59
|
latest_build = wait_for_build_processing_to_be_complete
|
54
60
|
distribute(options, build: latest_build)
|
@@ -58,7 +64,7 @@ module Pilot
|
|
58
64
|
platform = fetch_app_platform
|
59
65
|
app_version = FastlaneCore::IpaFileAnalyser.fetch_app_version(config[:ipa])
|
60
66
|
app_build = FastlaneCore::IpaFileAnalyser.fetch_app_build(config[:ipa])
|
61
|
-
latest_build = FastlaneCore::BuildWatcher.wait_for_build_processing_to_be_complete(app_id: app.apple_id, platform: platform, train_version: app_version, build_version: app_build, poll_interval: config[:wait_processing_interval])
|
67
|
+
latest_build = FastlaneCore::BuildWatcher.wait_for_build_processing_to_be_complete(app_id: app.apple_id, platform: platform, train_version: app_version, build_version: app_build, poll_interval: config[:wait_processing_interval], strict_build_watch: config[:wait_for_uploaded_build])
|
62
68
|
|
63
69
|
unless latest_build.train_version == app_version && latest_build.build_version == app_build
|
64
70
|
UI.important("Uploaded app #{app_version} - #{app_build}, but received build #{latest_build.train_version} - #{latest_build.build_version}.")
|
@@ -220,7 +226,8 @@ module Pilot
|
|
220
226
|
# If there are fewer than two teams, don't infer the provider.
|
221
227
|
def transporter_for_selected_team(options)
|
222
228
|
generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider])
|
223
|
-
return generic_transporter
|
229
|
+
return generic_transporter if options[:itc_provider] || Spaceship::Tunes.client.nil?
|
230
|
+
return generic_transporter unless Spaceship::Tunes.client.teams.count > 1
|
224
231
|
|
225
232
|
begin
|
226
233
|
team = Spaceship::Tunes.client.teams.find { |t| t['contentProvider']['contentProviderId'].to_s == Spaceship::Tunes.client.team_id }
|
data/pilot/lib/pilot/manager.rb
CHANGED
@@ -10,10 +10,10 @@ require_relative 'module'
|
|
10
10
|
|
11
11
|
module Pilot
|
12
12
|
class Manager
|
13
|
-
def start(options)
|
13
|
+
def start(options, should_login: true)
|
14
14
|
return if @config # to not login multiple times
|
15
15
|
@config = options
|
16
|
-
login
|
16
|
+
login if should_login
|
17
17
|
end
|
18
18
|
|
19
19
|
def login
|
@@ -27,7 +27,7 @@ module Pilot
|
|
27
27
|
|
28
28
|
# The app object we're currently using
|
29
29
|
def app
|
30
|
-
@apple_id ||=
|
30
|
+
@apple_id ||= fetch_apple_id
|
31
31
|
|
32
32
|
@app ||= Spaceship::Tunes::Application.find(@apple_id)
|
33
33
|
unless @app
|
@@ -42,19 +42,20 @@ module Pilot
|
|
42
42
|
# Config Related
|
43
43
|
################
|
44
44
|
|
45
|
-
def
|
45
|
+
def fetch_apple_id
|
46
|
+
@apple_id ||= config[:apple_id]
|
46
47
|
return @apple_id if @apple_id
|
47
48
|
config[:app_identifier] = fetch_app_identifier
|
48
49
|
|
49
50
|
if config[:app_identifier]
|
50
51
|
@app ||= Spaceship::Tunes::Application.find(config[:app_identifier])
|
51
52
|
UI.user_error!("Couldn't find app '#{config[:app_identifier]}' on the account of '#{config[:username]}' on App Store Connect") unless @app
|
52
|
-
|
53
|
+
apple_id ||= @app.apple_id
|
53
54
|
end
|
54
55
|
|
55
|
-
|
56
|
+
apple_id ||= UI.input("Could not automatically find the app ID, please enter it here (e.g. 956814360): ")
|
56
57
|
|
57
|
-
return
|
58
|
+
return apple_id
|
58
59
|
end
|
59
60
|
|
60
61
|
def fetch_app_identifier
|
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: 2.123.0.beta.
|
4
|
+
version: 2.123.0.beta.20190508200056
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Dee
|
@@ -27,7 +27,7 @@ authors:
|
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-05-
|
30
|
+
date: 2019-05-08 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -1706,24 +1706,24 @@ metadata:
|
|
1706
1706
|
post_install_message:
|
1707
1707
|
rdoc_options: []
|
1708
1708
|
require_paths:
|
1709
|
-
- produce/lib
|
1710
|
-
- match/lib
|
1711
1709
|
- screengrab/lib
|
1712
|
-
- credentials_manager/lib
|
1713
|
-
- gym/lib
|
1714
|
-
- spaceship/lib
|
1715
|
-
- pilot/lib
|
1716
|
-
- fastlane/lib
|
1717
|
-
- pem/lib
|
1718
1710
|
- deliver/lib
|
1719
|
-
-
|
1711
|
+
- supply/lib
|
1712
|
+
- pilot/lib
|
1713
|
+
- precheck/lib
|
1714
|
+
- scan/lib
|
1715
|
+
- credentials_manager/lib
|
1716
|
+
- frameit/lib
|
1717
|
+
- match/lib
|
1720
1718
|
- snapshot/lib
|
1719
|
+
- cert/lib
|
1720
|
+
- produce/lib
|
1721
|
+
- fastlane/lib
|
1721
1722
|
- sigh/lib
|
1723
|
+
- pem/lib
|
1724
|
+
- gym/lib
|
1725
|
+
- spaceship/lib
|
1722
1726
|
- fastlane_core/lib
|
1723
|
-
- precheck/lib
|
1724
|
-
- supply/lib
|
1725
|
-
- frameit/lib
|
1726
|
-
- scan/lib
|
1727
1727
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1728
1728
|
requirements:
|
1729
1729
|
- - ">="
|