fastlane 2.238.0 → 2.239.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.
- checksums.yaml +4 -4
- data/README.md +96 -96
- data/bin/fastlane +2 -2
- data/deliver/lib/deliver/html_generator.rb +1 -1
- data/deliver/lib/deliver/options.rb +8 -0
- data/deliver/lib/deliver/upload_metadata.rb +22 -0
- data/deliver/lib/deliver/upload_screenshots.rb +12 -4
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +7 -2
- data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +6 -0
- data/fastlane/lib/fastlane/helper/git_helper.rb +4 -2
- data/fastlane/lib/fastlane/helper/sh_helper.rb +9 -1
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +8 -1
- data/fastlane/swift/Fastlane.swift +38 -2
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/match/lib/match/nuke.rb +2 -2
- data/match/lib/match/storage/git_storage.rb +1 -4
- data/match/lib/match/storage/google_cloud_storage.rb +6 -1
- data/pem/lib/pem/manager.rb +5 -1
- data/pem/lib/pem/options.rb +6 -0
- data/pilot/lib/pilot/build_manager.rb +32 -0
- data/pilot/lib/pilot/options.rb +8 -0
- data/sigh/lib/assets/resign.sh +21 -9
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +16 -0
- data/spaceship/lib/spaceship/connect_api/models/routing_app_coverage.rb +75 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +6 -1
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +45 -0
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/supply/lib/supply/client.rb +6 -0
- data/supply/lib/supply/reader.rb +15 -0
- metadata +26 -42
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
require_relative '../model'
|
|
2
|
+
require_relative '../file_uploader'
|
|
3
|
+
require 'digest/md5'
|
|
4
|
+
|
|
5
|
+
module Spaceship
|
|
6
|
+
class ConnectAPI
|
|
7
|
+
class RoutingAppCoverage
|
|
8
|
+
include Spaceship::ConnectAPI::Model
|
|
9
|
+
|
|
10
|
+
attr_accessor :file_size
|
|
11
|
+
attr_accessor :file_name
|
|
12
|
+
attr_accessor :source_file_checksum
|
|
13
|
+
attr_accessor :upload_operations
|
|
14
|
+
attr_accessor :asset_delivery_state
|
|
15
|
+
attr_accessor :uploaded
|
|
16
|
+
|
|
17
|
+
attr_mapping({
|
|
18
|
+
"fileSize" => "file_size",
|
|
19
|
+
"fileName" => "file_name",
|
|
20
|
+
"sourceFileChecksum" => "source_file_checksum",
|
|
21
|
+
"uploadOperations" => "upload_operations",
|
|
22
|
+
"assetDeliveryState" => "asset_delivery_state",
|
|
23
|
+
"uploaded" => "uploaded"
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
def self.type
|
|
27
|
+
return "routingAppCoverages"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
#
|
|
31
|
+
# API
|
|
32
|
+
#
|
|
33
|
+
|
|
34
|
+
def self.create(client: nil, app_store_version_id: nil, path: nil)
|
|
35
|
+
client ||= Spaceship::ConnectAPI
|
|
36
|
+
require 'faraday'
|
|
37
|
+
|
|
38
|
+
filename = File.basename(path)
|
|
39
|
+
filesize = File.size(path)
|
|
40
|
+
bytes = File.binread(path)
|
|
41
|
+
|
|
42
|
+
post_attributes = {
|
|
43
|
+
fileSize: filesize,
|
|
44
|
+
fileName: filename
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# Create placeholder
|
|
48
|
+
routing_app_coverage = client.post_routing_app_coverage(
|
|
49
|
+
app_store_version_id: app_store_version_id,
|
|
50
|
+
attributes: post_attributes
|
|
51
|
+
).to_models.first
|
|
52
|
+
|
|
53
|
+
# Upload the file
|
|
54
|
+
upload_operations = routing_app_coverage.upload_operations
|
|
55
|
+
Spaceship::ConnectAPI::FileUploader.upload(upload_operations, bytes)
|
|
56
|
+
|
|
57
|
+
# Update file uploading complete
|
|
58
|
+
patch_attributes = {
|
|
59
|
+
uploaded: true,
|
|
60
|
+
sourceFileChecksum: Digest::MD5.hexdigest(bytes)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
client.patch_routing_app_coverage(
|
|
64
|
+
routing_app_coverage_id: routing_app_coverage.id,
|
|
65
|
+
attributes: patch_attributes
|
|
66
|
+
).to_models.first
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def delete!(client: nil)
|
|
70
|
+
client ||= Spaceship::ConnectAPI
|
|
71
|
+
client.delete_routing_app_coverage(routing_app_coverage_id: id)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -36,7 +36,12 @@ module Spaceship
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def self.from_json_file(filepath)
|
|
39
|
-
|
|
39
|
+
begin
|
|
40
|
+
json = JSON.parse(File.read(filepath), { symbolize_names: true })
|
|
41
|
+
rescue JSON::ParserError
|
|
42
|
+
# Don't dump secret into logs in case a secret (p8) is passed. See fastlane/fastlane#21017
|
|
43
|
+
raise "Invalid JSON in App Store Connect API key file '#{filepath}'. Expected a JSON file with at least the 'key_id' and 'key' fields."
|
|
44
|
+
end
|
|
40
45
|
|
|
41
46
|
missing_keys = []
|
|
42
47
|
missing_keys << 'key_id' unless json.key?(:key_id)
|
|
@@ -1018,6 +1018,51 @@ module Spaceship
|
|
|
1018
1018
|
tunes_request_client.delete("#{Version::V1}/resetRatingsRequests/#{reset_ratings_request_id}", params)
|
|
1019
1019
|
end
|
|
1020
1020
|
|
|
1021
|
+
#
|
|
1022
|
+
# routingAppCoverages
|
|
1023
|
+
#
|
|
1024
|
+
|
|
1025
|
+
def get_routing_app_coverage(app_store_version_id: nil)
|
|
1026
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
|
1027
|
+
tunes_request_client.get("#{Version::V1}/appStoreVersions/#{app_store_version_id}/routingAppCoverage", params)
|
|
1028
|
+
end
|
|
1029
|
+
|
|
1030
|
+
def post_routing_app_coverage(app_store_version_id: nil, attributes: {})
|
|
1031
|
+
body = {
|
|
1032
|
+
data: {
|
|
1033
|
+
type: "routingAppCoverages",
|
|
1034
|
+
attributes: attributes,
|
|
1035
|
+
relationships: {
|
|
1036
|
+
appStoreVersion: {
|
|
1037
|
+
data: {
|
|
1038
|
+
type: "appStoreVersions",
|
|
1039
|
+
id: app_store_version_id
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
tunes_request_client.post("#{Version::V1}/routingAppCoverages", body)
|
|
1047
|
+
end
|
|
1048
|
+
|
|
1049
|
+
def patch_routing_app_coverage(routing_app_coverage_id: nil, attributes: {})
|
|
1050
|
+
body = {
|
|
1051
|
+
data: {
|
|
1052
|
+
type: "routingAppCoverages",
|
|
1053
|
+
id: routing_app_coverage_id,
|
|
1054
|
+
attributes: attributes
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
tunes_request_client.patch("#{Version::V1}/routingAppCoverages/#{routing_app_coverage_id}", body)
|
|
1059
|
+
end
|
|
1060
|
+
|
|
1061
|
+
def delete_routing_app_coverage(routing_app_coverage_id: nil)
|
|
1062
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
|
1063
|
+
tunes_request_client.delete("#{Version::V1}/routingAppCoverages/#{routing_app_coverage_id}", params)
|
|
1064
|
+
end
|
|
1065
|
+
|
|
1021
1066
|
#
|
|
1022
1067
|
# appStoreVersionSubmissions
|
|
1023
1068
|
#
|
|
@@ -66,6 +66,7 @@ require 'spaceship/connect_api/models/app_price_tier'
|
|
|
66
66
|
require 'spaceship/connect_api/models/app_store_review_attachment'
|
|
67
67
|
require 'spaceship/connect_api/models/app_store_review_detail'
|
|
68
68
|
require 'spaceship/connect_api/models/app_store_version_release_request'
|
|
69
|
+
require 'spaceship/connect_api/models/routing_app_coverage'
|
|
69
70
|
require 'spaceship/connect_api/models/app_store_version_submission'
|
|
70
71
|
require 'spaceship/connect_api/models/app_screenshot_set'
|
|
71
72
|
require 'spaceship/connect_api/models/app_screenshot'
|
data/supply/lib/supply/client.rb
CHANGED
|
@@ -535,6 +535,12 @@ module Supply
|
|
|
535
535
|
result&.releases || []
|
|
536
536
|
end
|
|
537
537
|
|
|
538
|
+
def list_track_release_summaries(package_name, track)
|
|
539
|
+
call_google_api do
|
|
540
|
+
client.list_application_track_releases("applications/#{package_name}/tracks/#{track}")
|
|
541
|
+
end.releases || []
|
|
542
|
+
end
|
|
543
|
+
|
|
538
544
|
def upload_changelogs(track, track_name)
|
|
539
545
|
ensure_active_edit!
|
|
540
546
|
|
data/supply/lib/supply/reader.rb
CHANGED
|
@@ -48,6 +48,21 @@ module Supply
|
|
|
48
48
|
release_names
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
+
def track_release_summaries
|
|
52
|
+
package_name = Supply.config[:package_name]
|
|
53
|
+
track = Supply.config[:track]
|
|
54
|
+
|
|
55
|
+
summaries = client.list_track_release_summaries(package_name, track)
|
|
56
|
+
|
|
57
|
+
if summaries.empty?
|
|
58
|
+
UI.important("No releases found in track '#{track}'")
|
|
59
|
+
else
|
|
60
|
+
UI.success("Found #{summaries.length} release(s) in track '#{track}'")
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
summaries
|
|
64
|
+
end
|
|
65
|
+
|
|
51
66
|
private
|
|
52
67
|
|
|
53
68
|
def client
|
metadata
CHANGED
|
@@ -1,40 +1,39 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.239.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Łukasz Grabowski
|
|
8
|
+
- Maksym Grebenets
|
|
8
9
|
- Jérôme Lacoste
|
|
9
|
-
-
|
|
10
|
-
- Joshua Liebowitz
|
|
10
|
+
- Stefan Natchev
|
|
11
11
|
- Roger Oba
|
|
12
|
-
- Olivier Halligon
|
|
13
|
-
- Helmut Januschka
|
|
14
|
-
- Connor Tumbleson
|
|
15
|
-
- Josh Holtz
|
|
16
|
-
- Max Ott
|
|
17
|
-
- Satoshi Namai
|
|
18
|
-
- Jorge Revuelta H
|
|
19
12
|
- Aaron Brager
|
|
20
13
|
- Luka Mirosevic
|
|
14
|
+
- Joshua Liebowitz
|
|
15
|
+
- Manu Wallner
|
|
16
|
+
- Olivier Halligon
|
|
17
|
+
- Felix Krause
|
|
18
|
+
- Daniel Jankowski
|
|
19
|
+
- Jorge Revuelta H
|
|
20
|
+
- Satoshi Namai
|
|
21
21
|
- Kohki Miki
|
|
22
|
-
- Stefan Natchev
|
|
23
|
-
- Andrew McBurney
|
|
24
22
|
- Fumiya Nakamura
|
|
25
|
-
-
|
|
23
|
+
- Max Ott
|
|
24
|
+
- Connor Tumbleson
|
|
26
25
|
- Danielle Tomlinson
|
|
27
|
-
-
|
|
28
|
-
- Daniel Jankowski
|
|
29
|
-
- Jan Piotrowski
|
|
30
|
-
- Matthew Ellis
|
|
26
|
+
- Iulian Onofrei
|
|
31
27
|
- Jimmy Dee
|
|
32
|
-
-
|
|
28
|
+
- Jan Piotrowski
|
|
33
29
|
- Manish Rathi
|
|
34
|
-
|
|
30
|
+
- Josh Holtz
|
|
31
|
+
- Andrew McBurney
|
|
32
|
+
- Helmut Januschka
|
|
33
|
+
- Matthew Ellis
|
|
35
34
|
bindir: bin
|
|
36
35
|
cert_chain: []
|
|
37
|
-
date:
|
|
36
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
38
37
|
dependencies:
|
|
39
38
|
- !ruby/object:Gem::Dependency
|
|
40
39
|
name: addressable
|
|
@@ -362,14 +361,14 @@ dependencies:
|
|
|
362
361
|
requirements:
|
|
363
362
|
- - "~>"
|
|
364
363
|
- !ruby/object:Gem::Version
|
|
365
|
-
version:
|
|
364
|
+
version: 0.99.0
|
|
366
365
|
type: :runtime
|
|
367
366
|
prerelease: false
|
|
368
367
|
version_requirements: !ruby/object:Gem::Requirement
|
|
369
368
|
requirements:
|
|
370
369
|
- - "~>"
|
|
371
370
|
- !ruby/object:Gem::Version
|
|
372
|
-
version:
|
|
371
|
+
version: 0.99.0
|
|
373
372
|
- !ruby/object:Gem::Dependency
|
|
374
373
|
name: google-apis-playcustomapp_v1
|
|
375
374
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -393,7 +392,7 @@ dependencies:
|
|
|
393
392
|
version: 1.6.0
|
|
394
393
|
- - "<"
|
|
395
394
|
- !ruby/object:Gem::Version
|
|
396
|
-
version: 2.
|
|
395
|
+
version: 2.4.0
|
|
397
396
|
type: :runtime
|
|
398
397
|
prerelease: false
|
|
399
398
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -403,7 +402,7 @@ dependencies:
|
|
|
403
402
|
version: 1.6.0
|
|
404
403
|
- - "<"
|
|
405
404
|
- !ruby/object:Gem::Version
|
|
406
|
-
version: 2.
|
|
405
|
+
version: 2.4.0
|
|
407
406
|
- !ruby/object:Gem::Dependency
|
|
408
407
|
name: google-cloud-storage
|
|
409
408
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -432,20 +431,6 @@ dependencies:
|
|
|
432
431
|
- - "~>"
|
|
433
432
|
- !ruby/object:Gem::Version
|
|
434
433
|
version: '2.0'
|
|
435
|
-
- !ruby/object:Gem::Dependency
|
|
436
|
-
name: http-cookie
|
|
437
|
-
requirement: !ruby/object:Gem::Requirement
|
|
438
|
-
requirements:
|
|
439
|
-
- - "~>"
|
|
440
|
-
- !ruby/object:Gem::Version
|
|
441
|
-
version: 1.0.5
|
|
442
|
-
type: :runtime
|
|
443
|
-
prerelease: false
|
|
444
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
445
|
-
requirements:
|
|
446
|
-
- - "~>"
|
|
447
|
-
- !ruby/object:Gem::Version
|
|
448
|
-
version: 1.0.5
|
|
449
434
|
- !ruby/object:Gem::Dependency
|
|
450
435
|
name: json
|
|
451
436
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1711,6 +1696,7 @@ files:
|
|
|
1711
1696
|
- spaceship/lib/spaceship/connect_api/models/review_rejection.rb
|
|
1712
1697
|
- spaceship/lib/spaceship/connect_api/models/review_submission.rb
|
|
1713
1698
|
- spaceship/lib/spaceship/connect_api/models/review_submission_item.rb
|
|
1699
|
+
- spaceship/lib/spaceship/connect_api/models/routing_app_coverage.rb
|
|
1714
1700
|
- spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb
|
|
1715
1701
|
- spaceship/lib/spaceship/connect_api/models/territory.rb
|
|
1716
1702
|
- spaceship/lib/spaceship/connect_api/models/territory_availability.rb
|
|
@@ -1871,7 +1857,6 @@ metadata:
|
|
|
1871
1857
|
documentation_uri: https://docs.fastlane.tools/
|
|
1872
1858
|
homepage_uri: https://fastlane.tools
|
|
1873
1859
|
source_code_uri: https://github.com/fastlane/fastlane
|
|
1874
|
-
post_install_message:
|
|
1875
1860
|
rdoc_options: []
|
|
1876
1861
|
require_paths:
|
|
1877
1862
|
- cert/lib
|
|
@@ -1897,15 +1882,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1897
1882
|
requirements:
|
|
1898
1883
|
- - ">="
|
|
1899
1884
|
- !ruby/object:Gem::Version
|
|
1900
|
-
version: '3.
|
|
1885
|
+
version: '3.1'
|
|
1901
1886
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1902
1887
|
requirements:
|
|
1903
1888
|
- - ">="
|
|
1904
1889
|
- !ruby/object:Gem::Version
|
|
1905
1890
|
version: '0'
|
|
1906
1891
|
requirements: []
|
|
1907
|
-
rubygems_version: 3.
|
|
1908
|
-
signing_key:
|
|
1892
|
+
rubygems_version: 3.6.9
|
|
1909
1893
|
specification_version: 4
|
|
1910
1894
|
summary: The easiest way to build and release mobile apps.
|
|
1911
1895
|
test_files: []
|