fastlane 2.98.0 → 2.99.0

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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +70 -70
  3. data/credentials_manager/lib/credentials_manager/appfile_config.rb +1 -1
  4. data/deliver/lib/assets/DeliverfileDefault +1 -1
  5. data/deliver/lib/assets/DeliverfileDefault.swift +1 -1
  6. data/deliver/lib/assets/summary.html.erb +1 -1
  7. data/deliver/lib/deliver/commands_generator.rb +2 -2
  8. data/deliver/lib/deliver/detect_values.rb +1 -1
  9. data/deliver/lib/deliver/download_screenshots.rb +1 -1
  10. data/deliver/lib/deliver/options.rb +3 -3
  11. data/deliver/lib/deliver/runner.rb +9 -9
  12. data/deliver/lib/deliver/submit_for_review.rb +3 -3
  13. data/deliver/lib/deliver/upload_metadata.rb +3 -3
  14. data/deliver/lib/deliver/upload_screenshots.rb +2 -2
  15. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +3 -3
  16. data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -0
  17. data/fastlane/lib/fastlane/actions/create_app_online.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +3 -3
  19. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +8 -8
  20. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  21. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +2 -2
  22. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +14 -14
  23. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +2 -2
  24. data/fastlane/lib/fastlane/actions/download_dsyms.rb +7 -7
  25. data/fastlane/lib/fastlane/actions/github_api.rb +2 -0
  26. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
  27. data/fastlane/lib/fastlane/actions/set_changelog.rb +6 -6
  28. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -1
  29. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +1 -1
  30. data/fastlane/lib/fastlane/command_line_handler.rb +2 -2
  31. data/fastlane/lib/fastlane/commands_generator.rb +1 -0
  32. data/fastlane/lib/fastlane/fast_file.rb +8 -6
  33. data/fastlane/lib/fastlane/lane_manager.rb +0 -3
  34. data/fastlane/lib/fastlane/runner.rb +1 -9
  35. data/fastlane/lib/fastlane/server/socket_server.rb +4 -2
  36. data/fastlane/lib/fastlane/setup/setup_ios.rb +12 -12
  37. data/fastlane/lib/fastlane/swift_lane_manager.rb +9 -8
  38. data/fastlane/lib/fastlane/version.rb +1 -1
  39. data/fastlane/swift/Appfile.swift +1 -1
  40. data/fastlane/swift/ArgumentProcessor.swift +3 -1
  41. data/fastlane/swift/ControlCommand.swift +0 -1
  42. data/fastlane/swift/Deliverfile.swift +1 -1
  43. data/fastlane/swift/Fastlane.swift +3 -3
  44. data/fastlane/swift/Gymfile.swift +1 -1
  45. data/fastlane/swift/LaneFileProtocol.swift +0 -1
  46. data/fastlane/swift/Matchfile.swift +1 -1
  47. data/fastlane/swift/Precheckfile.swift +1 -1
  48. data/fastlane/swift/RubyCommand.swift +0 -1
  49. data/fastlane/swift/RubyCommandable.swift +0 -1
  50. data/fastlane/swift/Runner.swift +7 -7
  51. data/fastlane/swift/RunnerArgument.swift +0 -1
  52. data/fastlane/swift/Scanfile.swift +1 -1
  53. data/fastlane/swift/Screengrabfile.swift +1 -1
  54. data/fastlane/swift/Snapshotfile.swift +1 -1
  55. data/fastlane/swift/SocketClient.swift +0 -1
  56. data/fastlane/swift/SocketClientDelegateProtocol.swift +0 -1
  57. data/fastlane/swift/SocketResponse.swift +0 -1
  58. data/fastlane/swift/main.swift +2 -2
  59. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +10 -39
  60. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +34 -30
  61. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +16 -176
  62. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +1 -1
  63. data/fastlane_core/lib/fastlane_core/build_watcher.rb +2 -2
  64. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +8 -8
  65. data/fastlane_core/lib/fastlane_core/module.rb +2 -5
  66. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +0 -1
  67. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +5 -7
  68. data/gym/lib/gym/detect_values.rb +23 -0
  69. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +1 -21
  70. data/match/lib/match/spaceship_ensure.rb +1 -1
  71. data/pilot/lib/pilot/build_manager.rb +2 -2
  72. data/pilot/lib/pilot/manager.rb +2 -2
  73. data/pilot/lib/pilot/options.rb +4 -4
  74. data/precheck/lib/precheck/options.rb +2 -2
  75. data/produce/lib/produce/commands_generator.rb +1 -1
  76. data/produce/lib/produce/developer_center.rb +1 -1
  77. data/produce/lib/produce/itunes_connect.rb +6 -6
  78. data/produce/lib/produce/options.rb +4 -4
  79. data/scan/lib/scan/test_command_generator.rb +6 -2
  80. data/screengrab/lib/screengrab/runner.rb +2 -2
  81. data/sigh/lib/sigh/runner.rb +6 -1
  82. data/snapshot/lib/assets/SnapshotHelper.swift +0 -1
  83. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +0 -1
  84. data/spaceship/README.md +3 -3
  85. data/spaceship/lib/spaceship.rb +1 -1
  86. data/spaceship/lib/spaceship/client.rb +12 -7
  87. data/spaceship/lib/spaceship/du/du_client.rb +1 -1
  88. data/spaceship/lib/spaceship/errors.rb +1 -1
  89. data/spaceship/lib/spaceship/module.rb +1 -1
  90. data/spaceship/lib/spaceship/playground.rb +3 -3
  91. data/spaceship/lib/spaceship/portal/portal_client.rb +2 -2
  92. data/spaceship/lib/spaceship/spaceauth_runner.rb +5 -5
  93. data/spaceship/lib/spaceship/test_flight/client.rb +12 -1
  94. data/spaceship/lib/spaceship/test_flight/group.rb +1 -1
  95. data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
  96. data/spaceship/lib/spaceship/tunes/app_analytics.rb +143 -0
  97. data/spaceship/lib/spaceship/tunes/app_details.rb +1 -1
  98. data/spaceship/lib/spaceship/tunes/app_image.rb +1 -1
  99. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +1 -1
  100. data/spaceship/lib/spaceship/tunes/app_status.rb +2 -2
  101. data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -1
  102. data/spaceship/lib/spaceship/tunes/app_trailer.rb +1 -1
  103. data/spaceship/lib/spaceship/tunes/app_version.rb +6 -6
  104. data/spaceship/lib/spaceship/tunes/app_version_history.rb +1 -1
  105. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +1 -1
  106. data/spaceship/lib/spaceship/tunes/application.rb +15 -4
  107. data/spaceship/lib/spaceship/tunes/availability.rb +24 -8
  108. data/spaceship/lib/spaceship/tunes/b2b_user.rb +7 -2
  109. data/spaceship/lib/spaceship/tunes/build.rb +2 -2
  110. data/spaceship/lib/spaceship/tunes/build_details.rb +1 -1
  111. data/spaceship/lib/spaceship/tunes/build_train.rb +2 -2
  112. data/spaceship/lib/spaceship/tunes/errors.rb +1 -1
  113. data/spaceship/lib/spaceship/tunes/iap.rb +2 -2
  114. data/spaceship/lib/spaceship/tunes/iap_status.rb +1 -1
  115. data/spaceship/lib/spaceship/tunes/iap_type.rb +1 -1
  116. data/spaceship/lib/spaceship/tunes/tunes.rb +1 -0
  117. data/spaceship/lib/spaceship/tunes/tunes_client.rb +41 -13
  118. data/spaceship/lib/spaceship/two_step_client.rb +1 -1
  119. metadata +15 -14
@@ -42,9 +42,6 @@ module Fastlane
42
42
 
43
43
  platform, lane = choose_lane(ff, platform) unless lane
44
44
 
45
- # https://github.com/fastlane/fastlane/issues/11913
46
- # FastlaneCore.session.is_fastfile = true
47
-
48
45
  # xcodeproj has a bug in certain versions that causes it to change directories
49
46
  # and not return to the original working directory
50
47
  # https://github.com/CocoaPods/Xcodeproj/issues/426
@@ -224,10 +224,6 @@ module Fastlane
224
224
  verify_supported_os(method_sym, class_ref)
225
225
 
226
226
  begin
227
- # https://github.com/fastlane/fastlane/issues/11913
228
- # launch_context = FastlaneCore::ActionLaunchContext.context_for_action_name(method_sym.to_s, configuration_language: configuration_language, args: ARGV)
229
- # FastlaneCore.session.action_launched(launch_context: launch_context)
230
-
231
227
  Dir.chdir(custom_dir) do # go up from the fastlane folder, to the project folder
232
228
  # If another action is calling this action, we shouldn't show it in the summary
233
229
  # (see https://github.com/fastlane/fastlane/issues/4546)
@@ -254,11 +250,7 @@ module Fastlane
254
250
  puts("==========================================\n".deprecated)
255
251
  end
256
252
  class_ref.runner = self # needed to call another action form an action
257
- return_value = class_ref.run(arguments)
258
-
259
- action_completed(method_sym.to_s, status: FastlaneCore::ActionCompletionStatus::SUCCESS)
260
-
261
- return return_value
253
+ return class_ref.run(arguments)
262
254
  end
263
255
  end
264
256
  rescue Interrupt => e
@@ -19,7 +19,8 @@ module Fastlane
19
19
  command_executor: nil,
20
20
  return_value_processor: nil,
21
21
  connection_timeout: 5,
22
- stay_alive: false
22
+ stay_alive: false,
23
+ port: 2000
23
24
  )
24
25
  if return_value_processor.nil?
25
26
  return_value_processor = JSONReturnValueProcessor.new
@@ -29,6 +30,7 @@ module Fastlane
29
30
  @return_value_processor = return_value_processor
30
31
  @connection_timeout = connection_timeout.to_i
31
32
  @stay_alive = stay_alive
33
+ @port = port.to_i
32
34
  end
33
35
 
34
36
  # this is the public API, don't call anything else
@@ -135,7 +137,7 @@ module Fastlane
135
137
  end
136
138
 
137
139
  def listen
138
- @server = TCPServer.open('localhost', 2000) # Socket to listen on port 2000
140
+ @server = TCPServer.open('localhost', @port) # Socket to listen on port 2000
139
141
  UI.verbose("Waiting for #{@connection_timeout} seconds for a connection from FastlaneRunner")
140
142
 
141
143
  # set thread local to ready so we can check it
@@ -204,10 +204,10 @@ module Fastlane
204
204
  ui_testing_scheme = UI.select("Which is your UI Testing scheme? If you can't find it in this list, make sure it's marked as `Shared` in the Xcode scheme list", available_schemes)
205
205
 
206
206
  UI.header("Automatically upload to iTC?")
207
- UI.message("Would you like fastlane to automatically upload all generated screenshots to iTunes Connect")
207
+ UI.message("Would you like fastlane to automatically upload all generated screenshots to App Store Connect")
208
208
  UI.message("after generating them?")
209
- UI.message("If you enable this feature you'll need to provide your iTunes Connect credentials so fastlane can upload the screenshots to iTunes Connect")
210
- automatic_upload = UI.confirm("Enable automatic upload of localized screenshots to iTunes Connect?")
209
+ UI.message("If you enable this feature you'll need to provide your App Store Connect credentials so fastlane can upload the screenshots to App Store Connect")
210
+ automatic_upload = UI.confirm("Enable automatic upload of localized screenshots to App Store Connect?")
211
211
  if automatic_upload
212
212
  ask_for_credentials(adp: true, itc: true)
213
213
  verify_app_exists_itc!
@@ -293,13 +293,13 @@ module Fastlane
293
293
 
294
294
  def ask_for_credentials(itc: true, adp: false)
295
295
  UI.header("Login with your Apple ID")
296
- UI.message("To use iTunes Connect and Apple Developer Portal features as part of fastlane,")
296
+ UI.message("To use App Store Connect and Apple Developer Portal features as part of fastlane,")
297
297
  UI.message("we will ask you for your Apple ID username and password")
298
298
  UI.message("This is necessary for certain fastlane features, for example:")
299
299
  UI.message("")
300
300
  UI.message("- Create and manage your provisioning profiles on the Developer Portal")
301
- UI.message("- Upload and manage TestFlight and App Store builds on iTunes Connect")
302
- UI.message("- Manage your iTunes Connect app metadata and screenshots")
301
+ UI.message("- Upload and manage TestFlight and App Store builds on App Store Connect")
302
+ UI.message("- Manage your App Store Connect app metadata and screenshots")
303
303
  UI.message("")
304
304
  UI.message("Your Apple ID credentials will only be stored in your Keychain, on your local machine")
305
305
  UI.message("For more information, check out")
@@ -321,9 +321,9 @@ module Fastlane
321
321
  Spaceship::Tunes.select_team
322
322
  self.itc_team_id = Spaceship::Tunes.client.team_id
323
323
  if self.is_swift_fastfile
324
- self.append_team("var itcTeam: String? { return \"#{self.itc_team_id}\" } // iTunes Connect Team ID")
324
+ self.append_team("var itcTeam: String? { return \"#{self.itc_team_id}\" } // App Store Connect Team ID")
325
325
  else
326
- self.append_team("itc_team_id(\"#{self.itc_team_id}\") # iTunes Connect Team ID")
326
+ self.append_team("itc_team_id(\"#{self.itc_team_id}\") # App Store Connect Team ID")
327
327
  end
328
328
  end
329
329
 
@@ -386,19 +386,19 @@ module Fastlane
386
386
 
387
387
  def verify_app_exists_itc!
388
388
  UI.user_error!("No app identifier provided") if self.app_identifier.to_s.length == 0
389
- UI.message("Checking if the app '#{self.app_identifier}' exists on iTunes Connect...")
389
+ UI.message("Checking if the app '#{self.app_identifier}' exists on App Store Connect...")
390
390
  app = Spaceship::Tunes::Application.find(self.app_identifier)
391
391
  if app.nil?
392
- UI.error("Looks like the app '#{self.app_identifier}' isn't available on #{'iTunes Connect'.bold.underline}")
392
+ UI.error("Looks like the app '#{self.app_identifier}' isn't available on #{'App Store Connect'.bold.underline}")
393
393
  UI.error("for the team ID '#{self.itc_team_id}' on Apple ID '#{self.user}'")
394
- if UI.confirm("Would you like fastlane to create the App on iTunes Connect for you?")
394
+ if UI.confirm("Would you like fastlane to create the App on App Store Connect for you?")
395
395
  create_app_online!(mode: :itc)
396
396
  self.app_exists_on_itc = true
397
397
  else
398
398
  UI.important("Alright, we won't create the app for you. Be aware, the build is probably going to fail when you try it")
399
399
  end
400
400
  else
401
- UI.success("✅ Your app '#{self.app_identifier}' is available on iTunes Connect")
401
+ UI.success("✅ Your app '#{self.app_identifier}' is available on App Store Connect")
402
402
  self.app_exists_on_itc = true
403
403
  end
404
404
  end
@@ -6,7 +6,7 @@ module Fastlane
6
6
  # @param lane_name The name of the lane to execute
7
7
  # @param parameters [Hash] The parameters passed from the command line to the lane
8
8
  # @param env Dot Env Information
9
- def self.cruise_lane(lane, parameters = nil, env = nil, disable_runner_upgrades: false)
9
+ def self.cruise_lane(lane, parameters = nil, env = nil, disable_runner_upgrades: false, swift_server_port: nil)
10
10
  UI.user_error!("lane must be a string") unless lane.kind_of?(String) || lane.nil?
11
11
  UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) || parameters.nil?
12
12
 
@@ -15,8 +15,6 @@ module Fastlane
15
15
  # https://github.com/CocoaPods/Xcodeproj/issues/426
16
16
  # Setting this environment variable causes xcodeproj to work around the problem
17
17
  ENV["FORK_XCODE_WRITING"] = "true"
18
- # https://github.com/fastlane/fastlane/issues/11913
19
- # FastlaneCore.session.is_fastfile = true
20
18
 
21
19
  Fastlane::Helper::DotenvHelper.load_dot_env(env)
22
20
 
@@ -33,10 +31,11 @@ module Fastlane
33
31
  end
34
32
 
35
33
  self.ensure_runner_built!
36
- socket_thread = self.start_socket_thread
34
+ swift_server_port ||= 2000
35
+ socket_thread = self.start_socket_thread(port: swift_server_port)
37
36
  sleep(0.250) while socket_thread[:ready].nil?
38
37
  # wait on socket_thread to be in ready state, then start the runner thread
39
- self.cruise_swift_lane_in_thread(lane, parameters)
38
+ self.cruise_swift_lane_in_thread(lane, parameters, swift_server_port)
40
39
 
41
40
  socket_thread.join
42
41
  rescue Exception => ex # rubocop:disable Lint/RescueException
@@ -82,7 +81,7 @@ module Fastlane
82
81
  Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lanes))
83
82
  end
84
83
 
85
- def self.cruise_swift_lane_in_thread(lane, parameters = nil)
84
+ def self.cruise_swift_lane_in_thread(lane, parameters = nil, swift_server_port)
86
85
  if parameters.nil?
87
86
  parameters = {}
88
87
  end
@@ -96,6 +95,8 @@ module Fastlane
96
95
  parameter_string += " logMode verbose"
97
96
  end
98
97
 
98
+ parameter_string += " swiftServerPort #{swift_server_port}"
99
+
99
100
  return Thread.new do
100
101
  Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lane #{lane}#{parameter_string} > /dev/null))
101
102
  end
@@ -216,13 +217,13 @@ module Fastlane
216
217
  return project_modified
217
218
  end
218
219
 
219
- def self.start_socket_thread
220
+ def self.start_socket_thread(port: nil)
220
221
  require 'fastlane/server/socket_server'
221
222
  require 'fastlane/server/socket_server_action_command_executor'
222
223
 
223
224
  return Thread.new do
224
225
  command_executor = SocketServerActionCommandExecutor.new
225
- server = Fastlane::SocketServer.new(command_executor: command_executor)
226
+ server = Fastlane::SocketServer.new(command_executor: command_executor, port: port)
226
227
  server.start
227
228
  end
228
229
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.98.0'.freeze
2
+ VERSION = '2.99.0'.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
@@ -7,7 +7,7 @@ var appIdentifier: String { return "" } // The bundle identifier of your app
7
7
  var appleID: String { return "" } // Your Apple email address
8
8
 
9
9
  var teamID: String { return "" } // Developer Portal Team ID
10
- var itcTeam: String? { return nil } // iTunes Connect Team ID (may be nil if no team)
10
+ var itcTeam: String? { return nil } // App Store Connect Team ID (may be nil if no team)
11
11
 
12
12
  // you can even provide different app identifiers, Apple IDs and team names per lane:
13
13
  // More information: https://docs.fastlane.tools/advanced/#appfile
@@ -3,7 +3,6 @@
3
3
  // FastlaneRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 9/28/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -19,6 +18,7 @@ struct ArgumentProcessor {
19
18
  let args: [RunnerArgument]
20
19
  let currentLane: String
21
20
  let commandTimeout: Int
21
+ let port: UInt32
22
22
 
23
23
  init(args: [String]) {
24
24
  // Dump the first arg which is the program name
@@ -35,6 +35,8 @@ struct ArgumentProcessor {
35
35
  return arg.name.lowercased() == "logmode"
36
36
  }
37
37
 
38
+ port = UInt32(fastlaneArgsMinusLanes.first(where: { $0.name == "swiftServerPort" })?.value ?? "") ?? 2000
39
+
38
40
  // Configure logMode since we might need to use it before we finish parsing
39
41
  if let logModeArg = potentialLogMode.first {
40
42
  let logModeString = logModeArg.value
@@ -3,7 +3,6 @@
3
3
  // FastlaneRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 1/3/18.
6
- // Copyright © 2018 Joshua Liebowitz. All rights reserved.
7
6
 
8
7
  //
9
8
  // ** NOTE **
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -994,7 +994,7 @@ func cocoapods(clean: Bool = true,
994
994
  useBundleExec: Bool = true,
995
995
  podfile: String? = nil,
996
996
  errorCallback: String? = nil,
997
- tryRepoUpdateOnError: Bool? = nil) {
997
+ tryRepoUpdateOnError: Bool = false) {
998
998
  let command = RubyCommand(commandID: "", methodName: "cocoapods", className: nil, args: [RubyCommand.Argument(name: "clean", value: clean),
999
999
  RubyCommand.Argument(name: "integrate", value: integrate),
1000
1000
  RubyCommand.Argument(name: "repo_update", value: repoUpdate),
@@ -3945,7 +3945,7 @@ func xcov(workspace: String? = nil,
3945
3945
  coverallsServiceJobId: String? = nil,
3946
3946
  coverallsRepoToken: String? = nil,
3947
3947
  xcconfig: String? = nil,
3948
- ideFoundationPath: String = "/Applications/Xcode92/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
3948
+ ideFoundationPath: String = "/Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
3949
3949
  legacySupport: Bool = false) {
3950
3950
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
3951
3951
  RubyCommand.Argument(name: "project", value: project),
@@ -4051,4 +4051,4 @@ let screengrabfile: Screengrabfile = Screengrabfile()
4051
4051
  let snapshotfile: Snapshotfile = Snapshotfile()
4052
4052
  // Please don't remove the lines below
4053
4053
  // They are used to detect outdated files
4054
- // FastlaneRunnerAPIVersion [0.9.21]
4054
+ // FastlaneRunnerAPIVersion [0.9.22]
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 8/4/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -18,4 +18,4 @@ class Matchfile: MatchfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -18,4 +18,4 @@ class Precheckfile: PrecheckfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 8/4/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -3,7 +3,6 @@
3
3
  // FastlaneRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 1/4/18.
6
- // Copyright © 2018 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 8/26/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -34,7 +33,7 @@ class Runner {
34
33
  fileprivate var returnValue: String? // lol, so safe
35
34
  fileprivate var currentlyExecutingCommand: RubyCommandable? = nil
36
35
  fileprivate var shouldLeaveDispatchGroupDuringDisconnect = false
37
-
36
+
38
37
  func executeCommand(_ command: RubyCommandable) -> String {
39
38
  self.dispatchGroup.enter()
40
39
  currentlyExecutingCommand = command
@@ -60,12 +59,12 @@ class Runner {
60
59
 
61
60
  // Handle threading stuff
62
61
  extension Runner {
63
- func startSocketThread() {
62
+ func startSocketThread(port: UInt32) {
64
63
  let secondsToWait = DispatchTimeInterval.seconds(SocketClient.connectTimeoutSeconds)
65
64
 
66
65
  self.dispatchGroup.enter()
67
66
 
68
- self.socketClient = SocketClient(commandTimeoutSeconds:timeout, socketDelegate: self)
67
+ self.socketClient = SocketClient(port: port, commandTimeoutSeconds:timeout, socketDelegate: self)
69
68
  self.thread = Thread(target: self, selector: #selector(startSocketComs), object: nil)
70
69
  self.thread!.name = "socket thread"
71
70
  self.thread!.start()
@@ -94,7 +93,7 @@ extension Runner {
94
93
  guard let socketClient = self.socketClient else {
95
94
  return
96
95
  }
97
-
96
+
98
97
  socketClient.connectAndOpenStreams()
99
98
  self.dispatchGroup.leave()
100
99
  }
@@ -125,11 +124,11 @@ extension Runner : SocketClientDelegateProtocol {
125
124
  case .clientInitiatedCancelAcknowledged:
126
125
  verbose(message: "server acknowledged a cancel request")
127
126
  self.dispatchGroup.leave()
128
-
127
+
129
128
  case .alreadyClosedSockets, .connectionFailure, .malformedRequest, .malformedResponse, .serverError:
130
129
  log(message: "error encountered while executing command:\n\(serverResponse)")
131
130
  self.dispatchGroup.leave()
132
-
131
+
133
132
  case .commandTimeout(let timeout):
134
133
  log(message: "Runner timed out after \(timeout) second(s)")
135
134
  }
@@ -198,3 +197,4 @@ func verbose(message: String) {
198
197
  // Please don't remove the lines below
199
198
  // They are used to detect outdated files
200
199
  // FastlaneRunnerAPIVersion [0.9.2]
200
+
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 9/1/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -18,4 +18,4 @@ class Scanfile: ScanfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -18,4 +18,4 @@ class Screengrabfile: ScreengrabfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -18,4 +18,4 @@ class Snapshotfile: SnapshotfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.98.0
21
+ // Generated with fastlane 2.99.0
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 7/30/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 8/12/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 7/30/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -3,7 +3,6 @@
3
3
  // FastlaneSwiftRunner
4
4
  //
5
5
  // Created by Joshua Liebowitz on 8/26/17.
6
- // Copyright © 2017 Joshua Liebowitz. All rights reserved.
7
6
  //
8
7
 
9
8
  //
@@ -23,7 +22,7 @@ class MainProcess {
23
22
  var thread: Thread!
24
23
 
25
24
  @objc func connectToFastlaneAndRunLane() {
26
- runner.startSocketThread()
25
+ runner.startSocketThread(port: argumentProcessor.port)
27
26
 
28
27
  let completedRun = Fastfile.runLane(named: argumentProcessor.currentLane, parameters: argumentProcessor.laneParameters())
29
28
  if completedRun {
@@ -50,3 +49,4 @@ while (!process.doneRunningLane && (RunLoop.current.run(mode: RunLoopMode.defaul
50
49
  // Please don't remove the lines below
51
50
  // They are used to detect outdated files
52
51
  // FastlaneRunnerAPIVersion [0.9.2]
52
+