Skip to content

[5.9] Write link file list as a build command #6704

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

Closed
wants to merge 1 commit into from

Conversation

neonichu
Copy link
Contributor

This moves the generation of link file lists into the build system instead of doing it ad-hoc outside of the build. For this, we have a new WriteAuxiliaryFile tool and associated command that should be usable for any kind of writing of auxiliary files during the build.

Note that this change opted to not touch the existing infrastructure for in-process tools, so any inputs that are needed for the file generation will need to be flattened into a generic array of input nodes. The different types of file generation are keyed off a virtual node at the start of that array.

(cherry picked from commit ee7f064)

@neonichu neonichu added the swift 5.9 This PR targets the 5.9 branch label Jul 13, 2023
@neonichu neonichu self-assigned this Jul 13, 2023
@neonichu
Copy link
Contributor Author

Draft because this is introducing test failures that need to be investigated.

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test

@neonichu
Copy link
Contributor Author

Test failures on CI match what I was seeing locally.

@compnerd
Copy link
Member

I think that we should consider the -debug-info-format and file list support as that will help the VSCode plugin as well as general usability of SPM on Windows.

@neonichu
Copy link
Contributor Author

I think that we should consider the -debug-info-format and file list support as that will help the VSCode plugin as well as general usability of SPM on Windows.

I think we can consider that once we're able to land this. There are a number of more critical bug fixes that I need to get into 5.9 before I can return to this cherry-pick. In case you (or anyone else) has cycles to look into the failures on this PR that would increase the chances of being able to get this into 5.9.

This moves the generation of link file lists into the build system instead of doing it ad-hoc outside of the build. For this, we have a new `WriteAuxiliaryFile` tool and associated command that should be usable for any kind of writing of auxiliary files during the build.

Note that this change opted to not touch the existing infrastructure for in-process tools, so any inputs that are needed for the file generation will need to be flattened into a generic array of input nodes. The different types of file generation are keyed off a virtual node at the start of that array.

(cherry picked from commit ee7f064)
@neonichu neonichu force-pushed the write-file-list-as-build-command-5.9 branch from 475e69c to ca781f6 Compare July 29, 2023 00:02
@neonichu
Copy link
Contributor Author

neonichu commented Jul 29, 2023

Rebased the branch, but haven't been able to figure out yet what causes the test failures exactly. It seems like in some tests we're not evaluating plugins correctly anymore, but I don't know why.

Separately, we also need to figure out what to do about #6755

@neonichu
Copy link
Contributor Author

Going to close this, at this point it is too late to confidently get this into 5.9

@neonichu neonichu closed this Jul 31, 2023
@neonichu neonichu deleted the write-file-list-as-build-command-5.9 branch July 31, 2023 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
swift 5.9 This PR targets the 5.9 branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants