fastlane 2.141.0 → 2.146.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +82 -82
  4. data/credentials_manager/lib/credentials_manager/appfile_config.rb +4 -0
  5. data/deliver/lib/deliver/app_screenshot.rb +1 -0
  6. data/deliver/lib/deliver/options.rb +30 -1
  7. data/deliver/lib/deliver/setup.rb +4 -4
  8. data/fastlane/lib/fastlane/actions/.update_code_signing_settings.rb.swp +0 -0
  9. data/fastlane/lib/fastlane/actions/README.md +2 -0
  10. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +13 -5
  11. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -1
  12. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +3 -0
  13. data/fastlane/lib/fastlane/actions/cocoapods.rb +2 -2
  14. data/fastlane/lib/fastlane/actions/crashlytics.rb +14 -2
  15. data/fastlane/lib/fastlane/actions/create_pull_request.rb +7 -1
  16. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +10 -4
  17. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +22 -6
  18. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +23 -7
  19. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +35 -7
  21. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +2 -1
  22. data/fastlane/lib/fastlane/actions/get_github_release.rb +3 -0
  23. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +9 -3
  25. data/fastlane/lib/fastlane/actions/notarize.rb +183 -0
  26. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +7 -1
  27. data/fastlane/lib/fastlane/actions/s3.rb +5 -291
  28. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -1
  29. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +11 -2
  30. data/fastlane/lib/fastlane/actions/slather.rb +1 -1
  31. data/fastlane/lib/fastlane/actions/spm.rb +8 -0
  32. data/fastlane/lib/fastlane/actions/swiftlint.rb +45 -9
  33. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +198 -0
  34. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +14 -4
  35. data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
  36. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  37. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +61 -0
  38. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
  39. data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +1 -1
  40. data/fastlane/lib/fastlane/version.rb +1 -1
  41. data/fastlane/swift/Deliverfile.swift +1 -1
  42. data/fastlane/swift/Fastlane.swift +201 -13
  43. data/fastlane/swift/Gymfile.swift +1 -1
  44. data/fastlane/swift/Matchfile.swift +1 -1
  45. data/fastlane/swift/MatchfileProtocol.swift +17 -1
  46. data/fastlane/swift/Precheckfile.swift +1 -1
  47. data/fastlane/swift/RubyCommand.swift +1 -1
  48. data/fastlane/swift/Scanfile.swift +1 -1
  49. data/fastlane/swift/ScanfileProtocol.swift +9 -1
  50. data/fastlane/swift/Screengrabfile.swift +1 -1
  51. data/fastlane/swift/Snapshotfile.swift +1 -1
  52. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +9 -0
  53. data/fastlane_core/lib/fastlane_core/device_manager.rb +3 -3
  54. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -0
  55. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +2 -0
  56. data/fastlane_core/lib/fastlane_core/project.rb +4 -0
  57. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +15 -2
  58. data/frameit/lib/frameit/commands_generator.rb +25 -0
  59. data/frameit/lib/frameit/config_parser.rb +31 -9
  60. data/frameit/lib/frameit/device.rb +90 -0
  61. data/frameit/lib/frameit/device_types.rb +121 -5
  62. data/frameit/lib/frameit/editor.rb +29 -41
  63. data/frameit/lib/frameit/offsets.rb +8 -1
  64. data/frameit/lib/frameit/options.rb +81 -54
  65. data/frameit/lib/frameit/runner.rb +17 -7
  66. data/frameit/lib/frameit/screenshot.rb +39 -47
  67. data/frameit/lib/frameit/template_finder.rb +15 -12
  68. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  69. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +5 -0
  70. data/gym/lib/gym/runner.rb +16 -2
  71. data/match/lib/match/change_password.rb +1 -1
  72. data/match/lib/match/encryption.rb +4 -0
  73. data/match/lib/match/importer.rb +37 -20
  74. data/match/lib/match/module.rb +1 -1
  75. data/match/lib/match/nuke.rb +5 -1
  76. data/match/lib/match/options.rb +18 -0
  77. data/match/lib/match/runner.rb +4 -0
  78. data/match/lib/match/setup.rb +1 -1
  79. data/match/lib/match/storage.rb +4 -0
  80. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  81. data/match/lib/match/storage/s3_storage.rb +167 -0
  82. data/pilot/lib/pilot/build_manager.rb +24 -7
  83. data/pilot/lib/pilot/options.rb +8 -0
  84. data/produce/lib/produce/developer_center.rb +11 -2
  85. data/produce/lib/produce/itunes_connect.rb +11 -3
  86. data/produce/lib/produce/options.rb +12 -0
  87. data/scan/lib/scan/options.rb +10 -0
  88. data/scan/lib/scan/runner.rb +9 -7
  89. data/scan/lib/scan/test_command_generator.rb +11 -4
  90. data/screengrab/lib/screengrab/runner.rb +32 -19
  91. data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
  92. data/snapshot/lib/snapshot/reports_generator.rb +4 -0
  93. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -0
  94. data/spaceship/lib/spaceship/connect_api/models/app.rb +11 -0
  95. data/spaceship/lib/spaceship/connect_api/models/build.rb +1 -2
  96. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +2 -0
  97. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +23 -0
  98. data/spaceship/lib/spaceship/portal/app_service.rb +2 -2
  99. data/spaceship/lib/spaceship/portal/portal_client.rb +13 -0
  100. data/spaceship/lib/spaceship/tunes/app_version.rb +6 -1
  101. data/spaceship/lib/spaceship/tunes/application.rb +2 -1
  102. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  103. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +52 -16
  104. data/supply/lib/supply/client.rb +4 -4
  105. data/supply/lib/supply/setup.rb +5 -3
  106. metadata +37 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d66ea0e82a638091cb2b4fba453027bd4deae45204e4b0060e371bcdfdd42377
4
- data.tar.gz: 579a0b416a314bfbac2b5bce550d2788f9dae40a7fc9686cf47d5b20b8be3dda
3
+ metadata.gz: bba444e95d8f103a74817cfcae961e4c7a608912577d81053e496586eefb8b44
4
+ data.tar.gz: 811a64d5eeaad53b01adcbc9ba47640e52d895c738a438945d6274a75461c0aa
5
5
  SHA512:
6
- metadata.gz: e59b4a106d204a597833eb62f3cacddb865f8c55702ec510331415c0efcb5de5d7d5442ca2e55c731bdc3a57be57331113dd626864792ca2c7722ffcca6b5649
7
- data.tar.gz: 17f635afbd24dd656d231eb32f3fdd9240093715c0abdaaea3c39cbedec9475b6a8659baec933539b1a29585fccae9c4482f7e57af18bc648526728b3f61dcf5
6
+ metadata.gz: 552371adbdda5455d913652ae431137aaa025b941084ccbf934f08740e5955f24e0d7d857e25495f738b697f8b4f1e17f5f8ac34e5e1e257426edd9fb3a683b8
7
+ data.tar.gz: bc83dfae6426fb0644afdaa547bed294adeb8092559da66eae5171b5ab96fdd53a90f4e955e5f1dd4b993dd2db3aef1ce69f00ab9d38db23c5017a01518be3d2
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2019 The Fastlane Authors
3
+ Copyright (c) 2015-2020 The Fastlane Authors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -34,43 +34,29 @@ 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='jimmy-dee'>
38
- <a href='https://github.com/jdee'>
39
- <img src='https://github.com/jdee.png?size=140'>
40
- </a>
41
- <h4 align='center'>Jimmy Dee</h4>
42
- </td>
43
- <td id='felix-krause'>
44
- <a href='https://github.com/KrauseFx'>
45
- <img src='https://github.com/KrauseFx.png?size=140'>
46
- </a>
47
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
48
- </td>
49
- <td id='andrew-mcburney'>
50
- <a href='https://github.com/armcburney'>
51
- <img src='https://github.com/armcburney.png?size=140'>
37
+ <td id='jorge-revuelta-h'>
38
+ <a href='https://github.com/minuscorp'>
39
+ <img src='https://github.com/minuscorp.png?size=140'>
52
40
  </a>
53
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
54
42
  </td>
55
- <td id='jan-piotrowski'>
56
- <a href='https://github.com/janpio'>
57
- <img src='https://github.com/janpio.png?size=140'>
43
+ <td id='max-ott'>
44
+ <a href='https://github.com/max-ott'>
45
+ <img src='https://github.com/max-ott.png?size=140'>
58
46
  </a>
59
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
60
48
  </td>
61
- <td id='olivier-halligon'>
62
- <a href='https://github.com/AliSoftware'>
63
- <img src='https://github.com/AliSoftware.png?size=140'>
49
+ <td id='aaron-brager'>
50
+ <a href='https://github.com/getaaron'>
51
+ <img src='https://github.com/getaaron.png?size=140'>
64
52
  </a>
65
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
66
54
  </td>
67
- </tr>
68
- <tr>
69
- <td id='matthew-ellis'>
70
- <a href='https://github.com/matthewellis'>
71
- <img src='https://github.com/matthewellis.png?size=140'>
55
+ <td id='helmut-januschka'>
56
+ <a href='https://github.com/hjanuschka'>
57
+ <img src='https://github.com/hjanuschka.png?size=140'>
72
58
  </a>
73
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
74
60
  </td>
75
61
  <td id='stefan-natchev'>
76
62
  <a href='https://github.com/snatchev'>
@@ -78,17 +64,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
78
64
  </a>
79
65
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
80
66
  </td>
81
- <td id='helmut-januschka'>
82
- <a href='https://github.com/hjanuschka'>
83
- <img src='https://github.com/hjanuschka.png?size=140'>
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'>
84
72
  </a>
85
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
86
74
  </td>
87
- <td id='josh-holtz'>
88
- <a href='https://github.com/joshdholtz'>
89
- <img src='https://github.com/joshdholtz.png?size=140'>
75
+ <td id='andrew-mcburney'>
76
+ <a href='https://github.com/armcburney'>
77
+ <img src='https://github.com/armcburney.png?size=140'>
90
78
  </a>
91
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
79
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
80
+ </td>
81
+ <td id='danielle-tomlinson'>
82
+ <a href='https://github.com/endocrimes'>
83
+ <img src='https://github.com/endocrimes.png?size=140'>
84
+ </a>
85
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
92
86
  </td>
93
87
  <td id='jérôme-lacoste'>
94
88
  <a href='https://github.com/lacostej'>
@@ -96,51 +90,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
96
90
  </a>
97
91
  <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
98
92
  </td>
93
+ <td id='maksym-grebenets'>
94
+ <a href='https://github.com/mgrebenets'>
95
+ <img src='https://github.com/mgrebenets.png?size=140'>
96
+ </a>
97
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
98
+ </td>
99
99
  </tr>
100
100
  <tr>
101
- <td id='kohki-miki'>
102
- <a href='https://github.com/giginet'>
103
- <img src='https://github.com/giginet.png?size=140'>
101
+ <td id='joshua-liebowitz'>
102
+ <a href='https://github.com/taquitos'>
103
+ <img src='https://github.com/taquitos.png?size=140'>
104
104
  </a>
105
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
105
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
106
106
  </td>
107
- <td id='aaron-brager'>
108
- <a href='https://github.com/getaaron'>
109
- <img src='https://github.com/getaaron.png?size=140'>
107
+ <td id='jan-piotrowski'>
108
+ <a href='https://github.com/janpio'>
109
+ <img src='https://github.com/janpio.png?size=140'>
110
110
  </a>
111
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
112
112
  </td>
113
- <td id='luka-mirosevic'>
114
- <a href='https://github.com/lmirosevic'>
115
- <img src='https://github.com/lmirosevic.png?size=140'>
113
+ <td id='olivier-halligon'>
114
+ <a href='https://github.com/AliSoftware'>
115
+ <img src='https://github.com/AliSoftware.png?size=140'>
116
116
  </a>
117
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
117
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
118
118
  </td>
119
- <td id='joshua-liebowitz'>
120
- <a href='https://github.com/taquitos'>
121
- <img src='https://github.com/taquitos.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'>
122
122
  </a>
123
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
123
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
124
124
  </td>
125
- <td id='manu-wallner'>
126
- <a href='https://github.com/milch'>
127
- <img src='https://github.com/milch.png?size=140'>
125
+ <td id='josh-holtz'>
126
+ <a href='https://github.com/joshdholtz'>
127
+ <img src='https://github.com/joshdholtz.png?size=140'>
128
128
  </a>
129
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
130
130
  </td>
131
131
  </tr>
132
132
  <tr>
133
- <td id='danielle-tomlinson'>
134
- <a href='https://github.com/endocrimes'>
135
- <img src='https://github.com/endocrimes.png?size=140'>
133
+ <td id='daniel-jankowski'>
134
+ <a href='https://github.com/mollyIV'>
135
+ <img src='https://github.com/mollyIV.png?size=140'>
136
136
  </a>
137
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
138
138
  </td>
139
- <td id='jorge-revuelta-h'>
140
- <a href='https://github.com/minuscorp'>
141
- <img src='https://github.com/minuscorp.png?size=140'>
139
+ <td id='fumiya-nakamura'>
140
+ <a href='https://github.com/nafu'>
141
+ <img src='https://github.com/nafu.png?size=140'>
142
142
  </a>
143
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
144
144
  </td>
145
145
  <td id='iulian-onofrei'>
146
146
  <a href='https://github.com/revolter'>
@@ -148,31 +148,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
148
148
  </a>
149
149
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
150
  </td>
151
- <td id='daniel-jankowski'>
152
- <a href='https://github.com/mollyIV'>
153
- <img src='https://github.com/mollyIV.png?size=140'>
151
+ <td id='matthew-ellis'>
152
+ <a href='https://github.com/matthewellis'>
153
+ <img src='https://github.com/matthewellis.png?size=140'>
154
154
  </a>
155
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
156
156
  </td>
157
- <td id='max-ott'>
158
- <a href='https://github.com/max-ott'>
159
- <img src='https://github.com/max-ott.png?size=140'>
157
+ <td id='manu-wallner'>
158
+ <a href='https://github.com/milch'>
159
+ <img src='https://github.com/milch.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
161
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</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='jimmy-dee'>
166
+ <a href='https://github.com/jdee'>
167
+ <img src='https://github.com/jdee.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
169
+ <h4 align='center'>Jimmy Dee</h4>
170
170
  </td>
171
- <td id='fumiya-nakamura'>
172
- <a href='https://github.com/nafu'>
173
- <img src='https://github.com/nafu.png?size=140'>
171
+ <td id='kohki-miki'>
172
+ <a href='https://github.com/giginet'>
173
+ <img src='https://github.com/giginet.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</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")