fastlane 2.123.0.beta.20190507200014 → 2.123.0.beta.20190508200056
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
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
|
- - ">="
|