fastlane 2.47.0.beta.20170714010002 → 2.47.0.beta.20170715010003
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/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
|