fastlane 2.86.0.beta.20180316050051 → 2.86.0.beta.20180317050040

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/credentials_manager/lib/credentials_manager/appfile_config.rb +1 -1
  3. data/deliver/lib/deliver/app_screenshot.rb +4 -4
  4. data/deliver/lib/deliver/commands_generator.rb +1 -1
  5. data/deliver/lib/deliver/options.rb +5 -0
  6. data/deliver/lib/deliver/runner.rb +9 -1
  7. data/deliver/lib/deliver/submit_for_review.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +8 -2
  9. data/fastlane/lib/fastlane/actions/badge.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/crashlytics.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/download_dsyms.rb +18 -15
  12. data/fastlane/lib/fastlane/actions/get_build_number.rb +1 -1
  13. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  14. data/fastlane/lib/fastlane/actions/get_version_number.rb +68 -84
  15. data/fastlane/lib/fastlane/actions/hockey.rb +4 -4
  16. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/installr.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/oclint.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/slather.rb +1 -1
  21. data/fastlane/lib/fastlane/actions/sonar.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/testfairy.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -2
  25. data/fastlane/lib/fastlane/actions/typetalk.rb +1 -1
  26. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/update_info_plist.rb +2 -2
  29. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +2 -2
  30. data/fastlane/lib/fastlane/actions/verify_xcode.rb +1 -1
  31. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +1 -1
  32. data/fastlane/lib/fastlane/configuration_helper.rb +1 -1
  33. data/fastlane/lib/fastlane/lane_manager.rb +4 -4
  34. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +2 -1
  35. data/fastlane/lib/fastlane/runner.rb +2 -2
  36. data/fastlane/lib/fastlane/server/socket_server.rb +17 -3
  37. data/fastlane/lib/fastlane/setup/setup.rb +1 -1
  38. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +1 -4
  39. data/fastlane/lib/fastlane/swift_lane_manager.rb +2 -2
  40. data/fastlane/lib/fastlane/version.rb +1 -1
  41. data/fastlane_core/lib/fastlane_core/command_executor.rb +1 -1
  42. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -5
  43. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  44. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -1
  45. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +2 -2
  46. data/fastlane_core/lib/fastlane_core/project.rb +6 -5
  47. data/fastlane_core/lib/fastlane_core/tool_collector.rb +1 -1
  48. data/frameit/lib/frameit/editor.rb +2 -2
  49. data/gym/lib/gym/generators/build_command_generator.rb +0 -1
  50. data/match/lib/match/git_helper.rb +1 -1
  51. data/match/lib/match/options.rb +1 -1
  52. data/match/lib/match/runner.rb +3 -3
  53. data/pilot/lib/pilot/build_manager.rb +3 -3
  54. data/scan/lib/scan/slack_poster.rb +1 -1
  55. data/scan/lib/scan/test_command_generator.rb +0 -1
  56. data/scan/lib/scan/test_result_parser.rb +1 -1
  57. data/sigh/lib/sigh/runner.rb +1 -1
  58. data/snapshot/lib/snapshot/options.rb +8 -0
  59. data/snapshot/lib/snapshot/runner.rb +1 -1
  60. data/snapshot/lib/snapshot/test_command_generator.rb +28 -1
  61. data/spaceship/lib/spaceship/client.rb +4 -4
  62. data/spaceship/lib/spaceship/du/du_client.rb +1 -1
  63. data/spaceship/lib/spaceship/launcher.rb +1 -1
  64. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +4 -4
  65. data/spaceship/lib/spaceship/tunes/application.rb +34 -0
  66. data/spaceship/lib/spaceship/tunes/build_train.rb +1 -0
  67. data/spaceship/lib/spaceship/tunes/tunes_client.rb +4 -4
  68. metadata +27 -13
@@ -74,7 +74,7 @@ module Fastlane
74
74
  optional: true,
75
75
  verify_block: proc do |value|
76
76
  UI.user_error!("Please pass the path to the project, not the workspace") if value.end_with?(".xcworkspace")
77
- UI.user_error!("Could not find Xcode project") if !File.exist?(value) and !Helper.test?
77
+ UI.user_error!("Could not find Xcode project") if !File.exist?(value) && !Helper.test?
78
78
  end)
79
79
  ]
80
80
  end
@@ -70,7 +70,7 @@ module Fastlane
70
70
  sensitive: true,
71
71
  description: "API Token for Installr Access",
72
72
  verify_block: proc do |value|
73
- UI.user_error!("No API token for Installr given, pass using `api_token: 'token'`") unless value and !value.empty?
73
+ UI.user_error!("No API token for Installr given, pass using `api_token: 'token'`") unless value && !value.empty?
74
74
  end),
75
75
  FastlaneCore::ConfigItem.new(key: :ipa,
76
76
  env_name: "INSTALLR_IPA_PATH",
@@ -8,7 +8,7 @@ module Fastlane
8
8
  # rubocop:disable Metrics/PerceivedComplexity
9
9
  def self.run(params)
10
10
  oclint_path = params[:oclint_path]
11
- if `which #{oclint_path}`.to_s.empty? and !Helper.test?
11
+ if `which #{oclint_path}`.to_s.empty? && !Helper.test?
12
12
  UI.user_error!("You have to install oclint or provide path to oclint binary. Fore more details: ") + "http://docs.oclint.org/en/stable/intro/installation.html".yellow
13
13
  end
14
14
 
@@ -16,7 +16,7 @@ module Fastlane
16
16
  unless version_number
17
17
  # Automatically fetch the latest version
18
18
  UI.message("Fetching the latest version for this app")
19
- if app.edit_version and app.edit_version.version
19
+ if app.edit_version && app.edit_version.version
20
20
  version_number = app.edit_version.version
21
21
  else
22
22
  UI.message("You have to specify a new version number: ")
@@ -126,7 +126,7 @@ Slather is available at https://github.com/SlatherOrg/slather
126
126
  env_name: "FL_SLATHER_PROJ", # The name of the environment variable
127
127
  description: "The project file that slather looks at", # a short description of this parameter
128
128
  verify_block: proc do |value|
129
- UI.user_error!("No project file specified, pass using `proj: 'Project.xcodeproj'`") unless value and !value.empty?
129
+ UI.user_error!("No project file specified, pass using `proj: 'Project.xcodeproj'`") unless value && !value.empty?
130
130
  end,
131
131
  optional: true),
132
132
  FastlaneCore::ConfigItem.new(key: :workspace,
@@ -56,7 +56,7 @@ module Fastlane
56
56
  description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-scanner binary
57
57
  optional: true,
58
58
  verify_block: proc do |value|
59
- UI.user_error!("Couldn't find file at path '#{value}'") unless value.nil? or File.exist?(value)
59
+ UI.user_error!("Couldn't find file at path '#{value}'") unless value.nil? || File.exist?(value)
60
60
  end),
61
61
  FastlaneCore::ConfigItem.new(key: :project_key,
62
62
  env_name: "FL_SONAR_RUNNER_PROJECT_KEY",
@@ -7,7 +7,7 @@ module Fastlane
7
7
  end
8
8
 
9
9
  version = swiftlint_version(executable: params[:executable])
10
- if params[:mode] == :autocorrect and version < Gem::Version.new('0.5.0') and !Helper.test?
10
+ if params[:mode] == :autocorrect && version < Gem::Version.new('0.5.0') && !Helper.test?
11
11
  UI.user_error!("Your version of swiftlint (#{version}) does not support autocorrect mode.\nUpdate swiftlint using `brew update && brew upgrade swiftlint`")
12
12
  end
13
13
 
@@ -18,7 +18,7 @@ module Fastlane
18
18
  builder.adapter(:net_http)
19
19
  end
20
20
 
21
- options[:file] = Faraday::UploadIO.new(ipa, 'application/octet-stream') if ipa and File.exist?(ipa)
21
+ options[:file] = Faraday::UploadIO.new(ipa, 'application/octet-stream') if ipa && File.exist?(ipa)
22
22
 
23
23
  symbols_file = options.delete(:symbols_file)
24
24
  if symbols_file
@@ -71,14 +71,14 @@ module Fastlane
71
71
  env_name: "TRYOUTS_APP_ID",
72
72
  description: "Tryouts application hash",
73
73
  verify_block: proc do |value|
74
- UI.user_error!("No application identifier for Tryouts given, pass using `app_id: 'application id'`") unless value and !value.empty?
74
+ UI.user_error!("No application identifier for Tryouts given, pass using `app_id: 'application id'`") unless value && !value.empty?
75
75
  end),
76
76
  FastlaneCore::ConfigItem.new(key: :api_token,
77
77
  env_name: "TRYOUTS_API_TOKEN",
78
78
  sensitive: true,
79
79
  description: "API Token for Tryouts Access",
80
80
  verify_block: proc do |value|
81
- UI.user_error!("No API token for Tryouts given, pass using `api_token: 'token'`") unless value and !value.empty?
81
+ UI.user_error!("No API token for Tryouts given, pass using `api_token: 'token'`") unless value && !value.empty?
82
82
  end),
83
83
  FastlaneCore::ConfigItem.new(key: :build_file,
84
84
  env_name: "TRYOUTS_BUILD_FILE",
@@ -18,7 +18,7 @@ module Fastlane
18
18
  message = "#{emoticon} #{options[:message]}"
19
19
 
20
20
  note_path = File.expand_path(options[:note_path]) if options[:note_path]
21
- if note_path and File.exist?(note_path)
21
+ if note_path && File.exist?(note_path)
22
22
  contents = File.read(note_path)
23
23
  message += "\n\n```\n#{contents}\n```"
24
24
  end
@@ -48,7 +48,7 @@ module Fastlane
48
48
  description: "The path to the entitlement file which contains the app group identifiers", # a short description of this parameter
49
49
  verify_block: proc do |value|
50
50
  UI.user_error!("Please pass a path to an entitlements file. ") unless value.include?(".entitlements")
51
- UI.user_error!("Could not find entitlements file") if !File.exist?(value) and !Helper.test?
51
+ UI.user_error!("Could not find entitlements file") if !File.exist?(value) && !Helper.test?
52
52
  end),
53
53
  FastlaneCore::ConfigItem.new(key: :app_group_identifiers,
54
54
  env_name: "FL_UPDATE_APP_GROUP_IDENTIFIER_APP_GROUP_IDENTIFIERS",
@@ -56,7 +56,7 @@ module Fastlane
56
56
  description: "The path to the entitlement file which contains the iCloud container identifiers",
57
57
  verify_block: proc do |value|
58
58
  UI.user_error!("Please pass a path to an entitlements file. ") unless value.include?(".entitlements")
59
- UI.user_error!("Could not find entitlements file") if !File.exist?(value) and !Helper.test?
59
+ UI.user_error!("Could not find entitlements file") if !File.exist?(value) && !Helper.test?
60
60
  end),
61
61
  FastlaneCore::ConfigItem.new(key: :icloud_container_identifiers,
62
62
  env_name: "FL_UPDATE_ICLOUD_CONTAINER_IDENTIFIERS_IDENTIFIERS",
@@ -8,8 +8,8 @@ module Fastlane
8
8
  require 'xcodeproj'
9
9
 
10
10
  # Check if parameters are set
11
- if params[:app_identifier] or params[:display_name] or params[:block]
12
- if (params[:app_identifier] or params[:display_name]) and params[:block]
11
+ if params[:app_identifier] || params[:display_name] || params[:block]
12
+ if (params[:app_identifier] || params[:display_name]) && params[:block]
13
13
  UI.important("block parameter can not be specified with app_identifier or display_name")
14
14
  return false
15
15
  end
@@ -100,13 +100,13 @@ module Fastlane
100
100
  env_name: "SENTRY_ORG_SLUG",
101
101
  description: "Organization slug for Sentry project",
102
102
  verify_block: proc do |value|
103
- UI.user_error!("No organization slug for SentryAction given, pass using `org_slug: 'org'`") unless value and !value.empty?
103
+ UI.user_error!("No organization slug for SentryAction given, pass using `org_slug: 'org'`") unless value && !value.empty?
104
104
  end),
105
105
  FastlaneCore::ConfigItem.new(key: :project_slug,
106
106
  env_name: "SENTRY_PROJECT_SLUG",
107
107
  description: "Project slug for Sentry",
108
108
  verify_block: proc do |value|
109
- UI.user_error!("No project slug for SentryAction given, pass using `project_slug: 'project'`") unless value and !value.empty?
109
+ UI.user_error!("No project slug for SentryAction given, pass using `project_slug: 'project'`") unless value && !value.empty?
110
110
  end),
111
111
  FastlaneCore::ConfigItem.new(key: :dsym_path,
112
112
  env_name: "SENTRY_DSYM_PATH",
@@ -70,7 +70,7 @@ module Fastlane
70
70
 
71
71
  output = verify(command: command, must_includes: must_includes, params: params)
72
72
 
73
- if output.include?("source=Mac App Store") or output.include?("source=Apple") or output.include?("source=Apple System")
73
+ if output.include?("source=Mac App Store") || output.include?("source=Apple") || output.include?("source=Apple System")
74
74
  UI.success("Successfully verified Xcode installation at path '#{params[:xcode_path]}' 🎧")
75
75
  else
76
76
  show_and_raise_error("Invalid Download Source of Xcode: #{output}", params[:xcode_path])
@@ -186,7 +186,7 @@ module Fastlane
186
186
  'X-XCSAPIVersion' => 1 # XCS API version with this API, Xcode needs this otherwise it explodes in a 500 error fire. Currently Xcode 7 Beta 5 is on Version 5.
187
187
  }
188
188
 
189
- if @username and @password
189
+ if @username && @password
190
190
  userpass = "#{@username}:#{@password}"
191
191
  headers['Authorization'] = "Basic #{Base64.strict_encode64(userpass)}"
192
192
  end
@@ -3,7 +3,7 @@ module Fastlane
3
3
  def self.parse(action, params)
4
4
  first_element = (action.available_options || []).first
5
5
 
6
- if first_element and first_element.kind_of?(FastlaneCore::ConfigItem)
6
+ if first_element && first_element.kind_of?(FastlaneCore::ConfigItem)
7
7
  # default use case
8
8
  return FastlaneCore::Configuration.create(action.available_options, params)
9
9
  elsif first_element
@@ -7,9 +7,9 @@ module Fastlane
7
7
  # @param parameters [Hash] The parameters passed from the command line to the lane
8
8
  # @param env Dot Env Information
9
9
  def self.cruise_lane(platform, lane, parameters = nil, env = nil)
10
- UI.user_error!("lane must be a string") unless lane.kind_of?(String) or lane.nil?
11
- UI.user_error!("platform must be a string") unless platform.kind_of?(String) or platform.nil?
12
- UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) or parameters.nil?
10
+ UI.user_error!("lane must be a string") unless lane.kind_of?(String) || lane.nil?
11
+ UI.user_error!("platform must be a string") unless platform.kind_of?(String) || platform.nil?
12
+ UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) || parameters.nil?
13
13
 
14
14
  ff = Fastlane::FastFile.new(FastlaneCore::FastlaneFolder.fastfile_path)
15
15
 
@@ -29,7 +29,7 @@ module Fastlane
29
29
  end
30
30
  end
31
31
 
32
- if !platform and lane
32
+ if !platform && lane
33
33
  # Either, the user runs a specific lane in root or want to auto complete the available lanes for a platform
34
34
  # e.g. `fastlane ios` should list all available iOS actions
35
35
  if ff.is_platform_block?(lane)
@@ -90,7 +90,8 @@ Style/RedundantReturn:
90
90
  Style/IfUnlessModifier:
91
91
  Enabled: false
92
92
  Style/AndOr:
93
- Enabled: false
93
+ Enabled: true
94
+ EnforcedStyle: conditionals
94
95
  Metrics/ClassLength:
95
96
  Max: 320
96
97
  Metrics/LineLength:
@@ -238,7 +238,7 @@ module Fastlane
238
238
  # Since we usually just need the passed hash, we'll just use the first object if there is only one
239
239
  if arguments.count == 0
240
240
  arguments = ConfigurationHelper.parse(class_ref, {}) # no parameters => empty hash
241
- elsif arguments.count == 1 and arguments.first.kind_of?(Hash)
241
+ elsif arguments.count == 1 && arguments.first.kind_of?(Hash)
242
242
  arguments = ConfigurationHelper.parse(class_ref, arguments.first) # Correct configuration passed
243
243
  elsif !class_ref.available_options
244
244
  # This action does not use the new action format
@@ -309,7 +309,7 @@ module Fastlane
309
309
  def add_lane(lane, override = false)
310
310
  lanes[lane.platform] ||= {}
311
311
 
312
- if !override and lanes[lane.platform][lane.name]
312
+ if !override && lanes[lane.platform][lane.name]
313
313
  UI.user_error!("Lane '#{lane.name}' was defined multiple times!")
314
314
  end
315
315
 
@@ -194,11 +194,18 @@ module Fastlane
194
194
  return_value: closure_arg,
195
195
  return_value_type: :string # always assume string for closure error_callback
196
196
  )
197
- closure_arg = ', "closure_argument_value": ' + closure_arg
198
197
  end
199
198
 
200
199
  Thread.current[:exception] = nil
201
- return '{"payload":{"status":"ready_for_next", "return_object":' + return_object + closure_arg + '}}'
200
+
201
+ payload = {
202
+ payload: {
203
+ status: "ready_for_next",
204
+ return_object: return_object,
205
+ closure_argument_value: closure_arg
206
+ }
207
+ }
208
+ return JSON.generate(payload)
202
209
  rescue StandardError => e
203
210
  Thread.current[:exception] = e
204
211
 
@@ -210,7 +217,14 @@ module Fastlane
210
217
  exception_array << "cause: #{e.class}"
211
218
  exception_array << e.backtrace
212
219
  end
213
- return "{\"payload\":{\"status\":\"failure\",\"failure_information\":#{exception_array.flatten}}}"
220
+
221
+ payload = {
222
+ payload: {
223
+ status: "failure",
224
+ failure_information: exception_array.flatten
225
+ }
226
+ }
227
+ return JSON.generate(payload)
214
228
  end
215
229
  end
216
230
  end
@@ -34,7 +34,7 @@ module Fastlane
34
34
  # Start the setup process
35
35
  # rubocop:disable Metrics/BlockNesting
36
36
  def self.start(user: nil, is_swift_fastfile: false)
37
- if FastlaneCore::FastlaneFolder.setup? and !Helper.test?
37
+ if FastlaneCore::FastlaneFolder.setup? && !Helper.test?
38
38
  require 'fastlane/lane_list'
39
39
  Fastlane::LaneList.output(FastlaneCore::FastlaneFolder.fastfile_path)
40
40
  UI.important("------------------")
@@ -321,10 +321,7 @@ func parseInt(fromString: String, function: String = #function) -> Int {
321
321
  end
322
322
 
323
323
  def process_action(action: nil)
324
- unless action.available_options
325
- return nil
326
- end
327
- options = action.available_options
324
+ options = action.available_options || []
328
325
 
329
326
  action_name = action.action_name
330
327
  keys = []
@@ -7,8 +7,8 @@ module Fastlane
7
7
  # @param parameters [Hash] The parameters passed from the command line to the lane
8
8
  # @param env Dot Env Information
9
9
  def self.cruise_lane(lane, parameters = nil, env = nil, disable_runner_upgrades: false)
10
- UI.user_error!("lane must be a string") unless lane.kind_of?(String) or lane.nil?
11
- UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) or parameters.nil?
10
+ UI.user_error!("lane must be a string") unless lane.kind_of?(String) || lane.nil?
11
+ UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) || parameters.nil?
12
12
 
13
13
  # xcodeproj has a bug in certain versions that causes it to change directories
14
14
  # and not return to the original working directory
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.86.0.beta.20180316050051'.freeze
2
+ VERSION = '2.86.0.beta.20180317050040'.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
@@ -43,7 +43,7 @@ module FastlaneCore
43
43
  command = command.join(" ") if command.kind_of?(Array)
44
44
  UI.command(command) if print_command
45
45
 
46
- if print_all and loading # this is only used to show the "Loading text"...
46
+ if print_all && loading # this is only used to show the "Loading text"...
47
47
  UI.command_output(loading)
48
48
  end
49
49
 
@@ -216,9 +216,9 @@ module FastlaneCore
216
216
  option = verify_options_key!(key)
217
217
 
218
218
  # Same order as https://docs.fastlane.tools/advanced/#priorities-of-parameters-and-options
219
- value = if @values.key?(key) and !@values[key].nil?
219
+ value = if @values.key?(key) && !@values[key].nil?
220
220
  @values[key]
221
- elsif option.env_name and !ENV[option.env_name].nil?
221
+ elsif option.env_name && !ENV[option.env_name].nil?
222
222
  ENV[option.env_name].dup
223
223
  elsif self.config_file_options.key?(key)
224
224
  self.config_file_options[key]
@@ -227,11 +227,11 @@ module FastlaneCore
227
227
  end
228
228
 
229
229
  value = option.auto_convert_value(value)
230
- value = nil if value.nil? and !option.string? # by default boolean flags are false
231
- return value unless value.nil? and !option.optional and ask
230
+ value = nil if value.nil? && !option.string? # by default boolean flags are false
231
+ return value unless value.nil? && !option.optional && ask
232
232
 
233
233
  # fallback to asking
234
- if Helper.test? or !UI.interactive?
234
+ if Helper.test? || !UI.interactive?
235
235
  # Since we don't want to be asked on tests, we'll just call the verify block with no value
236
236
  # to raise the exception that is shown when the user passes an invalid value
237
237
  set(key, '')
@@ -342,7 +342,7 @@ module FastlaneCore
342
342
  def self.gem_path(gem_name)
343
343
  UI.deprecated('`Helper.gem_path` is deprecated. Use the `ROOT` constant from the appropriate tool module instead.')
344
344
 
345
- if !Helper.test? and Gem::Specification.find_all_by_name(gem_name).any?
345
+ if !Helper.test? && Gem::Specification.find_all_by_name(gem_name).any?
346
346
  return Gem::Specification.find_by_name(gem_name).gem_dir
347
347
  else
348
348
  return './'
@@ -51,7 +51,7 @@ module FastlaneCore
51
51
  end
52
52
  result = CFPropertyList.native_types(CFPropertyList::List.new(file: tmp_path).value)
53
53
 
54
- if result['CFBundleIdentifier'] or result['CFBundleVersion']
54
+ if result['CFBundleIdentifier'] || result['CFBundleVersion']
55
55
  return result
56
56
  end
57
57
  end
@@ -118,7 +118,7 @@ module FastlaneCore
118
118
  UI.error("[Transporter Error Output]: #{$1}")
119
119
 
120
120
  # Check if it's a login error
121
- if $1.include?("Your Apple ID or password was entered incorrectly") or
121
+ if $1.include?("Your Apple ID or password was entered incorrectly") ||
122
122
  $1.include?("This Apple ID has been locked for security reasons")
123
123
 
124
124
  unless Helper.test?
@@ -148,7 +148,7 @@ module FastlaneCore
148
148
  end
149
149
  end
150
150
 
151
- if !hide_output and line =~ OUTPUT_REGEX
151
+ if !hide_output && line =~ OUTPUT_REGEX
152
152
  # General logging for debug purposes
153
153
  unless output_done
154
154
  UI.verbose("[Transporter]: #{$1}")
@@ -7,7 +7,7 @@ module FastlaneCore
7
7
  class << self
8
8
  # Project discovery
9
9
  def detect_projects(config)
10
- if config[:workspace].to_s.length > 0 and config[:project].to_s.length > 0
10
+ if config[:workspace].to_s.length > 0 && config[:project].to_s.length > 0
11
11
  UI.user_error!("You can only pass either a workspace or a project path, not both")
12
12
  end
13
13
 
@@ -25,7 +25,7 @@ module FastlaneCore
25
25
 
26
26
  return if config[:workspace].to_s.length > 0
27
27
 
28
- if config[:workspace].to_s.length == 0 and config[:project].to_s.length == 0
28
+ if config[:workspace].to_s.length == 0 && config[:project].to_s.length == 0
29
29
  project = Dir["./*.xcodeproj"]
30
30
  if project.count > 1
31
31
  puts("Select Project: ")
@@ -35,7 +35,7 @@ module FastlaneCore
35
35
  end
36
36
  end
37
37
 
38
- if config[:workspace].nil? and config[:project].nil?
38
+ if config[:workspace].nil? && config[:project].nil?
39
39
  select_project(config)
40
40
  end
41
41
  end
@@ -83,7 +83,7 @@ module FastlaneCore
83
83
  self.xcodebuild_list_silent = xcodebuild_list_silent
84
84
  self.xcodebuild_suppress_stderr = xcodebuild_suppress_stderr
85
85
 
86
- if !path or !File.directory?(path)
86
+ if !path || !File.directory?(path)
87
87
  UI.user_error!("Could not find project at path '#{path}'")
88
88
  end
89
89
  end
@@ -144,7 +144,7 @@ module FastlaneCore
144
144
  preferred = schemes.find_all { |a| a.downcase.include?(preferred_to_include.downcase) }
145
145
  end
146
146
 
147
- if preferred_to_include and preferred.count == 1
147
+ if preferred_to_include && preferred.count == 1
148
148
  options[:scheme] = preferred.last
149
149
  elsif automated_scheme_selection? && schemes.include?(project_name)
150
150
  UI.important("Using scheme matching project name (#{project_name}).")
@@ -309,6 +309,7 @@ module FastlaneCore
309
309
  proj << "-scheme #{options[:scheme].shellescape}" if options[:scheme]
310
310
  proj << "-project #{options[:project].shellescape}" if options[:project]
311
311
  proj << "-configuration #{options[:configuration].shellescape}" if options[:configuration]
312
+ proj << "-xcconfig #{options[:xcconfig].shellescape}" if options[:xcconfig]
312
313
 
313
314
  return proj
314
315
  end