fastlane 2.47.0.beta.20170714010002 → 2.47.0.beta.20170715010003
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
- data/fastlane/lib/fastlane/actions/gym.rb +3 -1
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +12 -11
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/gym/lib/gym/error_handler.rb +70 -1
- data/precheck/lib/precheck/rules/other_platforms_rule.rb +0 -1
- 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: 45b717dcdea14e596b4d3e0fd9583725feb9a96e
|
4
|
+
data.tar.gz: a4d480615f7043858efb3d8dedd0a230a84c56f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 914d5ffe0cf3049809b2da15bf136a68a8b7db93c564f2a1f4fc03077f0b9dfe7df19ec33f912a0125ab6467f32b8df032b10f6b799c75bf5d88e66e3f1a27a5
|
7
|
+
data.tar.gz: bdcfa3b0b40de645e5425483e429c79aa89e26cae1c9af0ef9300bd9e8022ec9ab8226985ebb28f020347975e70796b82ab3926a4f1ef7695dff7554919cadbb
|
@@ -84,7 +84,7 @@ module Fastlane
|
|
84
84
|
]
|
85
85
|
# Please don't add a version parameter to the `cocoapods` action. If you need to specify a version when running
|
86
86
|
# `cocoapods`, please start using a Gemfile and lock the version there
|
87
|
-
# More information https://
|
87
|
+
# More information https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
|
88
88
|
end
|
89
89
|
|
90
90
|
def self.is_supported?(platform)
|
@@ -9,7 +9,9 @@ module Fastlane
|
|
9
9
|
def self.run(values)
|
10
10
|
require 'gym'
|
11
11
|
|
12
|
-
|
12
|
+
unless Actions.lane_context[SharedValues::SIGH_PROFILE_TYPE].to_s == "development"
|
13
|
+
values[:export_method] ||= Actions.lane_context[SharedValues::SIGH_PROFILE_TYPE]
|
14
|
+
end
|
13
15
|
|
14
16
|
if Actions.lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING]
|
15
17
|
# Since Xcode 9 you need to explicitly provide the provisioning profile per app target
|
@@ -18,8 +18,8 @@ module Fastlane
|
|
18
18
|
require "fastlane" # this might take a long time if there is no Gemfile :(
|
19
19
|
|
20
20
|
# We want to avoid printing output other than the version number if we are running `fastlane -v`
|
21
|
-
|
22
|
-
|
21
|
+
unless running_version_command?
|
22
|
+
print_bundle_exec_warning(is_slow: (Time.now - before_import_time > 3))
|
23
23
|
end
|
24
24
|
|
25
25
|
FastlaneCore::UpdateChecker.start_looking_for_update('fastlane')
|
@@ -78,22 +78,23 @@ module Fastlane
|
|
78
78
|
}[tool_name] || tool_name
|
79
79
|
end
|
80
80
|
|
81
|
-
def
|
82
|
-
|
83
|
-
return if FastlaneCore::Env.truthy?('
|
81
|
+
def print_bundle_exec_warning(is_slow: false)
|
82
|
+
return if FastlaneCore::Helper.bundler? # user is alread using bundler
|
83
|
+
return if FastlaneCore::Env.truthy?('SKIP_SLOW_FASTLANE_WARNING') # user disabled the warnings
|
84
|
+
return if FastlaneCore::Helper.contained_fastlane? # user uses the bundled fastlane
|
84
85
|
|
85
86
|
gemfile_path = PluginManager.new.gemfile_path
|
86
87
|
if gemfile_path
|
87
|
-
# The user has a Gemfile, but
|
88
|
+
# The user has a Gemfile, but forgot to use `bundle exec`
|
88
89
|
# Let's tell the user how to use `bundle exec`
|
89
|
-
|
90
|
-
UI.important "fastlane detected a Gemfile in
|
90
|
+
# We show this warning no matter if the command is slow or not
|
91
|
+
UI.important "fastlane detected a Gemfile in the current directory"
|
91
92
|
UI.important "however it seems like you don't use `bundle exec`"
|
92
93
|
UI.important "to launch fastlane faster, please use"
|
93
94
|
UI.message ""
|
94
95
|
UI.command "bundle exec fastlane #{ARGV.join(' ')}"
|
95
96
|
UI.message ""
|
96
|
-
|
97
|
+
elsif is_slow
|
97
98
|
# fastlane is slow and there is no Gemfile
|
98
99
|
# Let's tell the user how to use `gem cleanup` and how to
|
99
100
|
# start using a Gemfile
|
@@ -111,9 +112,9 @@ module Fastlane
|
|
111
112
|
UI.message ""
|
112
113
|
UI.important "After creating the Gemfile and Gemfile.lock, commit those files into version control"
|
113
114
|
end
|
114
|
-
UI.important "For more information, check out https://
|
115
|
+
UI.important "For more information, check out https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile"
|
115
116
|
|
116
|
-
sleep
|
117
|
+
sleep 2 # napping is life, otherwise the user might not see this message
|
117
118
|
end
|
118
119
|
|
119
120
|
# Returns an array of symbols for the available lanes for the Fastfile
|
@@ -54,6 +54,7 @@ module Gym
|
|
54
54
|
print_xcode_path_instructions
|
55
55
|
print_xcode_version
|
56
56
|
print_full_log_path
|
57
|
+
print_environment_information
|
57
58
|
print_build_error_instructions
|
58
59
|
UI.build_failure!("Error building the application - see the log above", error_info: output)
|
59
60
|
end
|
@@ -89,7 +90,9 @@ module Gym
|
|
89
90
|
print "A general code signing error occurred. Make sure you passed a valid"
|
90
91
|
print "provisioning profile and code signing identity."
|
91
92
|
end
|
93
|
+
print_xcode_version
|
92
94
|
print_full_log_path
|
95
|
+
print_environment_information
|
93
96
|
print_build_error_instructions
|
94
97
|
UI.build_failure!("Error packaging up the application", error_info: output)
|
95
98
|
end
|
@@ -137,7 +140,8 @@ module Gym
|
|
137
140
|
# sure they are aware of the Xcode version and SDK they're using
|
138
141
|
values = {
|
139
142
|
xcode_path: File.expand_path("../..", FastlaneCore::Helper.xcode_path),
|
140
|
-
gym_version: Fastlane::VERSION
|
143
|
+
gym_version: Fastlane::VERSION,
|
144
|
+
export_method: Gym.config[:export_method]
|
141
145
|
}
|
142
146
|
|
143
147
|
sdk_path = Gym.project.build_settings(key: "SDKROOT")
|
@@ -175,6 +179,71 @@ module Gym
|
|
175
179
|
UI.message ""
|
176
180
|
end
|
177
181
|
|
182
|
+
def print_environment_information
|
183
|
+
if Gym.config[:export_method].to_s == "development"
|
184
|
+
UI.message("")
|
185
|
+
UI.error("Your `export_method` in gym is defined as `:development`")
|
186
|
+
UI.error("which can't be used for `ipa` files for beta or App Store distribution")
|
187
|
+
UI.error("Please make sure to define the correct export methods when calling")
|
188
|
+
UI.error("gym in your Fastfile or from the command line")
|
189
|
+
UI.message("")
|
190
|
+
elsif Gym.config[:export_options]
|
191
|
+
# We want to tell the user if there is an obvious mismatch between the selected
|
192
|
+
# `export_method` and the selected provisioning profiles
|
193
|
+
selected_export_method = Gym.config[:export_method].to_s
|
194
|
+
selected_provisioning_profiles = Gym.config[:export_options][:provisioningProfiles] || []
|
195
|
+
# We could go ahead and find all provisioning profiles that match that name
|
196
|
+
# and then get its type, however that's not 100% reliable, as we can't distinguish between
|
197
|
+
# Ad Hoc and Development profiles for example.
|
198
|
+
# As an easier and more obvious alternative, we'll take the provisioning profile names
|
199
|
+
# and see if it contains the export_method name and see if there is a mismatch
|
200
|
+
|
201
|
+
# The reason we have multiple variations of the spelling is that
|
202
|
+
# the provisioning profile might be called anything below
|
203
|
+
# There is no 100% good way to detect the profile type based on the name
|
204
|
+
available_export_types = {
|
205
|
+
"app-store" => :appstore,
|
206
|
+
"app store" => :appstore,
|
207
|
+
"appstore" => :appstore,
|
208
|
+
"ad-hoc" => :adhoc,
|
209
|
+
"adhoc" => :adhoc,
|
210
|
+
"ad hoc" => :adhoc,
|
211
|
+
"enterprise" => :enterprise,
|
212
|
+
"development" => :development
|
213
|
+
}
|
214
|
+
|
215
|
+
selected_provisioning_profiles.each do |current_bundle_identifier, current_profile_name|
|
216
|
+
available_export_types.each do |current_to_try, matching_type|
|
217
|
+
next unless current_profile_name.downcase.include?(current_to_try.downcase)
|
218
|
+
|
219
|
+
# Check if there is a mismatch between the name and the selected export method
|
220
|
+
# Example
|
221
|
+
#
|
222
|
+
# current_profile_name = "me.themoji.app.beta App Store""
|
223
|
+
# current_to_try = "app store"
|
224
|
+
# matching_type = :appstore
|
225
|
+
# selected_export_method = "enterprise"
|
226
|
+
#
|
227
|
+
# As seen above, there is obviously a mismatch, the user selected an App Store
|
228
|
+
# profile, but the export method that's being passed to Xcode is "enterprise"
|
229
|
+
|
230
|
+
next if matching_type.to_s == selected_export_method
|
231
|
+
UI.message("")
|
232
|
+
UI.error("There is a mismatch between your provided `export_method` in gym")
|
233
|
+
UI.error("and the selected provisioning profiles. You passed the following options:")
|
234
|
+
UI.important(" export_method: #{selected_export_method}")
|
235
|
+
UI.important(" Bundle identifier: #{current_bundle_identifier}")
|
236
|
+
UI.important(" Profile name: #{current_profile_name}")
|
237
|
+
UI.important(" Profile type: #{matching_type}")
|
238
|
+
UI.error("Make sure to either change the `export_method` passed from your Fastfile or CLI")
|
239
|
+
UI.error("or select the correct provisioning profiles by updating your Xcode project")
|
240
|
+
UI.error("or passing the profiles to use by using match or manually via the `export_options` hash")
|
241
|
+
UI.message("")
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
178
247
|
# Indicate that code signing errors are not caused by fastlane
|
179
248
|
# and that fastlane only runs `xcodebuild` commands
|
180
249
|
def print_build_error_instructions
|
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.47.0.beta.
|
4
|
+
version: 2.47.0.beta.20170715010003
|
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: 2017-07-
|
18
|
+
date: 2017-07-15 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|