-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Remove triple from SwiftBuild system output path #9370
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
base: main
Are you sure you want to change the base?
Remove triple from SwiftBuild system output path #9370
Conversation
|
@swift-ci test |
| // can be used to build for any Apple platform and it has its own | ||
| // conventions for build subpaths based on platforms. | ||
| return "apple" | ||
| case .swiftbuild, .native: |
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.
While the new and old build systems coexist I wonder if we should include "swift-build" here to separate build products for users switching between the two. Not sure I have a strong opinion here
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.
All build systems can co-exists together today.
Xcode has: .build/apple/Products/<configuration>
Swift Build has: .build/Products/<configuration>
native has: .build/<triple>/<configuration>
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.
There are other things in the scratch path than build output. We may add more over time. I'm with Owen, we should have a directory for the build system. I would use the build system name "swiftbuild". Save us a character with the path length issues we've had. :)
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.
"Products" also isn't accurate because this directory contains more than just products (also intermediates and build system bookkeeping state).
I wouldn't use "swiftbuild", it just feels weird to have the component name as part of the path. Maybe just "out"?
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.
I also thought of just "build".
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.
.build/build is a little strange looking though
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.
You can always change the scratch-path to be not .build if it bugs you :)
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 would be a bigger impact changing the default scratch path directory.
From a SwiftPM perspective, the Products and Intermediates are siblings. Here's a sample where SwiftPM puts the SwiftBuild output in a <scratchPath>/out directory.
❯ ls .foo/out
CompilationCache.noindex Intermediates.noindex ModuleCache.noindex Products SDKStatCaches.noindex
❯ ls .foo/out/Products
Debug
dbcef71 to
9208a2d
Compare
|
@swift-ci test |
9208a2d to
7f8e26b
Compare
|
@swift-ci test |
|
@swift-ci test windows |
7f8e26b to
c1e869e
Compare
|
@swift-ci test |
|
@swift-ci test windows |
The triple name in the SwiftBuild build system is redundant. Remove the triple from the output path.
c1e869e to
85d5e13
Compare
|
@swift-ci test |
|
@swift-ci test windows |
The triple name in the SwiftBuild build system is redundant. Remove the triple from the output path.