fastlane 2.143.0 → 2.147.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -82
  3. data/credentials_manager/lib/credentials_manager/appfile_config.rb +4 -0
  4. data/deliver/lib/deliver/app_screenshot.rb +1 -0
  5. data/deliver/lib/deliver/options.rb +30 -1
  6. data/deliver/lib/deliver/setup.rb +4 -4
  7. data/fastlane/lib/assets/custom_action_template.rb +6 -6
  8. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -1
  9. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +3 -0
  10. data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/crashlytics.rb +14 -2
  12. data/fastlane/lib/fastlane/actions/create_pull_request.rb +7 -1
  13. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +13 -5
  14. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  15. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +3 -3
  16. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/git_branch.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +7 -1
  19. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -3
  20. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -1
  21. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +11 -2
  22. data/fastlane/lib/fastlane/actions/slather.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/swiftlint.rb +28 -7
  24. data/fastlane/lib/fastlane/actions/testfairy.rb +18 -3
  25. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +203 -0
  26. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/verify_xcode.rb +7 -0
  29. data/fastlane/lib/fastlane/commands_generator.rb +4 -1
  30. data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
  31. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +14 -9
  32. data/fastlane/lib/fastlane/version.rb +1 -1
  33. data/fastlane/swift/Deliverfile.swift +1 -1
  34. data/fastlane/swift/Fastlane.swift +138 -23
  35. data/fastlane/swift/Gymfile.swift +1 -1
  36. data/fastlane/swift/Matchfile.swift +1 -1
  37. data/fastlane/swift/MatchfileProtocol.swift +6 -2
  38. data/fastlane/swift/Precheckfile.swift +1 -1
  39. data/fastlane/swift/Scanfile.swift +1 -1
  40. data/fastlane/swift/ScanfileProtocol.swift +10 -2
  41. data/fastlane/swift/Screengrabfile.swift +1 -1
  42. data/fastlane/swift/Snapshotfile.swift +1 -1
  43. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  44. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +9 -0
  45. data/fastlane_core/lib/fastlane_core/device_manager.rb +3 -3
  46. data/fastlane_core/lib/fastlane_core/helper.rb +17 -0
  47. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +46 -2
  48. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +15 -2
  49. data/frameit/lib/frameit/device_types.rb +10 -0
  50. data/frameit/lib/frameit/editor.rb +1 -1
  51. data/frameit/lib/frameit/options.rb +5 -2
  52. data/frameit/lib/frameit/runner.rb +5 -0
  53. data/frameit/lib/frameit/screenshot.rb +5 -0
  54. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  55. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +5 -0
  56. data/gym/lib/gym/runner.rb +14 -0
  57. data/match/lib/match/change_password.rb +1 -18
  58. data/match/lib/match/encryption/openssl.rb +1 -1
  59. data/match/lib/match/generator.rb +5 -1
  60. data/match/lib/match/importer.rb +35 -18
  61. data/match/lib/match/options.rb +6 -1
  62. data/match/lib/match/storage/s3_storage.rb +10 -5
  63. data/match/lib/match/utils.rb +1 -1
  64. data/pilot/lib/pilot/build_manager.rb +15 -4
  65. data/pilot/lib/pilot/options.rb +8 -0
  66. data/produce/lib/produce/developer_center.rb +11 -2
  67. data/produce/lib/produce/itunes_connect.rb +11 -3
  68. data/produce/lib/produce/options.rb +12 -0
  69. data/scan/lib/scan/options.rb +11 -1
  70. data/scan/lib/scan/runner.rb +2 -0
  71. data/scan/lib/scan/test_command_generator.rb +4 -1
  72. data/screengrab/lib/screengrab/runner.rb +1 -1
  73. data/snapshot/lib/assets/SnapfileTemplate +3 -0
  74. data/snapshot/lib/snapshot/options.rb +10 -0
  75. data/snapshot/lib/snapshot/reports_generator.rb +4 -0
  76. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  77. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +4 -0
  78. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +21 -0
  79. data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -0
  80. data/spaceship/lib/spaceship/base.rb +1 -1
  81. data/spaceship/lib/spaceship/connect_api/model.rb +6 -0
  82. data/spaceship/lib/spaceship/connect_api/models/app.rb +11 -0
  83. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +23 -0
  84. data/spaceship/lib/spaceship/portal/app_service.rb +2 -2
  85. data/spaceship/lib/spaceship/portal/portal_client.rb +13 -0
  86. data/spaceship/lib/spaceship/tunes/app_version.rb +6 -1
  87. data/spaceship/lib/spaceship/tunes/application.rb +2 -1
  88. data/spaceship/lib/spaceship/tunes/iap.rb +15 -0
  89. data/spaceship/lib/spaceship/tunes/tunes_client.rb +16 -2
  90. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +52 -16
  91. data/supply/lib/supply/.client.rb.swp +0 -0
  92. data/supply/lib/supply/client.rb +4 -4
  93. data/supply/lib/supply/setup.rb +5 -3
  94. metadata +40 -32
  95. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  96. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  97. data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
  98. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  99. data/pilot/lib/pilot/.manager.rb.swp +0 -0
  100. data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
  101. data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e92b08dddc966a17437ad382e38fcc8e5a5f06a0d1d6e7f692574b9919ec5804
4
- data.tar.gz: 2328317029dd9a9648ad22c61b028532cb2d1e18d792e6678d581d9e92494575
3
+ metadata.gz: 0bf4c8ac33bb5351c05ee6b2c04c193b206c90348e9bc6ffd048c9f31b42785c
4
+ data.tar.gz: a52d63e8b602d173b5c41913c08e9e4995749b023b2e8364460d987757a3d6cd
5
5
  SHA512:
6
- metadata.gz: 68a71d0cc29672e7d94851c951a040f8515985d655f306be4089b46f7a9d90079a995b6404402fda53d053c59f060b08d8acbdcfd4fb2acf753622258b94d8d7
7
- data.tar.gz: 6889b1d8b59cbce13d432a0759381a29d84144c625feb3547c0b872611c07db87bb7827cbf613eee60fd2af21e6fc5bb322b2d595255a17d7a40ecaf0b90462d
6
+ metadata.gz: 3b5bdab3f6410a68b90b5086cb18a67434f2a572dee70a18b21bd034fcaa48783e933b7c5c888dbd749efe5250715aca42d88da73d036adaf347ed10c3b1a9c0
7
+ data.tar.gz: 3274baacd53911b6975b144771b18f33c58a7d25a4ef61f1d5791fbf31c30491967824780d4f89b54b9f08ff7f44a2e28a32ae62d70ba785cb1bfb2ae4ad66c6
data/README.md CHANGED
@@ -34,23 +34,49 @@ 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>
37
49
  <td id='josh-holtz'>
38
50
  <a href='https://github.com/joshdholtz'>
39
51
  <img src='https://github.com/joshdholtz.png?size=140'>
40
52
  </a>
41
53
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
42
54
  </td>
43
- <td id='danielle-tomlinson'>
44
- <a href='https://github.com/endocrimes'>
45
- <img src='https://github.com/endocrimes.png?size=140'>
55
+ <td id='luka-mirosevic'>
56
+ <a href='https://github.com/lmirosevic'>
57
+ <img src='https://github.com/lmirosevic.png?size=140'>
46
58
  </a>
47
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
48
60
  </td>
49
- <td id='jérôme-lacoste'>
50
- <a href='https://github.com/lacostej'>
51
- <img src='https://github.com/lacostej.png?size=140'>
61
+ <td id='daniel-jankowski'>
62
+ <a href='https://github.com/mollyIV'>
63
+ <img src='https://github.com/mollyIV.png?size=140'>
52
64
  </a>
53
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
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>
54
80
  </td>
55
81
  <td id='fumiya-nakamura'>
56
82
  <a href='https://github.com/nafu'>
@@ -58,63 +84,63 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
58
84
  </a>
59
85
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
60
86
  </td>
61
- <td id='olivier-halligon'>
62
- <a href='https://github.com/AliSoftware'>
63
- <img src='https://github.com/AliSoftware.png?size=140'>
87
+ <td id='iulian-onofrei'>
88
+ <a href='https://github.com/revolter'>
89
+ <img src='https://github.com/revolter.png?size=140'>
64
90
  </a>
65
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
66
92
  </td>
67
- </tr>
68
- <tr>
69
- <td id='luka-mirosevic'>
70
- <a href='https://github.com/lmirosevic'>
71
- <img src='https://github.com/lmirosevic.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'>
72
96
  </a>
73
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
74
98
  </td>
99
+ </tr>
100
+ <tr>
75
101
  <td id='max-ott'>
76
102
  <a href='https://github.com/max-ott'>
77
103
  <img src='https://github.com/max-ott.png?size=140'>
78
104
  </a>
79
105
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
80
106
  </td>
81
- <td id='jan-piotrowski'>
82
- <a href='https://github.com/janpio'>
83
- <img src='https://github.com/janpio.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'>
84
110
  </a>
85
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
86
112
  </td>
87
- <td id='jorge-revuelta-h'>
88
- <a href='https://github.com/minuscorp'>
89
- <img src='https://github.com/minuscorp.png?size=140'>
113
+ <td id='danielle-tomlinson'>
114
+ <a href='https://github.com/endocrimes'>
115
+ <img src='https://github.com/endocrimes.png?size=140'>
90
116
  </a>
91
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
117
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
92
118
  </td>
93
- <td id='manu-wallner'>
94
- <a href='https://github.com/milch'>
95
- <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'>
96
122
  </a>
97
- <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>
98
124
  </td>
99
- </tr>
100
- <tr>
101
- <td id='andrew-mcburney'>
102
- <a href='https://github.com/armcburney'>
103
- <img src='https://github.com/armcburney.png?size=140'>
125
+ <td id='maksym-grebenets'>
126
+ <a href='https://github.com/mgrebenets'>
127
+ <img src='https://github.com/mgrebenets.png?size=140'>
104
128
  </a>
105
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
106
130
  </td>
107
- <td id='daniel-jankowski'>
108
- <a href='https://github.com/mollyIV'>
109
- <img src='https://github.com/mollyIV.png?size=140'>
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'>
110
136
  </a>
111
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
112
138
  </td>
113
- <td id='joshua-liebowitz'>
114
- <a href='https://github.com/taquitos'>
115
- <img src='https://github.com/taquitos.png?size=140'>
139
+ <td id='jan-piotrowski'>
140
+ <a href='https://github.com/janpio'>
141
+ <img src='https://github.com/janpio.png?size=140'>
116
142
  </a>
117
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
118
144
  </td>
119
145
  <td id='helmut-januschka'>
120
146
  <a href='https://github.com/hjanuschka'>
@@ -122,57 +148,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
122
148
  </a>
123
149
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
124
150
  </td>
125
- <td id='kohki-miki'>
126
- <a href='https://github.com/giginet'>
127
- <img src='https://github.com/giginet.png?size=140'>
128
- </a>
129
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
130
- </td>
131
- </tr>
132
- <tr>
133
151
  <td id='matthew-ellis'>
134
152
  <a href='https://github.com/matthewellis'>
135
153
  <img src='https://github.com/matthewellis.png?size=140'>
136
154
  </a>
137
155
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
138
156
  </td>
139
- <td id='jimmy-dee'>
140
- <a href='https://github.com/jdee'>
141
- <img src='https://github.com/jdee.png?size=140'>
142
- </a>
143
- <h4 align='center'>Jimmy Dee</h4>
144
- </td>
145
- <td id='iulian-onofrei'>
146
- <a href='https://github.com/revolter'>
147
- <img src='https://github.com/revolter.png?size=140'>
148
- </a>
149
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
- </td>
151
- <td id='stefan-natchev'>
152
- <a href='https://github.com/snatchev'>
153
- <img src='https://github.com/snatchev.png?size=140'>
154
- </a>
155
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
156
- </td>
157
- <td id='felix-krause'>
158
- <a href='https://github.com/KrauseFx'>
159
- <img src='https://github.com/KrauseFx.png?size=140'>
157
+ <td id='andrew-mcburney'>
158
+ <a href='https://github.com/armcburney'>
159
+ <img src='https://github.com/armcburney.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
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='maksym-grebenets'>
166
- <a href='https://github.com/mgrebenets'>
167
- <img src='https://github.com/mgrebenets.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/mgrebenets'>Maksym Grebenets</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
170
170
  </td>
171
- <td id='aaron-brager'>
172
- <a href='https://github.com/getaaron'>
173
- <img src='https://github.com/getaaron.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/getaaron'>Aaron Brager</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -119,6 +119,10 @@ module CredentialsManager
119
119
  setter(:itc_team_name, *args, &block)
120
120
  end
121
121
 
122
+ def itc_provider(*args, &block)
123
+ setter(:itc_provider, *args, &block)
124
+ end
125
+
122
126
  # Android
123
127
  def json_key_file(*args, &block)
124
128
  setter(:json_key_file, *args, &block)
@@ -316,6 +316,7 @@ module Deliver
316
316
  def self.resolve_ipadpro_conflict_if_needed(screen_size, filename)
317
317
  is_3rd_gen = [
318
318
  "iPad Pro (12.9-inch) (3rd generation)", # default simulator name has this
319
+ "iPad Pro (12.9-inch) (4th generation)", # default simulator name has this
319
320
  "ipadPro129" # downloaded screenshots name has this
320
321
  ].any? { |key| filename.include?(key) }
321
322
  if is_3rd_gen
@@ -30,6 +30,7 @@ module Deliver
30
30
  # version
31
31
  FastlaneCore::ConfigItem.new(key: :app_version,
32
32
  short_option: '-z',
33
+ env_name: "DELIVER_APP_VERSION",
33
34
  description: "The version that should be edited or created",
34
35
  optional: true),
35
36
 
@@ -68,6 +69,7 @@ module Deliver
68
69
  end),
69
70
  FastlaneCore::ConfigItem.new(key: :build_number,
70
71
  short_option: "-n",
72
+ env_name: "DELIVER_BUILD_NUMBER",
71
73
  description: "If set the given build number (already uploaded to iTC) will be used instead of the current built one",
72
74
  optional: true,
73
75
  conflicting_options: [:ipa, :pkg],
@@ -93,6 +95,7 @@ module Deliver
93
95
  description: "Modify live metadata, this option disables ipa upload and screenshot upload",
94
96
  is_string: false),
95
97
  FastlaneCore::ConfigItem.new(key: :use_live_version,
98
+ env_name: "DELIVER_USE_LIVE_VERSION",
96
99
  description: "Force usage of live version rather than edit version",
97
100
  is_string: false,
98
101
  default_value: false),
@@ -100,27 +103,33 @@ module Deliver
100
103
  # paths
101
104
  FastlaneCore::ConfigItem.new(key: :metadata_path,
102
105
  short_option: '-m',
106
+ env_name: "DELIVER_METADATA_PATH",
103
107
  description: "Path to the folder containing the metadata files",
104
108
  optional: true),
105
109
  FastlaneCore::ConfigItem.new(key: :screenshots_path,
106
110
  short_option: '-w',
111
+ env_name: "DELIVER_SCREENSHOTS_PATH",
107
112
  description: "Path to the folder containing the screenshots",
108
113
  optional: true),
109
114
 
110
115
  # skip
111
116
  FastlaneCore::ConfigItem.new(key: :skip_binary_upload,
117
+ env_name: "DELIVER_SKIP_BINARY_UPLOAD",
112
118
  description: "Skip uploading an ipa or pkg to App Store Connect",
113
119
  is_string: false,
114
120
  default_value: false),
115
121
  FastlaneCore::ConfigItem.new(key: :skip_screenshots,
122
+ env_name: "DELIVER_SKIP_SCREENSHOTS",
116
123
  description: "Don't upload the screenshots",
117
124
  is_string: false,
118
125
  default_value: false),
119
126
  FastlaneCore::ConfigItem.new(key: :skip_metadata,
127
+ env_name: "DELIVER_SKIP_METADATA",
120
128
  description: "Don't upload the metadata (e.g. title, description). This will still upload screenshots",
121
129
  is_string: false,
122
130
  default_value: false),
123
131
  FastlaneCore::ConfigItem.new(key: :skip_app_version_update,
132
+ env_name: "DELIVER_SKIP_APP_VERSION_UPDATE",
124
133
  description: "Don't update app version for submission",
125
134
  is_string: false,
126
135
  default_value: false),
@@ -128,6 +137,7 @@ module Deliver
128
137
  # how to operate
129
138
  FastlaneCore::ConfigItem.new(key: :force,
130
139
  short_option: "-f",
140
+ env_name: "DELIVER_FORCE",
131
141
  description: "Skip the HTML report file verification",
132
142
  is_string: false,
133
143
  default_value: false),
@@ -149,6 +159,7 @@ module Deliver
149
159
 
150
160
  # release
151
161
  FastlaneCore::ConfigItem.new(key: :automatic_release,
162
+ env_name: "DELIVER_AUTOMATIC_RELEASE",
152
163
  description: "Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)",
153
164
  is_string: false,
154
165
  default_value: false),
@@ -162,11 +173,13 @@ module Deliver
162
173
  UI.user_error!("You can't use 'auto_release_date' and '#{value.key}' options together.")
163
174
  end),
164
175
  FastlaneCore::ConfigItem.new(key: :phased_release,
176
+ env_name: "DELIVER_PHASED_RELEASE",
165
177
  description: "Enable the phased release feature of iTC",
166
178
  optional: true,
167
179
  is_string: false,
168
180
  default_value: false),
169
181
  FastlaneCore::ConfigItem.new(key: :reset_ratings,
182
+ env_name: "DELIVER_RESET_RATINGS",
170
183
  description: "Reset the summary rating when you release a new version of the application",
171
184
  optional: true,
172
185
  is_string: false,
@@ -175,11 +188,13 @@ module Deliver
175
188
  # other app configuration
176
189
  FastlaneCore::ConfigItem.new(key: :price_tier,
177
190
  short_option: "-r",
191
+ env_name: "DELIVER_PRICE_TIER",
178
192
  description: "The price tier of this application",
179
193
  is_string: false,
180
194
  optional: true),
181
195
  FastlaneCore::ConfigItem.new(key: :app_rating_config_path,
182
196
  short_option: "-g",
197
+ env_name: "DELIVER_APP_RATING_CONFIG_PATH",
183
198
  description: "Path to the app rating's config",
184
199
  is_string: true,
185
200
  optional: true,
@@ -244,7 +259,10 @@ module Deliver
244
259
  FastlaneCore::ConfigItem.new(key: :itc_provider,
245
260
  env_name: "DELIVER_ITC_PROVIDER",
246
261
  description: "The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column",
247
- optional: true),
262
+ optional: true,
263
+ code_gen_sensitive: true,
264
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_provider),
265
+ default_value_dynamic: true),
248
266
  # rubocop:enable Metrics/LineLength
249
267
 
250
268
  # precheck
@@ -271,6 +289,7 @@ module Deliver
271
289
 
272
290
  # Non Localised
273
291
  FastlaneCore::ConfigItem.new(key: :app_icon,
292
+ env_name: "DELIVER_APP_ICON_PATH",
274
293
  description: "Metadata: The path to the app icon",
275
294
  optional: true,
276
295
  short_option: "-l",
@@ -279,6 +298,7 @@ module Deliver
279
298
  UI.user_error!("'#{value}' doesn't seem to be one of the supported files. supported: #{Deliver::UploadAssets::SUPPORTED_ICON_EXTENSIONS.join(',')}") unless Deliver::UploadAssets::SUPPORTED_ICON_EXTENSIONS.include?(File.extname(value).downcase)
280
299
  end),
281
300
  FastlaneCore::ConfigItem.new(key: :apple_watch_app_icon,
301
+ env_name: "DELIVER_APPLE_WATCH_APP_ICON_PATH",
282
302
  description: "Metadata: The path to the Apple Watch app icon",
283
303
  optional: true,
284
304
  short_option: "-q",
@@ -287,30 +307,37 @@ module Deliver
287
307
  UI.user_error!("'#{value}' doesn't seem to be one of the supported files. supported: #{Deliver::UploadAssets::SUPPORTED_ICON_EXTENSIONS.join(',')}") unless Deliver::UploadAssets::SUPPORTED_ICON_EXTENSIONS.include?(File.extname(value).downcase)
288
308
  end),
289
309
  FastlaneCore::ConfigItem.new(key: :copyright,
310
+ env_name: "DELIVER_COPYRIGHT",
290
311
  description: "Metadata: The copyright notice",
291
312
  optional: true,
292
313
  is_string: true),
293
314
  FastlaneCore::ConfigItem.new(key: :primary_category,
315
+ env_name: "DELIVER_PRIMARY_CATEGORY",
294
316
  description: "Metadata: The english name of the primary category (e.g. `Business`, `Books`)",
295
317
  optional: true,
296
318
  is_string: true),
297
319
  FastlaneCore::ConfigItem.new(key: :secondary_category,
320
+ env_name: "DELIVER_SECONDARY_CATEGORY",
298
321
  description: "Metadata: The english name of the secondary category (e.g. `Business`, `Books`)",
299
322
  optional: true,
300
323
  is_string: true),
301
324
  FastlaneCore::ConfigItem.new(key: :primary_first_sub_category,
325
+ env_name: "DELIVER_PRIMARY_FIRST_SUB_CATEGORY",
302
326
  description: "Metadata: The english name of the primary first sub category (e.g. `Educational`, `Puzzle`)",
303
327
  optional: true,
304
328
  is_string: true),
305
329
  FastlaneCore::ConfigItem.new(key: :primary_second_sub_category,
330
+ env_name: "DELIVER_PRIMARY_SECOND_SUB_CATEGORY",
306
331
  description: "Metadata: The english name of the primary second sub category (e.g. `Educational`, `Puzzle`)",
307
332
  optional: true,
308
333
  is_string: true),
309
334
  FastlaneCore::ConfigItem.new(key: :secondary_first_sub_category,
335
+ env_name: "DELIVER_SECONDARY_FIRST_SUB_CATEGORY",
310
336
  description: "Metadata: The english name of the secondary first sub category (e.g. `Educational`, `Puzzle`)",
311
337
  optional: true,
312
338
  is_string: true),
313
339
  FastlaneCore::ConfigItem.new(key: :secondary_second_sub_category,
340
+ env_name: "DELIVER_SECONDARY_SECOND_SUB_CATEGORY",
314
341
  description: "Metadata: The english name of the secondary second sub category (e.g. `Educational`, `Puzzle`)",
315
342
  optional: true,
316
343
  is_string: true),
@@ -325,6 +352,7 @@ module Deliver
325
352
  is_string: false,
326
353
  type: Hash),
327
354
  FastlaneCore::ConfigItem.new(key: :app_review_attachment_file,
355
+ env_name: "DELIVER_APP_REVIEW_ATTACHMENT_FILE",
328
356
  description: "Metadata: Path to the app review attachment file",
329
357
  optional: true,
330
358
  is_string: true),
@@ -391,6 +419,7 @@ module Deliver
391
419
  # The verify_block has been removed from here and verification now happens in Deliver::DetectValues
392
420
  # Verification needed Spaceship::Tunes.client which required the Deliver::Runner to already by started
393
421
  FastlaneCore::ConfigItem.new(key: :languages,
422
+ env_name: "DELIVER_LANGUAGES",
394
423
  description: "Metadata: List of languages to activate",
395
424
  type: Array,
396
425
  optional: true),
@@ -67,7 +67,7 @@ module Deliver
67
67
  else
68
68
  content = app_details.send(key)[language].to_s
69
69
  end
70
- content << "\n"
70
+ content += "\n"
71
71
  resulting_path = File.join(path, language, "#{key}.txt")
72
72
  FileUtils.mkdir_p(File.expand_path('..', resulting_path))
73
73
  File.write(resulting_path, content)
@@ -82,7 +82,7 @@ module Deliver
82
82
  else
83
83
  content = app_details.send(key).to_s
84
84
  end
85
- content << "\n"
85
+ content += "\n"
86
86
  resulting_path = File.join(path, "#{key}.txt")
87
87
  File.write(resulting_path, content)
88
88
  UI.message("Writing to '#{resulting_path}'")
@@ -91,7 +91,7 @@ module Deliver
91
91
  # Trade Representative Contact Information
92
92
  UploadMetadata::TRADE_REPRESENTATIVE_CONTACT_INFORMATION_VALUES.each do |key, option_name|
93
93
  content = v.send(key).to_s
94
- content << "\n"
94
+ content += "\n"
95
95
  base_dir = File.join(path, UploadMetadata::TRADE_REPRESENTATIVE_CONTACT_INFORMATION_DIR)
96
96
  FileUtils.mkdir_p(base_dir)
97
97
  resulting_path = File.join(base_dir, "#{option_name}.txt")
@@ -102,7 +102,7 @@ module Deliver
102
102
  # Review information
103
103
  UploadMetadata::REVIEW_INFORMATION_VALUES.each do |key, option_name|
104
104
  content = v.send(key).to_s
105
- content << "\n"
105
+ content += "\n"
106
106
  base_dir = File.join(path, UploadMetadata::REVIEW_INFORMATION_DIR)
107
107
  FileUtils.mkdir_p(base_dir)
108
108
  resulting_path = File.join(base_dir, "#{option_name}.txt")