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
// swift-tools-version:5.8
import PackageDescription
import Foundation
/* To find a valid test for Xcode detection, we sneakily inserted the following code in the products definition, just before the return: * for (key, val) in ProcessInfo.processInfo.environment { * res.append(.executable(name: key, targets: [val])) * } * This generated a bunch of errors about invalid targets for the executable products, * w/ the name of the executable being the key of the environment value and the target name its value. * From this we devised a check which was likely to be true in Xcode and unlikely to be true anywhere else. * * When tested, the actual value of the environment key we chose was `com.apple.dt.Xcode`. * We did not test directly for this in the check as _maybe_ some versions of Xcode have a different bundle ID (I don’t think so but we never know…). */letisXcode=ProcessInfo.processInfo.environment["__CFBundleIdentifier"]?.lowercased().contains("xcode")?? false
/* If the Package.swift is resolved in Xcode we set a different name for the executable name. * We need to do this because Xcode is a little bit dumb and has some kind of weirdnesses or failures * when the bundle has a different name than the executable name (including, but not limited to: the tests do not compile). */letexecutableName= if isXcode {"PureMonolith"}else{"pure-monolith"}letpackage=Package(
name:"PureMonolith",
platforms:[.macOS(.v13)],
products:{varres=[Product]()
res.append(.executable(name: executableName, targets:["PureMonolith"]))return res
}(),
dependencies:{varres=[Package.Dependency]()
res.append(.package(url:"[email protected]:togever/togever-api-model.git", branch:"develop"))
res.append(.package(url:"https://github.com/apple/swift-log.git", from:"1.4.4"))
res.append(.package(url:"https://github.com/apple/swift-metrics.git", from:"2.2.0"))
res.append(.package(url:"https://github.com/dduan/TOMLDecoder.git", from:"0.2.2"))
res.append(.package(url:"https://github.com/Frizlab/CollectionConcurrencyKit.git", from:"0.3.0"))
res.append(.package(url:"https://github.com/Frizlab/generic-json.git", from:"3.1.0-beta"))
res.append(.package(url:"https://github.com/Frizlab/swift-email.git", from:"0.2.1"))
res.append(.package(url:"https://github.com/Frizlab/swift-task-queue.git", from:"1.1.0"))
res.append(.package(url:"https://github.com/Frizlab/swift-xdg.git", from:"1.0.0-beta.1.0.1"))
res.append(.package(url:"https://github.com/Frizlab/SafeGlobal.git", from:"0.2.0"))
res.append(.package(url:"https://github.com/Frizlab/UnwrapOrThrow.git", from:"1.0.1-rc.1"))
res.append(.package(url:"https://github.com/mxcl/LegibleError.git", from:"1.0.6"))
res.append(.package(url:"https://github.com/swift-server/swift-prometheus.git", from:"2.0.0"))
res.append(.package(url:"https://github.com/vapor/apns.git", from:"4.0.0"))
res.append(.package(url:"https://github.com/vapor/fluent.git", from:"4.5.0"))
res.append(.package(url:"https://github.com/vapor/fluent-postgres-driver.git", from:"2.4.0"))
res.append(.package(url:"https://github.com/vapor/jwt.git", from:"4.2.1"))
res.append(.package(url:"https://github.com/vapor/queues.git", from:"1.11.1"))
res.append(.package(url:"https://github.com/vapor/queues-redis-driver.git", from:"1.0.3"))
res.append(.package(url:"https://github.com/vapor/redis.git", from:"4.10.0"))
res.append(.package(url:"https://github.com/vapor/vapor.git", from:"4.67.0"))
res.append(.package(url:"https://github.com/vapor-community/stripe-kit.git", from:"23.1.0"))
res.append(.package(url:"https://github.com/xcode-actions/clt-logger.git", from:"0.7.1"))
res.append(.package(url:"https://github.com/xcode-actions/json-logger.git", from:"0.2.0"))
res.append(.package(url:"https://github.com/xcode-actions/loki-logger.git", branch:"main"))return res
}(),
targets:{varres=[Target]()
res.append(.executableTarget(
name:"PureMonolith",
dependencies:{varres=[Target.Dependency]()
res.append(.product(name:"CLTLogger", package:"clt-logger"))
res.append(.product(name:"CollectionConcurrencyKit", package:"CollectionConcurrencyKit"))
res.append(.product(name:"Email", package:"swift-email"))
res.append(.product(name:"Fluent", package:"fluent"))
res.append(.product(name:"FluentPostgresDriver", package:"fluent-postgres-driver"))
res.append(.product(name:"JSONLogger", package:"json-logger"))
res.append(.product(name:"JWT", package:"jwt"))
res.append(.product(name:"LegibleError", package:"LegibleError"))
res.append(.product(name:"Logging", package:"swift-log"))
res.append(.product(name:"LokiLogger", package:"loki-logger"))
res.append(.product(name:"Metrics", package:"swift-metrics"))
res.append(.product(name:"Prometheus", package:"swift-prometheus"))
res.append(.product(name:"PureModel", package:"togever-api-model"))
res.append(.product(name:"Queues", package:"queues"))
res.append(.product(name:"QueuesRedisDriver", package:"queues-redis-driver"))
res.append(.product(name:"Redis", package:"redis"))
res.append(.product(name:"SafeGlobal", package:"SafeGlobal"))
res.append(.product(name:"StripeKit", package:"stripe-kit"))
res.append(.product(name:"TaskQueue", package:"swift-task-queue"))
res.append(.product(name:"TOMLDecoder", package:"TOMLDecoder"))
res.append(.product(name:"UnwrapOrThrow", package:"UnwrapOrThrow"))
res.append(.product(name:"Vapor", package:"vapor"))
res.append(.product(name:"VaporAPNS", package:"apns"))
res.append(.product(name:"XDG", package:"swift-xdg"))return res
}(),
swiftSettings:{varres=[SwiftSetting]()/* Enable better optimizations when building in Release configuration. * Despite the use of the `.unsafeFlags` construct required by SwiftPM, this flag is recommended for Release builds. * See <https://github.com/swift-server/guides/blob/main/docs/building.md#building-for-production> for details. */
res.append(.unsafeFlags(["-cross-module-optimization"],.when(configuration:.release)))/* Check for concurrency issues. */
res.append(.enableExperimentalFeature("StrictConcurrency"))return res
}()))
res.append(.testTarget(name:"PureMonolithTests", dependencies:{varres=[Target.Dependency]()
res.append(.target(name:"PureMonolith"))/* <- Tested target. */
res.append(.product(name:"CLTLogger", package:"clt-logger"))
res.append(.product(name:"Logging", package:"swift-log"))
res.append(.product(name:"SafeGlobal", package:"SafeGlobal"))
res.append(.product(name:"XCTVapor", package:"vapor"))return res
}(), swiftSettings:[.enableExperimentalFeature("StrictConcurrency")]))return res
}())
Expected behavior
The graph should resolve.
Actual behavior
We get an internal error.
Steps to reproduce
Create a project with the given Package.swift and try to resolve it..
Swift Package Manager version/commit hash
Swift Package Manager - Swift 5.10.0-dev
Swift & OS version (output of swift --version ; uname -a)
swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
Target: arm64-apple-macosx14.0
Darwin Frizlabs-MacBook-Pro-Mojo.local 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:37 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6031 arm64
The text was updated successfully, but these errors were encountered:
Note: togever-api-model depends on generic-jsonfrom: "3.0.0".
I suspect this is the root cause of the issue: my package depends on a beta version of generic-json and on a package (togever-api-model) which depends on a non-beta version of generic-json.
It should work, but we get an internal error instead.
I did not try reducing the problem to this simpler use-case but I did get the issue when I updated the requirements for generic-json in my package.
Is it reproducible with SwiftPM command-line tools:
swift build
,swift test
,swift package
etc?Description
I got the following internal error while running
swift package resolve
:My
Package.swift
Expected behavior
The graph should resolve.
Actual behavior
We get an internal error.
Steps to reproduce
Create a project with the given
Package.swift
and try to resolve it..Swift Package Manager version/commit hash
Swift Package Manager - Swift 5.10.0-dev
Swift & OS version (output of
swift --version ; uname -a
)swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
Target: arm64-apple-macosx14.0
Darwin Frizlabs-MacBook-Pro-Mojo.local 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:37 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6031 arm64
The text was updated successfully, but these errors were encountered: