ITADN

Infinite package reload loop with .artifactbundleindex binary targets

#2615Openrintaro 创建于 2026-04-22
R
rintarocommented
### Swift version _No response_ ### Platform _No response_ ### Editor _No response_ ### Description Opening a package that depends on a binary target distributed via a remote .artifactbundleindex URL causes SourceKit-LSP to reload the package in an infinite loop. The SourceKit-LSP log repeatedly shows: ``` Reloading package because file://…/.build/index-build/artifacts/…/library.json changed ``` ### Steps to Reproduce Create a minimal package: Package.swift ```swift // swift-tools-version: 5.9 import PackageDescription let package = Package( name: "repro", targets: [ .target(name: "repro"), .binaryTarget( name: "DawnLib", url: "https://github.com/adobe/swan/releases/download/dawn-chromium-stable-147.0.7727.50/dawn-chromium-stable-147.0.7727.50-release.artifactbundleindex", checksum: "3b8e2880e663c7d0619e225ca7210ef737773719dc77179f87ac66c7b7e9f739" ), ] ) ``` Sources/repro/repro.swift ```swift // (empty) ``` 1. Open the `repro/` folder in VS Code with the Swift extension. 2. Watch the SourceKit-LSP output channel — it will repeatedly log: ``` Reloading package because file:///…/.build/index-build/artifacts/repro/DawnLib/…/dawn.json changed ``` Note: the first load downloads ~100 MB, so the loop becomes visible after the initial download completes. ### Logging _No response_
0 条评论