fastlane 2.184.1 → 2.185.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +78 -78
  3. data/deliver/lib/deliver/upload_metadata.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/adb.rb +1 -4
  5. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  6. data/fastlane/lib/fastlane/actions/add_git_tag.rb +4 -4
  7. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +3 -4
  8. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  9. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -5
  10. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +10 -4
  11. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +5 -1
  12. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  13. data/fastlane/lib/fastlane/helper/git_helper.rb +12 -7
  14. data/fastlane/lib/fastlane/swift_fastlane_function.rb +2 -1
  15. data/fastlane/lib/fastlane/version.rb +1 -1
  16. data/fastlane/swift/Deliverfile.swift +1 -1
  17. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  18. data/fastlane/swift/Fastlane.swift +2583 -2377
  19. data/fastlane/swift/Gymfile.swift +1 -1
  20. data/fastlane/swift/GymfileProtocol.swift +1 -1
  21. data/fastlane/swift/Matchfile.swift +1 -1
  22. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  23. data/fastlane/swift/Precheckfile.swift +1 -1
  24. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  25. data/fastlane/swift/Scanfile.swift +1 -1
  26. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  27. data/fastlane/swift/Screengrabfile.swift +1 -1
  28. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  29. data/fastlane/swift/Snapshotfile.swift +1 -1
  30. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  31. data/fastlane/swift/formatting/Brewfile.lock.json +11 -11
  32. data/fastlane_core/lib/fastlane_core/helper.rb +12 -0
  33. data/pilot/lib/pilot/build_manager.rb +3 -0
  34. data/pilot/lib/pilot/options.rb +2 -2
  35. data/sigh/lib/assets/resign.sh +8 -19
  36. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +2 -1
  37. metadata +16 -16
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -196,4 +196,4 @@ public extension GymfileProtocol {
196
196
 
197
197
  // Please don't remove the lines below
198
198
  // They are used to detect outdated files
199
- // FastlaneRunnerAPIVersion [0.9.74]
199
+ // FastlaneRunnerAPIVersion [0.9.75]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -184,4 +184,4 @@ public extension MatchfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.68]
187
+ // FastlaneRunnerAPIVersion [0.9.69]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.67]
55
+ // FastlaneRunnerAPIVersion [0.9.68]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -292,4 +292,4 @@ public extension ScanfileProtocol {
292
292
 
293
293
  // Please don't remove the lines below
294
294
  // They are used to detect outdated files
295
- // FastlaneRunnerAPIVersion [0.9.79]
295
+ // FastlaneRunnerAPIVersion [0.9.80]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.69]
99
+ // FastlaneRunnerAPIVersion [0.9.70]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.184.1
20
+ // Generated with fastlane 2.185.0
@@ -200,4 +200,4 @@ public extension SnapshotfileProtocol {
200
200
 
201
201
  // Please don't remove the lines below
202
202
  // They are used to detect outdated files
203
- // FastlaneRunnerAPIVersion [0.9.63]
203
+ // FastlaneRunnerAPIVersion [0.9.64]
@@ -2,30 +2,30 @@
2
2
  "entries": {
3
3
  "brew": {
4
4
  "swiftformat": {
5
- "version": "0.48.3",
5
+ "version": "0.48.4",
6
6
  "bottle": {
7
7
  "rebuild": 0,
8
8
  "root_url": "https://ghcr.io/v2/homebrew/core",
9
9
  "files": {
10
10
  "arm64_big_sur": {
11
11
  "cellar": ":any_skip_relocation",
12
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:45f0d1d25e117bba4d30e3077c3445052bf4bb5238419a0747d851adbede06d1",
13
- "sha256": "45f0d1d25e117bba4d30e3077c3445052bf4bb5238419a0747d851adbede06d1"
12
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:d85e28a31b1b0c3120d796f9dec0eb001369adb5166371f2dcb16bd9972ddc05",
13
+ "sha256": "d85e28a31b1b0c3120d796f9dec0eb001369adb5166371f2dcb16bd9972ddc05"
14
14
  },
15
15
  "big_sur": {
16
16
  "cellar": ":any_skip_relocation",
17
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:fbc54de6090d46e3b63592e7d304871aced14d43d2b4b23dcef1bc997b4dd8a0",
18
- "sha256": "fbc54de6090d46e3b63592e7d304871aced14d43d2b4b23dcef1bc997b4dd8a0"
17
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:b8572efabc3aa0627898ae23fbb7847e5e007fb631217df54d30ac5a2b52f82a",
18
+ "sha256": "b8572efabc3aa0627898ae23fbb7847e5e007fb631217df54d30ac5a2b52f82a"
19
19
  },
20
20
  "catalina": {
21
21
  "cellar": ":any_skip_relocation",
22
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:10aa177bc5b37892d4ec96e61051cf8ff5d12c6deeaef8cd276a0b2589c14848",
23
- "sha256": "10aa177bc5b37892d4ec96e61051cf8ff5d12c6deeaef8cd276a0b2589c14848"
22
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:384c3e7c2ce67b2b291774c17da54d0f43ee3b93db3d5f2254c7bbdbbb42213e",
23
+ "sha256": "384c3e7c2ce67b2b291774c17da54d0f43ee3b93db3d5f2254c7bbdbbb42213e"
24
24
  },
25
25
  "mojave": {
26
26
  "cellar": ":any_skip_relocation",
27
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:4be65d16c76254414d779ebc8b7e0722d728657a21f6eeef29c7a15842dbc741",
28
- "sha256": "4be65d16c76254414d779ebc8b7e0722d728657a21f6eeef29c7a15842dbc741"
27
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:5093e230eccbc34e1d0782ba558bcebb3959af7cb2909a6dbefb0d8db88b4242",
28
+ "sha256": "5093e230eccbc34e1d0782ba558bcebb3959af7cb2909a6dbefb0d8db88b4242"
29
29
  }
30
30
  }
31
31
  }
@@ -35,9 +35,9 @@
35
35
  "system": {
36
36
  "macos": {
37
37
  "catalina": {
38
- "HOMEBREW_VERSION": "3.1.9-58-g7ae9cc3",
38
+ "HOMEBREW_VERSION": "3.1.9-121-g654c78c",
39
39
  "HOMEBREW_PREFIX": "/usr/local",
40
- "Homebrew/homebrew-core": "6b2b455850b3abf29ab327a17292e1c4eb7abd15",
40
+ "Homebrew/homebrew-core": "053991e1213350e1803bdb6c7c5aca7a36e8e3d0",
41
41
  "CLT": "11.0.0.33.12",
42
42
  "Xcode": "12.4",
43
43
  "macOS": "10.15.7"
@@ -174,6 +174,18 @@ module FastlaneCore
174
174
  Gem::Version.new(installed_xcode_version) >= Gem::Version.new(version)
175
175
  end
176
176
 
177
+ # Swift
178
+ #
179
+
180
+ # @return Swift version
181
+ def self.swift_version
182
+ if system("which swift > /dev/null 2>&1")
183
+ output = `swift --version`
184
+ return output.split("\n").first.match(/version ([0-9.]+)/).captures.first
185
+ end
186
+ return nil
187
+ end
188
+
177
189
  # iTMSTransporter
178
190
  #
179
191
 
@@ -366,6 +366,9 @@ module Pilot
366
366
  # If there are multiple teams, infer the provider from the selected team name.
367
367
  # If there are fewer than two teams, don't infer the provider.
368
368
  def transporter_for_selected_team(options)
369
+ # Ensure that user is authenticated
370
+ start(options)
371
+
369
372
  # Use JWT auth
370
373
  api_token = Spaceship::ConnectAPI.token
371
374
  unless api_token.nil?
@@ -178,7 +178,7 @@ module Pilot
178
178
  FastlaneCore::ConfigItem.new(key: :distribute_external,
179
179
  is_string: false,
180
180
  env_name: "PILOT_DISTRIBUTE_EXTERNAL",
181
- description: "Should the build be distributed to external testers?",
181
+ description: "Should the build be distributed to external testers? If set to true, use of `groups` option is required",
182
182
  default_value: false),
183
183
  FastlaneCore::ConfigItem.new(key: :notify_external_testers,
184
184
  is_string: false,
@@ -227,7 +227,7 @@ module Pilot
227
227
  FastlaneCore::ConfigItem.new(key: :groups,
228
228
  short_option: "-g",
229
229
  env_name: "PILOT_GROUPS",
230
- description: "Associate tester to one group or more by group name / group id. E.g. `-g \"Team 1\",\"Team 2\"`",
230
+ description: "Associate tester to one group or more by group name / group id. E.g. `-g \"Team 1\",\"Team 2\"` This is required when `distribute_external` option is set to true or when we want to add a tester to one or more external testing groups ",
231
231
  optional: true,
232
232
  type: Array,
233
233
  verify_block: proc do |value|
@@ -78,6 +78,8 @@
78
78
  # new features May 2021
79
79
  # 1. fix entitlements merging when changing team
80
80
  #
81
+ # new features June 2021
82
+ # 1. fix the way app entitlements are extracted
81
83
 
82
84
  # Logging functions
83
85
 
@@ -788,7 +790,7 @@ function resign {
788
790
 
789
791
  # Get the entry from app's entitlements
790
792
  # Read it with PlistBuddy as XML, then strip the header and <plist></plist> part
791
- ENTITLEMENTS_VALUE="$(PlistBuddy -x -c "Print $KEY" "$APP_ENTITLEMENTS" 2>/dev/null | /usr/bin/sed -e 's,.*<plist[^>]*>\(.*\)</plist>,\1,g')"
793
+ ENTITLEMENTS_VALUE="$(PlistBuddy -x -c "Print $KEY" "$APP_ENTITLEMENTS" 2>/dev/null | tr -d '\n' | /usr/bin/sed -e 's,.*<plist[^>]*>\(.*\)</plist>,\1,g')"
792
794
  if [[ -z "$ENTITLEMENTS_VALUE" ]]; then
793
795
  log "No value for '$KEY'"
794
796
  continue
@@ -801,11 +803,11 @@ function resign {
801
803
  if [[ "$ID_TYPE" == "APP_ID" ]]; then
802
804
  # Replace old value with new value in patched entitlements
803
805
  log "Replacing old app ID '$OLD_APP_ID' with new app ID '$NEW_APP_ID'"
804
- ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | sed "s/$OLD_APP_ID/$NEW_APP_ID/g")
806
+ ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | /usr/bin/sed -e "s/$OLD_APP_ID/$NEW_APP_ID/g")
805
807
  elif [[ "$ID_TYPE" == "TEAM_ID" ]]; then
806
808
  # Replace old team identifier with new value
807
809
  log "Replacing old team ID '$OLD_TEAM_ID' with new team ID '$NEW_TEAM_ID'"
808
- ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | sed "s/$OLD_TEAM_ID/$NEW_TEAM_ID/g")
810
+ ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | /usr/bin/sed -e "s/$OLD_TEAM_ID/$NEW_TEAM_ID/g")
809
811
  elif [[ "$ID_TYPE" == "ICLOUD_ENV" ]]; then
810
812
  # Add specific iCloud Environment key to patched entitlements
811
813
  # This value is set by Xcode during export (manually selected for Development and AdHoc, automatically set to Production for Store)
@@ -823,14 +825,14 @@ function resign {
823
825
  fi
824
826
  fi
825
827
 
826
- OLD_ICLOUD_ENV=$(echo "$ENTITLEMENTS_VALUE" | sed -e 's,<string>\(.*\)</string>,\1,g')
828
+ OLD_ICLOUD_ENV=$(echo "$ENTITLEMENTS_VALUE" | /usr/bin/sed -e 's,<string>\(.*\)</string>,\1,g')
827
829
  if [[ "$certificate_name" =~ "Distribution:" ]]; then
828
830
  NEW_ICLOUD_ENV="Production"
829
831
  else
830
832
  NEW_ICLOUD_ENV="Development"
831
833
  fi
832
834
  log "Replacing iCloud environment '$OLD_ICLOUD_ENV' with '$NEW_ICLOUD_ENV'"
833
- ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | sed "s/$OLD_ICLOUD_ENV/$NEW_ICLOUD_ENV/g")
835
+ ENTITLEMENTS_VALUE=$(echo "$ENTITLEMENTS_VALUE" | /usr/bin/sed -e "s/$OLD_ICLOUD_ENV/$NEW_ICLOUD_ENV/g")
834
836
  fi
835
837
 
836
838
  # Remove the entry for current key from profisioning profile entitlements (if exists)
@@ -841,21 +843,8 @@ function resign {
841
843
  # otherwise it interprets they key path as nested keys
842
844
  # TODO: Should be able to replace with echo ${KEY//\./\\\\.} and remove shellcheck disable directive
843
845
  # shellcheck disable=SC2001
844
- PLUTIL_KEY=$(echo "$KEY" | /usr/bin/sed 's/\./\\\./g')
846
+ PLUTIL_KEY=$(echo "$KEY" | /usr/bin/sed -e 's/\./\\\./g')
845
847
  plutil -insert "$PLUTIL_KEY" -xml "$ENTITLEMENTS_VALUE" "$PATCHED_ENTITLEMENTS"
846
-
847
- # Patch the ID value if specified
848
- if [[ "$ID_TYPE" == "APP_ID" ]]; then
849
- # Replace old value with new value in patched entitlements
850
- log "Replacing old app identifier prefix '$OLD_APP_ID' with new value '$NEW_APP_ID'"
851
- /usr/bin/sed -i .bak "s/$OLD_APP_ID/$NEW_APP_ID/g" "$PATCHED_ENTITLEMENTS"
852
- elif [[ "$ID_TYPE" == "TEAM_ID" ]]; then
853
- # Replace old team identifier with new value
854
- log "Replacing old team ID '$OLD_TEAM_ID' with new team ID: '$NEW_TEAM_ID'"
855
- /usr/bin/sed -i .bak "s/$OLD_TEAM_ID/$NEW_TEAM_ID/g" "$PATCHED_ENTITLEMENTS"
856
- else
857
- continue
858
- fi
859
848
  done
860
849
 
861
850
  # Replace old bundle ID with new bundle ID in patched entitlements
@@ -7,11 +7,11 @@ module Spaceship
7
7
  # Rating
8
8
  attr_accessor :alcohol_tobacco_or_drug_use_or_references
9
9
  attr_accessor :contests
10
- attr_accessor :gambling
11
10
  attr_accessor :gambling_simulated
12
11
  attr_accessor :medical_or_treatment_information
13
12
  attr_accessor :profanity_or_crude_humor
14
13
  attr_accessor :sexual_content_graphic_and_nudity
14
+ attr_accessor :sexual_content_or_nudity
15
15
  attr_accessor :horror_or_fear_themes
16
16
  attr_accessor :mature_or_suggestive_themes
17
17
  attr_accessor :violence_cartoon_or_fantasy
@@ -19,6 +19,7 @@ module Spaceship
19
19
  attr_accessor :violence_realistic
20
20
 
21
21
  # Boolean
22
+ attr_accessor :gambling
22
23
  attr_accessor :seventeen_plus
23
24
  attr_accessor :unrestricted_web_access
24
25
 
metadata CHANGED
@@ -1,38 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.184.1
4
+ version: 2.185.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Satoshi Namai
7
8
  - Jan Piotrowski
9
+ - Andrew McBurney
10
+ - Matthew Ellis
11
+ - Iulian Onofrei
12
+ - Kohki Miki
8
13
  - Manu Wallner
9
- - Max Ott
14
+ - Daniel Jankowski
10
15
  - Olivier Halligon
11
- - Satoshi Namai
12
- - Joshua Liebowitz
16
+ - Fumiya Nakamura
13
17
  - Josh Holtz
14
- - Aaron Brager
15
- - Jorge Revuelta H
16
- - Iulian Onofrei
18
+ - Danielle Tomlinson
19
+ - Helmut Januschka
17
20
  - Jimmy Dee
18
21
  - Maksym Grebenets
22
+ - Manish Rathi
23
+ - Jorge Revuelta H
24
+ - Aaron Brager
25
+ - Max Ott
19
26
  - Luka Mirosevic
27
+ - Joshua Liebowitz
20
28
  - Jérôme Lacoste
21
- - Kohki Miki
22
- - Danielle Tomlinson
23
29
  - Felix Krause
24
- - Manish Rathi
25
- - Fumiya Nakamura
26
- - Andrew McBurney
27
30
  - Roger Oba
28
- - Matthew Ellis
29
- - Helmut Januschka
30
- - Daniel Jankowski
31
31
  - Stefan Natchev
32
32
  autorequire:
33
33
  bindir: bin
34
34
  cert_chain: []
35
- date: 2021-05-28 00:00:00.000000000 Z
35
+ date: 2021-06-06 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: xcodeproj