What did you do?
Starting with a basic SPM project using the following Package.swift file:
// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "QuickError",
platforms: [.macOS(.v13)],
products: [
.executable(
name: "QuickError",
targets: ["quick-error"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
.package(url: "https://github.com/Quick/Quick.git", exact: "7.6.0"),
],
targets: [
.executableTarget(
name: "quick-error"
),
]
)
Then I try to build a release binary for multiple architectures:
swift build -c release --build-path .build --arch arm64 --arch x86_64
What did you expect to happen?
Build to succeed as normal (works on Quick v7.5.0 and below).
What actually happened instead?
Build fails with the error
error: duplicate key found: 'ID(moduleName: "QuickLint", packageIdentity: quick, buildTriple: PackageGraph.BuildTriple.destination)'
Build works fine with individual architectures.
Environment
List the software versions you're using:
- Quick: 7.6.0+
- Nimble: 13.7.1
- Xcode Version: 16.0 (16A242d)
- Swift Version: Xcode Default
Please also mention which package manager you used and its version. Delete the
other package managers in this list:
- Swift Package Manager 6.0.0-dev
Project that demonstrates the issue
PackageTest.zip
(Package.swift file shared above, otherwise an empty project.)
What did you do?
Starting with a basic SPM project using the following
Package.swiftfile:Then I try to build a release binary for multiple architectures:
What did you expect to happen?
Build to succeed as normal (works on Quick
v7.5.0and below).What actually happened instead?
Build fails with the error
Build works fine with individual architectures.
Environment
List the software versions you're using:
Please also mention which package manager you used and its version. Delete the
other package managers in this list:
Project that demonstrates the issue
PackageTest.zip
(
Package.swiftfile shared above, otherwise an empty project.)