fastlane 2.145.0 → 2.146.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -84
  3. data/credentials_manager/lib/credentials_manager/appfile_config.rb +4 -0
  4. data/deliver/lib/deliver/app_screenshot.rb +1 -0
  5. data/deliver/lib/deliver/options.rb +4 -1
  6. data/deliver/lib/deliver/setup.rb +4 -4
  7. data/{frameit/lib/frameit/.screenshot.rb.swp → fastlane/lib/fastlane/actions/.update_code_signing_settings.rb.swp} +0 -0
  8. data/fastlane/lib/fastlane/actions/create_pull_request.rb +7 -1
  9. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +10 -4
  10. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +11 -2
  11. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +57 -49
  12. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -1
  13. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +13 -8
  14. data/fastlane/lib/fastlane/version.rb +1 -1
  15. data/fastlane/swift/Deliverfile.swift +1 -1
  16. data/fastlane/swift/Fastlane.swift +35 -2
  17. data/fastlane/swift/Gymfile.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/Precheckfile.swift +1 -1
  20. data/fastlane/swift/Scanfile.swift +1 -1
  21. data/fastlane/swift/Screengrabfile.swift +1 -1
  22. data/fastlane/swift/Snapshotfile.swift +1 -1
  23. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +9 -0
  24. data/fastlane_core/lib/fastlane_core/device_manager.rb +2 -2
  25. data/frameit/lib/frameit/editor.rb +1 -1
  26. data/frameit/lib/frameit/screenshot.rb +4 -0
  27. data/match/lib/match/importer.rb +2 -0
  28. data/match/lib/match/storage/s3_storage.rb +10 -5
  29. data/pilot/lib/pilot/build_manager.rb +15 -4
  30. data/pilot/lib/pilot/options.rb +8 -0
  31. data/produce/lib/produce/developer_center.rb +11 -2
  32. data/produce/lib/produce/itunes_connect.rb +11 -3
  33. data/produce/lib/produce/options.rb +12 -0
  34. data/screengrab/lib/screengrab/runner.rb +1 -1
  35. data/snapshot/lib/snapshot/reports_generator.rb +4 -0
  36. data/spaceship/lib/spaceship/portal/app_service.rb +2 -2
  37. data/spaceship/lib/spaceship/tunes/application.rb +2 -1
  38. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  39. data/supply/lib/supply/setup.rb +5 -3
  40. metadata +18 -20
  41. data/fastlane/lib/fastlane/actions/.push_to_git_remote.rb.swp +0 -0
  42. data/spaceship/lib/spaceship/portal/.portal_client.rb.swp +0 -0
@@ -162,6 +162,14 @@ module Pilot
162
162
  env_name: "PILOT_NOTIFY_EXTERNAL_TESTERS",
163
163
  description: "Should notify external testers?",
164
164
  default_value: true),
165
+ FastlaneCore::ConfigItem.new(key: :app_version,
166
+ env_name: "PILOT_APP_VERSION",
167
+ description: "The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed",
168
+ optional: true),
169
+ FastlaneCore::ConfigItem.new(key: :build_number,
170
+ env_name: "PILOT_BUILD_NUMBER",
171
+ description: "The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed",
172
+ optional: true),
165
173
 
166
174
  # testers
167
175
  FastlaneCore::ConfigItem.new(key: :first_name,
@@ -59,7 +59,7 @@ module Produce
59
59
  app = Spaceship.app.create!(bundle_id: app_identifier,
60
60
  name: app_name,
61
61
  enable_services: enable_services,
62
- mac: Produce.config[:platform] == "osx")
62
+ mac: platform == "osx")
63
63
 
64
64
  if app.name != Produce.config[:app_name]
65
65
  UI.important("Your app name includes non-ASCII characters, which are not supported by the Apple Developer Portal.")
@@ -122,8 +122,17 @@ module Produce
122
122
 
123
123
  private
124
124
 
125
+ def platform
126
+ # This was added to support creation of multiple platforms
127
+ # Produce::ItunesConnect can take an array of platforms to create for App Store Connect
128
+ # but the Developer Center is now platform agnostic so we choose any platform here
129
+ #
130
+ # Platform won't be needed at all in the future when this is change over to use Spaceship::ConnectAPI
131
+ (Produce.config[:platforms] || []).first || Produce.config[:platform]
132
+ end
133
+
125
134
  def app_exists?
126
- Spaceship.app.find(app_identifier, mac: Produce.config[:platform] == "osx") != nil
135
+ Spaceship.app.find(app_identifier, mac: platform == "osx") != nil
127
136
  end
128
137
 
129
138
  def login
@@ -23,6 +23,8 @@ module Produce
23
23
  else
24
24
  UI.success("Creating new app '#{Produce.config[:app_name]}' on App Store Connect")
25
25
 
26
+ platforms = Produce.config[:platforms] || [Produce.config[:platform]]
27
+
26
28
  Produce.config[:bundle_identifier_suffix] = '' unless wildcard_bundle?
27
29
  generated_app = Spaceship::Tunes::Application.create!(name: Produce.config[:app_name],
28
30
  primary_language: language,
@@ -30,7 +32,7 @@ module Produce
30
32
  bundle_id: app_identifier,
31
33
  bundle_id_suffix: Produce.config[:bundle_identifier_suffix],
32
34
  company_name: Produce.config[:company_name],
33
- platform: Produce.config[:platform],
35
+ platforms: platforms,
34
36
  itunes_connect_users: Produce.config[:itc_users])
35
37
 
36
38
  UI.crash!("Something went wrong when creating the new app on iTC") if generated_app["adamId"].to_s.empty?
@@ -51,16 +53,22 @@ module Produce
51
53
  UI.crash!("Something went wrong when creating the new app - it's not listed in the App's list") unless application
52
54
 
53
55
  UI.message("Ensuring version number")
54
- application.ensure_version!(Produce.config[:app_version], platform: Produce.config[:platform]) if Produce.config[:app_version]
56
+ platforms.each do |platform|
57
+ application.ensure_version!(Produce.config[:app_version], platform: platform) if Produce.config[:app_version]
58
+ end
55
59
 
56
60
  UI.success("Successfully created new app '#{Produce.config[:app_name]}' on App Store Connect with ID #{application.apple_id}")
57
61
  end
58
62
 
59
- return Spaceship::Tunes::Application.find(@full_bundle_identifier, mac: Produce.config[:platform] == "osx").apple_id
63
+ return Spaceship::Tunes::Application.find(@full_bundle_identifier, mac: platform == "osx").apple_id
60
64
  end
61
65
 
62
66
  private
63
67
 
68
+ def platform
69
+ (Produce.config[:platforms] || []).first || Produce.config[:platform]
70
+ end
71
+
64
72
  def fetch_application
65
73
  Spaceship::Tunes::Application.find(@full_bundle_identifier)
66
74
  end
@@ -50,11 +50,23 @@ module Produce
50
50
  short_option: "-j",
51
51
  env_name: "PRODUCE_PLATFORM",
52
52
  description: "The platform to use (optional)",
53
+ conflicting_options: [:platforms],
53
54
  optional: true,
54
55
  default_value: "ios",
55
56
  verify_block: proc do |value|
56
57
  UI.user_error!("The platform can only be ios or osx") unless %('ios', 'osx').include?(value)
57
58
  end),
59
+ FastlaneCore::ConfigItem.new(key: :platforms,
60
+ short_option: "-J",
61
+ env_name: "PRODUCE_PLATFORMS",
62
+ description: "The platforms to use (optional)",
63
+ conflicting_options: [:platform],
64
+ optional: true,
65
+ type: Array,
66
+ verify_block: proc do |values|
67
+ types = %w(ios osx)
68
+ UI.user_error!("The platform can only be #{types}") unless (values - types).empty?
69
+ end),
58
70
  FastlaneCore::ConfigItem.new(key: :language,
59
71
  short_option: "-m",
60
72
  env_name: "PRODUCE_LANGUAGE",
@@ -63,7 +63,7 @@ module Screengrab
63
63
 
64
64
  # Root is needed to access device paths at /data
65
65
  if @config[:use_adb_root]
66
- run_adb_command("root", print_all: false, print_command: true)
66
+ run_adb_command("-s #{device_serial} root", print_all: false, print_command: true)
67
67
  end
68
68
 
69
69
  clear_device_previous_screenshots(device_serial, device_screenshots_paths)
@@ -97,13 +97,17 @@ module Snapshot
97
97
  'iPhone SE' => "iPhone SE",
98
98
  'iPhone 4s' => "iPhone 4s (3.5-Inch)",
99
99
  'iPad 2' => 'iPad 2',
100
+ 'iPad Air (3rd generation)' => 'iPad Air (3rd generation)',
100
101
  'iPad Air 2' => 'iPad Air 2',
101
102
  'iPad Air' => 'iPad Air',
102
103
  'iPad (5th generation)' => 'iPad (5th generation)',
104
+ 'iPad (7th generation)' => 'iPad (7th generation)',
103
105
  'iPad Pro (9.7-inch)' => 'iPad Pro (9.7-inch)',
104
106
  'iPad Pro (9.7 inch)' => 'iPad Pro (9.7-inch)', # iOS 10.3.1 simulator
105
107
  'iPad Pro (10.5-inch)' => 'iPad Pro (10.5-inch)',
108
+ 'iPad Pro (11-inch) (2nd generation)' => 'iPad Pro (11-inch) (2nd generation)',
106
109
  'iPad Pro (11-inch)' => 'iPad Pro (11-inch)',
110
+ 'iPad Pro (12.9-inch) (4th generation)' => 'iPad Pro (12.9-inch) (4th generation)',
107
111
  'iPad Pro (12.9-inch) (3rd generation)' => 'iPad Pro (12.9-inch) (3rd generation)',
108
112
  'iPad Pro (12.9-inch) (2nd generation)' => 'iPad Pro (12.9-inch) (2nd generation)',
109
113
  'iPad Pro (12.9-inch)' => 'iPad Pro (12.9-inch)',
@@ -59,11 +59,11 @@ module Spaceship
59
59
  NetworkExtension = AppService.new_service("NWEXT04537")
60
60
  NFCTagReading = AppService.new_service("NFCTRMAY17")
61
61
  PersonalVPN = AppService.new_service("V66P55NK2I")
62
- Passbook = AppService.new_service("pass")
62
+ Passbook = AppService.new_service("passbook")
63
63
  PushNotification = AppService.new_service("push")
64
64
  SiriKit = AppService.new_service("SI015DKUHP")
65
65
  VPNConfiguration = AppService.new_service("V66P55NK2I")
66
- Wallet = AppService.new_service("pass")
66
+ Wallet = AppService.new_service("passbook")
67
67
  WirelessAccessory = AppService.new_service("WC421J6T7P")
68
68
 
69
69
  constants.each do |c|
@@ -91,7 +91,7 @@ module Spaceship
91
91
  # @param platform (String): Platform one of (ios,osx)
92
92
  # should it be an ios or an osx app
93
93
 
94
- def create!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, itunes_connect_users: nil)
94
+ def create!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, platforms: nil, itunes_connect_users: nil)
95
95
  puts("The `version` parameter is deprecated. Use `ensure_version!` method instead") if version
96
96
  client.create_application!(name: name,
97
97
  primary_language: primary_language,
@@ -100,6 +100,7 @@ module Spaceship
100
100
  bundle_id_suffix: bundle_id_suffix,
101
101
  company_name: company_name,
102
102
  platform: platform,
103
+ platforms: platforms,
103
104
  itunes_connect_users: itunes_connect_users)
104
105
  end
105
106
 
@@ -286,7 +286,7 @@ module Spaceship
286
286
  # @param sku (String): A unique ID for your app that is not visible on the App Store.
287
287
  # @param bundle_id (String): The bundle ID must match the one you used in Xcode. It
288
288
  # can't be changed after you submit your first build.
289
- def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, itunes_connect_users: nil)
289
+ def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil, platforms: nil, itunes_connect_users: nil)
290
290
  puts("The `version` parameter is deprecated. Use `Spaceship::Tunes::Application.ensure_version!` method instead") if version
291
291
 
292
292
  # First, we need to fetch the data from Apple, which we then modify with the user's values
@@ -307,7 +307,7 @@ module Spaceship
307
307
  data['enabledPlatformsForCreation'] = { value: [platform] }
308
308
 
309
309
  data['initialPlatform'] = platform
310
- data['enabledPlatformsForCreation'] = { value: [platform] }
310
+ data['enabledPlatformsForCreation'] = { value: platforms || [platform] }
311
311
 
312
312
  unless itunes_connect_users.nil?
313
313
  data['iTunesConnectUsers']['grantedAllUsers'] = false
@@ -98,9 +98,11 @@ module Supply
98
98
  FileUtils.mkdir_p(containing)
99
99
  end
100
100
 
101
- path = File.join(containing, "#{release_listing.version}.txt")
102
- UI.message("Writing to #{path}...")
103
- File.write(path, release_listing.release_notes)
101
+ release_listing.versioncodes.each do |versioncode|
102
+ path = File.join(containing, "#{versioncode}.txt")
103
+ UI.message("Writing to #{path}...")
104
+ File.write(path, release_listing.release_notes)
105
+ end
104
106
  end
105
107
 
106
108
  private
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.145.0
4
+ version: 2.146.0
5
5
  platform: ruby
6
6
  authors:
7
- - Daniel Jankowski
7
+ - Kohki Miki
8
+ - Jan Piotrowski
9
+ - Fumiya Nakamura
10
+ - Jérôme Lacoste
11
+ - Manu Wallner
12
+ - Aaron Brager
8
13
  - Danielle Tomlinson
14
+ - Joshua Liebowitz
9
15
  - Luka Mirosevic
10
- - Josh Holtz
11
16
  - Iulian Onofrei
12
- - Fumiya Nakamura
13
- - Aaron Brager
14
- - Olivier Halligon
15
17
  - Felix Krause
18
+ - Daniel Jankowski
16
19
  - Maksym Grebenets
17
- - Jérôme Lacoste
18
- - Joshua Liebowitz
19
- - Jorge Revuelta H
20
- - Helmut Januschka
21
- - Jimmy Dee
22
- - Stefan Natchev
23
- - Andrew McBurney
24
- - Manu Wallner
25
20
  - Max Ott
26
- - Kohki Miki
27
- - Jan Piotrowski
28
21
  - Matthew Ellis
22
+ - Andrew McBurney
23
+ - Stefan Natchev
24
+ - Olivier Halligon
25
+ - Helmut Januschka
26
+ - Jorge Revuelta H
27
+ - Josh Holtz
28
+ - Jimmy Dee
29
29
  autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-04-05 00:00:00.000000000 Z
32
+ date: 2020-04-22 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -1016,7 +1016,7 @@ files:
1016
1016
  - fastlane/lib/fastlane.rb
1017
1017
  - fastlane/lib/fastlane/action.rb
1018
1018
  - fastlane/lib/fastlane/action_collector.rb
1019
- - fastlane/lib/fastlane/actions/.push_to_git_remote.rb.swp
1019
+ - fastlane/lib/fastlane/actions/.update_code_signing_settings.rb.swp
1020
1020
  - fastlane/lib/fastlane/actions/README.md
1021
1021
  - fastlane/lib/fastlane/actions/actions_helper.rb
1022
1022
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1436,7 +1436,6 @@ files:
1436
1436
  - frameit/README.md
1437
1437
  - frameit/lib/assets/empty.png
1438
1438
  - frameit/lib/frameit.rb
1439
- - frameit/lib/frameit/.screenshot.rb.swp
1440
1439
  - frameit/lib/frameit/commands_generator.rb
1441
1440
  - frameit/lib/frameit/config_parser.rb
1442
1441
  - frameit/lib/frameit/dependency_checker.rb
@@ -1681,7 +1680,6 @@ files:
1681
1680
  - spaceship/lib/spaceship/launcher.rb
1682
1681
  - spaceship/lib/spaceship/module.rb
1683
1682
  - spaceship/lib/spaceship/playground.rb
1684
- - spaceship/lib/spaceship/portal/.portal_client.rb.swp
1685
1683
  - spaceship/lib/spaceship/portal/app.rb
1686
1684
  - spaceship/lib/spaceship/portal/app_group.rb
1687
1685
  - spaceship/lib/spaceship/portal/app_service.rb