You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[PackageGraph] Allow package-level cyclic dependency only for >= 6.0 manifests
Follow-up to swiftlang#7530
Otherwise it might be suprising for package authors to discover that
their packages cannot be used with older tools because they inadvertently
introduced a cyclic dependency in a new version.
(cherry picked from commit 3098b2d)
Copy file name to clipboardExpand all lines: Tests/WorkspaceTests/WorkspaceTests.swift
+3-7
Original file line number
Diff line number
Diff line change
@@ -11019,7 +11019,7 @@ final class WorkspaceTests: XCTestCase {
11019
11019
requirement: .upToNextMajor(from: "1.0.0")
11020
11020
),
11021
11021
],
11022
-
toolsVersion: .v5
11022
+
toolsVersion: .v6_0
11023
11023
),
11024
11024
],
11025
11025
packages: [
@@ -11167,11 +11167,7 @@ final class WorkspaceTests: XCTestCase {
11167
11167
// FIXME: rdar://72940946
11168
11168
// we need to improve this situation or diagnostics when working on identity
11169
11169
result.check(
11170
-
diagnostic: "'bar' dependency on '/tmp/ws/pkgs/other/utility' conflicts with dependency on '/tmp/ws/pkgs/foo/utility' which has the same identity 'utility'. this will be escalated to an error in future versions of SwiftPM.",
11171
-
severity: .warning
11172
-
)
11173
-
result.check(
11174
-
diagnostic: "product 'OtherUtilityProduct' required by package 'bar' target 'BarTarget' not found in package 'OtherUtilityPackage'.",
11170
+
diagnostic: "cyclic dependency between packages Root -> FooUtilityPackage -> BarPackage -> FooUtilityPackage requires tools-version 6.0 or later",
11175
11171
severity: .error
11176
11172
)
11177
11173
}
@@ -11202,7 +11198,7 @@ final class WorkspaceTests: XCTestCase {
0 commit comments