fastlane 2.153.1 → 2.155.3

Sign up to get free protection for your applications and to get access to all the features.
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