danger-spm_version_updates 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +1 -1
  4. data/danger-spm_version_updates.gemspec +1 -1
  5. data/lib/spm_version_updates/gem_version.rb +1 -1
  6. data/lib/spm_version_updates/git.rb +56 -0
  7. data/lib/spm_version_updates/plugin.rb +14 -102
  8. data/lib/spm_version_updates/xcode.rb +71 -0
  9. metadata +4 -29
  10. data/.editorconfig +0 -15
  11. data/.github/workflows/docs.yml +0 -43
  12. data/.github/workflows/lint_and_test.yml +0 -32
  13. data/.github/workflows/push_gem.yml +0 -26
  14. data/.github/workflows/readme.yml +0 -21
  15. data/.gitignore +0 -136
  16. data/.idea/.gitignore +0 -8
  17. data/.idea/danger-plugin-spm-version-updates.iml +0 -130
  18. data/.idea/misc.xml +0 -4
  19. data/.idea/modules.xml +0 -8
  20. data/.idea/vcs.xml +0 -6
  21. data/.markdownlint.jsonc +0 -6
  22. data/.reek.yml +0 -129
  23. data/.rubocop.yml +0 -508
  24. data/spec/spec_helper.rb +0 -61
  25. data/spec/spm_version_updates_spec.rb +0 -194
  26. data/spec/support/fixtures/Branch.xcodeproj/project.pbxproj +0 -80
  27. data/spec/support/fixtures/Branch.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  28. data/spec/support/fixtures/ExactVersion.xcodeproj/project.pbxproj +0 -80
  29. data/spec/support/fixtures/ExactVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  30. data/spec/support/fixtures/NoResolvedVersion.xcodeproj/project.pbxproj +0 -80
  31. data/spec/support/fixtures/NoResolvedVersion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -256
  32. data/spec/support/fixtures/UpToNextMajor.xcodeproj/project.pbxproj +0 -80
  33. data/spec/support/fixtures/UpToNextMajor.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  34. data/spec/support/fixtures/VersionRange.xcodeproj/project.pbxproj +0 -81
  35. data/spec/support/fixtures/VersionRange.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -265
  36. data/spec/support/fixtures/github_pr.json +0 -268
@@ -1,194 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "simplecov"
4
- SimpleCov.start
5
-
6
- require "simplecov-cobertura"
7
- SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
8
-
9
- require File.expand_path("spec_helper", __dir__)
10
-
11
- module Danger
12
- describe Danger::DangerSpmVersionUpdates do
13
- it "is a plugin" do
14
- expect(described_class.new(nil)).to be_a Danger::Plugin
15
- end
16
-
17
- describe "with Dangerfile" do
18
- before do
19
- @dangerfile = testing_dangerfile
20
- @my_plugin = @dangerfile.spm_version_updates
21
-
22
- # mock the PR data
23
- # you can then use this, eg. github.pr_author, later in the spec
24
- json = File.read("#{File.dirname(__FILE__)}/support/fixtures/github_pr.json") # example json: `curl https://api.github.com/repos/danger/danger-plugin-template/pulls/18 > github_pr.json`
25
- allow(@my_plugin.github).to receive(:pr_json).and_return(json)
26
- end
27
-
28
- it "Does not report pre-release versions by default" do
29
- allow(@my_plugin).to receive(:git_versions)
30
- .and_return [
31
- Semantic::Version.new("12.1.6"),
32
- Semantic::Version.new("12.2.0-beta.1"),
33
- Semantic::Version.new("12.2.0-beta.2"),
34
- ].sort.reverse
35
-
36
- @my_plugin.check_when_exact = true
37
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/ExactVersion.xcodeproj")
38
-
39
- expect(@dangerfile.status_report[:warnings]).to eq([])
40
- end
41
-
42
- it "Does report new versions for exact versions when configured" do
43
- allow(@my_plugin).to receive(:git_versions)
44
- .and_return [
45
- Semantic::Version.new("12.1.6"),
46
- Semantic::Version.new("12.1.7"),
47
- ].sort.reverse
48
-
49
- @my_plugin.check_when_exact = true
50
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/ExactVersion.xcodeproj")
51
-
52
- expect(@dangerfile.status_report[:warnings]).to eq(
53
- [
54
- "Newer version of kean/Nuke: 12.1.7 (but this package is set to exact version 12.1.6)\n",
55
- ]
56
- )
57
- end
58
-
59
- it "Does report pre-release versions for exact versions when configured" do
60
- allow(@my_plugin).to receive(:git_versions)
61
- .and_return [
62
- Semantic::Version.new("12.1.6"),
63
- Semantic::Version.new("12.2.0-beta.2"),
64
- ].sort.reverse
65
-
66
- @my_plugin.check_when_exact = true
67
- @my_plugin.report_pre_releases = true
68
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/ExactVersion.xcodeproj")
69
-
70
- expect(@dangerfile.status_report[:warnings]).to eq(
71
- [
72
- "Newer version of kean/Nuke: 12.2.0-beta.2 (but this package is set to exact version 12.1.6)\n",
73
- ]
74
- )
75
- end
76
-
77
- it "Does report new versions for up to next major" do
78
- allow(@my_plugin).to receive(:git_versions)
79
- .and_return [
80
- Semantic::Version.new("12.1.6"),
81
- Semantic::Version.new("12.1.7"),
82
- ].sort.reverse
83
-
84
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/UpToNextMajor.xcodeproj")
85
-
86
- expect(@dangerfile.status_report[:warnings]).to eq(
87
- [
88
- "Newer version of kean/Nuke: 12.1.7",
89
- ]
90
- )
91
- end
92
-
93
- it "Reports pre-release versions for up to next major when configured" do
94
- allow(@my_plugin).to receive(:git_versions)
95
- .and_return [
96
- Semantic::Version.new("12.1.6"),
97
- Semantic::Version.new("12.2.0-beta.2"),
98
- ].sort.reverse
99
-
100
- @my_plugin.check_when_exact = true
101
- @my_plugin.report_pre_releases = true
102
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/UpToNextMajor.xcodeproj")
103
-
104
- expect(@dangerfile.status_report[:warnings]).to eq(
105
- [
106
- "Newer version of kean/Nuke: 12.2.0-beta.2",
107
- ]
108
- )
109
- end
110
-
111
- it "Does not report pre-release versions for up to next major" do
112
- allow(@my_plugin).to receive(:git_versions)
113
- .and_return [
114
- Semantic::Version.new("12.1.6"),
115
- Semantic::Version.new("12.2.0-beta.2"),
116
- Semantic::Version.new("13.0.0"),
117
- ].sort.reverse
118
-
119
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/UpToNextMajor.xcodeproj")
120
-
121
- expect(@dangerfile.status_report[:warnings]).to eq([])
122
- end
123
-
124
- it "Does not report new versions for up to next major when next version is major" do
125
- allow(@my_plugin).to receive(:git_versions)
126
- .and_return [
127
- Semantic::Version.new("12.1.6"),
128
- Semantic::Version.new("13.0.0"),
129
- ].sort.reverse
130
-
131
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/UpToNextMajor.xcodeproj")
132
-
133
- expect(@dangerfile.status_report[:warnings]).to eq([])
134
- end
135
-
136
- it "Does report new versions for up to next major when next version is major and configured" do
137
- allow(@my_plugin).to receive(:git_versions)
138
- .and_return [
139
- Semantic::Version.new("12.1.6"),
140
- Semantic::Version.new("13.0.0"),
141
- ].sort.reverse
142
-
143
- @my_plugin.report_above_maximum = true
144
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/UpToNextMajor.xcodeproj")
145
-
146
- expect(@dangerfile.status_report[:warnings]).to eq(["Newest version of kean/Nuke: 13.0.0 (but this package is configured up to the next major version)\n"])
147
- end
148
-
149
- it "Does report new versions for ranges" do
150
- allow(@my_plugin).to receive(:git_versions)
151
- .and_return [
152
- Semantic::Version.new("13.0.0"),
153
- Semantic::Version.new("12.1.6"),
154
- Semantic::Version.new("12.1.7"),
155
- ].sort.reverse
156
-
157
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/VersionRange.xcodeproj")
158
-
159
- expect(@dangerfile.status_report[:warnings]).to eq(
160
- [
161
- "Newer version of kean/Nuke: 12.1.7",
162
- ]
163
- )
164
- end
165
-
166
- it "Does report new versions for branches" do
167
- allow(@my_plugin).to receive(:git_branch_last_commit)
168
- .and_return "d658f302f56abfd7a163e3b5f44de39b780a64c2"
169
-
170
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/Branch.xcodeproj")
171
-
172
- expect(@dangerfile.status_report[:warnings]).to eq(
173
- [
174
- "Newer commit available for kean/Nuke (main): d658f302f56abfd7a163e3b5f44de39b780a64c2",
175
- ]
176
- )
177
- end
178
-
179
- it "Does not crash or warn when resolved version is missing from xcodeproj" do
180
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/NoResolvedVersion.xcodeproj")
181
-
182
- expect(@dangerfile.status_report[:warnings]).to eq([])
183
- end
184
-
185
- it "Does print to stderr when resolved version is missing from xcodeproj" do
186
- expect {
187
- @my_plugin.check_for_updates("#{File.dirname(__FILE__)}/support/fixtures/NoResolvedVersion.xcodeproj")
188
- }.to output(
189
- %r{Unable to locate the current version for kean/Nuke.*}
190
- ).to_stderr
191
- end
192
- end
193
- end
194
- end
@@ -1,80 +0,0 @@
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
- branch = main;
74
- kind = branch;
75
- };
76
- };
77
- /* End XCRemoteSwiftPackageReference section */
78
- };
79
- rootObject = F1465EF523AA94BF0055F7C3 /* Project object */;
80
- }
@@ -1,265 +0,0 @@
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
- "branch" : "main",
126
- "revision" : "3f666f120b63ea7de57d42e9a7c9b47f8e7a290b"
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
- }
@@ -1,80 +0,0 @@
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
- }