-
Notifications
You must be signed in to change notification settings - Fork 314
SourceKit: sever dependency on TSCUtility
#686
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
@swift-ci please test |
This marks the `Platform` type as deprecated. The functionality has been split up into swift-package-manager and sourcekit-lsp as appropriate. There remain no users of this at this point. swiftlang/sourcekit-lsp#686 swiftlang/swift-package-manager#6011
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.
It’s a shame we need to duplicate the logic but if we want to get rid of the TSC it’s something we just have to do 😢
import XCTest | ||
|
||
import enum TSCUtility.Platform | ||
import class TSCBasic.Process |
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.
How come we need to import TSCBasic.Process
where we didn’t need to import it before?
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.
Because TSCUtility
dragged it along for us. Something something @_implementationOnly
all the things and explicit imports.
Yes, except, it seems that this functionality is used only in LSP. The other piece of the interface is in SPM only. As a result we can split it up this way and deprecate it in TSC. |
The dependency on `TSCUtility` was strictly for identifying the platform of execution. This logic is relatively self-contained and effectively an extension over an enumeration. Replicate this logic with updates for new syntactic improvements. This allows us to partially reduce dependency on swift-tools-support-core. The dependency on TSCBasic is more complicated to remove due to the extensive use of `AbsolutePath`. Co-authored-by: Alex Hoppen <[email protected]>
@swift-ci please test |
swiftlang/swift-package-manager#6011 Are the other parts of this change that together deprecate |
@swift-ci please test macOS platform |
This marks the `Platform` type as deprecated. The functionality has been split up into swift-package-manager and sourcekit-lsp as appropriate. There remain no users of this at this point. swiftlang/sourcekit-lsp#686 swiftlang/swift-package-manager#6011
The dependency on
TSCUtility
was strictly for identifying the platform of execution. This logic is relatively self-contained and effectively an extension over an enumeration. Replicate this logic with updates for new syntactic improvements. This allows us to partially reduce dependency on swift-tools-support-core. The dependency on TSCBasic is more complicated to remove due to the extensive use ofAbsolutePath
.