fastlane 2.146.1 → 2.147.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -82
  3. data/fastlane/lib/assets/custom_action_template.rb +6 -6
  4. data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
  5. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -1
  6. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  7. data/fastlane/lib/fastlane/actions/git_branch.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -3
  9. data/fastlane/lib/fastlane/actions/testfairy.rb +18 -3
  10. data/fastlane/lib/fastlane/actions/verify_xcode.rb +7 -0
  11. data/fastlane/lib/fastlane/commands_generator.rb +4 -1
  12. data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
  13. data/fastlane/lib/fastlane/version.rb +1 -1
  14. data/fastlane/swift/Deliverfile.swift +1 -1
  15. data/fastlane/swift/Fastlane.swift +41 -11
  16. data/fastlane/swift/Gymfile.swift +1 -1
  17. data/fastlane/swift/Matchfile.swift +1 -1
  18. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  19. data/fastlane/swift/Precheckfile.swift +1 -1
  20. data/fastlane/swift/Scanfile.swift +1 -1
  21. data/fastlane/swift/ScanfileProtocol.swift +6 -2
  22. data/fastlane/swift/Screengrabfile.swift +1 -1
  23. data/fastlane/swift/Snapshotfile.swift +1 -1
  24. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  25. data/fastlane_core/lib/fastlane_core/helper.rb +17 -0
  26. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +46 -2
  27. data/frameit/lib/frameit/device_types.rb +10 -0
  28. data/frameit/lib/frameit/options.rb +5 -2
  29. data/frameit/lib/frameit/runner.rb +5 -0
  30. data/frameit/lib/frameit/screenshot.rb +1 -0
  31. data/match/lib/match/change_password.rb +1 -18
  32. data/match/lib/match/encryption/openssl.rb +1 -1
  33. data/match/lib/match/generator.rb +5 -1
  34. data/match/lib/match/options.rb +5 -0
  35. data/match/lib/match/utils.rb +1 -1
  36. data/scan/lib/scan/options.rb +6 -1
  37. data/scan/lib/scan/runner.rb +2 -0
  38. data/scan/lib/scan/test_command_generator.rb +1 -1
  39. data/snapshot/lib/assets/SnapfileTemplate +3 -0
  40. data/snapshot/lib/snapshot/options.rb +10 -0
  41. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  42. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +4 -0
  43. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +21 -0
  44. data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -0
  45. data/spaceship/lib/spaceship/base.rb +1 -1
  46. data/spaceship/lib/spaceship/connect_api/model.rb +6 -0
  47. data/spaceship/lib/spaceship/tunes/iap.rb +15 -0
  48. data/spaceship/lib/spaceship/tunes/tunes_client.rb +14 -0
  49. data/supply/lib/supply/.client.rb.swp +0 -0
  50. metadata +35 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 840f7025891d2ec9c10c0909e6297b7d036b929ec2df20df12d9f4c6947a511b
4
- data.tar.gz: 562429cfd8fd189564f0ec40fb6e278b61517d4c38efc090ac0228e33a15453a
3
+ metadata.gz: 0bf4c8ac33bb5351c05ee6b2c04c193b206c90348e9bc6ffd048c9f31b42785c
4
+ data.tar.gz: a52d63e8b602d173b5c41913c08e9e4995749b023b2e8364460d987757a3d6cd
5
5
  SHA512:
6
- metadata.gz: af344e7c9f56a9c4d97e2cf9ef6b798719fdc697063495a740a606a154bbda05df19451a196f4d60e6b9faf32ebaf9b65ba7690b9dc870dc9f23f754dab52be5
7
- data.tar.gz: 3c9718177512614b392e500c5e99ee5592f1880ac4b44ff587096e93bfb14589707243d30582f9482b32b3166bd70b3cfbef23b6b5002e133562204bf0955f93
6
+ metadata.gz: 3b5bdab3f6410a68b90b5086cb18a67434f2a572dee70a18b21bd034fcaa48783e933b7c5c888dbd749efe5250715aca42d88da73d036adaf347ed10c3b1a9c0
7
+ data.tar.gz: 3274baacd53911b6975b144771b18f33c58a7d25a4ef61f1d5791fbf31c30491967824780d4f89b54b9f08ff7f44a2e28a32ae62d70ba785cb1bfb2ae4ad66c6
data/README.md CHANGED
@@ -34,87 +34,81 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
34
  <!-- This table is regenerated and resorted on each release -->
35
35
  <table id='team'>
36
36
  <tr>
37
+ <td id='aaron-brager'>
38
+ <a href='https://github.com/getaaron'>
39
+ <img src='https://github.com/getaaron.png?size=140'>
40
+ </a>
41
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
42
+ </td>
43
+ <td id='jorge-revuelta-h'>
44
+ <a href='https://github.com/minuscorp'>
45
+ <img src='https://github.com/minuscorp.png?size=140'>
46
+ </a>
47
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
48
+ </td>
49
+ <td id='josh-holtz'>
50
+ <a href='https://github.com/joshdholtz'>
51
+ <img src='https://github.com/joshdholtz.png?size=140'>
52
+ </a>
53
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
54
+ </td>
55
+ <td id='luka-mirosevic'>
56
+ <a href='https://github.com/lmirosevic'>
57
+ <img src='https://github.com/lmirosevic.png?size=140'>
58
+ </a>
59
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
60
+ </td>
37
61
  <td id='daniel-jankowski'>
38
62
  <a href='https://github.com/mollyIV'>
39
63
  <img src='https://github.com/mollyIV.png?size=140'>
40
64
  </a>
41
65
  <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
42
66
  </td>
67
+ </tr>
68
+ <tr>
69
+ <td id='jimmy-dee'>
70
+ <a href='https://github.com/jdee'>
71
+ <img src='https://github.com/jdee.png?size=140'>
72
+ </a>
73
+ <h4 align='center'>Jimmy Dee</h4>
74
+ </td>
75
+ <td id='manu-wallner'>
76
+ <a href='https://github.com/milch'>
77
+ <img src='https://github.com/milch.png?size=140'>
78
+ </a>
79
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
80
+ </td>
43
81
  <td id='fumiya-nakamura'>
44
82
  <a href='https://github.com/nafu'>
45
83
  <img src='https://github.com/nafu.png?size=140'>
46
84
  </a>
47
85
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
48
86
  </td>
49
- <td id='matthew-ellis'>
50
- <a href='https://github.com/matthewellis'>
51
- <img src='https://github.com/matthewellis.png?size=140'>
52
- </a>
53
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
54
- </td>
55
87
  <td id='iulian-onofrei'>
56
88
  <a href='https://github.com/revolter'>
57
89
  <img src='https://github.com/revolter.png?size=140'>
58
90
  </a>
59
91
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
60
92
  </td>
61
- <td id='jérôme-lacoste'>
62
- <a href='https://github.com/lacostej'>
63
- <img src='https://github.com/lacostej.png?size=140'>
93
+ <td id='stefan-natchev'>
94
+ <a href='https://github.com/snatchev'>
95
+ <img src='https://github.com/snatchev.png?size=140'>
64
96
  </a>
65
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
66
98
  </td>
67
99
  </tr>
68
100
  <tr>
69
- <td id='olivier-halligon'>
70
- <a href='https://github.com/AliSoftware'>
71
- <img src='https://github.com/AliSoftware.png?size=140'>
72
- </a>
73
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
74
- </td>
75
- <td id='josh-holtz'>
76
- <a href='https://github.com/joshdholtz'>
77
- <img src='https://github.com/joshdholtz.png?size=140'>
78
- </a>
79
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
80
- </td>
81
- <td id='aaron-brager'>
82
- <a href='https://github.com/getaaron'>
83
- <img src='https://github.com/getaaron.png?size=140'>
84
- </a>
85
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
86
- </td>
87
101
  <td id='max-ott'>
88
102
  <a href='https://github.com/max-ott'>
89
103
  <img src='https://github.com/max-ott.png?size=140'>
90
104
  </a>
91
105
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
92
106
  </td>
93
- <td id='joshua-liebowitz'>
94
- <a href='https://github.com/taquitos'>
95
- <img src='https://github.com/taquitos.png?size=140'>
96
- </a>
97
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
98
- </td>
99
- </tr>
100
- <tr>
101
- <td id='luka-mirosevic'>
102
- <a href='https://github.com/lmirosevic'>
103
- <img src='https://github.com/lmirosevic.png?size=140'>
104
- </a>
105
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
106
- </td>
107
- <td id='stefan-natchev'>
108
- <a href='https://github.com/snatchev'>
109
- <img src='https://github.com/snatchev.png?size=140'>
110
- </a>
111
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
112
- </td>
113
- <td id='helmut-januschka'>
114
- <a href='https://github.com/hjanuschka'>
115
- <img src='https://github.com/hjanuschka.png?size=140'>
107
+ <td id='jérôme-lacoste'>
108
+ <a href='https://github.com/lacostej'>
109
+ <img src='https://github.com/lacostej.png?size=140'>
116
110
  </a>
117
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
118
112
  </td>
119
113
  <td id='danielle-tomlinson'>
120
114
  <a href='https://github.com/endocrimes'>
@@ -122,25 +116,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
122
116
  </a>
123
117
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
124
118
  </td>
125
- <td id='andrew-mcburney'>
126
- <a href='https://github.com/armcburney'>
127
- <img src='https://github.com/armcburney.png?size=140'>
128
- </a>
129
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
130
- </td>
131
- </tr>
132
- <tr>
133
- <td id='jimmy-dee'>
134
- <a href='https://github.com/jdee'>
135
- <img src='https://github.com/jdee.png?size=140'>
136
- </a>
137
- <h4 align='center'>Jimmy Dee</h4>
138
- </td>
139
- <td id='manu-wallner'>
140
- <a href='https://github.com/milch'>
141
- <img src='https://github.com/milch.png?size=140'>
119
+ <td id='felix-krause'>
120
+ <a href='https://github.com/KrauseFx'>
121
+ <img src='https://github.com/KrauseFx.png?size=140'>
142
122
  </a>
143
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
123
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
144
124
  </td>
145
125
  <td id='maksym-grebenets'>
146
126
  <a href='https://github.com/mgrebenets'>
@@ -148,31 +128,51 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
148
128
  </a>
149
129
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
150
130
  </td>
131
+ </tr>
132
+ <tr>
133
+ <td id='kohki-miki'>
134
+ <a href='https://github.com/giginet'>
135
+ <img src='https://github.com/giginet.png?size=140'>
136
+ </a>
137
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
138
+ </td>
151
139
  <td id='jan-piotrowski'>
152
140
  <a href='https://github.com/janpio'>
153
141
  <img src='https://github.com/janpio.png?size=140'>
154
142
  </a>
155
143
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
156
144
  </td>
157
- <td id='felix-krause'>
158
- <a href='https://github.com/KrauseFx'>
159
- <img src='https://github.com/KrauseFx.png?size=140'>
145
+ <td id='helmut-januschka'>
146
+ <a href='https://github.com/hjanuschka'>
147
+ <img src='https://github.com/hjanuschka.png?size=140'>
160
148
  </a>
161
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
150
+ </td>
151
+ <td id='matthew-ellis'>
152
+ <a href='https://github.com/matthewellis'>
153
+ <img src='https://github.com/matthewellis.png?size=140'>
154
+ </a>
155
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
156
+ </td>
157
+ <td id='andrew-mcburney'>
158
+ <a href='https://github.com/armcburney'>
159
+ <img src='https://github.com/armcburney.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='kohki-miki'>
166
- <a href='https://github.com/giginet'>
167
- <img src='https://github.com/giginet.png?size=140'>
165
+ <td id='joshua-liebowitz'>
166
+ <a href='https://github.com/taquitos'>
167
+ <img src='https://github.com/taquitos.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
170
170
  </td>
171
- <td id='jorge-revuelta-h'>
172
- <a href='https://github.com/minuscorp'>
173
- <img src='https://github.com/minuscorp.png?size=140'>
171
+ <td id='olivier-halligon'>
172
+ <a href='https://github.com/AliSoftware'>
173
+ <img src='https://github.com/AliSoftware.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -29,8 +29,8 @@ module Fastlane
29
29
  end
30
30
 
31
31
  def self.available_options
32
- # Define all options your action supports.
33
-
32
+ # Define all options your action supports.
33
+
34
34
  # Below a few examples
35
35
  [
36
36
  FastlaneCore::ConfigItem.new(key: :api_token,
@@ -67,13 +67,13 @@ module Fastlane
67
67
 
68
68
  def self.is_supported?(platform)
69
69
  # you can do things like
70
- #
70
+ #
71
71
  # true
72
- #
72
+ #
73
73
  # platform == :ios
74
- #
74
+ #
75
75
  # [:ios, :mac].include?(platform)
76
- #
76
+ #
77
77
 
78
78
  platform == :ios
79
79
  end
@@ -156,7 +156,7 @@ module Fastlane
156
156
  [
157
157
  'cocoapods',
158
158
  'cocoapods(
159
- clean: true,
159
+ clean_install: true,
160
160
  podfile: "./CustomPodfile"
161
161
  )'
162
162
  ]
@@ -216,6 +216,8 @@ output_directory('./screenshots')
216
216
 
217
217
  clear_previous_screenshots(true)
218
218
 
219
+ override_status_bar(true)
220
+
219
221
  add_photos(["MyTestApp/Assets/demo.jpg"])
220
222
  ```
221
223
 
@@ -326,7 +328,7 @@ To get more information about language and locale codes please read [Internation
326
328
 
327
329
  ## Use a clean status bar
328
330
 
329
- You can use [SimulatorStatusMagic](https://github.com/shinydevelopment/SimulatorStatusMagic) to clean up the status bar.
331
+ You can set `override_status_bar` to `true` to set the status bar to Tuesday January 9th at 9:41AM with full battery and reception.
330
332
 
331
333
  ## Editing the `Snapfile`
332
334
 
@@ -329,7 +329,7 @@ Use [_deliver_](https://docs.fastlane.tools/actions/deliver/) to upload iOS scre
329
329
 
330
330
  ## Use a clean status bar
331
331
 
332
- You can use [SimulatorStatusMagic](https://github.com/shinydevelopment/SimulatorStatusMagic) to clean up the status bar.
332
+ You can set `override_status_bar` to `true` in snapshot to set the status bar to Tuesday January 9th at 9:41AM with full battery and reception.
333
333
 
334
334
  ## Gray artifacts around text
335
335
 
@@ -1,7 +1,7 @@
1
1
  module Fastlane
2
2
  module Actions
3
3
  module SharedValues
4
- GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH).freeze
4
+ GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH APPCENTER_BRANCH).freeze
5
5
  end
6
6
 
7
7
  class GitBranchAction < Action
@@ -8,9 +8,9 @@ module Fastlane
8
8
  cmd << ['bundle exec'] if params[:use_bundle_exec] && shell_out_should_use_bundle_exec?
9
9
  cmd << ['pod keys set']
10
10
 
11
- cmd << ["\"#{params[:key].shellescape}\""]
12
- cmd << ["\"#{params[:value].shellescape}\""]
13
- cmd << ["\"#{params[:project].shellescape}\""] if params[:project]
11
+ cmd << ["\"#{params[:key]}\""]
12
+ cmd << ["\"#{params[:value]}\""]
13
+ cmd << ["\"#{params[:project]}\""] if params[:project]
14
14
 
15
15
  Actions.sh(cmd.join(' '))
16
16
  end
@@ -2,6 +2,8 @@ module Fastlane
2
2
  module Actions
3
3
  module SharedValues
4
4
  TESTFAIRY_BUILD_URL = :TESTFAIRY_BUILD_URL
5
+ TESTFAIRY_DOWNLOAD_URL = :TESTFAIRY_DOWNLOAD_URL
6
+ TESTFAIRY_LANDING_PAGE = :TESTFAIRY_LANDING_PAGE
5
7
  end
6
8
 
7
9
  class TestfairyAction < Action
@@ -107,6 +109,8 @@ module Fastlane
107
109
  response = self.upload_build(params[:upload_url], path, client_options, params[:timeout])
108
110
  if parse_response(response)
109
111
  UI.success("Build URL: #{Actions.lane_context[SharedValues::TESTFAIRY_BUILD_URL]}")
112
+ UI.success("Download URL: #{Actions.lane_context[SharedValues::TESTFAIRY_DOWNLOAD_URL]}")
113
+ UI.success("Landing Page URL: #{Actions.lane_context[SharedValues::TESTFAIRY_LANDING_PAGE]}")
110
114
  UI.success("Build successfully uploaded to TestFairy.")
111
115
  else
112
116
  UI.user_error!("Error when trying to upload ipa to TestFairy")
@@ -120,8 +124,12 @@ module Fastlane
120
124
  def self.parse_response(response)
121
125
  if response.body && response.body.key?('status') && response.body['status'] == 'ok'
122
126
  build_url = response.body['build_url']
127
+ app_url = response.body['app_url']
128
+ landing_page_url = response.body['landing_page_url']
123
129
 
124
130
  Actions.lane_context[SharedValues::TESTFAIRY_BUILD_URL] = build_url
131
+ Actions.lane_context[SharedValues::TESTFAIRY_DOWNLOAD_URL] = app_url
132
+ Actions.lane_context[SharedValues::TESTFAIRY_LANDING_PAGE] = landing_page_url
125
133
 
126
134
  return true
127
135
  else
@@ -244,7 +252,12 @@ module Fastlane
244
252
  api_key: "...",
245
253
  ipa: "./ipa_file.ipa",
246
254
  comment: "Build #{lane_context[SharedValues::BUILD_NUMBER]}",
247
- )'
255
+ )',
256
+ 'testfairy(
257
+ api_key: "...",
258
+ apk: "../build/app/outputs/apk/qa/release/app-qa-release.apk",
259
+ comment: "Build #{lane_context[SharedValues::BUILD_NUMBER]}",
260
+ )'
248
261
  ]
249
262
  end
250
263
 
@@ -254,12 +267,14 @@ module Fastlane
254
267
 
255
268
  def self.output
256
269
  [
257
- ['TESTFAIRY_BUILD_URL', 'URL of the newly uploaded build']
270
+ ['TESTFAIRY_BUILD_URL', 'URL for the sessions of the newly uploaded build'],
271
+ ['TESTFAIRY_DOWNLOAD_URL', 'URL directly to the newly uploaded build'],
272
+ ['TESTFAIRY_LANDING_PAGE', 'URL of the build\'s landing page']
258
273
  ]
259
274
  end
260
275
 
261
276
  def self.authors
262
- ["taka0125", "tcurdt", "vijaysharm"]
277
+ ["taka0125", "tcurdt", "vijaysharm", "cdm2012"]
263
278
  end
264
279
 
265
280
  def self.is_supported?(platform)
@@ -33,6 +33,13 @@ module Fastlane
33
33
  "Authority=Apple Root CA",
34
34
  "TeamIdentifier=59GAB85EFG"
35
35
  ],
36
+ [ # Found on App Store installed Xcode installations post-Xcode 11.3
37
+ "Identifier=com.apple.dt.Xcode",
38
+ "Authority=Apple Mac OS Application Signing",
39
+ "Authority=Apple Worldwide Developer Relations Certification Authority",
40
+ "Authority=Apple Root CA",
41
+ "TeamIdentifier=APPLECOMPUTER"
42
+ ],
36
43
  [ # Found on Xcode installations (pre-Xcode 8) downloaded from developer.apple.com
37
44
  "Identifier=com.apple.dt.Xcode",
38
45
  "Authority=Software Signing",
@@ -141,10 +141,12 @@ module Fastlane
141
141
  c.description = 'Starts local socket server and enables only a single local connection'
142
142
  c.option('-s', '--stay_alive', 'Keeps socket server up even after error or disconnects, requires CTRL-C to kill.')
143
143
  c.option('-c seconds', '--connection_timeout', 'Sets connection established timeout')
144
+ c.option('-p port', '--port', "Sets the port on localhost for the socket connection")
144
145
  c.action do |args, options|
145
146
  default_connection_timeout = 5
146
147
  stay_alive = options.stay_alive || false
147
148
  connection_timeout = options.connection_timeout || default_connection_timeout
149
+ port = options.port || 2000
148
150
 
149
151
  if stay_alive && options.connection_timeout.nil?
150
152
  UI.important("stay_alive is set, but the connection timeout is not, this will give you #{default_connection_timeout} seconds to (re)connect")
@@ -157,7 +159,8 @@ module Fastlane
157
159
  server = Fastlane::SocketServer.new(
158
160
  command_executor: command_executor,
159
161
  connection_timeout: connection_timeout,
160
- stay_alive: stay_alive
162
+ stay_alive: stay_alive,
163
+ port: port
161
164
  )
162
165
  result = server.start
163
166
  UI.success("Result: #{result}") if result
@@ -0,0 +1,13 @@
1
+ module Fastlane
2
+ module Helper
3
+ class LaneHelper
4
+ def self.current_platform
5
+ return Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::PLATFORM_NAME]
6
+ end
7
+
8
+ def self.current_lane
9
+ return Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::LANE_NAME]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.146.1'.freeze
2
+ VERSION = '2.147.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
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.146.1
21
+ // Generated with fastlane 2.147.0