danger-spm_version_updates 0.0.2 → 0.0.4
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/Gemfile.lock +2 -1
- data/README.md +2 -3
- data/danger-spm_version_updates.gemspec +2 -0
- data/lib/spm_version_updates/gem_version.rb +1 -1
- data/lib/spm_version_updates/plugin.rb +30 -15
- data/spec/spm_version_updates_spec.rb +36 -13
- data/spec/support/fixtures/HasPreRelease.xcodeproj/project.pbxproj +80 -0
- data/spec/support/fixtures/HasPreRelease.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +265 -0
- metadata +21 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef2e5e335b687cb26aefd6de7ba0163df2d1241d544e88d59acf3a7e26ba8bb5
|
4
|
+
data.tar.gz: 9ea013ec7d7cd8abed37a5db7f58060efc3af6045c21422b499e960396a427a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32c0dced84c03b383c7c2ba05c282789d6bff6ad9dbe270b42fabd0852ea22d023dc3837345825644866a0f139af71aa07fee73c8af504afe3d6e375ffbdbf76
|
7
|
+
data.tar.gz: 92dce851350eb57e2b7ef319945ed038e9568e89a43fd3d58271af6ed75e7fc4f2279765daade7db3840d4b313cdae4f4867a9e8ca82f15ac78e07c628fc8d30
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -23,11 +23,10 @@ gem "danger-spm_version_updates"
|
|
23
23
|
|
24
24
|
## Usage
|
25
25
|
|
26
|
-
Just add this to your Dangerfile! Note that it is required to
|
26
|
+
Just add this to your Dangerfile! Note that it is required to pass the path to your Xcode project.
|
27
27
|
|
28
28
|
```ruby
|
29
|
-
spm_version_updates.
|
30
|
-
spm_version_updates.check_for_updates
|
29
|
+
spm_version_updates.check_for_updates("Example.xcodeproj")
|
31
30
|
```
|
32
31
|
|
33
32
|
You can also configure custom behaviors:
|
@@ -13,6 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.summary = "A Danger plugin to detect if there are any updates to your Swift Package Manager dependencies."
|
14
14
|
spec.homepage = "https://github.com/hbmartin/danger-spm_version_updates"
|
15
15
|
spec.license = "MIT"
|
16
|
+
spec.required_ruby_version = ">= 2.7"
|
16
17
|
|
17
18
|
spec.files = `git ls-files`.split($/)
|
18
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -21,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
21
22
|
|
22
23
|
spec.add_runtime_dependency("danger-plugin-api", "~> 1.0")
|
23
24
|
spec.add_runtime_dependency("semantic", "~> 1.6")
|
25
|
+
spec.add_runtime_dependency("xcodeproj", "~> 1.23")
|
24
26
|
|
25
27
|
# General ruby development
|
26
28
|
spec.add_development_dependency("bundler", "~> 2.0")
|
@@ -4,46 +4,50 @@ require "semantic"
|
|
4
4
|
require "xcodeproj"
|
5
5
|
|
6
6
|
module Danger
|
7
|
+
# A plugin for checking if there are versions upgrades available for SPM packages
|
8
|
+
#
|
7
9
|
# @example Ensure people are well warned about merging on Mondays
|
8
10
|
#
|
9
|
-
#
|
11
|
+
# spm_version_updates.check_for_updates("MyApp.xcodeproj")
|
10
12
|
#
|
11
13
|
# @see Harold Martin/danger-spm_version_updates
|
12
14
|
# @tags swift, spm, swift package manager, xcode, xcodeproj, version, updates
|
13
15
|
#
|
14
16
|
class DangerSpmVersionUpdates < Plugin
|
15
|
-
# The path to the xcodeproj file
|
16
|
-
# @return [String]
|
17
|
-
attr_accessor :xcodeproj_path
|
18
|
-
|
19
17
|
# Whether to check when dependencies are exact versions or commits, default false
|
20
18
|
# @return [Boolean]
|
21
19
|
attr_accessor :check_when_exact
|
22
20
|
|
23
|
-
# Whether to ignore
|
21
|
+
# Whether to ignore versions above the maximum version range, default true
|
24
22
|
# @return [Boolean]
|
25
23
|
attr_accessor :quiet_above_maximum
|
26
24
|
|
25
|
+
# Whether to report pre-release versions, default false
|
26
|
+
# @return [Boolean]
|
27
|
+
attr_accessor :report_pre_releases
|
28
|
+
|
27
29
|
# A list of repositories to ignore entirely, must exactly match the URL as configured in the Xcode project
|
28
30
|
# @return [Array<String>]
|
29
31
|
attr_accessor :ignore_repos
|
30
32
|
|
31
33
|
# A method that you can call from your Dangerfile
|
32
|
-
# @
|
33
|
-
|
34
|
+
# @param [String] xcodeproj_path
|
35
|
+
# The path to your Xcode project
|
36
|
+
# @return [void]
|
37
|
+
def check_for_updates(xcodeproj_path)
|
34
38
|
raise(XcodeprojPathMustBeSet) if xcodeproj_path.nil?
|
35
39
|
|
36
40
|
project = Xcodeproj::Project.open(xcodeproj_path)
|
37
41
|
remote_packages = filter_remote_packages(project)
|
38
42
|
|
39
|
-
resolved_path = find_packages_resolved
|
43
|
+
resolved_path = find_packages_resolved(xcodeproj_path)
|
40
44
|
raise(CouldNotFindResolvedFile) unless File.exist?(resolved_path)
|
41
45
|
|
42
46
|
resolved_versions = JSON.load_file!(resolved_path)["pins"]
|
43
47
|
.to_h { |pin| [pin["location"], pin["state"]["version"] || pin["state"]["revision"]] }
|
44
48
|
|
45
49
|
remote_packages.each { |repository_url, requirement|
|
46
|
-
next if ignore_repos
|
50
|
+
next if ignore_repos&.include?(repository_url)
|
47
51
|
|
48
52
|
name = repo_name(repository_url)
|
49
53
|
resolved_version = resolved_versions[repository_url]
|
@@ -61,11 +65,14 @@ module Danger
|
|
61
65
|
next if available_versions.first.to_s == resolved_version
|
62
66
|
|
63
67
|
if kind == "exactVersion" && @check_when_exact
|
68
|
+
newestVersion = available_versions.find { |version|
|
69
|
+
report_pre_releases ? true : version.pre.nil?
|
70
|
+
}
|
64
71
|
warn(
|
65
72
|
<<-TEXT
|
66
|
-
Newer version of #{name}: #{
|
73
|
+
Newer version of #{name}: #{newestVersion} (but this package is set to exact version #{resolved_version})
|
67
74
|
TEXT
|
68
|
-
)
|
75
|
+
) unless newestVersion.to_s == resolved_version
|
69
76
|
elsif kind == "upToNextMajorVersion"
|
70
77
|
warn_for_new_versions(:major, available_versions, name, resolved_version)
|
71
78
|
elsif kind == "upToNextMinorVersion"
|
@@ -76,6 +83,8 @@ Newer version of #{name}: #{available_versions.first} (but this package is set t
|
|
76
83
|
}
|
77
84
|
end
|
78
85
|
|
86
|
+
# Extract a readable name for the repo given the url, generally org/repo
|
87
|
+
# @return [String]
|
79
88
|
def repo_name(repo_url)
|
80
89
|
match = repo_url.match(%r{([\w-]+/[\w-]+)(.git)?$})
|
81
90
|
|
@@ -86,6 +95,8 @@ Newer version of #{name}: #{available_versions.first} (but this package is set t
|
|
86
95
|
end
|
87
96
|
end
|
88
97
|
|
98
|
+
# Find the configured SPM dependencies in the xcodeproj
|
99
|
+
# @return [Hash<String, Hash>]
|
89
100
|
def filter_remote_packages(project)
|
90
101
|
project.objects.select { |obj|
|
91
102
|
obj.kind_of?(Xcodeproj::Project::Object::XCRemoteSwiftPackageReference) &&
|
@@ -94,7 +105,9 @@ Newer version of #{name}: #{available_versions.first} (but this package is set t
|
|
94
105
|
.to_h { |package| [package.repositoryURL, package.requirement] }
|
95
106
|
end
|
96
107
|
|
97
|
-
|
108
|
+
# Find the Packages.resolved file
|
109
|
+
# @return [String]
|
110
|
+
def find_packages_resolved(xcodeproj_path)
|
98
111
|
if Dir.exist?(xcodeproj_path.sub("xcodeproj", "xcworkspace"))
|
99
112
|
File.join(xcodeproj_path.sub("xcodeproj", "xcworkspace"), "xcshareddata", "swiftpm", "Package.resolved")
|
100
113
|
else
|
@@ -110,7 +123,7 @@ Newer version of #{name}: #{available_versions.first} (but this package is set t
|
|
110
123
|
warn("Newer version of #{name}: #{available_versions.first}")
|
111
124
|
else
|
112
125
|
newest_meeting_reqs = available_versions.find { |version|
|
113
|
-
version < max_version
|
126
|
+
version < max_version && report_pre_releases ? true : version.pre.nil?
|
114
127
|
}
|
115
128
|
warn("Newer version of #{name}: #{newest_meeting_reqs} ") unless newest_meeting_reqs.to_s == resolved_version
|
116
129
|
warn(
|
@@ -127,7 +140,9 @@ Newest version of #{name}: #{available_versions.first} (but this package is conf
|
|
127
140
|
warn("Newer version of #{name}: #{available_versions.first}")
|
128
141
|
else
|
129
142
|
newest_meeting_reqs = available_versions.find { |version|
|
130
|
-
version
|
143
|
+
puts version
|
144
|
+
puts version.pre.nil?
|
145
|
+
version.send(major_or_minor) == resolved_version.send(major_or_minor) && report_pre_releases ? true : version.pre.nil?
|
131
146
|
}
|
132
147
|
warn("Newer version of #{name}: #{newest_meeting_reqs}") unless newest_meeting_reqs == resolved_version
|
133
148
|
warn(
|
@@ -22,39 +22,62 @@ module Danger
|
|
22
22
|
allow(@my_plugin.github).to receive(:pr_json).and_return(json)
|
23
23
|
end
|
24
24
|
|
25
|
-
it "raises error if xcodeproj_path is not set" do
|
26
|
-
expect { @my_plugin.check_for_updates }
|
27
|
-
.to raise_error(Danger::XcodeprojPathMustBeSet)
|
28
|
-
end
|
29
|
-
|
30
25
|
it "Reports none without exact version matching" do
|
31
|
-
|
32
|
-
allow(Date).to receive(:today).and_return monday_date
|
26
|
+
allow(@my_plugin).to receive(:git_versions).and_return false
|
33
27
|
|
34
|
-
@my_plugin.
|
35
|
-
@my_plugin.check_for_updates
|
28
|
+
@my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/Example.xcodeproj")
|
36
29
|
|
37
30
|
expect(@dangerfile.status_report[:warnings]).to eq([])
|
38
31
|
end
|
39
32
|
|
40
33
|
it "Reports some with exact version matching" do
|
41
34
|
# TODO: mock git calls
|
42
|
-
|
35
|
+
allow(@my_plugin).to receive(:git_versions).and_return false
|
43
36
|
|
44
|
-
@my_plugin.xcodeproj_path = "#{File.dirname(__FILE__)}/support/fixtures/Example.xcodeproj"
|
45
37
|
@my_plugin.check_when_exact = true
|
46
|
-
@my_plugin.check_for_updates
|
38
|
+
@my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/Example.xcodeproj")
|
47
39
|
|
48
40
|
expect(@dangerfile.status_report[:warnings]).to eq(
|
49
41
|
[
|
50
42
|
"Newer version of pointfreeco/swift-snapshot-testing: 1.14.2 (but this package is set to exact version 1.13.0)\n",
|
51
43
|
"Newer version of kean/Nuke: 12.2.0-beta.2 (but this package is set to exact version 12.1.6)\n",
|
52
44
|
"Newer version of pointfreeco/swiftui-navigation: 1.0.3 (but this package is set to exact version 1.0.2)\n",
|
53
|
-
"Newer version of getsentry/sentry-cocoa: 8.
|
45
|
+
"Newer version of getsentry/sentry-cocoa: 8.15.0 (but this package is set to exact version 8.12.0)\n",
|
54
46
|
"Newer version of firebase/firebase-ios-sdk: 10.17.0 (but this package is set to exact version 10.15.0)\n",
|
55
47
|
]
|
56
48
|
)
|
57
49
|
end
|
50
|
+
|
51
|
+
it "Does not report pre-release versions by default" do
|
52
|
+
allow(@my_plugin).to receive(:git_versions).and_return [
|
53
|
+
Semantic::Version.new("12.0.0"),
|
54
|
+
Semantic::Version.new("12.0.0-beta.1"),
|
55
|
+
Semantic::Version.new("12.0.0-beta.2"),
|
56
|
+
Semantic::Version.new("12.0.0-beta.3"),
|
57
|
+
Semantic::Version.new("12.0.0-beta.4"),
|
58
|
+
Semantic::Version.new("12.0.0-beta.5"),
|
59
|
+
Semantic::Version.new("12.0.0-rc.1"),
|
60
|
+
Semantic::Version.new("12.1.0"),
|
61
|
+
Semantic::Version.new("12.1.1"),
|
62
|
+
Semantic::Version.new("12.1.2"),
|
63
|
+
Semantic::Version.new("12.1.3"),
|
64
|
+
Semantic::Version.new("12.1.4"),
|
65
|
+
Semantic::Version.new("12.1.5"),
|
66
|
+
Semantic::Version.new("12.1.6"),
|
67
|
+
Semantic::Version.new("12.2.0-beta.1"),
|
68
|
+
Semantic::Version.new("12.2.0-beta.2"),
|
69
|
+
]
|
70
|
+
.sort
|
71
|
+
.reverse
|
72
|
+
@my_plugin.check_when_exact = true
|
73
|
+
@my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/HasPreRelease.xcodeproj")
|
74
|
+
|
75
|
+
expect(@dangerfile.status_report[:warnings]).to eq(
|
76
|
+
[
|
77
|
+
"Newer version of kean/Nuke: 12.2.0-beta.2 (but this package is set to exact version 12.1.6)\n",
|
78
|
+
]
|
79
|
+
)
|
80
|
+
end
|
58
81
|
end
|
59
82
|
end
|
60
83
|
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
// !$*UTF8*$!
|
2
|
+
{
|
3
|
+
archiveVersion = 1;
|
4
|
+
classes = {
|
5
|
+
};
|
6
|
+
objectVersion = 54;
|
7
|
+
objects = {
|
8
|
+
/* Begin PBXGroup section */
|
9
|
+
F1465EF423AA94BF0055F7C3 = {
|
10
|
+
isa = PBXGroup;
|
11
|
+
children = (
|
12
|
+
F1465EFF23AA94BF0055F7C3 /* Demo */,
|
13
|
+
);
|
14
|
+
sourceTree = "<group>";
|
15
|
+
};
|
16
|
+
F1465EFF23AA94BF0055F7C3 /* Demo */ = {
|
17
|
+
isa = PBXGroup;
|
18
|
+
children = ();
|
19
|
+
path = Demo;
|
20
|
+
sourceTree = "<group>";
|
21
|
+
};
|
22
|
+
/* End PBXGroup section */
|
23
|
+
|
24
|
+
/* Begin PBXProject section */
|
25
|
+
F1465EF523AA94BF0055F7C3 /* Project object */ = {
|
26
|
+
isa = PBXProject;
|
27
|
+
attributes = {
|
28
|
+
BuildIndependentTargetsInParallel = YES;
|
29
|
+
LastSwiftUpdateCheck = 1420;
|
30
|
+
LastUpgradeCheck = 1420;
|
31
|
+
TargetAttributes = {
|
32
|
+
F1465EFC23AA94BF0055F7C3 = {
|
33
|
+
CreatedOnToolsVersion = 11.2.1;
|
34
|
+
};
|
35
|
+
};
|
36
|
+
};
|
37
|
+
buildConfigurationList = F1465EF823AA94BF0055F7C3 /* Build configuration list for PBXProject "Demo" */;
|
38
|
+
compatibilityVersion = "Xcode 9.3";
|
39
|
+
developmentRegion = en;
|
40
|
+
hasScannedForEncodings = 0;
|
41
|
+
knownRegions = (
|
42
|
+
en,
|
43
|
+
Base,
|
44
|
+
es,
|
45
|
+
"zh-Hans",
|
46
|
+
fr,
|
47
|
+
);
|
48
|
+
mainGroup = F1465EF423AA94BF0055F7C3;
|
49
|
+
packageReferences = (
|
50
|
+
11BBD37629C1571400F7A968 /* XCRemoteSwiftPackageReference "Nuke" */,
|
51
|
+
);
|
52
|
+
productRefGroup = F1465EFE23AA94BF0055F7C3 /* Products */;
|
53
|
+
projectDirPath = "";
|
54
|
+
projectRoot = "";
|
55
|
+
targets = ();
|
56
|
+
};
|
57
|
+
/* End PBXProject section */
|
58
|
+
|
59
|
+
/* Begin XCConfigurationList section */
|
60
|
+
F1465EF823AA94BF0055F7C3 /* Build configuration list for PBXNativeTarget "Demo" */ = {
|
61
|
+
isa = XCConfigurationList;
|
62
|
+
buildConfigurations = ();
|
63
|
+
defaultConfigurationIsVisible = 0;
|
64
|
+
defaultConfigurationName = Release;
|
65
|
+
};
|
66
|
+
/* End XCConfigurationList section */
|
67
|
+
|
68
|
+
/* Begin XCRemoteSwiftPackageReference section */
|
69
|
+
11BBD37629C1571400F7A968 /* XCRemoteSwiftPackageReference "Nuke" */ = {
|
70
|
+
isa = XCRemoteSwiftPackageReference;
|
71
|
+
repositoryURL = "https://github.com/kean/Nuke";
|
72
|
+
requirement = {
|
73
|
+
kind = exactVersion;
|
74
|
+
version = 12.1.6;
|
75
|
+
};
|
76
|
+
};
|
77
|
+
/* End XCRemoteSwiftPackageReference section */
|
78
|
+
};
|
79
|
+
rootObject = F1465EF523AA94BF0055F7C3 /* Project object */;
|
80
|
+
}
|
@@ -0,0 +1,265 @@
|
|
1
|
+
{
|
2
|
+
"pins" : [
|
3
|
+
{
|
4
|
+
"identity" : "abseil-cpp-binary",
|
5
|
+
"kind" : "remoteSourceControl",
|
6
|
+
"location" : "https://github.com/google/abseil-cpp-binary.git",
|
7
|
+
"state" : {
|
8
|
+
"revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c",
|
9
|
+
"version" : "1.2022062300.0"
|
10
|
+
}
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"identity" : "analytics-swift",
|
14
|
+
"kind" : "remoteSourceControl",
|
15
|
+
"location" : "git@github.com:hbmartin/analytics-swift.git",
|
16
|
+
"state" : {
|
17
|
+
"branch" : "main",
|
18
|
+
"revision" : "81ed4a83fc87ef074bb71b2b0bced199811dc3bb"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"identity" : "firebase-ios-sdk",
|
23
|
+
"kind" : "remoteSourceControl",
|
24
|
+
"location" : "https://github.com/firebase/firebase-ios-sdk",
|
25
|
+
"state" : {
|
26
|
+
"revision" : "8a8ec57a272e0d31480fb0893dda0cf4f769b57e",
|
27
|
+
"version" : "10.15.0"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"identity" : "googleappmeasurement",
|
32
|
+
"kind" : "remoteSourceControl",
|
33
|
+
"location" : "https://github.com/google/GoogleAppMeasurement.git",
|
34
|
+
"state" : {
|
35
|
+
"revision" : "03b9beee1a61f62d32c521e172e192a1663a5e8b",
|
36
|
+
"version" : "10.13.0"
|
37
|
+
}
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"identity" : "googledatatransport",
|
41
|
+
"kind" : "remoteSourceControl",
|
42
|
+
"location" : "https://github.com/google/GoogleDataTransport.git",
|
43
|
+
"state" : {
|
44
|
+
"revision" : "aae45a320fd0d11811820335b1eabc8753902a40",
|
45
|
+
"version" : "9.2.5"
|
46
|
+
}
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"identity" : "googleutilities",
|
50
|
+
"kind" : "remoteSourceControl",
|
51
|
+
"location" : "https://github.com/google/GoogleUtilities.git",
|
52
|
+
"state" : {
|
53
|
+
"revision" : "c38ce365d77b04a9a300c31061c5227589e5597b",
|
54
|
+
"version" : "7.11.5"
|
55
|
+
}
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"identity" : "grpc-binary",
|
59
|
+
"kind" : "remoteSourceControl",
|
60
|
+
"location" : "https://github.com/google/grpc-binary.git",
|
61
|
+
"state" : {
|
62
|
+
"revision" : "f1b366129d1125be7db83247e003fc333104b569",
|
63
|
+
"version" : "1.50.2"
|
64
|
+
}
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"identity" : "gtm-session-fetcher",
|
68
|
+
"kind" : "remoteSourceControl",
|
69
|
+
"location" : "https://github.com/google/gtm-session-fetcher.git",
|
70
|
+
"state" : {
|
71
|
+
"revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd",
|
72
|
+
"version" : "3.1.1"
|
73
|
+
}
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"identity" : "interop-ios-for-google-sdks",
|
77
|
+
"kind" : "remoteSourceControl",
|
78
|
+
"location" : "https://github.com/google/interop-ios-for-google-sdks.git",
|
79
|
+
"state" : {
|
80
|
+
"revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
|
81
|
+
"version" : "100.0.0"
|
82
|
+
}
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"identity" : "leveldb",
|
86
|
+
"kind" : "remoteSourceControl",
|
87
|
+
"location" : "https://github.com/firebase/leveldb.git",
|
88
|
+
"state" : {
|
89
|
+
"revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b",
|
90
|
+
"version" : "1.22.2"
|
91
|
+
}
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"identity" : "lookingglassui",
|
95
|
+
"kind" : "remoteSourceControl",
|
96
|
+
"location" : "https://github.com/ryanlintott/LookingGlassUI",
|
97
|
+
"state" : {
|
98
|
+
"revision" : "3257e1b5392a8b39e4620e09cfdb672d2be42855",
|
99
|
+
"version" : "0.3.1"
|
100
|
+
}
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"identity" : "maplibre-gl-native-distribution",
|
104
|
+
"kind" : "remoteSourceControl",
|
105
|
+
"location" : "https://github.com/maplibre/maplibre-gl-native-distribution",
|
106
|
+
"state" : {
|
107
|
+
"revision" : "ffda61e298c1490d4860d5184e80d618aaadc089",
|
108
|
+
"version" : "5.13.0"
|
109
|
+
}
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"identity" : "nanopb",
|
113
|
+
"kind" : "remoteSourceControl",
|
114
|
+
"location" : "https://github.com/firebase/nanopb.git",
|
115
|
+
"state" : {
|
116
|
+
"revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692",
|
117
|
+
"version" : "2.30909.0"
|
118
|
+
}
|
119
|
+
},
|
120
|
+
{
|
121
|
+
"identity" : "nuke",
|
122
|
+
"kind" : "remoteSourceControl",
|
123
|
+
"location" : "https://github.com/kean/Nuke",
|
124
|
+
"state" : {
|
125
|
+
"revision" : "3f666f120b63ea7de57d42e9a7c9b47f8e7a290b",
|
126
|
+
"version" : "12.1.6"
|
127
|
+
}
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"identity" : "phonenumberkit",
|
131
|
+
"kind" : "remoteSourceControl",
|
132
|
+
"location" : "https://github.com/marmelroy/PhoneNumberKit.git",
|
133
|
+
"state" : {
|
134
|
+
"revision" : "b456f2f9be10c1d183158220b831afd22697dd68",
|
135
|
+
"version" : "3.7.4"
|
136
|
+
}
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"identity" : "promises",
|
140
|
+
"kind" : "remoteSourceControl",
|
141
|
+
"location" : "https://github.com/google/promises.git",
|
142
|
+
"state" : {
|
143
|
+
"revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e",
|
144
|
+
"version" : "2.3.1"
|
145
|
+
}
|
146
|
+
},
|
147
|
+
{
|
148
|
+
"identity" : "sentry-cocoa",
|
149
|
+
"kind" : "remoteSourceControl",
|
150
|
+
"location" : "https://github.com/getsentry/sentry-cocoa.git",
|
151
|
+
"state" : {
|
152
|
+
"revision" : "14aa6e47b03b820fd2b338728637570b9e969994",
|
153
|
+
"version" : "8.12.0"
|
154
|
+
}
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"identity" : "sovran-swift",
|
158
|
+
"kind" : "remoteSourceControl",
|
159
|
+
"location" : "https://github.com/segmentio/Sovran-Swift.git",
|
160
|
+
"state" : {
|
161
|
+
"revision" : "64f3b5150c282a34af4578188dce2fd597e600e3",
|
162
|
+
"version" : "1.1.0"
|
163
|
+
}
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"identity" : "swift-algorithms",
|
167
|
+
"kind" : "remoteSourceControl",
|
168
|
+
"location" : "https://github.com/apple/swift-algorithms.git",
|
169
|
+
"state" : {
|
170
|
+
"revision" : "bcd4f369ac962bc3e5244c9df778739f8f5bdbf1",
|
171
|
+
"version" : "1.1.0"
|
172
|
+
}
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"identity" : "swift-argument-parser",
|
176
|
+
"kind" : "remoteSourceControl",
|
177
|
+
"location" : "https://github.com/apple/swift-argument-parser.git",
|
178
|
+
"state" : {
|
179
|
+
"revision" : "8f4d2753f0e4778c76d5f05ad16c74f707390531",
|
180
|
+
"version" : "1.2.3"
|
181
|
+
}
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"identity" : "swift-asn1",
|
185
|
+
"kind" : "remoteSourceControl",
|
186
|
+
"location" : "https://github.com/apple/swift-asn1.git",
|
187
|
+
"state" : {
|
188
|
+
"revision" : "3664efa98bd302ec90e5b27ee1c0649fbcc365bc"
|
189
|
+
}
|
190
|
+
},
|
191
|
+
{
|
192
|
+
"identity" : "swift-case-paths",
|
193
|
+
"kind" : "remoteSourceControl",
|
194
|
+
"location" : "https://github.com/pointfreeco/swift-case-paths",
|
195
|
+
"state" : {
|
196
|
+
"revision" : "5da6989aae464f324eef5c5b52bdb7974725ab81",
|
197
|
+
"version" : "1.0.0"
|
198
|
+
}
|
199
|
+
},
|
200
|
+
{
|
201
|
+
"identity" : "swift-custom-dump",
|
202
|
+
"kind" : "remoteSourceControl",
|
203
|
+
"location" : "https://github.com/pointfreeco/swift-custom-dump",
|
204
|
+
"state" : {
|
205
|
+
"revision" : "3efbfba0e4e56c7187cc19137ee16b7c95346b79",
|
206
|
+
"version" : "1.1.0"
|
207
|
+
}
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"identity" : "swift-numerics",
|
211
|
+
"kind" : "remoteSourceControl",
|
212
|
+
"location" : "https://github.com/apple/swift-numerics.git",
|
213
|
+
"state" : {
|
214
|
+
"revision" : "0a5bc04095a675662cf24757cc0640aa2204253b",
|
215
|
+
"version" : "1.0.2"
|
216
|
+
}
|
217
|
+
},
|
218
|
+
{
|
219
|
+
"identity" : "swift-protobuf",
|
220
|
+
"kind" : "remoteSourceControl",
|
221
|
+
"location" : "https://github.com/apple/swift-protobuf.git",
|
222
|
+
"state" : {
|
223
|
+
"revision" : "cf62cdaea48b77f1a631e5cb3aeda6047c2cba1d",
|
224
|
+
"version" : "1.23.0"
|
225
|
+
}
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"identity" : "swift-snapshot-testing",
|
229
|
+
"kind" : "remoteSourceControl",
|
230
|
+
"location" : "https://github.com/pointfreeco/swift-snapshot-testing",
|
231
|
+
"state" : {
|
232
|
+
"revision" : "696b86a6d151578bca7c1a2a3ed419a5f834d40f",
|
233
|
+
"version" : "1.13.0"
|
234
|
+
}
|
235
|
+
},
|
236
|
+
{
|
237
|
+
"identity" : "swift-syntax",
|
238
|
+
"kind" : "remoteSourceControl",
|
239
|
+
"location" : "https://github.com/apple/swift-syntax.git",
|
240
|
+
"state" : {
|
241
|
+
"revision" : "74203046135342e4a4a627476dd6caf8b28fe11b",
|
242
|
+
"version" : "509.0.0"
|
243
|
+
}
|
244
|
+
},
|
245
|
+
{
|
246
|
+
"identity" : "swiftui-navigation",
|
247
|
+
"kind" : "remoteSourceControl",
|
248
|
+
"location" : "https://github.com/pointfreeco/swiftui-navigation",
|
249
|
+
"state" : {
|
250
|
+
"revision" : "6eb293c49505d86e9e24232cb6af6be7fff93bd5",
|
251
|
+
"version" : "1.0.2"
|
252
|
+
}
|
253
|
+
},
|
254
|
+
{
|
255
|
+
"identity" : "xctest-dynamic-overlay",
|
256
|
+
"kind" : "remoteSourceControl",
|
257
|
+
"location" : "https://github.com/pointfreeco/xctest-dynamic-overlay",
|
258
|
+
"state" : {
|
259
|
+
"revision" : "23cbf2294e350076ea4dbd7d5d047c1e76b03631",
|
260
|
+
"version" : "1.0.2"
|
261
|
+
}
|
262
|
+
}
|
263
|
+
],
|
264
|
+
"version" : 2
|
265
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-spm_version_updates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harold Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: danger-plugin-api
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: xcodeproj
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.23'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.23'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,6 +248,8 @@ files:
|
|
234
248
|
- spec/spm_version_updates_spec.rb
|
235
249
|
- spec/support/fixtures/Example.xcodeproj/project.pbxproj
|
236
250
|
- spec/support/fixtures/Example.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
|
251
|
+
- spec/support/fixtures/HasPreRelease.xcodeproj/project.pbxproj
|
252
|
+
- spec/support/fixtures/HasPreRelease.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
|
237
253
|
- spec/support/fixtures/github_pr.json
|
238
254
|
homepage: https://github.com/hbmartin/danger-spm_version_updates
|
239
255
|
licenses:
|
@@ -247,7 +263,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
247
263
|
requirements:
|
248
264
|
- - ">="
|
249
265
|
- !ruby/object:Gem::Version
|
250
|
-
version: '
|
266
|
+
version: '2.7'
|
251
267
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
268
|
requirements:
|
253
269
|
- - ">="
|
@@ -264,4 +280,6 @@ test_files:
|
|
264
280
|
- spec/spm_version_updates_spec.rb
|
265
281
|
- spec/support/fixtures/Example.xcodeproj/project.pbxproj
|
266
282
|
- spec/support/fixtures/Example.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
|
283
|
+
- spec/support/fixtures/HasPreRelease.xcodeproj/project.pbxproj
|
284
|
+
- spec/support/fixtures/HasPreRelease.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
|
267
285
|
- spec/support/fixtures/github_pr.json
|