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
Currently, the initial bootstrap build using CMake is essentially building the entirety of SwiftPM and that is (mostly) because the `Commands` module pulls in everything that SwiftPM possibly offers. This introduces a new `swift-bootstrap` executable which is a minimal version of `swift-build` and extracts the necessary parts of the `Commands` module into a new `CoreCommands` module.
This is a bit of a proof-of-concept at the moment, but demonstrates the idea and allows building the first stage without needing to build the swift-crypto dependency.
Remaining issues:
- currently breaks some functionality as shown by not running the full test suite successfully
- the Windows build currently relies entirely on CMake, so making that a minimal build is not really viable at this time. I am not entirely sure how to factor things so that both build styles stay available, so right now there's only the minimal build.
- exposes the awkwardness of the `--buid-system` option. There are several commands that just create a native `BuildOperation` object no matter what. This change improves the situation somewhat by throwing when any of these commands are called even though XCBuild was selected as the build system, but there's some more refactoring to do to make this better.
- `SwiftToolTests` currently still depend on `Commands` but should be shifted over to a new `CoreCommandsTests` test target so that is no longer necessary
// Build or bring up-to-date any executable host-side tools on which this plugin depends. Add them and any binary dependencies to the tool-names-to-path map.
// Build the tests. Ideally we should only build those that match the subset, but we don't have a way to know which ones they are until we've built them and can examine the binaries.
0 commit comments