Skip to content

Extract everything depending on LLBuild into a SwiftDriverExecution library #263

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

Merged
merged 1 commit into from
Sep 24, 2020

Conversation

owenv
Copy link
Contributor

@owenv owenv commented Sep 20, 2020

  • Moved llbuild.Swift and the SwiftDriverExecutor into the new library
  • Avoid reexporting llbuildSwift through the new library (I don't know why it was using @_exported before, I switched it to an @_implementationOnly import)
  • Update SPM and CMake builds
  • SwiftDriver and SwiftDriverExecution share a test target, splitting it didn't seem worth the trouble

This is a WIP because I'm guessing I won't get the CMake changes right on the first try and I still need to update SPM. This should hopefully make #246 and related changes simpler, although splitting the libraries is a bit of a pain in the short term.

@owenv owenv marked this pull request as draft September 20, 2020 01:19
@owenv
Copy link
Contributor Author

owenv commented Sep 20, 2020

Just to make sure I didn't completely break anything...

@swift-ci please test

Copy link
Member

@DougGregor DougGregor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Much better layering to separate out the execution bits, which several clients (like SwiftPM) don't need. We should be able to simplify the bootstrap script in CMake with this

Copy link
Contributor

@artemcm artemcm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really great.

@owenv
Copy link
Contributor Author

owenv commented Sep 21, 2020

I've now tested the CMake build locally and everything seemed to work, so once swiftlang/swift-package-manager#2946 is merged I'll run the full test suite with this PR and then it should be mergeable.

@owenv owenv marked this pull request as ready for review September 21, 2020 01:09
@owenv owenv changed the title [WIP] Extract everything depending on LLBuild into a SwiftDriverExecution library Extract everything depending on LLBuild into a SwiftDriverExecution library Sep 21, 2020
@DougGregor
Copy link
Member

Very excited for this to land :)

…ibrary

- Moved llbuild.Swift and the SwiftDriverExecutor into the new library
- Avoid reexporting llbuildSwift through the new library
- Update SPM and CMake builds
@owenv owenv changed the base branch from master to main September 23, 2020 04:18
@owenv
Copy link
Contributor Author

owenv commented Sep 24, 2020

Full swift-ci passed (swiftlang/swift#34040), so this should be good to go!

@swift-ci test

@DougGregor
Copy link
Member

Fantastic, go for it once CI completes!

@owenv owenv merged commit 5940330 into swiftlang:main Sep 24, 2020
artemcm added a commit to artemcm/swift-driver that referenced this pull request Sep 24, 2020
artemcm added a commit to artemcm/swift-driver that referenced this pull request Sep 25, 2020
xymus pushed a commit to xymus/swift-driver that referenced this pull request Nov 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants