Hello Swift Community,
The swift-driver project is a new implementation of the Swift compiler driver that is intended to replace the existing driver with a more extensible, maintainable, and robust code base. The Swift compiler’s driver is what handles the build of a Swift module: it runs the Swift compiler frontend to compile source code to object files, the linker to link those object files into a library or executable, and so on, and contains much of the knowledge of how to produce working programs for any given platform. The driver is the main program that build systems (e.g. SwiftPM, xcodebuild, make, ninja) interact with to compile Swift code, so it is a key piece of infrastructure for building Swift code. The new swift-driver is architected as a Swift library, allowing for deeper integration with the Swift Package Manager.
swift-driver is designed to be a drop-in replacement for the existing Swift compiler driver. It is already suitable for many build tasks on Darwin and Linux, but there is also a significant amount of functionality that still needs to be implemented for it to become a viable replacement for the existing driver.
swift-driver is open source as part of the Swift project, and we could use your help to make that happen! No compiler experience is necessary, and it’s a relatively small Swift code base using modern Swift development practices (SwiftPM, Foundation, XCTest, etc.) with a specific development plan containing tasks for all skill levels.
Once we have reached feature parity with the existing driver, we intend to deprecate the existing driver and replace it with this new implementation.