-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Build: migrate to file lists for driver invocations #6573
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b0768f3
to
ca904ed
Compare
It seems that changing https://github.com/apple/swift-package-manager/pull/6573/files#diff-31b280ef997c175a0c39198547ce45d473e9fb89ac71aaa5ed2ad7e4a92473c8R549 to a file list breaks the ability to build targets individually? 😕 |
@swift-ci please smoke test |
@swift-ci test windows |
Sources/Build/BuildDescription/SwiftTargetBuildDescription.swift
Outdated
Show resolved
Hide resolved
Sources/Build/BuildDescription/SwiftTargetBuildDescription.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
few follow up questions
Sources/Build/BuildDescription/SwiftTargetBuildDescription.swift
Outdated
Show resolved
Hide resolved
@swift-ci please smoke test |
The failures in self-hosted look legitimate, these jobs run some additional integration tests which are in separate package (but in the same repo, honestly a bit of a weird setup might be worth changing at some point). Easiest way to repro locally is using |
When invoking the driver use file lists rather than passing all the sources on the command line. This is particularly import for Windows where the command line limit is 32k. With deep dependency sets and large projects, it is possible to overrun this limit and fail to invoke the command. The driver itself will invoke the frontend using response files if the invocation will overflow the command line limit. Fixes: swiftlang#6402
The self-host failure was due to the expectations changing due to the use of a file list. |
@swift-ci please smoke test |
When invoking the driver use file lists rather than passing all the sources on the command line. This is particularly import for Windows where the command line limit is 32k. With deep dependency sets and large projects, it is possible to overrun this limit and fail to invoke the command. The driver itself will invoke the frontend using response files if the invocation will overflow the command line limit.