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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 067f3b06cb1a331d6f12dca4e9f8be0b02f8a4888547aa6b235b8f1b87f26197
4
- data.tar.gz: 07ab0f2b6b729fe4e2bb7b3956ed67ee63ba2c59f4db9f435b3e0237a47fdeb0
3
+ metadata.gz: ef2e5e335b687cb26aefd6de7ba0163df2d1241d544e88d59acf3a7e26ba8bb5
4
+ data.tar.gz: 9ea013ec7d7cd8abed37a5db7f58060efc3af6045c21422b499e960396a427a2
5
5
  SHA512:
6
- metadata.gz: 164e7eb99a8fc9f1ba227be7683236995047adb066c4e21da3c70827917d800ab84d6508001a0d06e995610e12760e73930626638cce019dfd19a2ea92ed676a
7
- data.tar.gz: 043e6a93d677bdc70e94563594f6703feeca2f9790823f1a63327100e99ca20c19dc5e111a0d7545658bfc626086d61cf8c66c446f58d4bd950ef9b1c5e7b963
6
+ metadata.gz: 32c0dced84c03b383c7c2ba05c282789d6bff6ad9dbe270b42fabd0852ea22d023dc3837345825644866a0f139af71aa07fee73c8af504afe3d6e375ffbdbf76
7
+ data.tar.gz: 92dce851350eb57e2b7ef319945ed038e9568e89a43fd3d58271af6ed75e7fc4f2279765daade7db3840d4b313cdae4f4867a9e8ca82f15ac78e07c628fc8d30
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- danger-spm_version_updates (0.0.1)
4
+ danger-spm_version_updates (0.0.4)
5
5
  danger-plugin-api (~> 1.0)
6
6
  semantic (~> 1.6)
7
+ xcodeproj (~> 1.23)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
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 configure the path to your Xcode project.
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.xcodeproj_path = ".../Example.xcodeproj"
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")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SpmVersionUpdates
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.4"
5
5
  end
@@ -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
- # my_plugin.warn_on_mondays
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 version above the maximum version range, default true
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
- # @return [Array<String>]
33
- def check_for_updates
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 != nil && ignore_repos.include?(repository_url)
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}: #{available_versions.first} (but this package is set to exact version #{resolved_version})
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
- def find_packages_resolved
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.send(major_or_minor) == resolved_version.send(major_or_minor)
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
- monday_date = Date.parse("2016-07-11")
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.xcodeproj_path = "#{File.dirname(__FILE__)}/support/fixtures/Example.xcodeproj"
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
- # allow(@my_plugin).to receive(:git_versions).and_return false
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.14.2 (but this package is set to exact version 8.12.0)\n",
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.2
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-06 00:00:00.000000000 Z
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: '0'
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