fastlane 2.134.0 → 2.135.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +72 -72
  3. data/fastlane/lib/fastlane/action.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/actions_helper.rb +1 -1
  5. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  6. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +4 -2
  7. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +26 -2
  8. data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +1 -1
  10. data/fastlane/lib/fastlane/environment_printer.rb +2 -2
  11. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  12. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +12 -2
  13. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -0
  14. data/fastlane/lib/fastlane/runner.rb +2 -2
  15. data/fastlane/lib/fastlane/version.rb +1 -1
  16. data/fastlane/swift/Deliverfile.swift +1 -1
  17. data/fastlane/swift/Fastlane.swift +50 -20
  18. data/fastlane/swift/Gymfile.swift +1 -1
  19. data/fastlane/swift/Matchfile.swift +1 -1
  20. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  21. data/fastlane/swift/Precheckfile.swift +1 -1
  22. data/fastlane/swift/Scanfile.swift +1 -1
  23. data/fastlane/swift/Screengrabfile.swift +1 -1
  24. data/fastlane/swift/Snapshotfile.swift +1 -1
  25. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +3 -3
  26. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
  27. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  28. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
  29. data/{pilot/lib/pilot/.manager.rb.swp → gym/lib/gym/.module.rb.swp} +0 -0
  30. data/sigh/lib/assets/resign.sh +2 -2
  31. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  32. data/supply/lib/supply.rb +23 -0
  33. data/{fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp → supply/lib/supply/.client.rb.swp} +0 -0
  34. data/supply/lib/supply/.options.rb.swp +0 -0
  35. data/supply/lib/supply/.uploader.rb.swp +0 -0
  36. data/supply/lib/supply/client.rb +101 -55
  37. data/supply/lib/supply/options.rb +49 -14
  38. data/supply/lib/supply/release_listing.rb +18 -0
  39. data/supply/lib/supply/setup.rb +42 -34
  40. data/supply/lib/supply/uploader.rb +168 -93
  41. metadata +21 -24
  42. data/fastlane/lib/fastlane/actions/.download_dsyms.rb.swp +0 -0
  43. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  44. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  45. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  46. data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
  47. 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: 137d18e3b1c51143869fab046abca316e329c07121b9fa8673c19bc3e64c4367
4
- data.tar.gz: 230b49b8a849c8470d0868b1119cd5a9379a4df93e54f93bd94eebc1417e29b7
3
+ metadata.gz: 11ad4a66eed7e6f49928e1fe3672f975f70f7a0a70dec8d72297bffe8072abd6
4
+ data.tar.gz: 07b35e9ee1d7051e2c60c87353e5def08c8956c5c7ca0e790dfe67493aa538e0
5
5
  SHA512:
6
- metadata.gz: fbbfe027861bdbc7581ac00dbb19af06131513b759ccab42833c7d81f8a1f99833c4a2229438e3029d486906dd1ea42e83fb827e668c2dff7e9ea54b0a83fa60
7
- data.tar.gz: e50c253223dd102a4777595e78ae6f3f77df92a2015345c73050398083557244481e0858581a4d60afa2d28bf00fb299d1a2f4083145489a640ba25baed3808c
6
+ metadata.gz: aef0a8ad6b6504a50b04eeff619e261bccea0c1b0e80b89c385f9bc7561dc961763e1034a6c8c302eb131fee502ddcec348b42849e16daaf2266d8eca1723bfc
7
+ data.tar.gz: 1577316c847c3cf3cb7473f8b69e1cede26b1e7f847a6c6d55c31431cba4e0a400425d43da3320cd69c5a5f8a348c8174204bfaac44c454c47f725aefb33f483
data/README.md CHANGED
@@ -34,17 +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='felix-krause'>
38
- <a href='https://github.com/KrauseFx'>
39
- <img src='https://github.com/KrauseFx.png?size=140'>
40
- </a>
41
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
42
- </td>
43
- <td id='luka-mirosevic'>
44
- <a href='https://github.com/lmirosevic'>
45
- <img src='https://github.com/lmirosevic.png?size=140'>
37
+ <td id='kohki-miki'>
38
+ <a href='https://github.com/giginet'>
39
+ <img src='https://github.com/giginet.png?size=140'>
46
40
  </a>
47
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
48
42
  </td>
49
43
  <td id='aaron-brager'>
50
44
  <a href='https://github.com/getaaron'>
@@ -52,25 +46,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
52
46
  </a>
53
47
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
54
48
  </td>
55
- <td id='kohki-miki'>
56
- <a href='https://github.com/giginet'>
57
- <img src='https://github.com/giginet.png?size=140'>
58
- </a>
59
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
60
- </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='jimmy-dee'>
50
+ <a href='https://github.com/jdee'>
51
+ <img src='https://github.com/jdee.png?size=140'>
64
52
  </a>
65
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
53
+ <h4 align='center'>Jimmy Dee</h4>
66
54
  </td>
67
- </tr>
68
- <tr>
69
- <td id='josh-holtz'>
70
- <a href='https://github.com/joshdholtz'>
71
- <img src='https://github.com/joshdholtz.png?size=140'>
55
+ <td id='jérôme-lacoste'>
56
+ <a href='https://github.com/lacostej'>
57
+ <img src='https://github.com/lacostej.png?size=140'>
72
58
  </a>
73
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
74
60
  </td>
75
61
  <td id='manu-wallner'>
76
62
  <a href='https://github.com/milch'>
@@ -78,49 +64,31 @@ 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/acrooow'>Manu Wallner</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'>
84
- </a>
85
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
86
- </td>
87
- <td id='jorge-revuelta-h'>
88
- <a href='https://github.com/minuscorp'>
89
- <img src='https://github.com/minuscorp.png?size=140'>
90
- </a>
91
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
92
- </td>
93
- <td id='jan-piotrowski'>
94
- <a href='https://github.com/janpio'>
95
- <img src='https://github.com/janpio.png?size=140'>
96
- </a>
97
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
98
- </td>
99
67
  </tr>
100
68
  <tr>
101
- <td id='joshua-liebowitz'>
102
- <a href='https://github.com/taquitos'>
103
- <img src='https://github.com/taquitos.png?size=140'>
69
+ <td id='luka-mirosevic'>
70
+ <a href='https://github.com/lmirosevic'>
71
+ <img src='https://github.com/lmirosevic.png?size=140'>
104
72
  </a>
105
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
106
74
  </td>
107
- <td id='fumiya-nakamura'>
108
- <a href='https://github.com/nafu'>
109
- <img src='https://github.com/nafu.png?size=140'>
75
+ <td id='felix-krause'>
76
+ <a href='https://github.com/KrauseFx'>
77
+ <img src='https://github.com/KrauseFx.png?size=140'>
110
78
  </a>
111
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
79
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
112
80
  </td>
113
- <td id='danielle-tomlinson'>
114
- <a href='https://github.com/endocrimes'>
115
- <img src='https://github.com/endocrimes.png?size=140'>
81
+ <td id='josh-holtz'>
82
+ <a href='https://github.com/joshdholtz'>
83
+ <img src='https://github.com/joshdholtz.png?size=140'>
116
84
  </a>
117
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
118
86
  </td>
119
- <td id='iulian-onofrei'>
120
- <a href='https://github.com/revolter'>
121
- <img src='https://github.com/revolter.png?size=140'>
87
+ <td id='maksym-grebenets'>
88
+ <a href='https://github.com/mgrebenets'>
89
+ <img src='https://github.com/mgrebenets.png?size=140'>
122
90
  </a>
123
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
124
92
  </td>
125
93
  <td id='matthew-ellis'>
126
94
  <a href='https://github.com/matthewellis'>
@@ -136,29 +104,61 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
136
104
  </a>
137
105
  <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
138
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='iulian-onofrei'>
114
+ <a href='https://github.com/revolter'>
115
+ <img src='https://github.com/revolter.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
118
+ </td>
139
119
  <td id='stefan-natchev'>
140
120
  <a href='https://github.com/snatchev'>
141
121
  <img src='https://github.com/snatchev.png?size=140'>
142
122
  </a>
143
123
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
144
124
  </td>
145
- <td id='jimmy-dee'>
146
- <a href='https://github.com/jdee'>
147
- <img src='https://github.com/jdee.png?size=140'>
125
+ <td id='danielle-tomlinson'>
126
+ <a href='https://github.com/endocrimes'>
127
+ <img src='https://github.com/endocrimes.png?size=140'>
148
128
  </a>
149
- <h4 align='center'>Jimmy Dee</h4>
129
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
150
130
  </td>
151
- <td id='jérôme-lacoste'>
152
- <a href='https://github.com/lacostej'>
153
- <img src='https://github.com/lacostej.png?size=140'>
131
+ </tr>
132
+ <tr>
133
+ <td id='jorge-revuelta-h'>
134
+ <a href='https://github.com/minuscorp'>
135
+ <img src='https://github.com/minuscorp.png?size=140'>
154
136
  </a>
155
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
156
138
  </td>
157
- <td id='maksym-grebenets'>
158
- <a href='https://github.com/mgrebenets'>
159
- <img src='https://github.com/mgrebenets.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'>
160
142
  </a>
161
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
144
+ </td>
145
+ <td id='joshua-liebowitz'>
146
+ <a href='https://github.com/taquitos'>
147
+ <img src='https://github.com/taquitos.png?size=140'>
148
+ </a>
149
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
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='helmut-januschka'>
158
+ <a href='https://github.com/hjanuschka'>
159
+ <img src='https://github.com/hjanuschka.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  </table>
@@ -134,7 +134,7 @@ module Fastlane
134
134
  UI.user_error!("To call another action from an action use `other_action.#{method_sym}` instead")
135
135
  end
136
136
 
137
- # When shelling out from the actoin, should we use `bundle exec`?
137
+ # When shelling out from the action, should we use `bundle exec`?
138
138
  def self.shell_out_should_use_bundle_exec?
139
139
  return File.exist?('Gemfile') && !Helper.contained_fastlane?
140
140
  end
@@ -77,7 +77,7 @@ module Fastlane
77
77
  # rubocop:enable Style/AccessorMethodName
78
78
 
79
79
  # Returns the class ref to the action based on the action name
80
- # Returns nil if the action is not aailable
80
+ # Returns nil if the action is not available
81
81
  def self.action_class_ref(action_name)
82
82
  class_name = action_name.to_s.fastlane_class + 'Action'
83
83
  class_ref = nil
@@ -128,7 +128,7 @@ Your screenshots will be stored in the `./screenshots/` folder by default (or `.
128
128
 
129
129
  New with Xcode 9, *snapshot* can run multiple simulators concurrently. This is the default behavior in order to take your screenshots as quickly as possible. This can be disabled to run each device, one at a time, by setting the `:concurrent_simulators` option to `false`.
130
130
 
131
- **Note:** While running *snapshot* with Xcode 9, the simulators will not be visibly spawned. So, while you wont see the simulators running your tests, they will, in fact, be taking your screenshots.
131
+ **Note:** While running *snapshot* with Xcode 9, the simulators will not be visibly spawned. So, while you won't see the simulators running your tests, they will, in fact, be taking your screenshots.
132
132
 
133
133
  If any error occurs while running the snapshot script on a device, that device will not have any screenshots, and _snapshot_ will continue with the next device or language. To stop the flow after the first error, run
134
134
 
@@ -99,7 +99,7 @@ If your machine is currently using SSH to authenticate with GitHub, you'll want
99
99
  Using parameter:
100
100
 
101
101
  ```
102
- math(git_basic_authorization: '<YOUR KEY>')
102
+ match(git_basic_authorization: '<YOUR KEY>')
103
103
  ```
104
104
 
105
105
  Using environment variable:
@@ -236,9 +236,11 @@ There are two cases for reading and writing certificates stored in a Google Clou
236
236
  When running `fastlane match init` the first time, the setup process will give you the option to create your `gc_keys.json` file. This file contains the authentication credentials needed to access your Google Cloud storage bucket. Make sure to keep that file secret and never add it to version control. We recommend adding `gc_keys.json` to your `.gitignore`
237
237
 
238
238
  ##### Managing developer access via keys
239
+
239
240
  If you want to manage developer access to your certificates via authentication keys, every developer should create their own `gc_keys.json` and add the file to all their work machines. This will give the admin full control over who has read/write access to the given Storage bucket. At the same time it allows your team to revoke a single key if a file gets compromised.
240
241
 
241
- ##### Managing developer acess via Google accounts
242
+ ##### Managing developer access via Google accounts
243
+
242
244
  If your developers already have Google accounts and access to your Google Cloud project, you can also manage access to the storage bucket via [Cloud Identity and Access Management (IAM)](https://cloud.google.com/storage/docs/access-control/iam). Just [set up](https://cloud.google.com/storage/docs/access-control/lists) individual developer accounts or an entire Google Group containing your team as readers and writers on your storage bucket.
243
245
 
244
246
  You can then specify the Google Cloud project id containing your storage bucket in your `Matchfile`:
@@ -75,7 +75,7 @@ This will also upload app metadata if you previously ran `fastlane supply init`.
75
75
  To gradually roll out a new build use
76
76
 
77
77
  ```no-highlight
78
- fastlane supply --apk path/app.apk --track rollout --rollout 0.5
78
+ fastlane supply --apk path/app.apk --track beta --rollout 0.5
79
79
  ```
80
80
 
81
81
  ### Expansion files (`.obb`)
@@ -110,7 +110,7 @@ This will also upload app metadata if you previously ran `fastlane supply init`.
110
110
  To gradually roll out a new build use
111
111
 
112
112
  ```no-highlight
113
- fastlane supply --aab path/app.aab --track rollout --rollout 0.5
113
+ fastlane supply --aab path/app.aab --track beta --rollout 0.5
114
114
  ```
115
115
 
116
116
  ## Images and Screenshots
@@ -160,3 +160,27 @@ This can be done using the `--track_promote_to` parameter. The `--track_promote_
160
160
  ## Retrieve Track Version Codes
161
161
 
162
162
  Before performing a new APK upload you may want to check existing track version codes, or you may simply want to provide an informational lane that displays the currently promoted version codes for the production track. You can use the `google_play_track_version_codes` action to retrieve existing version codes for a package and track. For more information, see `fastlane action google_play_track_version_codes` help output.
163
+
164
+ ## Migration from AndroidPublisherV2 to AndroidPublisherV3 in _fastlane_ 2.135.0
165
+
166
+ ### New Options
167
+ - `:version_name`
168
+ - Used when uploading with `:apk_path`, `:apk_paths`, `:aab_path`, and `:aab_paths`
169
+ - Can be any string such (example: "October Release" or "Awesome New Feature")
170
+ - Defaults to the version name in app/build.gradle or AndroidManifest.xml
171
+ - `:release_status`
172
+ - Used when uploading with `:apk_path`, `:apk_paths`, `:aab_path`, and `:aab_paths`
173
+ - Can set as "draft" to complete the release at some other time
174
+ - Defaults to "completed"
175
+ - `:version_code`
176
+ - Used for `:update_rollout`, `:track_promote_to`, and uploading of meta data and screenshots
177
+ - `:skip_upload_changelogs`
178
+ - Changelogs were previously included with the `:skip_upload_metadata` but is now its own option
179
+
180
+ ### Deprecated Options
181
+ - `:check_superseded_tracks`
182
+ - Google Play will automatically remove releases that are superseded now
183
+ - `:deactivate_on_promote`
184
+ - Google Play will automatically deactive a release from its previous track on promote
185
+
186
+ :
@@ -246,7 +246,7 @@ module Fastlane
246
246
  FastlaneCore::ConfigItem.new(key: :version,
247
247
  short_option: "-v",
248
248
  env_name: "DOWNLOAD_DSYMS_VERSION",
249
- description: "The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live verion dSYMs",
249
+ description: "The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs",
250
250
  optional: true),
251
251
  FastlaneCore::ConfigItem.new(key: :build_number,
252
252
  short_option: "-b",
@@ -29,7 +29,7 @@ module Fastlane
29
29
  options = Supply::Options.available_options.clone
30
30
 
31
31
  # remove all the unnecessary (for this action) options
32
- options_to_keep = [:package_name, :metadata_path, :json_key, :json_key_data, :root_url, :timeout, :key, :issuer]
32
+ options_to_keep = [:package_name, :version_name, :track, :metadata_path, :json_key, :json_key_data, :root_url, :timeout, :key, :issuer]
33
33
  options.delete_if { |option| options_to_keep.include?(option.key) == false }
34
34
  end
35
35
 
@@ -50,11 +50,11 @@ module Fastlane
50
50
  end
51
51
 
52
52
  def self.print_loaded_plugins
53
- ENV["FASTLANE_ENV_PRINTER"] = "enabled"
54
53
  env_output = "### Loaded fastlane plugins:\n"
55
54
  env_output << "\n"
56
55
  plugin_manager = Fastlane::PluginManager.new
57
- plugin_manager.load_plugins
56
+ plugin_manager.load_plugins(print_table: false)
57
+
58
58
  if plugin_manager.available_plugins.length <= 0
59
59
  env_output << "**No plugins Loaded**\n"
60
60
  else
@@ -113,7 +113,7 @@ module Fastlane
113
113
  rows: FastlaneCore::PrintTable.transform_output(rows)
114
114
  )
115
115
 
116
- UI.message("Welcome to fastlane! Here's what your app is setup to do:")
116
+ UI.message("Welcome to fastlane! Here's what your app is set up to do:")
117
117
 
118
118
  puts(table)
119
119
 
@@ -278,7 +278,7 @@ module Fastlane
278
278
  # fastlane-plugin-[plugin_name]
279
279
  # This will make sure to load the action
280
280
  # and all its helpers
281
- def load_plugins
281
+ def load_plugins(print_table: true)
282
282
  UI.verbose("Checking if there are any plugins that should be loaded...")
283
283
 
284
284
  loaded_plugins = false
@@ -311,7 +311,7 @@ module Fastlane
311
311
  UI.error("Please follow the troubleshooting guide: #{TROUBLESHOOTING_URL}")
312
312
  end
313
313
 
314
- skip_print_plugin_info = self.plugin_references.empty? || CLIToolsDistributor.running_version_command? || FastlaneCore::Env.truthy?("FASTLANE_ENV_PRINTER")
314
+ skip_print_plugin_info = self.plugin_references.empty? || CLIToolsDistributor.running_version_command? || !print_table
315
315
 
316
316
  # We want to avoid printing output other than the version number if we are running `fastlane -v`
317
317
  print_plugin_information(self.plugin_references) unless skip_print_plugin_info
@@ -319,9 +319,12 @@ module Fastlane
319
319
 
320
320
  # Prints a table all the plugins that were loaded
321
321
  def print_plugin_information(references)
322
+ no_action_found = false
323
+
322
324
  rows = references.collect do |current|
323
325
  if current[1][:actions].empty?
324
326
  # Something is wrong with this plugin, no available actions
327
+ no_action_found = true
325
328
  [current[0].red, current[1][:version_number], "No actions found".red]
326
329
  else
327
330
  [current[0], current[1][:version_number], current[1][:actions].join("\n")]
@@ -335,6 +338,13 @@ module Fastlane
335
338
  headings: ["Plugin", "Version", "Action"]
336
339
  }))
337
340
  puts("")
341
+
342
+ if no_action_found
343
+ puts("[!] No actions were found while loading one or more plugins".red)
344
+ puts(" Please use `bundle exec fastlane` with plugins".red)
345
+ puts(" More info - https://docs.fastlane.tools/plugins/using-plugins/#run-with-plugins".red)
346
+ puts("")
347
+ end
338
348
  end
339
349
 
340
350
  #####################################################
@@ -158,6 +158,7 @@ CrossPlatform/ForkUsage:
158
158
  Lint/IsStringUsage:
159
159
  Include:
160
160
  - gym/**/*
161
+ - supply/**/*
161
162
  Style/MethodCallWithArgsParentheses:
162
163
  Enabled: true
163
164
  IgnoredMethods:
@@ -252,13 +252,13 @@ module Fastlane
252
252
  puts(class_ref.deprecated_notes.to_s.remove_markdown.deprecated) if class_ref.deprecated_notes
253
253
  puts("==========================================\n".deprecated)
254
254
  end
255
- class_ref.runner = self # needed to call another action form an action
255
+ class_ref.runner = self # needed to call another action from an action
256
256
  return class_ref.run(arguments)
257
257
  end
258
258
  end
259
259
  rescue Interrupt => e
260
260
  raise e # reraise the interruption to avoid logging this as a crash
261
- rescue FastlaneCore::Interface::FastlaneCommonException => e # these are exceptions that we dont count as crashes
261
+ rescue FastlaneCore::Interface::FastlaneCommonException => e # these are exceptions that we don't count as crashes
262
262
  raise e
263
263
  rescue FastlaneCore::Interface::FastlaneError => e # user_error!
264
264
  action_completed(method_sym.to_s, status: FastlaneCore::ActionCompletionStatus::USER_ERROR, exception: e)
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.134.0'.freeze
2
+ VERSION = '2.135.0'.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
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.134.0
21
+ // Generated with fastlane 2.135.0
@@ -1567,7 +1567,7 @@ func carthage(command: String = "bootstrap",
1567
1567
  */
1568
1568
  func cert(development: Bool = false,
1569
1569
  force: Bool = false,
1570
- generateAppleCerts: Bool = true,
1570
+ generateAppleCerts: Bool = false,
1571
1571
  username: String,
1572
1572
  teamId: String? = nil,
1573
1573
  teamName: String? = nil,
@@ -2505,7 +2505,7 @@ func download(url: String) {
2505
2505
  - teamId: The ID of your App Store Connect team if you're in multiple teams
2506
2506
  - teamName: The name of your App Store Connect team if you're in multiple teams
2507
2507
  - platform: The app platform for dSYMs you wish to download (ios, appletvos)
2508
- - version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live verion dSYMs
2508
+ - version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
2509
2509
  - buildNumber: The app build_number for dSYMs you wish to download
2510
2510
  - minVersion: The minimum app version for dSYMs you wish to download
2511
2511
  - outputDirectory: Where to save the download dSYMs, defaults to the current path
@@ -2553,6 +2553,8 @@ func downloadDsyms(username: String,
2553
2553
 
2554
2554
  - parameters:
2555
2555
  - packageName: The package name of the application to use
2556
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
2557
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
2556
2558
  - metadataPath: Path to the directory containing the metadata files
2557
2559
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
2558
2560
  - issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
@@ -2564,7 +2566,9 @@ func downloadDsyms(username: String,
2564
2566
  More information: https://docs.fastlane.tools/actions/download_from_play_store/
2565
2567
  */
2566
2568
  func downloadFromPlayStore(packageName: String,
2567
- metadataPath: String = "./metadata",
2569
+ versionName: String? = nil,
2570
+ track: String = "production",
2571
+ metadataPath: String? = nil,
2568
2572
  key: String? = nil,
2569
2573
  issuer: String? = nil,
2570
2574
  jsonKey: String? = nil,
@@ -2572,6 +2576,8 @@ func downloadFromPlayStore(packageName: String,
2572
2576
  rootUrl: String? = nil,
2573
2577
  timeout: Int = 300) {
2574
2578
  let command = RubyCommand(commandID: "", methodName: "download_from_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
2579
+ RubyCommand.Argument(name: "version_name", value: versionName),
2580
+ RubyCommand.Argument(name: "track", value: track),
2575
2581
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
2576
2582
  RubyCommand.Argument(name: "key", value: key),
2577
2583
  RubyCommand.Argument(name: "issuer", value: issuer),
@@ -2933,7 +2939,7 @@ func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
2933
2939
  */
2934
2940
  func getCertificates(development: Bool = false,
2935
2941
  force: Bool = false,
2936
- generateAppleCerts: Bool = true,
2942
+ generateAppleCerts: Bool = false,
2937
2943
  username: String,
2938
2944
  teamId: String? = nil,
2939
2945
  teamName: String? = nil,
@@ -3366,7 +3372,7 @@ func githubApi(serverUrl: String = "https://api.github.com",
3366
3372
 
3367
3373
  - parameters:
3368
3374
  - packageName: The package name of the application to use
3369
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
3375
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
3370
3376
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
3371
3377
  - issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
3372
3378
  - jsonKey: The path to a file containing service account JSON, used to authenticate with Google
@@ -6654,7 +6660,10 @@ func ssh(username: String,
6654
6660
 
6655
6661
  - parameters:
6656
6662
  - packageName: The package name of the application to use
6657
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
6663
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
6664
+ - versionCode: Version code (used when updating rollout or promoting specific versions)
6665
+ - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
6666
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
6658
6667
  - rollout: The percentage of the user fraction when uploading to the rollout track
6659
6668
  - metadataPath: Path to the directory containing the metadata files
6660
6669
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
@@ -6667,17 +6676,18 @@ func ssh(username: String,
6667
6676
  - aabPaths: An array of paths to AAB files to upload
6668
6677
  - skipUploadApk: Whether to skip uploading APK
6669
6678
  - skipUploadAab: Whether to skip uploading AAB
6670
- - skipUploadMetadata: Whether to skip uploading metadata
6679
+ - skipUploadMetadata: Whether to skip uploading metadata, changelogs not included
6680
+ - skipUploadChangelogs: Whether to skip uploading changelogs
6671
6681
  - skipUploadImages: Whether to skip uploading images, screenshots not included
6672
6682
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
6673
- - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal, rollout
6683
+ - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
6674
6684
  - validateOnly: Only validate changes with Google Play rather than actually publish
6675
6685
  - mapping: Path to the mapping file to upload
6676
6686
  - mappingPaths: An array of paths to mapping files to upload
6677
6687
  - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
6678
- - checkSupersededTracks: Check the other tracks for superseded versions and disable them
6688
+ - checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
6679
6689
  - timeout: Timeout for read, open, and send (in seconds)
6680
- - deactivateOnPromote: When promoting to a new track, deactivate the binary in the origin track
6690
+ - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
6681
6691
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
6682
6692
  - obbMainReferencesVersion: References version of 'main' expansion file
6683
6693
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -6687,9 +6697,12 @@ func ssh(username: String,
6687
6697
  More information: https://docs.fastlane.tools/actions/supply/
6688
6698
  */
6689
6699
  func supply(packageName: String,
6700
+ versionName: String? = nil,
6701
+ versionCode: String? = nil,
6702
+ releaseStatus: String = "completed",
6690
6703
  track: String = "production",
6691
6704
  rollout: String? = nil,
6692
- metadataPath: String = "./metadata",
6705
+ metadataPath: String? = nil,
6693
6706
  key: String? = nil,
6694
6707
  issuer: String? = nil,
6695
6708
  jsonKey: String? = nil,
@@ -6701,6 +6714,7 @@ func supply(packageName: String,
6701
6714
  skipUploadApk: Bool = false,
6702
6715
  skipUploadAab: Bool = false,
6703
6716
  skipUploadMetadata: Bool = false,
6717
+ skipUploadChangelogs: Bool = false,
6704
6718
  skipUploadImages: Bool = false,
6705
6719
  skipUploadScreenshots: Bool = false,
6706
6720
  trackPromoteTo: String? = nil,
@@ -6717,6 +6731,9 @@ func supply(packageName: String,
6717
6731
  obbPatchReferencesVersion: String? = nil,
6718
6732
  obbPatchFileSize: String? = nil) {
6719
6733
  let command = RubyCommand(commandID: "", methodName: "supply", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
6734
+ RubyCommand.Argument(name: "version_name", value: versionName),
6735
+ RubyCommand.Argument(name: "version_code", value: versionCode),
6736
+ RubyCommand.Argument(name: "release_status", value: releaseStatus),
6720
6737
  RubyCommand.Argument(name: "track", value: track),
6721
6738
  RubyCommand.Argument(name: "rollout", value: rollout),
6722
6739
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
@@ -6731,6 +6748,7 @@ func supply(packageName: String,
6731
6748
  RubyCommand.Argument(name: "skip_upload_apk", value: skipUploadApk),
6732
6749
  RubyCommand.Argument(name: "skip_upload_aab", value: skipUploadAab),
6733
6750
  RubyCommand.Argument(name: "skip_upload_metadata", value: skipUploadMetadata),
6751
+ RubyCommand.Argument(name: "skip_upload_changelogs", value: skipUploadChangelogs),
6734
6752
  RubyCommand.Argument(name: "skip_upload_images", value: skipUploadImages),
6735
6753
  RubyCommand.Argument(name: "skip_upload_screenshots", value: skipUploadScreenshots),
6736
6754
  RubyCommand.Argument(name: "track_promote_to", value: trackPromoteTo),
@@ -6831,7 +6849,7 @@ func swiftlint(mode: Any = "lint",
6831
6849
  */
6832
6850
  func syncCodeSigning(type: String = "development",
6833
6851
  readonly: Bool = false,
6834
- generateAppleCerts: Bool = true,
6852
+ generateAppleCerts: Bool = false,
6835
6853
  skipProvisioningProfiles: Bool = false,
6836
6854
  appIdentifier: [String],
6837
6855
  username: String,
@@ -7664,7 +7682,10 @@ func uploadToAppStore(username: String,
7664
7682
 
7665
7683
  - parameters:
7666
7684
  - packageName: The package name of the application to use
7667
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
7685
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
7686
+ - versionCode: Version code (used when updating rollout or promoting specific versions)
7687
+ - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
7688
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
7668
7689
  - rollout: The percentage of the user fraction when uploading to the rollout track
7669
7690
  - metadataPath: Path to the directory containing the metadata files
7670
7691
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
@@ -7677,17 +7698,18 @@ func uploadToAppStore(username: String,
7677
7698
  - aabPaths: An array of paths to AAB files to upload
7678
7699
  - skipUploadApk: Whether to skip uploading APK
7679
7700
  - skipUploadAab: Whether to skip uploading AAB
7680
- - skipUploadMetadata: Whether to skip uploading metadata
7701
+ - skipUploadMetadata: Whether to skip uploading metadata, changelogs not included
7702
+ - skipUploadChangelogs: Whether to skip uploading changelogs
7681
7703
  - skipUploadImages: Whether to skip uploading images, screenshots not included
7682
7704
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
7683
- - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal, rollout
7705
+ - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
7684
7706
  - validateOnly: Only validate changes with Google Play rather than actually publish
7685
7707
  - mapping: Path to the mapping file to upload
7686
7708
  - mappingPaths: An array of paths to mapping files to upload
7687
7709
  - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
7688
- - checkSupersededTracks: Check the other tracks for superseded versions and disable them
7710
+ - checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
7689
7711
  - timeout: Timeout for read, open, and send (in seconds)
7690
- - deactivateOnPromote: When promoting to a new track, deactivate the binary in the origin track
7712
+ - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
7691
7713
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
7692
7714
  - obbMainReferencesVersion: References version of 'main' expansion file
7693
7715
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -7697,9 +7719,12 @@ func uploadToAppStore(username: String,
7697
7719
  More information: https://docs.fastlane.tools/actions/supply/
7698
7720
  */
7699
7721
  func uploadToPlayStore(packageName: String,
7722
+ versionName: String? = nil,
7723
+ versionCode: String? = nil,
7724
+ releaseStatus: String = "completed",
7700
7725
  track: String = "production",
7701
7726
  rollout: String? = nil,
7702
- metadataPath: String = "./metadata",
7727
+ metadataPath: String? = nil,
7703
7728
  key: String? = nil,
7704
7729
  issuer: String? = nil,
7705
7730
  jsonKey: String? = nil,
@@ -7711,6 +7736,7 @@ func uploadToPlayStore(packageName: String,
7711
7736
  skipUploadApk: Bool = false,
7712
7737
  skipUploadAab: Bool = false,
7713
7738
  skipUploadMetadata: Bool = false,
7739
+ skipUploadChangelogs: Bool = false,
7714
7740
  skipUploadImages: Bool = false,
7715
7741
  skipUploadScreenshots: Bool = false,
7716
7742
  trackPromoteTo: String? = nil,
@@ -7727,6 +7753,9 @@ func uploadToPlayStore(packageName: String,
7727
7753
  obbPatchReferencesVersion: String? = nil,
7728
7754
  obbPatchFileSize: String? = nil) {
7729
7755
  let command = RubyCommand(commandID: "", methodName: "upload_to_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
7756
+ RubyCommand.Argument(name: "version_name", value: versionName),
7757
+ RubyCommand.Argument(name: "version_code", value: versionCode),
7758
+ RubyCommand.Argument(name: "release_status", value: releaseStatus),
7730
7759
  RubyCommand.Argument(name: "track", value: track),
7731
7760
  RubyCommand.Argument(name: "rollout", value: rollout),
7732
7761
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
@@ -7741,6 +7770,7 @@ func uploadToPlayStore(packageName: String,
7741
7770
  RubyCommand.Argument(name: "skip_upload_apk", value: skipUploadApk),
7742
7771
  RubyCommand.Argument(name: "skip_upload_aab", value: skipUploadAab),
7743
7772
  RubyCommand.Argument(name: "skip_upload_metadata", value: skipUploadMetadata),
7773
+ RubyCommand.Argument(name: "skip_upload_changelogs", value: skipUploadChangelogs),
7744
7774
  RubyCommand.Argument(name: "skip_upload_images", value: skipUploadImages),
7745
7775
  RubyCommand.Argument(name: "skip_upload_screenshots", value: skipUploadScreenshots),
7746
7776
  RubyCommand.Argument(name: "track_promote_to", value: trackPromoteTo),
@@ -8151,7 +8181,7 @@ func xcov(workspace: String? = nil,
8151
8181
  coverallsServiceJobId: String? = nil,
8152
8182
  coverallsRepoToken: String? = nil,
8153
8183
  xcconfig: String? = nil,
8154
- ideFoundationPath: String = "/Applications/Xcode-11.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8184
+ ideFoundationPath: String = "/Applications/Xcode-10.3.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8155
8185
  legacySupport: Bool = false) {
8156
8186
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
8157
8187
  RubyCommand.Argument(name: "project", value: project),
@@ -8296,4 +8326,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
8296
8326
 
8297
8327
  // Please don't remove the lines below
8298
8328
  // They are used to detect outdated files
8299
- // FastlaneRunnerAPIVersion [0.9.61]
8329
+ // FastlaneRunnerAPIVersion [0.9.62]