Workspace and local SPM packages

Is it possible for Tuist to include a local SPM packages inside the Workspace using the Workspace.swift?
Currently I’m able to do it using the “aditionalFiles” but it’s being interpreted as a group not a package.

I could not achieve this through Workspace.swift but found it workable to include a local Macro via SPM in Tuist, by creating a Tuist/Package.swift.

// swift-tools-version: 5.9
@preconcurrency import PackageDescription

#if TUIST
    @preconcurrency import ProjectDescription

    let packageSettings = PackageSettings(
        productTypes: [
            "Mockable": .framework,
            ...
        ],
        baseSettings: .settings(
            configurations: [
                .release(name: "Release"),
                .debug(name: "Debug"),
            ]
        )
    )
#endif

let package = Package(
    name: "OurPackage",
    platforms: [.iOS(.v17)],
    dependencies: [
        ...
        .package(name: "OurMacro", path: "../Features/OurMacro"),
    ]
)

We can iterate on the Macro and benefit from binary caching this way. Is this what you had in mind?

1 Like