fastlane 2.153.1 → 2.155.3

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -74
  3. data/deliver/lib/deliver/html_generator.rb +8 -1
  4. data/deliver/lib/deliver/setup.rb +1 -3
  5. data/deliver/lib/deliver/upload_metadata.rb +21 -4
  6. data/fastlane/lib/fastlane/actions/carthage.rb +7 -0
  7. data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -1
  8. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +21 -2
  9. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +3 -3
  10. data/fastlane/lib/fastlane/actions/git_pull.rb +13 -2
  11. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +5 -0
  12. data/fastlane/lib/fastlane/version.rb +1 -1
  13. data/fastlane/swift/Deliverfile.swift +1 -1
  14. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  15. data/fastlane/swift/Fastlane.swift +402 -187
  16. data/fastlane/swift/Gymfile.swift +1 -1
  17. data/fastlane/swift/GymfileProtocol.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/MatchfileProtocol.swift +10 -2
  20. data/fastlane/swift/Precheckfile.swift +1 -1
  21. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  22. data/fastlane/swift/Scanfile.swift +1 -1
  23. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  24. data/fastlane/swift/Screengrabfile.swift +1 -1
  25. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  26. data/fastlane/swift/Snapshotfile.swift +1 -1
  27. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  28. data/fastlane_core/lib/fastlane_core/device_manager.rb +7 -2
  29. data/frameit/lib/frameit/editor.rb +3 -1
  30. data/gym/lib/gym/detect_values.rb +6 -3
  31. data/gym/lib/gym/module.rb +30 -0
  32. data/gym/lib/gym/runner.rb +23 -18
  33. data/{spaceship/lib/spaceship/connect_api/.model.rb.swp → match/lib/match/.options.rb.swp} +0 -0
  34. data/{deliver/lib/deliver/.upload_metadata.rb.swp → match/lib/match/.runner.rb.swp} +0 -0
  35. data/match/lib/match/generator.rb +6 -0
  36. data/match/lib/match/options.rb +16 -4
  37. data/match/lib/match/runner.rb +13 -5
  38. data/match/lib/match/spaceship_ensure.rb +7 -9
  39. data/match/lib/match/storage/git_storage.rb +16 -2
  40. data/match/lib/match/storage/google_cloud_storage.rb +1 -1
  41. data/pilot/lib/pilot/build_manager.rb +9 -0
  42. data/pilot/lib/pilot/options.rb +1 -1
  43. data/{frameit/lib/frameit/.editor.rb.swp → sigh/lib/sigh/.options.rb.swp} +0 -0
  44. data/sigh/lib/sigh/.runner.rb.swp +0 -0
  45. data/sigh/lib/sigh/download_all.rb +42 -27
  46. data/sigh/lib/sigh/module.rb +26 -0
  47. data/sigh/lib/sigh/options.rb +2 -2
  48. data/sigh/lib/sigh/runner.rb +100 -35
  49. data/snapshot/lib/snapshot/options.rb +10 -0
  50. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  51. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +5 -0
  52. data/snapshot/lib/snapshot/test_command_generator.rb +3 -2
  53. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +4 -1
  54. data/spaceship/lib/spaceship/connect_api/client.rb +3 -1
  55. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  56. data/spaceship/lib/spaceship/connect_api/models/.profile.rb.swp +0 -0
  57. data/spaceship/lib/spaceship/connect_api/models/app.rb +22 -2
  58. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +17 -5
  59. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +41 -7
  60. data/spaceship/lib/spaceship/connect_api/models/profile.rb +32 -1
  61. data/spaceship/lib/spaceship/connect_api/{models/.app_store_review_detail.rb.swp → provisioning/.provisioning.rb.swp} +0 -0
  62. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +46 -4
  63. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -0
  64. data/supply/lib/supply/client.rb +2 -1
  65. data/supply/lib/supply/options.rb +8 -1
  66. metadata +23 -22
  67. data/spaceship/lib/spaceship/connect_api/models/.app_store_version.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8ded0a27a24b34693df005ae49f1866ecd96573336f2216b17e3e9a9f6a9c97
4
- data.tar.gz: 7958ef7f729f86faea27e7dd77a4c55e2aaeb6cc9f2e6e3fdc754d7100207e8a
3
+ metadata.gz: f7dab029713a3d68bde75d66db5b13e50f71fe6e378c994145c63de7d3b49d56
4
+ data.tar.gz: 8c4d4b67a931321b413dd70abafc279209b8049a7b9329f5d919cafd9568bfd4
5
5
  SHA512:
6
- metadata.gz: dc3ab6b3872cd679542b4f8555e6ebae1ae7c55c6796d77cc26e1e881fd160b7f861c8fd0379eb1106b3bc59708b11db41125de07c331fd5be9f2956ecc69e41
7
- data.tar.gz: 485bcd979b5976d3de11ec02e8a5fcb3dbf24288e2c3222c140b2f468fd5539c6b09aeeb1a1f2185955aee6c001467256b1e0ef4dca5dcdf8c9e74a91dfdb27e
6
+ metadata.gz: eb945426219d180a85d3c4a6ea709918811f5d39a836c3cff93771cd703f993f2ee448a3b2a542ef4c645e9d14a902ced2795b3a2d6f1184c49bb74bdd8c3c78
7
+ data.tar.gz: b106c049969564f84684170db2a616d37f0be0a8e2e11a37fe3c1b0b58ae42e9317179bcf9ff112ccaab510ef1a968c21fbb8a8d43d12ced0d592d4ad3bbe2c4
data/README.md CHANGED
@@ -40,37 +40,49 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
40
40
  </a>
41
41
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
42
42
  </td>
43
+ <td id='matthew-ellis'>
44
+ <a href='https://github.com/matthewellis'>
45
+ <img src='https://github.com/matthewellis.png?size=140'>
46
+ </a>
47
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
48
+ </td>
43
49
  <td id='jorge-revuelta-h'>
44
50
  <a href='https://github.com/minuscorp'>
45
51
  <img src='https://github.com/minuscorp.png?size=140'>
46
52
  </a>
47
53
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
48
54
  </td>
49
- <td id='manu-wallner'>
50
- <a href='https://github.com/milch'>
51
- <img src='https://github.com/milch.png?size=140'>
52
- </a>
53
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
54
- </td>
55
- <td id='olivier-halligon'>
56
- <a href='https://github.com/AliSoftware'>
57
- <img src='https://github.com/AliSoftware.png?size=140'>
55
+ <td id='danielle-tomlinson'>
56
+ <a href='https://github.com/endocrimes'>
57
+ <img src='https://github.com/endocrimes.png?size=140'>
58
58
  </a>
59
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
60
60
  </td>
61
- <td id='aaron-brager'>
62
- <a href='https://github.com/getaaron'>
63
- <img src='https://github.com/getaaron.png?size=140'>
61
+ <td id='kohki-miki'>
62
+ <a href='https://github.com/giginet'>
63
+ <img src='https://github.com/giginet.png?size=140'>
64
64
  </a>
65
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
66
66
  </td>
67
67
  </tr>
68
68
  <tr>
69
- <td id='jimmy-dee'>
70
- <a href='https://github.com/jdee'>
71
- <img src='https://github.com/jdee.png?size=140'>
69
+ <td id='joshua-liebowitz'>
70
+ <a href='https://github.com/taquitos'>
71
+ <img src='https://github.com/taquitos.png?size=140'>
72
72
  </a>
73
- <h4 align='center'>Jimmy Dee</h4>
73
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
74
+ </td>
75
+ <td id='daniel-jankowski'>
76
+ <a href='https://github.com/mollyIV'>
77
+ <img src='https://github.com/mollyIV.png?size=140'>
78
+ </a>
79
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
80
+ </td>
81
+ <td id='iulian-onofrei'>
82
+ <a href='https://github.com/revolter'>
83
+ <img src='https://github.com/revolter.png?size=140'>
84
+ </a>
85
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
74
86
  </td>
75
87
  <td id='max-ott'>
76
88
  <a href='https://github.com/max-ott'>
@@ -78,18 +90,38 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
78
90
  </a>
79
91
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
80
92
  </td>
81
- <td id='maksym-grebenets'>
82
- <a href='https://github.com/mgrebenets'>
83
- <img src='https://github.com/mgrebenets.png?size=140'>
93
+ <td id='jérôme-lacoste'>
94
+ <a href='https://github.com/lacostej'>
95
+ <img src='https://github.com/lacostej.png?size=140'>
84
96
  </a>
85
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
86
98
  </td>
99
+ </tr>
100
+ <tr>
87
101
  <td id='fumiya-nakamura'>
88
102
  <a href='https://github.com/nafu'>
89
103
  <img src='https://github.com/nafu.png?size=140'>
90
104
  </a>
91
105
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
92
106
  </td>
107
+ <td id='jan-piotrowski'>
108
+ <a href='https://github.com/janpio'>
109
+ <img src='https://github.com/janpio.png?size=140'>
110
+ </a>
111
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
112
+ </td>
113
+ <td id='luka-mirosevic'>
114
+ <a href='https://github.com/lmirosevic'>
115
+ <img src='https://github.com/lmirosevic.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
118
+ </td>
119
+ <td id='aaron-brager'>
120
+ <a href='https://github.com/getaaron'>
121
+ <img src='https://github.com/getaaron.png?size=140'>
122
+ </a>
123
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
124
+ </td>
93
125
  <td id='felix-krause'>
94
126
  <a href='https://github.com/KrauseFx'>
95
127
  <img src='https://github.com/KrauseFx.png?size=140'>
@@ -104,75 +136,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
104
136
  </a>
105
137
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
106
138
  </td>
107
- <td id='jérôme-lacoste'>
108
- <a href='https://github.com/lacostej'>
109
- <img src='https://github.com/lacostej.png?size=140'>
110
- </a>
111
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
112
- </td>
113
139
  <td id='helmut-januschka'>
114
140
  <a href='https://github.com/hjanuschka'>
115
141
  <img src='https://github.com/hjanuschka.png?size=140'>
116
142
  </a>
117
143
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
118
144
  </td>
119
- <td id='kohki-miki'>
120
- <a href='https://github.com/giginet'>
121
- <img src='https://github.com/giginet.png?size=140'>
122
- </a>
123
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
124
- </td>
125
- <td id='matthew-ellis'>
126
- <a href='https://github.com/matthewellis'>
127
- <img src='https://github.com/matthewellis.png?size=140'>
128
- </a>
129
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
130
- </td>
131
- </tr>
132
- <tr>
133
- <td id='jan-piotrowski'>
134
- <a href='https://github.com/janpio'>
135
- <img src='https://github.com/janpio.png?size=140'>
136
- </a>
137
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
138
- </td>
139
- <td id='danielle-tomlinson'>
140
- <a href='https://github.com/endocrimes'>
141
- <img src='https://github.com/endocrimes.png?size=140'>
142
- </a>
143
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
144
- </td>
145
- <td id='daniel-jankowski'>
146
- <a href='https://github.com/mollyIV'>
147
- <img src='https://github.com/mollyIV.png?size=140'>
148
- </a>
149
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
150
- </td>
151
- <td id='joshua-liebowitz'>
152
- <a href='https://github.com/taquitos'>
153
- <img src='https://github.com/taquitos.png?size=140'>
154
- </a>
155
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
156
- </td>
157
145
  <td id='andrew-mcburney'>
158
146
  <a href='https://github.com/armcburney'>
159
147
  <img src='https://github.com/armcburney.png?size=140'>
160
148
  </a>
161
149
  <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
162
150
  </td>
151
+ <td id='olivier-halligon'>
152
+ <a href='https://github.com/AliSoftware'>
153
+ <img src='https://github.com/AliSoftware.png?size=140'>
154
+ </a>
155
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
156
+ </td>
157
+ <td id='jimmy-dee'>
158
+ <a href='https://github.com/jdee'>
159
+ <img src='https://github.com/jdee.png?size=140'>
160
+ </a>
161
+ <h4 align='center'>Jimmy Dee</h4>
162
+ </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='iulian-onofrei'>
166
- <a href='https://github.com/revolter'>
167
- <img src='https://github.com/revolter.png?size=140'>
165
+ <td id='maksym-grebenets'>
166
+ <a href='https://github.com/mgrebenets'>
167
+ <img src='https://github.com/mgrebenets.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
170
170
  </td>
171
- <td id='luka-mirosevic'>
172
- <a href='https://github.com/lmirosevic'>
173
- <img src='https://github.com/lmirosevic.png?size=140'>
171
+ <td id='manu-wallner'>
172
+ <a href='https://github.com/milch'>
173
+ <img src='https://github.com/milch.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -1,3 +1,5 @@
1
+ require 'spaceship'
2
+
1
3
  require_relative 'module'
2
4
 
3
5
  module Deliver
@@ -51,7 +53,12 @@ module Deliver
51
53
  @app_name ||= options[:app].name
52
54
 
53
55
  @languages = options[:description].keys if options[:description]
54
- @languages ||= options[:app].latest_version.description.languages
56
+ @languages ||= begin
57
+ platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
58
+ version = options[:app].get_edit_app_store_version(platform: platform)
59
+
60
+ version.get_app_store_version_localizations.collect(&:locale)
61
+ end
55
62
 
56
63
  html_path = File.join(Deliver::ROOT, "lib/assets/summary.html.erb")
57
64
  html = ERB.new(File.read(html_path)).result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
@@ -130,14 +130,12 @@ module Deliver
130
130
  end # errors if doesn't exist
131
131
  UploadMetadata::REVIEW_INFORMATION_VALUES.each do |file_key, attribute_name|
132
132
  if app_store_review_detail
133
- content = app_store_review_detail.send(attribute_name)
133
+ content = app_store_review_detail.send(attribute_name) || ""
134
134
  else
135
135
  content = ""
136
136
  end
137
137
  content += "\n"
138
138
 
139
- file_key = UploadMetadata::REVIEW_INFORMATION_VALUES_LEGACY.key(file_key)
140
-
141
139
  base_dir = File.join(path, UploadMetadata::REVIEW_INFORMATION_DIR)
142
140
  resulting_path = File.join(base_dir, "#{file_key}.txt")
143
141
  FileUtils.mkdir_p(File.expand_path('..', resulting_path))
@@ -507,13 +507,30 @@ module Deliver
507
507
  end
508
508
 
509
509
  # Load review information
510
- options[:app_review_information] ||= {}
511
- REVIEW_INFORMATION_VALUES.keys.each do |option_name|
510
+ # This is used to find the file path for both new and legacy review information filenames
511
+ resolve_review_info_path = lambda do |option_name|
512
512
  path = File.join(options[:metadata_path], REVIEW_INFORMATION_DIR, "#{option_name}.txt")
513
- next unless File.exist?(path)
514
- next if options[:app_review_information][option_name].to_s.length > 0
513
+ return nil unless File.exist?(path)
514
+ return nil if options[:app_review_information][option_name].to_s.length > 0
515
515
 
516
516
  UI.message("Loading '#{path}'...")
517
+ return path
518
+ end
519
+
520
+ # First try and load review information from legacy filenames
521
+ options[:app_review_information] ||= {}
522
+ REVIEW_INFORMATION_VALUES_LEGACY.each do |legacy_option_name, option_name|
523
+ path = resolve_review_info_path.call(legacy_option_name)
524
+ next if path.nil?
525
+ options[:app_review_information][option_name] ||= File.read(path)
526
+
527
+ UI.deprecated("Review rating option '#{legacy_option_name}' from iTunesConnect has been deprecated. Please replace with '#{option_name}'")
528
+ end
529
+
530
+ # Then load review information from new App Store Connect filenames
531
+ REVIEW_INFORMATION_VALUES.keys.each do |option_name|
532
+ path = resolve_review_info_path.call(option_name)
533
+ next if path.nil?
517
534
  options[:app_review_information][option_name] ||= File.read(path)
518
535
  end
519
536
  end
@@ -20,6 +20,7 @@ module Fastlane
20
20
  cmd << "--output #{params[:output]}" if params[:output]
21
21
  cmd << "--use-ssh" if params[:use_ssh]
22
22
  cmd << "--use-submodules" if params[:use_submodules]
23
+ cmd << "--use-netrc" if params[:use_netrc]
23
24
  cmd << "--no-use-binaries" if params[:use_binaries] == false
24
25
  cmd << "--no-checkout" if params[:no_checkout] == true
25
26
  cmd << "--no-build" if params[:no_build] == true
@@ -89,6 +90,12 @@ module Fastlane
89
90
  is_string: false,
90
91
  type: Boolean,
91
92
  optional: true),
93
+ FastlaneCore::ConfigItem.new(key: :use_netrc,
94
+ env_name: "FL_CARTHAGE_USE_NETRC",
95
+ description: "Use .netrc for downloading frameworks",
96
+ is_string: false,
97
+ type: Boolean,
98
+ optional: true),
92
99
  FastlaneCore::ConfigItem.new(key: :use_binaries,
93
100
  env_name: "FL_CARTHAGE_USE_BINARIES",
94
101
  description: "Check out dependency repositories even when prebuilt frameworks exist",
@@ -4,6 +4,7 @@ module Fastlane
4
4
  module Actions
5
5
  module SharedValues
6
6
  ORIGINAL_DEFAULT_KEYCHAIN = :ORIGINAL_DEFAULT_KEYCHAIN
7
+ KEYCHAIN_PATH = :KEYCHAIN_PATH
7
8
  end
8
9
 
9
10
  class CreateKeychainAction < Action
@@ -32,6 +33,8 @@ module Fastlane
32
33
  UI.important("If creating a new Keychain DB is required please set the `require_create` option true to cause the action to fail")
33
34
  end
34
35
 
36
+ Actions.lane_context[Actions::SharedValues::KEYCHAIN_PATH] = keychain_path
37
+
35
38
  if params[:default_keychain]
36
39
  # if there is no default keychain - setting the original will fail - silent this error
37
40
  begin
@@ -91,7 +94,8 @@ module Fastlane
91
94
 
92
95
  def self.output
93
96
  [
94
- ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain']
97
+ ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain'],
98
+ ['KEYCHAIN_PATH', 'The path of the keychain']
95
99
  ]
96
100
  end
97
101
 
@@ -111,6 +111,25 @@ match
111
111
 
112
112
  You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
113
113
 
114
+ ##### Git Storage on GitHub - Deploy keys
115
+
116
+ If your machine does not have a private key set up for your certificates repository, you can give _match_ a path for one:
117
+
118
+ Using parameter:
119
+
120
+ ```
121
+ match(git_private_key: '<PATH TO YOUR KEY>')
122
+ ```
123
+
124
+ Using environment variable:
125
+
126
+ ```
127
+ ENV['MATCH_GIT_PRIVATE_KEY'] = '<PATH TO YOUR KEY>'
128
+ match
129
+ ```
130
+
131
+ You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
132
+
114
133
  ##### Git Storage on Azure Devops
115
134
 
116
135
  If you're running a pipeline on Azure Devops and using git storage in a another repository on the same project, you might want to use `bearer` token authentication.
@@ -488,14 +507,14 @@ _match_ stores the certificate (`.cer`) and the private key (`.p12`) files separ
488
507
  Decrypt your cert found in `certs/<type>/<unique-id>.cer` as a pem file:
489
508
 
490
509
  ```no-highlight
491
- openssl aes-256-cbc -k "<password>" -in "certs/<type>/<unique-id>.cer" -out "cert.der" -a -d
510
+ openssl aes-256-cbc -k "<password>" -in "certs/<type>/<unique-id>.cer" -out "cert.der" -a -d -md [md5|sha256]
492
511
  openssl x509 -inform der -in cert.der -out cert.pem
493
512
  ```
494
513
 
495
514
  Decrypt your private key found in `certs/<type>/<unique-id>.p12` as a pem file:
496
515
 
497
516
  ```no-highlight
498
- openssl aes-256-cbc -k "<password>" -in "certs/distribution/<unique-id>.p12" -out "key.pem" -a -d
517
+ openssl aes-256-cbc -k "<password>" -in "certs/distribution/<unique-id>.p12" -out "key.pem" -a -d -md [md5|sha256]
499
518
  ```
500
519
 
501
520
  Generate an encrypted p12 file with the same or new password:
@@ -485,10 +485,10 @@ Key | Editable While Live | Directory | Filename
485
485
 
486
486
  ### Review Information Metadata
487
487
 
488
- Key | Editable While Live | Directory | Filename
489
- ----|--------|--------|--------
488
+ Key | Editable While Live | Directory | Filename | Deprecated Filename
489
+ ----|--------|--------|--------|--------
490
490
  <%- Deliver::UploadMetadata::REVIEW_INFORMATION_VALUES_LEGACY.each do |key, value| -%>
491
- `<%= value %>` | Yes | `<metadata_path>/<%= Deliver::UploadMetadata::REVIEW_INFORMATION_DIR %>` | `<%= value %>.txt`
491
+ `<%= value %>` | Yes | `<metadata_path>/<%= Deliver::UploadMetadata::REVIEW_INFORMATION_DIR %>` | `<%= value %>.txt` | `<%= key %>.txt`
492
492
  <%- end %>
493
493
 
494
494
  ## Reference
@@ -5,7 +5,9 @@ module Fastlane
5
5
  commands = []
6
6
 
7
7
  unless params[:only_tags]
8
- commands += ["git pull &&"]
8
+ command = "git pull"
9
+ command << " --rebase" if params[:rebase]
10
+ commands += ["#{command} &&"]
9
11
  end
10
12
 
11
13
  commands += ["git fetch --tags"]
@@ -26,6 +28,14 @@ module Fastlane
26
28
  default_value: false,
27
29
  verify_block: proc do |value|
28
30
  UI.user_error!("Please pass a valid value for only_tags. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
31
+ end),
32
+ FastlaneCore::ConfigItem.new(key: :rebase,
33
+ description: "Rebase on top of the remote branch instead of merge",
34
+ is_string: false,
35
+ optional: true,
36
+ default_value: false,
37
+ verify_block: proc do |value|
38
+ UI.user_error!("Please pass a valid value for rebase. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
29
39
  end)
30
40
  ]
31
41
  end
@@ -41,7 +51,8 @@ module Fastlane
41
51
  def self.example_code
42
52
  [
43
53
  'git_pull',
44
- 'git_pull(only_tags: true) # only the tags, no commits'
54
+ 'git_pull(only_tags: true) # only the tags, no commits',
55
+ 'git_pull(rebase: true) # use --rebase with pull'
45
56
  ]
46
57
  end
47
58
 
@@ -45,6 +45,11 @@ module Fastlane
45
45
  env_variable_name = Match::Utils.environment_variable_name_profile_name(app_identifier: app_identifier,
46
46
  type: Match.profile_type_sym(params[:type]),
47
47
  platform: params[:platform])
48
+
49
+ if params[:derive_catalyst_app_identifier]
50
+ app_identifier = "maccatalyst.#{app_identifier}"
51
+ end
52
+
48
53
  mapping[app_identifier] = ENV[env_variable_name]
49
54
  end
50
55
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.153.1'.freeze
2
+ VERSION = '2.155.3'.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