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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb501af3bf16d7e81c4daebcc61af1d6690c82cf
4
- data.tar.gz: e12fb9d713d3d23c845f164db81916e0babd6476
3
+ metadata.gz: 45b717dcdea14e596b4d3e0fd9583725feb9a96e
4
+ data.tar.gz: a4d480615f7043858efb3d8dedd0a230a84c56f4
5
5
  SHA512:
6
- metadata.gz: 1da8ce91656dde38c50a695eef82424196272f357d911aae6199eb4a257e2cc166489b03bd5253535b8af88da8bee3a47c9c9446cdf9fa231ab6e23f00a80cb1
7
- data.tar.gz: a13e835314b6667d17d5d990830963b722979c9e6b7abaca86ac779622512cc857cae53f572710d8fd9814cf29d42dd5b026bcc2d7831c0d33792aabd86f18e0
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://guides.cocoapods.org/using/a-gemfile.html
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
- values[:export_method] ||= Actions.lane_context[SharedValues::SIGH_PROFILE_TYPE]
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
- if Time.now - before_import_time > 3 && !running_version_command?
22
- print_slow_fastlane_warning
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 print_slow_fastlane_warning
82
- # `BUNDLE_BIN_PATH` is used when the user uses `bundle exec`
83
- return if FastlaneCore::Env.truthy?('BUNDLE_BIN_PATH') || FastlaneCore::Env.truthy?('SKIP_SLOW_FASTLANE_WARNING') || FastlaneCore::Helper.contained_fastlane?
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 fastlane is still slow
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
- UI.important "Seems like launching fastlane takes a while"
90
- UI.important "fastlane detected a Gemfile in this directory"
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
- else
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://guides.cocoapods.org/using/a-gemfile.html"
115
+ UI.important "For more information, check out https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile"
115
116
 
116
- sleep 1
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
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.47.0.beta.20170714010002'.freeze
2
+ VERSION = '2.47.0.beta.20170715010003'.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
  end
@@ -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
@@ -29,7 +29,6 @@ module Precheck
29
29
  "google",
30
30
  "compuserve",
31
31
  "windows phone",
32
- "tizen",
33
32
  "windows 10 mobile",
34
33
  "sailfish os",
35
34
  "windows universal app",
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.20170714010002
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-14 00:00:00.000000000 Z
18
+ date: 2017-07-15 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier