fastlane 2.139.0 → 2.144.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +85 -72
  4. data/cert/lib/cert/options.rb +12 -5
  5. data/cert/lib/cert/runner.rb +13 -0
  6. data/deliver/lib/deliver/options.rb +28 -2
  7. data/deliver/lib/deliver/runner.rb +13 -2
  8. data/fastlane/lib/fastlane/action.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  10. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  11. data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
  12. data/fastlane/lib/fastlane/actions/README.md +2 -0
  13. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +13 -5
  14. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -1
  15. data/fastlane/lib/fastlane/actions/build_app.rb +157 -6
  16. data/fastlane/lib/fastlane/actions/build_ios_app.rb +28 -132
  17. data/fastlane/lib/fastlane/actions/build_mac_app.rb +46 -0
  18. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +3 -0
  19. data/fastlane/lib/fastlane/actions/cocoapods.rb +2 -2
  20. data/fastlane/lib/fastlane/actions/crashlytics.rb +14 -2
  21. data/fastlane/lib/fastlane/actions/create_pull_request.rb +29 -0
  22. data/fastlane/lib/fastlane/actions/docs/{build_ios_app.md → build_app.md} +1 -1
  23. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +22 -6
  24. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +22 -6
  25. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +1 -1
  26. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +35 -7
  27. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +2 -1
  28. data/fastlane/lib/fastlane/actions/get_github_release.rb +3 -0
  29. data/fastlane/lib/fastlane/actions/gradle.rb +43 -2
  30. data/fastlane/lib/fastlane/actions/gym.rb +3 -7
  31. data/fastlane/lib/fastlane/actions/import_from_git.rb +4 -0
  32. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +9 -3
  33. data/fastlane/lib/fastlane/actions/notarize.rb +183 -0
  34. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +7 -1
  35. data/fastlane/lib/fastlane/actions/run_tests.rb +5 -22
  36. data/fastlane/lib/fastlane/actions/s3.rb +5 -291
  37. data/fastlane/lib/fastlane/actions/set_github_release.rb +1 -1
  38. data/fastlane/lib/fastlane/actions/spm.rb +8 -0
  39. data/fastlane/lib/fastlane/actions/swiftlint.rb +45 -9
  40. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +190 -0
  41. data/fastlane/lib/fastlane/actions/update_plist.rb +37 -2
  42. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +13 -3
  43. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -0
  44. data/fastlane/lib/fastlane/fast_file.rb +13 -3
  45. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  46. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +56 -0
  47. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
  48. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +2 -0
  49. data/fastlane/lib/fastlane/runner.rb +23 -18
  50. data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +1 -1
  51. data/fastlane/lib/fastlane/version.rb +1 -1
  52. data/fastlane/swift/Deliverfile.swift +1 -1
  53. data/fastlane/swift/DeliverfileProtocol.swift +3 -3
  54. data/fastlane/swift/Fastlane.swift +422 -45
  55. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  56. data/fastlane/swift/Gymfile.swift +1 -1
  57. data/fastlane/swift/GymfileProtocol.swift +17 -1
  58. data/fastlane/swift/Matchfile.swift +1 -1
  59. data/fastlane/swift/MatchfileProtocol.swift +23 -3
  60. data/fastlane/swift/Precheckfile.swift +1 -1
  61. data/fastlane/swift/RubyCommand.swift +1 -1
  62. data/fastlane/swift/Scanfile.swift +1 -1
  63. data/fastlane/swift/ScanfileProtocol.swift +21 -1
  64. data/fastlane/swift/Screengrabfile.swift +1 -1
  65. data/fastlane/swift/Snapshotfile.swift +1 -1
  66. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  67. data/fastlane_core/lib/fastlane_core/cert_checker.rb +28 -0
  68. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  69. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -0
  70. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +2 -0
  71. data/fastlane_core/lib/fastlane_core/project.rb +27 -0
  72. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +15 -2
  73. data/frameit/lib/frameit/commands_generator.rb +25 -0
  74. data/frameit/lib/frameit/config_parser.rb +31 -9
  75. data/frameit/lib/frameit/device.rb +90 -0
  76. data/frameit/lib/frameit/device_types.rb +121 -5
  77. data/frameit/lib/frameit/editor.rb +28 -40
  78. data/frameit/lib/frameit/offsets.rb +8 -1
  79. data/frameit/lib/frameit/options.rb +81 -54
  80. data/frameit/lib/frameit/runner.rb +17 -7
  81. data/frameit/lib/frameit/screenshot.rb +35 -47
  82. data/frameit/lib/frameit/template_finder.rb +15 -12
  83. data/gym/lib/gym/code_signing_mapping.rb +32 -3
  84. data/gym/lib/gym/detect_values.rb +34 -2
  85. data/gym/lib/gym/generators/package_command_generator.rb +8 -0
  86. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +52 -17
  87. data/gym/lib/gym/module.rb +8 -0
  88. data/gym/lib/gym/options.rb +25 -1
  89. data/gym/lib/gym/runner.rb +70 -21
  90. data/match/lib/match/change_password.rb +1 -1
  91. data/match/lib/match/encryption.rb +4 -0
  92. data/match/lib/match/encryption/openssl.rb +1 -1
  93. data/match/lib/match/generator.rb +17 -3
  94. data/match/lib/match/importer.rb +35 -20
  95. data/match/lib/match/module.rb +5 -2
  96. data/match/lib/match/nuke.rb +59 -17
  97. data/match/lib/match/options.rb +38 -15
  98. data/match/lib/match/runner.rb +24 -8
  99. data/match/lib/match/setup.rb +1 -1
  100. data/match/lib/match/spaceship_ensure.rb +19 -9
  101. data/match/lib/match/storage.rb +4 -0
  102. data/match/lib/match/storage/git_storage.rb +5 -2
  103. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  104. data/match/lib/match/storage/s3_storage.rb +162 -0
  105. data/pilot/lib/pilot/.manager.rb.swp +0 -0
  106. data/pilot/lib/pilot/build_manager.rb +24 -9
  107. data/scan/lib/scan/detect_values.rb +6 -1
  108. data/scan/lib/scan/manager.rb +18 -1
  109. data/scan/lib/scan/options.rb +28 -1
  110. data/scan/lib/scan/runner.rb +9 -7
  111. data/scan/lib/scan/slack_poster.rb +1 -1
  112. data/scan/lib/scan/test_command_generator.rb +12 -5
  113. data/screengrab/lib/screengrab/runner.rb +31 -18
  114. data/sigh/lib/sigh/.runner.rb.swp +0 -0
  115. data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
  116. data/snapshot/lib/snapshot/options.rb +12 -1
  117. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  118. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +13 -0
  119. data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
  120. data/spaceship/lib/spaceship/connect_api/models/.bundle_id.rb.swp +0 -0
  121. data/{gym/lib/gym/.runner.rb.swp → spaceship/lib/spaceship/connect_api/models/.bundle_id_capability.rb.swp} +0 -0
  122. data/spaceship/lib/spaceship/connect_api/models/app.rb +11 -0
  123. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +4 -0
  124. data/spaceship/lib/spaceship/connect_api/models/build.rb +1 -2
  125. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +2 -0
  126. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +29 -0
  127. data/spaceship/lib/spaceship/portal/app.rb +11 -2
  128. data/spaceship/lib/spaceship/tunes/app_version.rb +6 -1
  129. data/spaceship/lib/spaceship/tunes/iap.rb +11 -11
  130. data/spaceship/lib/spaceship/tunes/iap_detail.rb +7 -3
  131. data/spaceship/lib/spaceship/tunes/iap_families.rb +12 -1
  132. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +26 -17
  133. data/spaceship/lib/spaceship/tunes/iap_status.rb +5 -1
  134. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  135. data/supply/lib/supply/client.rb +1 -1
  136. metadata +63 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6343d2b679ea90f71fecb7ec7370099d26928e9faad24ada6f90e26981355917
4
- data.tar.gz: 5b639baeaefd235be5b426d846686d75642a2976d06b82079b430c6e797f6d09
3
+ metadata.gz: a010cab564b7d5d0bec26939d93d9e043e62daf47240bf20acbaa7f2415366b0
4
+ data.tar.gz: df53185c28f8fc39c4ef76b0acc6cfc18b1c8421bc70a4493af0f4298e0bd2a4
5
5
  SHA512:
6
- metadata.gz: 3eb845566c5e3be2587016bf243de91fd0df7b6dca844146c75b593b4cfec3d15dd852c5308ace7077d27cb43319e5392f9341b6fc8f76d008954b3f74dcc04c
7
- data.tar.gz: 7d90e46a1c4b96851c53a496e1aeabf08235d24b031d8bc9d7cb14c187680e088a1bd93f6b096025123797ca3843b02a55f56ae560d5f17ce460fb3b8ad588f3
6
+ metadata.gz: 98bd1adcc40ea458038dfa535f7ac3c39c3203effe06c66e0889daa76dd9cec6d49fe72165411de859678f675dd02d1f6af8635289ef637e7f05667553d5a5b1
7
+ data.tar.gz: 440cc16fb48caca5a24dea8190dffc07a0423b7f4ab4c0df083874dfc8c711f22a52f4fde7764ea014b93fecdec0b270de7270a2915741a55243f3e8fbd38bb6
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,29 +34,11 @@ 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='olivier-halligon'>
38
- <a href='https://github.com/AliSoftware'>
39
- <img src='https://github.com/AliSoftware.png?size=140'>
40
- </a>
41
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
42
- </td>
43
- <td id='manu-wallner'>
44
- <a href='https://github.com/milch'>
45
- <img src='https://github.com/milch.png?size=140'>
46
- </a>
47
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
48
- </td>
49
- <td id='josh-holtz'>
50
- <a href='https://github.com/joshdholtz'>
51
- <img src='https://github.com/joshdholtz.png?size=140'>
52
- </a>
53
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
54
- </td>
55
- <td id='helmut-januschka'>
56
- <a href='https://github.com/hjanuschka'>
57
- <img src='https://github.com/hjanuschka.png?size=140'>
37
+ <td id='stefan-natchev'>
38
+ <a href='https://github.com/snatchev'>
39
+ <img src='https://github.com/snatchev.png?size=140'>
58
40
  </a>
59
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
60
42
  </td>
61
43
  <td id='jorge-revuelta-h'>
62
44
  <a href='https://github.com/minuscorp'>
@@ -64,19 +46,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
64
46
  </a>
65
47
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
66
48
  </td>
67
- </tr>
68
- <tr>
69
- <td id='iulian-onofrei'>
70
- <a href='https://github.com/revolter'>
71
- <img src='https://github.com/revolter.png?size=140'>
72
- </a>
73
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
74
- </td>
75
- <td id='jimmy-dee'>
76
- <a href='https://github.com/jdee'>
77
- <img src='https://github.com/jdee.png?size=140'>
49
+ <td id='josh-holtz'>
50
+ <a href='https://github.com/joshdholtz'>
51
+ <img src='https://github.com/joshdholtz.png?size=140'>
78
52
  </a>
79
- <h4 align='center'>Jimmy Dee</h4>
53
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
80
54
  </td>
81
55
  <td id='jérôme-lacoste'>
82
56
  <a href='https://github.com/lacostej'>
@@ -84,31 +58,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
84
58
  </a>
85
59
  <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
86
60
  </td>
87
- <td id='matthew-ellis'>
88
- <a href='https://github.com/matthewellis'>
89
- <img src='https://github.com/matthewellis.png?size=140'>
90
- </a>
91
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
92
- </td>
93
- <td id='joshua-liebowitz'>
94
- <a href='https://github.com/taquitos'>
95
- <img src='https://github.com/taquitos.png?size=140'>
96
- </a>
97
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
98
- </td>
99
- </tr>
100
- <tr>
101
61
  <td id='maksym-grebenets'>
102
62
  <a href='https://github.com/mgrebenets'>
103
63
  <img src='https://github.com/mgrebenets.png?size=140'>
104
64
  </a>
105
65
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
106
66
  </td>
107
- <td id='felix-krause'>
108
- <a href='https://github.com/KrauseFx'>
109
- <img src='https://github.com/KrauseFx.png?size=140'>
67
+ </tr>
68
+ <tr>
69
+ <td id='manu-wallner'>
70
+ <a href='https://github.com/milch'>
71
+ <img src='https://github.com/milch.png?size=140'>
110
72
  </a>
111
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
74
+ </td>
75
+ <td id='max-ott'>
76
+ <a href='https://github.com/max-ott'>
77
+ <img src='https://github.com/max-ott.png?size=140'>
78
+ </a>
79
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
80
+ </td>
81
+ <td id='luka-mirosevic'>
82
+ <a href='https://github.com/lmirosevic'>
83
+ <img src='https://github.com/lmirosevic.png?size=140'>
84
+ </a>
85
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
86
+ </td>
87
+ <td id='daniel-jankowski'>
88
+ <a href='https://github.com/mollyIV'>
89
+ <img src='https://github.com/mollyIV.png?size=140'>
90
+ </a>
91
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
112
92
  </td>
113
93
  <td id='jan-piotrowski'>
114
94
  <a href='https://github.com/janpio'>
@@ -116,43 +96,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
116
96
  </a>
117
97
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
118
98
  </td>
119
- <td id='kohki-miki'>
120
- <a href='https://github.com/giginet'>
121
- <img src='https://github.com/giginet.png?size=140'>
99
+ </tr>
100
+ <tr>
101
+ <td id='joshua-liebowitz'>
102
+ <a href='https://github.com/taquitos'>
103
+ <img src='https://github.com/taquitos.png?size=140'>
122
104
  </a>
123
- <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>
124
106
  </td>
125
- <td id='stefan-natchev'>
126
- <a href='https://github.com/snatchev'>
127
- <img src='https://github.com/snatchev.png?size=140'>
107
+ <td id='jimmy-dee'>
108
+ <a href='https://github.com/jdee'>
109
+ <img src='https://github.com/jdee.png?size=140'>
128
110
  </a>
129
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
111
+ <h4 align='center'>Jimmy Dee</h4>
112
+ </td>
113
+ <td id='helmut-januschka'>
114
+ <a href='https://github.com/hjanuschka'>
115
+ <img src='https://github.com/hjanuschka.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
130
118
  </td>
131
- </tr>
132
- <tr>
133
119
  <td id='fumiya-nakamura'>
134
120
  <a href='https://github.com/nafu'>
135
121
  <img src='https://github.com/nafu.png?size=140'>
136
122
  </a>
137
123
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
138
124
  </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
125
  <td id='aaron-brager'>
146
126
  <a href='https://github.com/getaaron'>
147
127
  <img src='https://github.com/getaaron.png?size=140'>
148
128
  </a>
149
129
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
150
130
  </td>
151
- <td id='luka-mirosevic'>
152
- <a href='https://github.com/lmirosevic'>
153
- <img src='https://github.com/lmirosevic.png?size=140'>
131
+ </tr>
132
+ <tr>
133
+ <td id='olivier-halligon'>
134
+ <a href='https://github.com/AliSoftware'>
135
+ <img src='https://github.com/AliSoftware.png?size=140'>
154
136
  </a>
155
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
138
+ </td>
139
+ <td id='kohki-miki'>
140
+ <a href='https://github.com/giginet'>
141
+ <img src='https://github.com/giginet.png?size=140'>
142
+ </a>
143
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></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>
156
150
  </td>
157
151
  <td id='andrew-mcburney'>
158
152
  <a href='https://github.com/armcburney'>
@@ -160,7 +154,26 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
160
154
  </a>
161
155
  <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
162
156
  </td>
157
+ <td id='matthew-ellis'>
158
+ <a href='https://github.com/matthewellis'>
159
+ <img src='https://github.com/matthewellis.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
162
+ </td>
163
163
  </tr>
164
+ <tr>
165
+ <td id='danielle-tomlinson'>
166
+ <a href='https://github.com/endocrimes'>
167
+ <img src='https://github.com/endocrimes.png?size=140'>
168
+ </a>
169
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
170
+ </td>
171
+ <td id='felix-krause'>
172
+ <a href='https://github.com/KrauseFx'>
173
+ <img src='https://github.com/KrauseFx.png?size=140'>
174
+ </a>
175
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
176
+ </td>
164
177
  </table>
165
178
 
166
179
  Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
@@ -13,12 +13,21 @@ module Cert
13
13
  FastlaneCore::ConfigItem.new(key: :development,
14
14
  env_name: "CERT_DEVELOPMENT",
15
15
  description: "Create a development certificate instead of a distribution one",
16
- is_string: false,
16
+ type: Boolean,
17
17
  default_value: false),
18
+ FastlaneCore::ConfigItem.new(key: :type,
19
+ env_name: "CERT_TYPE",
20
+ description: "Create specific certificate type (takes precedence over :development)",
21
+ optional: true,
22
+ verify_block: proc do |value|
23
+ value = value.to_s
24
+ types = %w(mac_installer_distribution developer_id_installer developer_id_application)
25
+ UI.user_error!("Unsupported types, must be: #{types}") unless types.include?(value)
26
+ end),
18
27
  FastlaneCore::ConfigItem.new(key: :force,
19
28
  env_name: "CERT_FORCE",
20
29
  description: "Create a certificate even if an existing certificate exists",
21
- is_string: false,
30
+ type: Boolean,
22
31
  default_value: false),
23
32
  FastlaneCore::ConfigItem.new(key: :generate_apple_certs,
24
33
  env_name: "CERT_GENERATE_APPLE_CERTS",
@@ -58,8 +67,7 @@ module Cert
58
67
  short_option: "-q",
59
68
  env_name: "CERT_FILE_NAME",
60
69
  optional: true,
61
- description: "The filename of certificate to store",
62
- is_string: true),
70
+ description: "The filename of certificate to store"),
63
71
  FastlaneCore::ConfigItem.new(key: :output_path,
64
72
  short_option: "-o",
65
73
  env_name: "CERT_OUTPUT_PATH",
@@ -85,7 +93,6 @@ module Cert
85
93
  FastlaneCore::ConfigItem.new(key: :platform,
86
94
  env_name: "CERT_PLATFORM",
87
95
  description: "Set the provisioning profile's platform (ios, macos)",
88
- is_string: false,
89
96
  default_value: "ios",
90
97
  verify_block: proc do |value|
91
98
  value = value.to_s
@@ -134,6 +134,19 @@ module Cert
134
134
 
135
135
  # The kind of certificate we're interested in
136
136
  def certificate_type
137
+ if Cert.config[:type]
138
+ case Cert.config[:type].to_sym
139
+ when :mac_installer_distribution
140
+ return Spaceship.certificate.mac_installer_distribution
141
+ when :developer_id_application
142
+ return Spaceship.certificate.developer_id_application
143
+ when :developer_id_installer
144
+ return Spaceship.certificate.developer_id_installer
145
+ else
146
+ UI.user_error("Unaccepted value for :type - #{Cert.config[:type]}")
147
+ end
148
+ end
149
+
137
150
  # Check if apple certs (Xcode 11 and later) should be used
138
151
  if Cert.config[:generate_apple_certs]
139
152
  cert_type = Spaceship.certificate.apple_distribution
@@ -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,12 +159,13 @@ module Deliver
149
159
 
150
160
  # release
151
161
  FastlaneCore::ConfigItem.new(key: :automatic_release,
152
- description: "Should the app be automatically released once it's approved?",
162
+ env_name: "DELIVER_AUTOMATIC_RELEASE",
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),
155
166
  FastlaneCore::ConfigItem.new(key: :auto_release_date,
156
167
  env_name: "DELIVER_AUTO_RELEASE_DATE",
157
- description: "Date in milliseconds for automatically releasing on pending approval",
168
+ description: "Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)",
158
169
  is_string: false,
159
170
  optional: true,
160
171
  conflicting_options: [:automatic_release],
@@ -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,
@@ -271,6 +286,7 @@ module Deliver
271
286
 
272
287
  # Non Localised
273
288
  FastlaneCore::ConfigItem.new(key: :app_icon,
289
+ env_name: "DELIVER_APP_ICON_PATH",
274
290
  description: "Metadata: The path to the app icon",
275
291
  optional: true,
276
292
  short_option: "-l",
@@ -279,6 +295,7 @@ module Deliver
279
295
  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
296
  end),
281
297
  FastlaneCore::ConfigItem.new(key: :apple_watch_app_icon,
298
+ env_name: "DELIVER_APPLE_WATCH_APP_ICON_PATH",
282
299
  description: "Metadata: The path to the Apple Watch app icon",
283
300
  optional: true,
284
301
  short_option: "-q",
@@ -287,30 +304,37 @@ module Deliver
287
304
  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
305
  end),
289
306
  FastlaneCore::ConfigItem.new(key: :copyright,
307
+ env_name: "DELIVER_COPYRIGHT",
290
308
  description: "Metadata: The copyright notice",
291
309
  optional: true,
292
310
  is_string: true),
293
311
  FastlaneCore::ConfigItem.new(key: :primary_category,
312
+ env_name: "DELIVER_PRIMARY_CATEGORY",
294
313
  description: "Metadata: The english name of the primary category (e.g. `Business`, `Books`)",
295
314
  optional: true,
296
315
  is_string: true),
297
316
  FastlaneCore::ConfigItem.new(key: :secondary_category,
317
+ env_name: "DELIVER_SECONDARY_CATEGORY",
298
318
  description: "Metadata: The english name of the secondary category (e.g. `Business`, `Books`)",
299
319
  optional: true,
300
320
  is_string: true),
301
321
  FastlaneCore::ConfigItem.new(key: :primary_first_sub_category,
322
+ env_name: "DELIVER_PRIMARY_FIRST_SUB_CATEGORY",
302
323
  description: "Metadata: The english name of the primary first sub category (e.g. `Educational`, `Puzzle`)",
303
324
  optional: true,
304
325
  is_string: true),
305
326
  FastlaneCore::ConfigItem.new(key: :primary_second_sub_category,
327
+ env_name: "DELIVER_PRIMARY_SECOND_SUB_CATEGORY",
306
328
  description: "Metadata: The english name of the primary second sub category (e.g. `Educational`, `Puzzle`)",
307
329
  optional: true,
308
330
  is_string: true),
309
331
  FastlaneCore::ConfigItem.new(key: :secondary_first_sub_category,
332
+ env_name: "DELIVER_SECONDARY_FIRST_SUB_CATEGORY",
310
333
  description: "Metadata: The english name of the secondary first sub category (e.g. `Educational`, `Puzzle`)",
311
334
  optional: true,
312
335
  is_string: true),
313
336
  FastlaneCore::ConfigItem.new(key: :secondary_second_sub_category,
337
+ env_name: "DELIVER_SECONDARY_SECOND_SUB_CATEGORY",
314
338
  description: "Metadata: The english name of the secondary second sub category (e.g. `Educational`, `Puzzle`)",
315
339
  optional: true,
316
340
  is_string: true),
@@ -325,6 +349,7 @@ module Deliver
325
349
  is_string: false,
326
350
  type: Hash),
327
351
  FastlaneCore::ConfigItem.new(key: :app_review_attachment_file,
352
+ env_name: "DELIVER_APP_REVIEW_ATTACHMENT_FILE",
328
353
  description: "Metadata: Path to the app review attachment file",
329
354
  optional: true,
330
355
  is_string: true),
@@ -391,6 +416,7 @@ module Deliver
391
416
  # The verify_block has been removed from here and verification now happens in Deliver::DetectValues
392
417
  # Verification needed Spaceship::Tunes.client which required the Deliver::Runner to already by started
393
418
  FastlaneCore::ConfigItem.new(key: :languages,
419
+ env_name: "DELIVER_LANGUAGES",
394
420
  description: "Metadata: List of languages to activate",
395
421
  type: Array,
396
422
  optional: true),