swiftxcodedependenciesswift-package

How to use dependencies in a Swift Package


I created a new Package with Xcode and incorporated a dependency, however when I try to use it, I get an error.

Swift Package Error

How do I use the dependency in the Package sources? In a normal project, I can easily import and use AgileDB.

Here's the Package:


// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "DBCore",
    products: [
        // Products define the executables and libraries a package produces, and make them visible to other packages.
        .library(
            name: "DBCore",
            targets: ["DBCore"]),
    ],

    dependencies: [
          .package(url: "https://github.com/AaronBratcher/AgileDB", from: "6.4.0")
    ],

    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.

        // Targets can depend on other targets in this package, and on products in packages this package depends on.

        .target(
            name: "DBCore",
            dependencies: []),
        .testTarget(
            name: "DBCoreTests",
            dependencies: ["DBCore"]),
    ]
)

Perhaps the AgileDB package as a dependency in the target? I tried copying that and it won't recognize it.


Solution

  • Found my answer.

    In the target dependencies, need to include the package name as a string:

            // Targets are the basic building blocks of a package. A target can define a module or a test suite.
            // Targets can depend on other targets in this package, and on products in packages this package depends on.
    
            .target(
                name: "DBCore",
                dependencies: [
                        "AgileDB"
                    ]),
    
            .testTarget(
                name: "DBCoreTests",
                dependencies: ["DBCore"]),
        ]