Skip to content
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

[SR-1005] SwiftPM port to Foundation #5308

mxcl opened this issue Mar 21, 2016 · 5 comments

[SR-1005] SwiftPM port to Foundation #5308

mxcl opened this issue Mar 21, 2016 · 5 comments


Copy link

mxcl commented Mar 21, 2016

Previous ID SR-1005
Radar None
Original Reporter @mxcl
Type Task
Status Closed
Resolution Won't Do
Additional Detail from JIRA
Votes 0
Component/s Package Manager
Labels Task, StarterBug
Assignee @ddunbar
Priority Medium

md5: 4a38caa7b18a7e84315c664caa4922f4

relates to:

  • SR-931 Make SwiftPM Path.relative(to:) solid

Issue Description:

SwiftPM was started before Foundation on Linux was mature enough for use, but this is no longer the case.

Port SwiftPM to Foundation and remove the POSIX module.

However we would prefer to keep a functional approach for eg. NSTask, so add wrappers to Utility.

Copy link

modocache mannequin commented Mar 31, 2016

Here's some of the work I think is involved here:

  • I believe one would first need to link Foundation, which would require changes to the Utilities/bootstrap script.

  • This would probably require some changes to Swift's utils/build-script-impl, in order to have the preset used for SwiftPM CI to continue to pass.

  • It involves replacing a solid chunk of the SwiftPM codebase.

Between source changes and updates to the build system, I'd hesitate to recommend this as a "StarterBug" – but your bar may be set higher than mine. 🙂

Copy link
Contributor Author

mxcl commented Mar 31, 2016

I classified it as Starter as it doesn't require a large understanding of the SwiftPM codebase to work on it.

Anyway, I'd like to see Foundation only used as a transitive dependency, I want to keep our high quality due to low optionality and mutable state low.

Mainly I see it being important for avoiding the edge-case plague of file system handling etc.

Copy link

Bouke commented Apr 26, 2016

Being a StarterBug, I've made an attempt at a partial implementation. See #284

Copy link

ddunbar commented May 12, 2016

I have posted my thoughts on what our direction should be here to:

Copy link

ddunbar commented May 16, 2016

After seeing the impact of some of these changes, I think now the direction we want is to use Foundation for specific APIs where appropriate, versus just a general port. Closing this out, and we can consider changes on a case by case basis.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 4, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

3 participants