fastlane 2.238.0 → 2.240.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -98
  3. data/bin/fastlane +2 -2
  4. data/deliver/lib/deliver/html_generator.rb +1 -1
  5. data/deliver/lib/deliver/options.rb +8 -0
  6. data/deliver/lib/deliver/runner.rb +5 -4
  7. data/deliver/lib/deliver/upload_metadata.rb +22 -0
  8. data/deliver/lib/deliver/upload_screenshots.rb +12 -4
  9. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +3 -1
  10. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +7 -2
  11. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +6 -0
  12. data/fastlane/lib/fastlane/actions/lcov.rb +3 -1
  13. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +4 -2
  14. data/fastlane/lib/fastlane/actions/swiftlint.rb +6 -3
  15. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -1
  16. data/fastlane/lib/fastlane/helper/git_helper.rb +4 -2
  17. data/fastlane/lib/fastlane/helper/sh_helper.rb +9 -1
  18. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  19. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  20. data/fastlane/lib/fastlane/version.rb +1 -1
  21. data/fastlane/swift/Deliverfile.swift +1 -1
  22. data/fastlane/swift/DeliverfileProtocol.swift +8 -1
  23. data/fastlane/swift/Fastlane.swift +75 -3
  24. data/fastlane/swift/Gymfile.swift +1 -1
  25. data/fastlane/swift/GymfileProtocol.swift +8 -1
  26. data/fastlane/swift/Matchfile.swift +1 -1
  27. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  28. data/fastlane/swift/Precheckfile.swift +1 -1
  29. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  30. data/fastlane/swift/Scanfile.swift +1 -1
  31. data/fastlane/swift/ScanfileProtocol.swift +8 -1
  32. data/fastlane/swift/Screengrabfile.swift +1 -1
  33. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  34. data/fastlane/swift/Snapshotfile.swift +1 -1
  35. data/fastlane/swift/SnapshotfileProtocol.swift +8 -1
  36. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +20 -7
  37. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -1
  38. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +16 -13
  39. data/fastlane_core/lib/fastlane_core/project.rb +19 -0
  40. data/gym/lib/gym/options.rb +5 -0
  41. data/match/lib/match/nuke.rb +2 -2
  42. data/match/lib/match/storage/git_storage.rb +1 -4
  43. data/match/lib/match/storage/google_cloud_storage.rb +6 -1
  44. data/pem/lib/pem/manager.rb +5 -1
  45. data/pem/lib/pem/options.rb +6 -0
  46. data/pilot/lib/pilot/build_manager.rb +32 -0
  47. data/pilot/lib/pilot/options.rb +8 -0
  48. data/scan/lib/scan/options.rb +5 -0
  49. data/sigh/lib/assets/resign.sh +21 -9
  50. data/snapshot/lib/snapshot/options.rb +5 -0
  51. data/spaceship/lib/spaceship/client.rb +137 -15
  52. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +16 -0
  53. data/spaceship/lib/spaceship/connect_api/models/routing_app_coverage.rb +75 -0
  54. data/spaceship/lib/spaceship/connect_api/token.rb +6 -1
  55. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +45 -0
  56. data/spaceship/lib/spaceship/connect_api.rb +1 -0
  57. data/spaceship/lib/spaceship/du/upload_file.rb +4 -3
  58. data/supply/lib/supply/client.rb +6 -0
  59. data/supply/lib/supply/reader.rb +15 -0
  60. data/trainer/lib/trainer/xcresult/helper.rb +27 -13
  61. metadata +34 -50
@@ -51,15 +51,23 @@ module Fastlane
51
51
  # sh "ls -la /Applications/Xcode\ 7.3.1.app"
52
52
  # sh "ls", "-la", "/Applications/Xcode 7.3.1.app"
53
53
  # sh({ "FOO" => "Hello" }, "echo $FOO")
54
+ sanitized_output = false
54
55
  Open3.popen2e(*command) do |stdin, io, thread|
55
56
  io.sync = true
56
57
  io.each do |line|
57
- UI.command_output(line.strip) if print_command_output
58
+ if print_command_output
59
+ # Ensure the string being stripped is in valid UTF-8 format; Otherwise warn at the end
60
+ text = line.encode('UTF-8', invalid: :replace)
61
+ UI.command_output(text.strip)
62
+ sanitized_output = true if text != line
63
+ end
58
64
  result << line
59
65
  end
60
66
  exit_status = thread.value
61
67
  end
62
68
 
69
+ UI.important("Command output wasn't valid UTF-8 and was sanitized. Please report the issue.") if sanitized_output
70
+
63
71
  # Checking Process::Status#exitstatus instead of #success? makes for more
64
72
  # testable code. (Tests mock exitstatus only.) This is also consistent
65
73
  # with previous implementations of sh and... probably portable to all
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
16
16
  spec.require_paths = ['lib']
17
17
  spec.metadata['rubygems_mfa_required'] = 'true'
18
- spec.required_ruby_version = '>= 3.0'
18
+ spec.required_ruby_version = '>= 3.1'
19
19
 
20
20
  # Don't add a dependency to fastlane or fastlane_re
21
21
  # since this would cause a circular dependency
@@ -3,7 +3,7 @@ require:
3
3
  - rubocop/require_tools
4
4
  - rubocop-performance
5
5
  AllCops:
6
- TargetRubyVersion: 3.0
6
+ TargetRubyVersion: 3.1
7
7
  SuggestExtensions: false
8
8
  NewCops: enable
9
9
  Include:
@@ -21,6 +21,10 @@ AllCops:
21
21
  - "**/*.provisionprofile"
22
22
  Lint/ErbNewArguments:
23
23
  Enabled: false
24
+ Style/HashSyntax:
25
+ EnforcedShorthandSyntax: either
26
+ Naming/BlockForwarding:
27
+ EnforcedStyle: explicit
24
28
  Style/SlicingWithRange:
25
29
  Enabled: false
26
30
  Style/MultipleComparison:
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.238.0'.freeze
2
+ VERSION = '2.240.0'.freeze
3
3
  SUMMARY = "The easiest way to build and release mobile apps.".freeze
4
4
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
5
5
  MINIMUM_XCODE_RELEASE = "7.0".freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.238.0
20
+ // Generated with fastlane 2.240.0
@@ -179,6 +179,9 @@ public protocol DeliverfileProtocol: AnyObject {
179
179
  /// Metadata: Path to the app review attachment file
180
180
  var appReviewAttachmentFile: String? { get }
181
181
 
182
+ /// Metadata: Path to the routing app coverage file (`.geojson`) that is required for routing apps
183
+ var routingAppCoverageFile: String? { get }
184
+
182
185
  /// Metadata: The localised app description
183
186
  var description: [String: Any]? { get }
184
187
 
@@ -465,6 +468,10 @@ public extension DeliverfileProtocol {
465
468
  return nil
466
469
  }
467
470
 
471
+ var routingAppCoverageFile: String? {
472
+ return nil
473
+ }
474
+
468
475
  var description: [String: Any]? {
469
476
  return nil
470
477
  }
@@ -532,4 +539,4 @@ public extension DeliverfileProtocol {
532
539
 
533
540
  // Please don't remove the lines below
534
541
  // They are used to detect outdated files
535
- // FastlaneRunnerAPIVersion [0.9.152]
542
+ // FastlaneRunnerAPIVersion [0.9.154]