fastlane 2.181.0 → 2.184.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +90 -90
  3. data/cert/lib/cert/commands_generator.rb +2 -1
  4. data/cert/lib/cert/runner.rb +3 -7
  5. data/deliver/lib/assets/summary.html.erb +10 -10
  6. data/deliver/lib/deliver/commands_generator.rb +3 -2
  7. data/deliver/lib/deliver/detect_values.rb +5 -3
  8. data/deliver/lib/deliver/download_screenshots.rb +1 -1
  9. data/deliver/lib/deliver/html_generator.rb +2 -2
  10. data/deliver/lib/deliver/languages.rb +1 -1
  11. data/deliver/lib/deliver/module.rb +6 -0
  12. data/deliver/lib/deliver/options.rb +38 -53
  13. data/deliver/lib/deliver/runner.rb +8 -11
  14. data/deliver/lib/deliver/setup.rb +1 -1
  15. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  16. data/deliver/lib/deliver/upload_metadata.rb +20 -6
  17. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  18. data/deliver/lib/deliver/upload_screenshots.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
  20. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +7 -11
  21. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +12 -2
  22. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +5 -1
  24. data/fastlane/lib/fastlane/actions/danger.rb +7 -1
  25. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  26. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +18 -1
  27. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +32 -12
  28. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  29. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +3 -1
  30. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +5 -1
  31. data/fastlane/lib/fastlane/actions/git_commit.rb +3 -1
  32. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  33. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  34. data/fastlane/lib/fastlane/actions/hipchat.rb +2 -1
  35. data/fastlane/lib/fastlane/actions/import_from_git.rb +5 -5
  36. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  37. data/fastlane/lib/fastlane/actions/register_device.rb +7 -10
  38. data/fastlane/lib/fastlane/actions/register_devices.rb +7 -10
  39. data/fastlane/lib/fastlane/actions/set_changelog.rb +7 -10
  40. data/fastlane/lib/fastlane/actions/slack.rb +19 -18
  41. data/fastlane/lib/fastlane/actions/swiftlint.rb +16 -4
  42. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
  43. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -2
  44. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
  45. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -1
  46. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  47. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  48. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  49. data/fastlane/lib/fastlane/fast_file.rb +10 -2
  50. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  51. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  52. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  53. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
  54. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  55. data/fastlane/lib/fastlane/swift_fastlane_function.rb +37 -14
  56. data/fastlane/lib/fastlane/version.rb +2 -2
  57. data/fastlane/swift/Deliverfile.swift +1 -1
  58. data/fastlane/swift/DeliverfileProtocol.swift +20 -20
  59. data/fastlane/swift/Fastlane.swift +6749 -3708
  60. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  61. data/fastlane/swift/Gymfile.swift +1 -1
  62. data/fastlane/swift/GymfileProtocol.swift +1 -1
  63. data/fastlane/swift/Matchfile.swift +1 -1
  64. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  65. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  66. data/fastlane/swift/Precheckfile.swift +1 -1
  67. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  68. data/fastlane/swift/Scanfile.swift +1 -1
  69. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  70. data/fastlane/swift/Screengrabfile.swift +1 -1
  71. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  72. data/fastlane/swift/Snapshotfile.swift +1 -1
  73. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  74. data/fastlane/swift/formatting/Brewfile.lock.json +12 -12
  75. data/fastlane/swift/upgrade_manifest.json +1 -1
  76. data/fastlane_core/lib/fastlane_core/build_watcher.rb +39 -3
  77. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +5 -0
  78. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +2 -0
  79. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
  80. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  81. data/fastlane_core/lib/fastlane_core/helper.rb +4 -4
  82. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  83. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  84. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  85. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  86. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -1
  87. data/frameit/lib/frameit/commands_generator.rb +2 -1
  88. data/frameit/lib/frameit/config_parser.rb +2 -2
  89. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  90. data/gym/lib/gym/code_signing_mapping.rb +2 -2
  91. data/gym/lib/gym/commands_generator.rb +2 -1
  92. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +6 -5
  93. data/match/lib/match/commands_generator.rb +2 -1
  94. data/match/lib/match/importer.rb +6 -10
  95. data/match/lib/match/migrate.rb +2 -3
  96. data/match/lib/match/nuke.rb +3 -7
  97. data/match/lib/match/runner.rb +2 -3
  98. data/match/lib/match/spaceship_ensure.rb +3 -0
  99. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  100. data/match/lib/match/storage/s3_storage.rb +2 -2
  101. data/pem/lib/pem/commands_generator.rb +2 -1
  102. data/pilot/lib/pilot/build_manager.rb +5 -3
  103. data/pilot/lib/pilot/commands_generator.rb +2 -1
  104. data/pilot/lib/pilot/manager.rb +3 -7
  105. data/pilot/lib/pilot/options.rb +10 -2
  106. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  107. data/pilot/lib/pilot/tester_manager.rb +0 -1
  108. data/precheck/lib/precheck/commands_generator.rb +2 -1
  109. data/precheck/lib/precheck/runner.rb +8 -7
  110. data/produce/lib/produce/commands_generator.rb +2 -1
  111. data/scan/lib/scan/commands_generator.rb +2 -1
  112. data/scan/lib/scan/runner.rb +1 -1
  113. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  114. data/sigh/lib/assets/resign.sh +77 -46
  115. data/sigh/lib/sigh/commands_generator.rb +2 -1
  116. data/sigh/lib/sigh/download_all.rb +4 -8
  117. data/sigh/lib/sigh/runner.rb +4 -8
  118. data/snapshot/lib/assets/SnapfileTemplate +1 -1
  119. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  120. data/snapshot/lib/snapshot/options.rb +5 -0
  121. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  122. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  123. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +8 -4
  124. data/spaceship/README.md +2 -2
  125. data/spaceship/lib/spaceship/base.rb +2 -2
  126. data/spaceship/lib/spaceship/commands_generator.rb +2 -1
  127. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  128. data/spaceship/lib/spaceship/connect_api/models/.age_rating_declaration.rb.swp +0 -0
  129. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +35 -4
  130. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
  131. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
  132. data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
  133. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +6 -2
  134. data/spaceship/lib/spaceship/connect_api/token.rb +6 -0
  135. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +4 -2
  136. data/spaceship/lib/spaceship/ui.rb +2 -2
  137. data/supply/lib/supply/client.rb +2 -2
  138. data/supply/lib/supply/commands_generator.rb +2 -1
  139. data/supply/lib/supply/uploader.rb +2 -2
  140. metadata +74 -86
  141. data/pilot/lib/pilot/tester_util.rb +0 -0
@@ -27,7 +27,7 @@
27
27
  # remove the '#' to clear all previously generated screenshots before creating new ones
28
28
  # clear_previous_screenshots(true)
29
29
 
30
- # Remove the '#' to set the status bar to 9:41 AM, and show full battery and reception.
30
+ # Remove the '#' to set the status bar to 9:41 AM, and show full battery and reception. See also override_status_bar_arguments for custom options.
31
31
  # override_status_bar(true)
32
32
 
33
33
  # Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments
@@ -1,5 +1,7 @@
1
1
  require 'commander'
2
2
 
3
+ require 'fastlane_core/ui/help_formatter'
4
+
3
5
  require_relative 'module'
4
6
  require_relative 'runner'
5
7
  require_relative 'options'
@@ -21,7 +23,7 @@ module Snapshot
21
23
  program :help, 'Author', 'Felix Krause <snapshot@krausefx.com>'
22
24
  program :help, 'Website', 'https://fastlane.tools'
23
25
  program :help, 'Documentation', 'https://docs.fastlane.tools/actions/snapshot/'
24
- program :help_formatter, :compact
26
+ program :help_formatter, FastlaneCore::HelpFormatter
25
27
 
26
28
  global_option('--verbose', 'Shows a more verbose output') { FastlaneCore::Globals.verbose = true }
27
29
 
@@ -126,6 +126,11 @@ module Snapshot
126
126
  description: "Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception",
127
127
  default_value: false,
128
128
  is_string: false),
129
+ FastlaneCore::ConfigItem.new(key: :override_status_bar_arguments,
130
+ env_name: 'SNAPSHOT_OVERRIDE_STATUS_BAR_ARGUMENTS',
131
+ description: "Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`",
132
+ optional: true,
133
+ type: String),
129
134
  FastlaneCore::ConfigItem.new(key: :localize_simulator,
130
135
  env_name: 'SNAPSHOT_LOCALIZE_SIMULATOR',
131
136
  description: "Enabling this option will configure the Simulator's system language",
@@ -14,6 +14,7 @@ module Snapshot
14
14
  attr_accessor :app_identifier
15
15
  attr_accessor :disable_slide_to_type
16
16
  attr_accessor :override_status_bar
17
+ attr_accessor :override_status_bar_arguments
17
18
 
18
19
  # xcode 8
19
20
  attr_accessor :number_of_retries
@@ -47,6 +48,7 @@ module Snapshot
47
48
  @concurrent_simulators = snapshot_config[:concurrent_simulators]
48
49
  @disable_slide_to_type = snapshot_config[:disable_slide_to_type]
49
50
  @override_status_bar = snapshot_config[:override_status_bar]
51
+ @override_status_bar_arguments = snapshot_config[:override_status_bar_arguments]
50
52
 
51
53
  launch_arguments = Array(snapshot_config[:launch_arguments])
52
54
  # if more than 1 set of arguments, use a tuple with an index
@@ -89,7 +89,7 @@ module Snapshot
89
89
  log_path: xcodebuild_log_path(language: language, locale: locale)
90
90
  )
91
91
 
92
- devices.each { |device_type| override_status_bar(device_type) } if launcher_config.override_status_bar
92
+ devices.each { |device_type| override_status_bar(device_type, launcher_config.override_status_bar_arguments) } if launcher_config.override_status_bar
93
93
 
94
94
  UI.important("Running snapshot on: #{devices.join(', ')}")
95
95
 
@@ -112,7 +112,7 @@ module Snapshot
112
112
  end
113
113
  end
114
114
 
115
- def override_status_bar(device_type)
115
+ def override_status_bar(device_type, arguments = nil)
116
116
  device_udid = TestCommandGenerator.device_udid(device_type)
117
117
 
118
118
  UI.message("Launch Simulator #{device_type}")
@@ -120,9 +120,13 @@ module Snapshot
120
120
 
121
121
  UI.message("Overriding Status Bar")
122
122
 
123
- # The time needs to be passed as ISO8601 so the simulator formats it correctly
124
- time = Time.new(2007, 1, 9, 9, 41, 0)
125
- Helper.backticks("xcrun simctl status_bar #{device_udid} override --time #{time.iso8601} --dataNetwork wifi --wifiMode active --wifiBars 3 --cellularMode active --cellularBars 4 --batteryState charged --batteryLevel 100 &> /dev/null")
123
+ if arguments.nil? || arguments.empty?
124
+ # The time needs to be passed as ISO8601 so the simulator formats it correctly
125
+ time = Time.new(2007, 1, 9, 9, 41, 0)
126
+ arguments = "--time #{time.iso8601} --dataNetwork wifi --wifiMode active --wifiBars 3 --cellularMode active --cellularBars 4 --batteryState charged --batteryLevel 100"
127
+ end
128
+
129
+ Helper.backticks("xcrun simctl status_bar #{device_udid} override #{arguments} &> /dev/null")
126
130
  end
127
131
 
128
132
  def clear_status_bar(device_type)
data/spaceship/README.md CHANGED
@@ -111,11 +111,11 @@ When your Apple account has 2 factor verification enabled, you'll automatically
111
111
 
112
112
  #### Web sessions
113
113
 
114
- See [Continuous Integration > Authenticating with Apple services > Method 2: Two-step or two-factor authentication > Storing a manually verified session using spaceauth](https://docs.fastlane.tools/best-practices/continuous-integration/#storing-a-manually-verified-session-using-spaceauth)
114
+ See [Best Practices > Continuous Integration > Authenticating with Apple services > Method 2: Two-step or two-factor authentication > Storing a manually verified session using spaceauth](https://docs.fastlane.tools/best-practices/continuous-integration/#storing-a-manually-verified-session-using-spaceauth)
115
115
 
116
116
  #### Transporter
117
117
 
118
- See [Getting Started > iOS > Authentication > Method 3: Application-specific passwords](https://docs.fastlane.tools/getting-started/ios/authentication/#method-3-application-specific-passwords)
118
+ See [Best Practices > Continuous Integration > Authenticating with Apple services > Method 3: Application-specific passwords](https://docs.fastlane.tools/best-practices/continuous-integration/#method-3-application-specific-passwords)
119
119
 
120
120
  ## _spaceship_ in use
121
121
 
@@ -89,12 +89,12 @@ module Spaceship
89
89
  ##
90
90
  # Sets client and returns self for chaining.
91
91
  # @return (Spaceship::Base)
92
- # rubocop:disable Style/AccessorMethodName
92
+ # rubocop:disable Naming/AccessorMethodName
93
93
  def set_client(client)
94
94
  self.client = client
95
95
  self
96
96
  end
97
- # rubocop:enable Style/AccessorMethodName
97
+ # rubocop:enable Naming/AccessorMethodName
98
98
 
99
99
  ##
100
100
  # Binds attributes getters and setters to underlying data returned from the API.
@@ -3,6 +3,7 @@ require 'highline'
3
3
  HighLine.track_eof = false
4
4
 
5
5
  require 'fastlane/version'
6
+ require 'fastlane_core/ui/help_formatter'
6
7
  require_relative 'playground'
7
8
  require_relative 'spaceauth_runner'
8
9
 
@@ -21,7 +22,7 @@ module Spaceship
21
22
  program :help, 'Author', 'Felix Krause <spaceship@krausefx.com>'
22
23
  program :help, 'Website', 'https://fastlane.tools'
23
24
  program :help, 'GitHub', 'https://github.com/fastlane/fastlane/tree/master/spaceship'
24
- program :help_formatter, :compact
25
+ program :help_formatter, FastlaneCore::HelpFormatter
25
26
 
26
27
  global_option('-u', '--user USERNAME', 'Specify the Apple ID you want to log in with')
27
28
  global_option('--verbose') { FastlaneCore::Globals.verbose = true }
@@ -30,7 +30,7 @@ module Spaceship
30
30
  # Creates alias for :minOsVersion to :min_os_version
31
31
  #
32
32
  def attr_mapping(attr_map)
33
- self.reverse_attr_map ||= attr_map.invert.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v; }
33
+ self.reverse_attr_map ||= attr_map.invert.transform_keys(&:to_sym)
34
34
  attr_map.each do |key, value|
35
35
  # Actual
36
36
  reader = value.to_sym
@@ -6,6 +6,8 @@ module Spaceship
6
6
 
7
7
  # Rating
8
8
  attr_accessor :alcohol_tobacco_or_drug_use_or_references
9
+ attr_accessor :contests
10
+ attr_accessor :gambling
9
11
  attr_accessor :gambling_simulated
10
12
  attr_accessor :medical_or_treatment_information
11
13
  attr_accessor :profanity_or_crude_humor
@@ -16,13 +18,16 @@ module Spaceship
16
18
  attr_accessor :violence_realistic_prolonged_graphic_or_sadistic
17
19
  attr_accessor :violence_realistic
18
20
 
19
- # boolean
20
- attr_accessor :gambling_and_contests
21
+ # Boolean
22
+ attr_accessor :seventeen_plus
21
23
  attr_accessor :unrestricted_web_access
22
24
 
23
25
  # KidsAge
24
26
  attr_accessor :kids_age_band
25
27
 
28
+ # Deprecated as of App Store Connect API 1.3
29
+ attr_accessor :gambling_and_contests
30
+
26
31
  module Rating
27
32
  NONE = "NONE"
28
33
  INFREQUENT_OR_MILD = "INFREQUENT_OR_MILD"
@@ -37,10 +42,12 @@ module Spaceship
37
42
 
38
43
  attr_mapping({
39
44
  "alcoholTobaccoOrDrugUseOrReferences" => "alcohol_tobacco_or_drug_use_or_references",
40
- "gamblingAndContests" => "gambling_and_contests",
45
+ "contests" => "contests",
46
+ "gambling" => "gambling",
41
47
  "gamblingSimulated" => "gambling_simulated",
42
48
  "medicalOrTreatmentInformation" => "medical_or_treatment_information",
43
49
  "profanityOrCrudeHumor" => "profanity_or_crude_humor",
50
+ "seventeenPlus" => "seventeen_plus",
44
51
  "sexualContentGraphicAndNudity" => "sexual_content_graphic_and_nudity",
45
52
  "sexualContentOrNudity" => "sexual_content_or_nudity",
46
53
  "horrorOrFearThemes" => "horror_or_fear_themes",
@@ -49,7 +56,10 @@ module Spaceship
49
56
  "violenceCartoonOrFantasy" => "violence_cartoon_or_fantasy",
50
57
  "violenceRealisticProlongedGraphicOrSadistic" => "violence_realistic_prolonged_graphic_or_sadistic",
51
58
  "violenceRealistic" => "violence_realistic",
52
- "kidsAgeBand" => "kids_age_band"
59
+ "kidsAgeBand" => "kids_age_band",
60
+
61
+ # Deprecated as of App Store Connect API 1.3
62
+ "gamblingAndContests" => "gambling_and_contests",
53
63
  })
54
64
 
55
65
  def self.type
@@ -83,6 +93,27 @@ module Spaceship
83
93
  1 => true
84
94
  }
85
95
 
96
+ def self.map_deprecation_if_possible(attributes)
97
+ attributes = attributes.dup
98
+ messages = []
99
+ errors = []
100
+
101
+ value = attributes.delete('gamblingAndContests')
102
+ return attributes, messages, errors if value.nil?
103
+
104
+ messages << "Age Rating 'gamblingAndContests' has been deprecated and split into 'gambling' and 'contests'"
105
+
106
+ attributes['gambling'] = value
107
+ if value == true
108
+ errors << "'gamblingAndContests' could not be mapped to 'contests' - 'contests' requires a value of 'NONE', 'INFREQUENT_OR_MILD', or 'FREQUENT_OR_INTENSE'"
109
+ attributes['contests'] = value
110
+ else
111
+ attributes['contests'] = 'NONE'
112
+ end
113
+
114
+ return attributes, messages, errors
115
+ end
116
+
86
117
  def self.map_key_from_itc(key)
87
118
  key = key.gsub("MZGenre.", "")
88
119
  return nil if key.empty?
@@ -81,6 +81,16 @@ module Spaceship
81
81
  client.delete_app_info(app_info_id: id)
82
82
  end
83
83
 
84
+ #
85
+ # Age Rating Declaration
86
+ #
87
+
88
+ def fetch_age_rating_declaration(client: nil)
89
+ client ||= Spaceship::ConnectAPI
90
+ resp = client.get_age_rating_declaration(app_info_id: id)
91
+ return resp.to_models.first
92
+ end
93
+
84
94
  #
85
95
  # App Info Localizations
86
96
  #
@@ -110,10 +110,9 @@ module Spaceship
110
110
  # Age Rating Declaration
111
111
  #
112
112
 
113
+ # @deprecated
113
114
  def fetch_age_rating_declaration(client: nil)
114
- client ||= Spaceship::ConnectAPI
115
- resp = client.get_age_rating_declaration(app_store_version_id: id)
116
- return resp.to_models.first
115
+ raise 'AppStoreVersion no longer as AgeRatingDelcaration as of App Store Connect API 1.3 - Use AppInfo instead'
117
116
  end
118
117
 
119
118
  #
@@ -92,6 +92,12 @@ module Spaceship
92
92
  return resps.flat_map(&:to_models)
93
93
  end
94
94
 
95
+ def fetch_all_certificates(client: nil, filter: {}, includes: nil, sort: nil)
96
+ client ||= Spaceship::ConnectAPI
97
+ resps = client.get_certificates(profile_id: id, filter: filter, includes: includes).all_pages
98
+ return resps.flat_map(&:to_models)
99
+ end
100
+
95
101
  def delete!(client: nil)
96
102
  client ||= Spaceship::ConnectAPI
97
103
  return client.delete_profile(profile_id: id)
@@ -84,9 +84,13 @@ module Spaceship
84
84
  # certificates
85
85
  #
86
86
 
87
- def get_certificates(filter: {}, includes: nil, limit: nil, sort: nil)
87
+ def get_certificates(profile_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
88
88
  params = provisioning_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
89
- provisioning_request_client.get("certificates", params)
89
+ if profile_id.nil?
90
+ provisioning_request_client.get("certificates", params)
91
+ else
92
+ provisioning_request_client.get("profiles/#{profile_id}/certificates", params)
93
+ end
90
94
  end
91
95
 
92
96
  def get_certificate(certificate_id: nil, includes: nil)
@@ -25,6 +25,12 @@ module Spaceship
25
25
  # key is for App Store or Enterprise so this is the temporary workaround
26
26
  attr_accessor :in_house
27
27
 
28
+ def self.from(hash: nil, filepath: nil)
29
+ api_token ||= self.create(**hash) if hash
30
+ api_token ||= self.from_json_file(filepath) if filepath
31
+ return api_token
32
+ end
33
+
28
34
  def self.from_json_file(filepath)
29
35
  json = JSON.parse(File.read(filepath), { symbolize_names: true })
30
36
 
@@ -17,9 +17,11 @@ module Spaceship
17
17
  # ageRatingDeclarations
18
18
  #
19
19
 
20
- def get_age_rating_declaration(app_store_version_id: nil)
20
+ def get_age_rating_declaration(app_info_id: nil, app_store_version_id: nil)
21
+ raise "Keyword 'app_store_version_id' is deprecated and 'app_info_id' is required" if app_store_version_id || app_info_id.nil?
22
+
21
23
  params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
22
- tunes_request_client.get("appStoreVersions/#{app_store_version_id}/ageRatingDeclaration", params)
24
+ tunes_request_client.get("appInfos/#{app_info_id}/ageRatingDeclaration", params)
23
25
  end
24
26
 
25
27
  def patch_age_rating_declaration(age_rating_declaration_id: nil, attributes: nil)
@@ -18,10 +18,10 @@ module Spaceship
18
18
  end
19
19
 
20
20
  # Public getter for all UI related code
21
- # rubocop:disable Style/MethodName
21
+ # rubocop:disable Naming/MethodName
22
22
  def UI
23
23
  UserInterface.new(self)
24
24
  end
25
- # rubocop:enable Style/MethodName
25
+ # rubocop:enable Naming/MethodName
26
26
  end
27
27
  end
@@ -279,13 +279,13 @@ module Supply
279
279
  def update_listing_for_language(language: nil, title: nil, short_description: nil, full_description: nil, video: nil)
280
280
  ensure_active_edit!
281
281
 
282
- listing = AndroidPublisher::Listing.new({
282
+ listing = AndroidPublisher::Listing.new(
283
283
  language: language,
284
284
  title: title,
285
285
  full_description: full_description,
286
286
  short_description: short_description,
287
287
  video: video
288
- })
288
+ )
289
289
 
290
290
  call_google_api do
291
291
  client.update_edit_listing(
@@ -1,5 +1,6 @@
1
1
  require "commander"
2
2
  require "fastlane_core"
3
+ require 'fastlane_core/ui/help_formatter'
3
4
  require "supply"
4
5
 
5
6
  HighLine.track_eof = false
@@ -19,7 +20,7 @@ module Supply
19
20
  program :help, 'Author', 'Felix Krause <supply@krausefx.com>'
20
21
  program :help, 'Website', 'https://fastlane.tools'
21
22
  program :help, 'Documentation', 'https://docs.fastlane.tools/actions/supply/'
22
- program :help_formatter, :compact
23
+ program :help_formatter, FastlaneCore::HelpFormatter
23
24
 
24
25
  always_trace!
25
26
 
@@ -233,10 +233,10 @@ module Supply
233
233
  end
234
234
  end
235
235
 
236
- AndroidPublisher::LocalizedText.new({
236
+ AndroidPublisher::LocalizedText.new(
237
237
  language: language,
238
238
  text: changelog_text
239
- })
239
+ )
240
240
  end
241
241
 
242
242
  def upload_changelogs(release_notes, release, track)
metadata CHANGED
@@ -1,58 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.181.0
4
+ version: 2.184.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Manu Wallner
8
+ - Aaron Brager
9
+ - Luka Mirosevic
10
+ - Satoshi Namai
11
+ - Jimmy Dee
7
12
  - Matthew Ellis
8
- - Maksym Grebenets
9
- - Iulian Onofrei
13
+ - Jan Piotrowski
10
14
  - Jérôme Lacoste
11
- - Josh Holtz
12
- - Luka Mirosevic
13
- - Joshua Liebowitz
14
- - Manu Wallner
15
+ - Stefan Natchev
16
+ - Olivier Halligon
15
17
  - Max Ott
16
- - Jorge Revuelta H
17
18
  - Andrew McBurney
18
- - Fumiya Nakamura
19
+ - Joshua Liebowitz
20
+ - Danielle Tomlinson
21
+ - Iulian Onofrei
22
+ - Roger Oba
19
23
  - Felix Krause
20
- - Satoshi Namai
24
+ - Jorge Revuelta H
25
+ - Kohki Miki
21
26
  - Helmut Januschka
22
- - Aaron Brager
23
- - Roger Oba
24
- - Jan Piotrowski
25
- - Danielle Tomlinson
26
- - Olivier Halligon
27
27
  - Daniel Jankowski
28
- - Jimmy Dee
29
- - Stefan Natchev
30
- - Kohki Miki
28
+ - Maksym Grebenets
29
+ - Josh Holtz
30
+ - Fumiya Nakamura
31
31
  autorequire:
32
32
  bindir: bin
33
33
  cert_chain: []
34
- date: 2021-04-20 00:00:00.000000000 Z
34
+ date: 2021-05-22 00:00:00.000000000 Z
35
35
  dependencies:
36
- - !ruby/object:Gem::Dependency
37
- name: slack-notifier
38
- requirement: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 2.0.0
43
- - - "<"
44
- - !ruby/object:Gem::Version
45
- version: 3.0.0
46
- type: :runtime
47
- prerelease: false
48
- version_requirements: !ruby/object:Gem::Requirement
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 2.0.0
53
- - - "<"
54
- - !ruby/object:Gem::Version
55
- version: 3.0.0
56
36
  - !ruby/object:Gem::Dependency
57
37
  name: xcodeproj
58
38
  requirement: !ruby/object:Gem::Requirement
@@ -304,25 +284,19 @@ dependencies:
304
284
  - !ruby/object:Gem::Version
305
285
  version: '0'
306
286
  - !ruby/object:Gem::Dependency
307
- name: commander-fastlane
287
+ name: commander
308
288
  requirement: !ruby/object:Gem::Requirement
309
289
  requirements:
310
- - - ">="
311
- - !ruby/object:Gem::Version
312
- version: 4.4.6
313
- - - "<"
290
+ - - "~>"
314
291
  - !ruby/object:Gem::Version
315
- version: 5.0.0
292
+ version: '4.6'
316
293
  type: :runtime
317
294
  prerelease: false
318
295
  version_requirements: !ruby/object:Gem::Requirement
319
296
  requirements:
320
- - - ">="
321
- - !ruby/object:Gem::Version
322
- version: 4.4.6
323
- - - "<"
297
+ - - "~>"
324
298
  - !ruby/object:Gem::Version
325
- version: 5.0.0
299
+ version: '4.6'
326
300
  - !ruby/object:Gem::Dependency
327
301
  name: excon
328
302
  requirement: !ruby/object:Gem::Requirement
@@ -429,22 +403,16 @@ dependencies:
429
403
  name: highline
430
404
  requirement: !ruby/object:Gem::Requirement
431
405
  requirements:
432
- - - ">="
433
- - !ruby/object:Gem::Version
434
- version: 1.7.2
435
- - - "<"
406
+ - - "~>"
436
407
  - !ruby/object:Gem::Version
437
- version: 2.0.0
408
+ version: '2.0'
438
409
  type: :runtime
439
410
  prerelease: false
440
411
  version_requirements: !ruby/object:Gem::Requirement
441
412
  requirements:
442
- - - ">="
443
- - !ruby/object:Gem::Version
444
- version: 1.7.2
445
- - - "<"
413
+ - - "~>"
446
414
  - !ruby/object:Gem::Version
447
- version: 2.0.0
415
+ version: '2.0'
448
416
  - !ruby/object:Gem::Dependency
449
417
  name: json
450
418
  requirement: !ruby/object:Gem::Requirement
@@ -616,45 +584,47 @@ dependencies:
616
584
  - !ruby/object:Gem::Version
617
585
  version: '3'
618
586
  - !ruby/object:Gem::Dependency
619
- name: google-api-client
587
+ name: google-apis-playcustomapp_v1
620
588
  requirement: !ruby/object:Gem::Requirement
621
589
  requirements:
622
- - - ">="
623
- - !ruby/object:Gem::Version
624
- version: 0.37.0
625
- - - "<"
590
+ - - "~>"
626
591
  - !ruby/object:Gem::Version
627
- version: 0.39.0
592
+ version: '0.1'
628
593
  type: :runtime
629
594
  prerelease: false
630
595
  version_requirements: !ruby/object:Gem::Requirement
631
596
  requirements:
632
- - - ">="
597
+ - - "~>"
633
598
  - !ruby/object:Gem::Version
634
- version: 0.37.0
635
- - - "<"
599
+ version: '0.1'
600
+ - !ruby/object:Gem::Dependency
601
+ name: google-apis-androidpublisher_v3
602
+ requirement: !ruby/object:Gem::Requirement
603
+ requirements:
604
+ - - "~>"
636
605
  - !ruby/object:Gem::Version
637
- version: 0.39.0
606
+ version: '0.1'
607
+ type: :runtime
608
+ prerelease: false
609
+ version_requirements: !ruby/object:Gem::Requirement
610
+ requirements:
611
+ - - "~>"
612
+ - !ruby/object:Gem::Version
613
+ version: '0.1'
638
614
  - !ruby/object:Gem::Dependency
639
615
  name: google-cloud-storage
640
616
  requirement: !ruby/object:Gem::Requirement
641
617
  requirements:
642
- - - ">="
643
- - !ruby/object:Gem::Version
644
- version: 1.15.0
645
- - - "<"
618
+ - - "~>"
646
619
  - !ruby/object:Gem::Version
647
- version: 2.0.0
620
+ version: '1.31'
648
621
  type: :runtime
649
622
  prerelease: false
650
623
  version_requirements: !ruby/object:Gem::Requirement
651
624
  requirements:
652
- - - ">="
653
- - !ruby/object:Gem::Version
654
- version: 1.15.0
655
- - - "<"
625
+ - - "~>"
656
626
  - !ruby/object:Gem::Version
657
- version: 2.0.0
627
+ version: '1.31'
658
628
  - !ruby/object:Gem::Dependency
659
629
  name: emoji_regex
660
630
  requirement: !ruby/object:Gem::Requirement
@@ -835,28 +805,42 @@ dependencies:
835
805
  requirements:
836
806
  - - '='
837
807
  - !ruby/object:Gem::Version
838
- version: 0.49.1
808
+ version: 1.12.1
839
809
  type: :development
840
810
  prerelease: false
841
811
  version_requirements: !ruby/object:Gem::Requirement
842
812
  requirements:
843
813
  - - '='
844
814
  - !ruby/object:Gem::Version
845
- version: 0.49.1
815
+ version: 1.12.1
816
+ - !ruby/object:Gem::Dependency
817
+ name: rubocop-performance
818
+ requirement: !ruby/object:Gem::Requirement
819
+ requirements:
820
+ - - ">="
821
+ - !ruby/object:Gem::Version
822
+ version: '0'
823
+ type: :development
824
+ prerelease: false
825
+ version_requirements: !ruby/object:Gem::Requirement
826
+ requirements:
827
+ - - ">="
828
+ - !ruby/object:Gem::Version
829
+ version: '0'
846
830
  - !ruby/object:Gem::Dependency
847
831
  name: rubocop-require_tools
848
832
  requirement: !ruby/object:Gem::Requirement
849
833
  requirements:
850
834
  - - ">="
851
835
  - !ruby/object:Gem::Version
852
- version: 0.1.2
836
+ version: '0'
853
837
  type: :development
854
838
  prerelease: false
855
839
  version_requirements: !ruby/object:Gem::Requirement
856
840
  requirements:
857
841
  - - ">="
858
842
  - !ruby/object:Gem::Version
859
- version: 0.1.2
843
+ version: '0'
860
844
  - !ruby/object:Gem::Dependency
861
845
  name: rb-readline
862
846
  requirement: !ruby/object:Gem::Requirement
@@ -1296,6 +1280,7 @@ files:
1296
1280
  - fastlane/lib/fastlane/lane_manager_base.rb
1297
1281
  - fastlane/lib/fastlane/markdown_table_formatter.rb
1298
1282
  - fastlane/lib/fastlane/new_action.rb
1283
+ - fastlane/lib/fastlane/notification/slack.rb
1299
1284
  - fastlane/lib/fastlane/one_off.rb
1300
1285
  - fastlane/lib/fastlane/other_action.rb
1301
1286
  - fastlane/lib/fastlane/plugins/plugin_fetcher.rb
@@ -1365,6 +1350,7 @@ files:
1365
1350
  - fastlane/swift/MainProcess.swift
1366
1351
  - fastlane/swift/Matchfile.swift
1367
1352
  - fastlane/swift/MatchfileProtocol.swift
1353
+ - fastlane/swift/OptionalConfigValue.swift
1368
1354
  - fastlane/swift/Plugins.swift
1369
1355
  - fastlane/swift/Precheckfile.swift
1370
1356
  - fastlane/swift/PrecheckfileProtocol.swift
@@ -1441,6 +1427,8 @@ files:
1441
1427
  - fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb
1442
1428
  - fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb
1443
1429
  - fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb
1430
+ - fastlane_core/lib/fastlane_core/ui/help.erb
1431
+ - fastlane_core/lib/fastlane_core/ui/help_formatter.rb
1444
1432
  - fastlane_core/lib/fastlane_core/ui/implementations/shell.rb
1445
1433
  - fastlane_core/lib/fastlane_core/ui/interface.rb
1446
1434
  - fastlane_core/lib/fastlane_core/ui/ui.rb
@@ -1529,7 +1517,6 @@ files:
1529
1517
  - pilot/lib/pilot/tester_exporter.rb
1530
1518
  - pilot/lib/pilot/tester_importer.rb
1531
1519
  - pilot/lib/pilot/tester_manager.rb
1532
- - pilot/lib/pilot/tester_util.rb
1533
1520
  - precheck/README.md
1534
1521
  - precheck/lib/assets/PrecheckfileTemplate
1535
1522
  - precheck/lib/assets/PrecheckfileTemplate.swift
@@ -1656,6 +1643,7 @@ files:
1656
1643
  - spaceship/lib/spaceship/connect_api/client.rb
1657
1644
  - spaceship/lib/spaceship/connect_api/file_uploader.rb
1658
1645
  - spaceship/lib/spaceship/connect_api/model.rb
1646
+ - spaceship/lib/spaceship/connect_api/models/.age_rating_declaration.rb.swp
1659
1647
  - spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp
1660
1648
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1661
1649
  - spaceship/lib/spaceship/connect_api/models/app.rb
@@ -1866,7 +1854,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1866
1854
  requirements:
1867
1855
  - - ">="
1868
1856
  - !ruby/object:Gem::Version
1869
- version: '2.4'
1857
+ version: '2.5'
1870
1858
  required_rubygems_version: !ruby/object:Gem::Requirement
1871
1859
  requirements:
1872
1860
  - - ">="