Skip to content

Commit aa5cea7

Browse files
committed
updates
1 parent 9b9b76a commit aa5cea7

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

Sources/PackageGraph/PackageGraph+Loading.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -816,12 +816,12 @@ extension Target {
816816

817817
func validateDependency(target: Target) throws {
818818
if self.type == .plugin && target.type == .library {
819-
throw PackageGraphError.unsupported(targetName: self.name, targetType: self.type.rawValue, dependencyName: target.name, dependencyType: target.type.rawValue, dependencyPackage: nil)
819+
throw PackageGraphError.unsupportedPluginDependency(targetName: self.name, dependencyName: target.name, dependencyType: target.type.rawValue, dependencyPackage: nil)
820820
}
821821
}
822822
func validateDependency(product: Product, productPackage: PackageIdentity) throws {
823823
if self.type == .plugin && product.type.isLibrary {
824-
throw PackageGraphError.unsupported(targetName: self.name, targetType: self.type.rawValue, dependencyName: product.name, dependencyType: product.type.description, dependencyPackage: productPackage.description)
824+
throw PackageGraphError.unsupportedPluginDependency(targetName: self.name, dependencyName: product.name, dependencyType: product.type.description, dependencyPackage: productPackage.description)
825825
}
826826
}
827827
}

Sources/PackageGraph/PackageGraph.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ enum PackageGraphError: Swift.Error {
3535
targetName: String,
3636
packageIdentifier: String
3737
)
38-
/// Dependency between a given target of its type and a dependent target/product of its type is unsupported
39-
case unsupported(targetName: String, targetType: String, dependencyName: String, dependencyType: String, dependencyPackage: String?)
38+
/// Dependency between a plugin and a dependent target/product of a given type is unsupported
39+
case unsupportedPluginDependency(targetName: String, dependencyName: String, dependencyType: String, dependencyPackage: String?)
4040
/// A product was found in multiple packages.
4141
case duplicateProduct(product: String, packages: [String])
4242

@@ -236,12 +236,12 @@ extension PackageGraphError: CustomStringConvertible {
236236
return "multiple aliases: ['\(aliases.joined(separator: "', '"))'] found for target '\(target)' in product '\(product)' from package '\(package)'"
237237
case .invalidSourcesForModuleAliasing(let target, let product, let package):
238238
return "module aliasing can only be used for Swift based targets; non-Swift sources found in target '\(target)' for product '\(product)' from package '\(package)'"
239-
case .unsupported(let targetName, let targetType, let dependencyName, let dependencyType, let dependencyPackage):
239+
case .unsupportedPluginDependency(let targetName, let dependencyName, let dependencyType, let dependencyPackage):
240240
var trailingMsg = ""
241241
if let depPkg = dependencyPackage {
242242
trailingMsg = " from package '\(depPkg)'"
243243
}
244-
return "target '\(targetName)' of type '\(targetType)' cannot depend on '\(dependencyName)' of type '\(dependencyType)'\(trailingMsg); this dependency is unsupported"
244+
return "plugin '\(targetName)' cannot depend on '\(dependencyName)' of type '\(dependencyType)'\(trailingMsg); this dependency is unsupported"
245245
}
246246
}
247247
}

Tests/SPMBuildCoreTests/PluginInvocationTests.swift

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ class PluginInvocationTests: XCTestCase {
582582

583583
func testUnsupportedDependencyProduct() throws {
584584
try testWithTemporaryDirectory { tmpPath in
585-
// Create a sample package with a library target and a plugin.
585+
// Create a sample package with a library product and a plugin.
586586
let packageDir = tmpPath.appending(components: "MyPackage")
587587
try localFileSystem.createDirectory(packageDir, recursive: true)
588588
try localFileSystem.writeFileContents(packageDir.appending(component: "Package.swift"), string: """
@@ -667,7 +667,7 @@ class PluginInvocationTests: XCTestCase {
667667
XCTAssertThrowsError(try workspace.loadPackageGraph(rootInput: rootInput, observabilityScope: observability.topScope)) { error in
668668
var diagnosed = false
669669
if let realError = error as? PackageGraphError,
670-
realError.description == "target 'MyPlugin' of type 'plugin' cannot depend on 'FooLib' of type 'library' from package 'foopackage'; this dependency is unsupported" {
670+
realError.description == "plugin 'MyPlugin' cannot depend on 'FooLib' of type 'library' from package 'foopackage'; this dependency is unsupported" {
671671
diagnosed = true
672672
}
673673
XCTAssertTrue(diagnosed)
@@ -685,9 +685,6 @@ class PluginInvocationTests: XCTestCase {
685685
import PackageDescription
686686
let package = Package(
687687
name: "MyPackage",
688-
dependencies: [
689-
.package(path: "../FooPackage"),
690-
],
691688
targets: [
692689
.target(
693690
name: "MyLibrary",
@@ -697,8 +694,7 @@ class PluginInvocationTests: XCTestCase {
697694
name: "MyPlugin",
698695
capability: .buildTool(),
699696
dependencies: [
700-
"MyLibrary",
701-
.product(name: "FooLib", package: "FooPackage"),
697+
"MyLibrary"
702698
]
703699
),
704700
]
@@ -747,7 +743,7 @@ class PluginInvocationTests: XCTestCase {
747743
XCTAssertThrowsError(try workspace.loadPackageGraph(rootInput: rootInput, observabilityScope: observability.topScope)) { error in
748744
var diagnosed = false
749745
if let realError = error as? PackageGraphError,
750-
realError.description == "target 'MyPlugin' of type 'plugin' cannot depend on 'MyLibrary' of type 'library'; this dependency is unsupported" {
746+
realError.description == "plugin 'MyPlugin' cannot depend on 'MyLibrary' of type 'library'; this dependency is unsupported" {
751747
diagnosed = true
752748
}
753749
XCTAssertTrue(diagnosed)

0 commit comments

Comments
 (0)