Description
Is it reproducible with SwiftPM command-line tools: swift build
, swift test
, swift package
etc?
- Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands,
swift build
,swift test
,swift package
etc.
Description
To reduce the number of times swiftpm reaches out to swift.org, we cache the manifest and the libraries so they can be reused. We also cache that we tried to fetch a prebuilt but it wasn't there or failed for some other reason since it's likely to always fail.
Except for one scenario that will likely be common place. There will be a time lag between when a toolchain version is available and when we have prebuilts published that work with that toolchain. So it will silently fail until the publish happens, then will work.
The caching of failed attempts means we won't try again for a given Workspace. We need to change that strategy. Either we don't cache that we failed, though there may be instances where it won't ever succeed. Or we leverage the WorkspaceState and record it there. That way when the user does a swift package reset
, the WorkspaceState is cleared and we'll retry the next time packages are resolved.
Expected behavior
No response
Actual behavior
No response
Steps to reproduce
No response
Swift Package Manager version/commit hash
No response
Swift & OS version (output of swift --version ; uname -a
)
No response