fastlane 2.72.0.beta.20171231010003 → 2.72.0.beta.20180101010003
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/deliver/lib/deliver/upload_metadata.rb +4 -2
- data/deliver/lib/deliver/upload_screenshots.rb +4 -2
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +51 -14
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +13 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +1 -1
- data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +1 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +11 -0
- data/fastlane_core/lib/fastlane_core/tool_collector.rb +2 -2
- data/fastlane_core/lib/fastlane_core.rb +1 -1
- data/spaceship/lib/spaceship/portal/portal_client.rb +1 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 569a7dc75a96906602a4a0ec523be6d44d457b6a
|
4
|
+
data.tar.gz: a61dbb85f9b3b8ce967d50cd435c7fb49e7caaa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a93cd8362af688eed72fa5ae69554d529e0beb3ac36f37c37a749b5e30f1464f8a5906ba0734ee8da46bcf75bd072f97221ab68948d450624f806a082f30aef
|
7
|
+
data.tar.gz: 23462723f418b7908a53887b6b3bb12cb0ce05c634630959ebfeaeb498851e66f5b099fb4128c1bdf00a8cf520f5fc4b289a3ebd9c0913983a14122b90f7de86
|
@@ -122,8 +122,9 @@ module Deliver
|
|
122
122
|
set_review_information(v, options)
|
123
123
|
set_app_rating(v, options)
|
124
124
|
|
125
|
-
|
125
|
+
Helper.show_loading_indicator("Uploading metadata to iTunes Connect")
|
126
126
|
v.save!
|
127
|
+
Helper.hide_loading_indicator
|
127
128
|
begin
|
128
129
|
details.save!
|
129
130
|
UI.success("Successfully uploaded set of metadata to iTunes Connect")
|
@@ -244,8 +245,9 @@ module Deliver
|
|
244
245
|
v.create_languages(enabled_languages)
|
245
246
|
lng_text = "language"
|
246
247
|
lng_text += "s" if enabled_languages.count != 1
|
247
|
-
|
248
|
+
Helper.show_loading_indicator("Activating #{lng_text} #{enabled_languages.join(', ')}...")
|
248
249
|
v.save!
|
250
|
+
Helper.hide_loading_indicator
|
249
251
|
end
|
250
252
|
true
|
251
253
|
end
|
@@ -33,10 +33,11 @@ module Deliver
|
|
33
33
|
v.create_languages(enabled_languages)
|
34
34
|
lng_text = "language"
|
35
35
|
lng_text += "s" if enabled_languages.count != 1
|
36
|
-
|
36
|
+
Helper.show_loading_indicator("Activating #{lng_text} #{enabled_languages.join(', ')}...")
|
37
37
|
v.save!
|
38
38
|
# This refreshes the app version from iTC after enabling a localization
|
39
39
|
v = app.edit_version
|
40
|
+
Helper.hide_loading_indicator
|
40
41
|
end
|
41
42
|
|
42
43
|
screenshots_per_language.each do |language, screenshots_for_language|
|
@@ -62,10 +63,11 @@ module Deliver
|
|
62
63
|
end
|
63
64
|
# ideally we should only save once, but itunes server can't cope it seems
|
64
65
|
# so we save per language. See issue #349
|
65
|
-
|
66
|
+
Helper.show_loading_indicator("Saving changes")
|
66
67
|
v.save!
|
67
68
|
# Refresh app version to start clean again. See issue #9859
|
68
69
|
v = app.edit_version
|
70
|
+
Helper.hide_loading_indicator
|
69
71
|
end
|
70
72
|
UI.success("Successfully uploaded screenshots to iTunes Connect")
|
71
73
|
end
|
@@ -16,7 +16,7 @@ module Fastlane
|
|
16
16
|
return false
|
17
17
|
end
|
18
18
|
|
19
|
-
target_dictionary = project.targets.map { |f| { name: f.name, uuid: f.uuid } }
|
19
|
+
target_dictionary = project.targets.map { |f| { name: f.name, uuid: f.uuid, build_configuration_list: f.build_configuration_list } }
|
20
20
|
changed_targets = []
|
21
21
|
project.root_object.attributes["TargetAttributes"].each do |target, sett|
|
22
22
|
found_target = target_dictionary.detect { |h| h[:uuid] == target }
|
@@ -29,15 +29,32 @@ module Fastlane
|
|
29
29
|
end
|
30
30
|
|
31
31
|
style_value = params[:use_automatic_signing] ? 'Automatic' : 'Manual'
|
32
|
-
|
33
|
-
|
34
|
-
configuration.build_settings["CODE_SIGN_STYLE"] = style_value
|
35
|
-
end
|
32
|
+
build_configuration_list = found_target[:build_configuration_list]
|
33
|
+
build_configuration_list.set_setting("CODE_SIGN_STYLE", style_value)
|
36
34
|
sett["ProvisioningStyle"] = style_value
|
35
|
+
|
37
36
|
if params[:team_id]
|
38
37
|
sett["DevelopmentTeam"] = params[:team_id]
|
39
38
|
UI.important("Set Team id to: #{params[:team_id]} for target: #{found_target[:name]}")
|
40
39
|
end
|
40
|
+
if params[:code_sign_identity]
|
41
|
+
build_configuration_list.set_setting("CODE_SIGN_IDENTITY", params[:code_sign_identity])
|
42
|
+
UI.important("Set Code Sign identity to: #{params[:code_sign_identity]} for target: #{found_target[:name]}")
|
43
|
+
end
|
44
|
+
if params[:profile_name]
|
45
|
+
build_configuration_list.set_setting("PROVISIONING_PROFILE_SPECIFIER", params[:profile_name])
|
46
|
+
UI.important("Set Provisioning Profile name to: #{params[:profile_name]} for target: #{found_target[:name]}")
|
47
|
+
end
|
48
|
+
# Since Xcode 8, this is no longer needed, you simply use PROVISIONING_PROFILE_SPECIFIER
|
49
|
+
if params[:profile_uuid]
|
50
|
+
build_configuration_list.set_setting("PROVISIONING_PROFILE", params[:profile_uuid])
|
51
|
+
UI.important("Set Provisioning Profile UUID to: #{params[:profile_uuid]} for target: #{found_target[:name]}")
|
52
|
+
end
|
53
|
+
if params[:bundle_identifier]
|
54
|
+
build_configuration_list.set_setting("PRODUCT_BUNDLE_IDENTIFIER", params[:bundle_identifier])
|
55
|
+
UI.important("Set Bundle identifier to: #{params[:bundle_identifier]} for target: #{found_target[:name]}")
|
56
|
+
end
|
57
|
+
|
41
58
|
changed_targets << found_target[:name]
|
42
59
|
end
|
43
60
|
project.save
|
@@ -49,7 +66,7 @@ module Fastlane
|
|
49
66
|
UI.important("\t* #{target[:name]}")
|
50
67
|
end
|
51
68
|
else
|
52
|
-
UI.success("Successfully updated project settings to use
|
69
|
+
UI.success("Successfully updated project settings to use Code Sign Style = '#{params[:use_automatic_signing] ? 'Automatic' : 'Manual'}'")
|
53
70
|
UI.success("Modified Targets:")
|
54
71
|
changed_targets.each do |target|
|
55
72
|
UI.success("\t * #{target}")
|
@@ -68,11 +85,11 @@ module Fastlane
|
|
68
85
|
end
|
69
86
|
|
70
87
|
def self.description
|
71
|
-
"
|
88
|
+
"Configures Xcode's Codesigning options"
|
72
89
|
end
|
73
90
|
|
74
91
|
def self.details
|
75
|
-
"
|
92
|
+
"Configures Xcode's Codesigning options of all targets in the project"
|
76
93
|
end
|
77
94
|
|
78
95
|
def self.available_options
|
@@ -91,16 +108,36 @@ module Fastlane
|
|
91
108
|
is_string: false,
|
92
109
|
default_value: false),
|
93
110
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
111
|
+
env_name: "FASTLANE_TEAM_ID",
|
112
|
+
optional: true,
|
113
|
+
description: "Team ID, is used when upgrading project",
|
114
|
+
is_string: true),
|
98
115
|
FastlaneCore::ConfigItem.new(key: :targets,
|
99
116
|
env_name: "FL_PROJECT_SIGNING_TARGETS",
|
100
117
|
optional: true,
|
101
118
|
type: Array,
|
102
119
|
description: "Specify targets you want to toggle the signing mech. (default to all targets)",
|
103
|
-
is_string: false)
|
120
|
+
is_string: false),
|
121
|
+
FastlaneCore::ConfigItem.new(key: :code_sign_identity,
|
122
|
+
env_name: "FL_CODE_SIGN_IDENTITY",
|
123
|
+
description: "Code signing identity type (iPhone Development, iPhone Distribution)",
|
124
|
+
optional: true,
|
125
|
+
is_string: true),
|
126
|
+
FastlaneCore::ConfigItem.new(key: :profile_name,
|
127
|
+
env_name: "FL_PROVISIONING_PROFILE_SPECIFIER",
|
128
|
+
description: "Provisioning profile name to use for code signing",
|
129
|
+
optional: true,
|
130
|
+
is_string: true),
|
131
|
+
FastlaneCore::ConfigItem.new(key: :profile_uuid,
|
132
|
+
env_name: "FL_PROVISIONING_PROFILE",
|
133
|
+
description: "Provisioning profile UUID to use for code signing",
|
134
|
+
optional: true,
|
135
|
+
is_string: true),
|
136
|
+
FastlaneCore::ConfigItem.new(key: :bundle_identifier,
|
137
|
+
env_name: "FL_APP_IDENTIFIER",
|
138
|
+
description: "Application Product Bundle Identifier",
|
139
|
+
optional: true,
|
140
|
+
is_string: true)
|
104
141
|
]
|
105
142
|
end
|
106
143
|
|
@@ -153,7 +190,7 @@ module Fastlane
|
|
153
190
|
end
|
154
191
|
|
155
192
|
def self.authors
|
156
|
-
["mathiasAichinger", "hjanuschka"]
|
193
|
+
["mathiasAichinger", "hjanuschka", "p4checo", "portellaa", "aeons"]
|
157
194
|
end
|
158
195
|
|
159
196
|
def self.is_supported?(platform)
|
@@ -15,11 +15,22 @@ module Fastlane
|
|
15
15
|
def take_off
|
16
16
|
before_import_time = Time.now
|
17
17
|
|
18
|
+
# Usually in the fastlane code base we use
|
19
|
+
#
|
20
|
+
# Helper.show_loading_indicator
|
21
|
+
# longer_taking_task_here
|
22
|
+
# Helper.hide_loading_indicator
|
23
|
+
#
|
24
|
+
# but in this case we haven't required FastlaneCore yet
|
25
|
+
# so we'll have to access the raw API for now
|
18
26
|
require "tty-spinner"
|
19
|
-
|
20
27
|
require_fastlane_spinner = TTY::Spinner.new("[:spinner] 🚀 ", format: :dots)
|
21
28
|
require_fastlane_spinner.auto_spin
|
22
|
-
|
29
|
+
|
30
|
+
# this might take a long time if there is no Gemfile :(
|
31
|
+
# That's why we show the loading indicator here also
|
32
|
+
require "fastlane"
|
33
|
+
|
23
34
|
require_fastlane_spinner.success
|
24
35
|
|
25
36
|
# We want to avoid printing output other than the version number if we are running `fastlane -v`
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.72.0.beta.
|
2
|
+
VERSION = '2.72.0.beta.20180101010003'.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
|
@@ -152,7 +152,7 @@ module FastlaneCore
|
|
152
152
|
|
153
153
|
def finalize_session
|
154
154
|
# If our users want to opt out of usage metrics, don't post the events.
|
155
|
-
# Learn more at https://
|
155
|
+
# Learn more at https://docs.fastlane.tools/#metrics
|
156
156
|
return if FastlaneCore::Env.truthy?("FASTLANE_OPT_OUT_USAGE")
|
157
157
|
|
158
158
|
client.post_events(@events)
|
@@ -26,7 +26,7 @@ module FastlaneCore
|
|
26
26
|
end
|
27
27
|
|
28
28
|
# To not count the same projects multiple time for the number of launches
|
29
|
-
# Learn more at https://
|
29
|
+
# Learn more at https://docs.fastlane.tools/#metrics
|
30
30
|
# Use the `FASTLANE_OPT_OUT_USAGE` variable to opt out
|
31
31
|
# The resulting value is e.g. ce12f8371df11ef6097a83bdf2303e4357d6f5040acc4f76019489fa5deeae0d
|
32
32
|
def generate_p_hash(app_id)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'logger'
|
2
2
|
require 'colored'
|
3
|
+
require 'tty-spinner'
|
3
4
|
|
4
5
|
module FastlaneCore
|
5
6
|
module Helper
|
@@ -268,5 +269,15 @@ module FastlaneCore
|
|
268
269
|
return './'
|
269
270
|
end
|
270
271
|
end
|
272
|
+
|
273
|
+
# Show/Hide loading indicator
|
274
|
+
def self.show_loading_indicator(text = "🚀")
|
275
|
+
@require_fastlane_spinner = TTY::Spinner.new("[:spinner] #{text} ", format: :dots)
|
276
|
+
@require_fastlane_spinner.auto_spin
|
277
|
+
end
|
278
|
+
|
279
|
+
def self.hide_loading_indicator
|
280
|
+
@require_fastlane_spinner.success
|
281
|
+
end
|
271
282
|
end
|
272
283
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module FastlaneCore
|
2
2
|
class ToolCollector
|
3
|
-
# Learn more at https://
|
3
|
+
# Learn more at https://docs.fastlane.tools/#metrics
|
4
4
|
|
5
5
|
# This is the original error reporting mechanism, which has always represented
|
6
6
|
# either controlled (UI.user_error!), or uncontrolled (UI.crash!, anything else)
|
@@ -120,7 +120,7 @@ module FastlaneCore
|
|
120
120
|
|
121
121
|
def show_message
|
122
122
|
UI.message("Sending Crash/Success information")
|
123
|
-
UI.message("Learn more at https://
|
123
|
+
UI.message("Learn more at https://docs.fastlane.tools/#metrics")
|
124
124
|
UI.message("No personal/sensitive data is sent. Only sharing the following:")
|
125
125
|
UI.message(launches)
|
126
126
|
UI.message(@error) if @error
|
@@ -64,7 +64,7 @@ module FastlaneCore
|
|
64
64
|
# If you opt out, we will not send anything.
|
65
65
|
# You can confirm this by observing how we use the environment variable: FASTLANE_OPT_OUT_USAGE
|
66
66
|
# Specifically, in AnalyticsSession.finalize_session
|
67
|
-
# Learn more at https://
|
67
|
+
# Learn more at https://docs.fastlane.tools/#metrics
|
68
68
|
def self.session
|
69
69
|
@session ||= AnalyticsSession.new
|
70
70
|
end
|
@@ -652,9 +652,7 @@ module Spaceship
|
|
652
652
|
end
|
653
653
|
|
654
654
|
def repair_provisioning_profile!(profile_id, name, distribution_method, app_id, certificate_ids, device_ids, mac: false, sub_platform: nil, template_name: nil)
|
655
|
-
|
656
|
-
fetch_csrf_token_for_provisioning
|
657
|
-
end
|
655
|
+
fetch_csrf_token_for_provisioning
|
658
656
|
|
659
657
|
params = {
|
660
658
|
teamId: team_id,
|
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.72.0.beta.
|
4
|
+
version: 2.72.0.beta.20180101010003
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date:
|
18
|
+
date: 2018-01-01 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|