-
Notifications
You must be signed in to change notification settings - Fork 1.2k
partially restructure the source tree #2645
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 |
9f5d3cc
to
47cec07
Compare
@swift-ci please test |
47cec07
to
e797251
Compare
@swift-ci please test |
e797251
to
ea2f797
Compare
@swift-ci please test |
Test with following PRs: @swift-ci please test Linux platform |
Looks like there is a duplicate copy of |
ea2f797
to
b18ff27
Compare
@spevans removed the duplicate copy, thanks for pointing that out |
@swift-ci please test Linux platform |
b18ff27
to
bbad51b
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
bbad51b
to
dd95c6d
Compare
@swift-ci please test Linux platform |
0c5c553
to
92bb601
Compare
@swift-ci please test |
What is the benefit of moving all of the files around? Doesnt it now require knowledge of which subdirectory a file is in? Im not sure this actually helps in anyway. |
@spevans it actually helps quite a bit with discoverability. It also makes it easier to grep within a single target (e.g. |
@swift-ci please test |
1 similar comment
@swift-ci please test |
92bb601
to
47875a1
Compare
Please test with following PRs: @swift-ci please test Linux platform |
47875a1
to
f84a465
Compare
Please test with following PRs: @swift-ci please test Linux platform |
f84a465
to
6b3d55c
Compare
@swift-ci please test Linux platform |
6b3d55c
to
ce641b9
Compare
@swift-ci please test Linux platform |
ce641b9
to
45c9634
Compare
@swift-ci please test Linux platform |
45c9634
to
03bafae
Compare
Please test with following PRs: @swift-ci please test Linux platform |
This adds the `@testable import` of `Foundation` since `_ProgressFraction` is private. This seems to have been missed in the conversion, but restructuring the tree has identified this difference.
This moves the `TestFoundation` directory to a `Tests` directory to home all the testing infrastructure. The Foundation tests are now present under `Tests/Foundation`. The Test cases themselves are in the `Tests` directory under `Tests/Foundation` and the supporting files in the directory itself. `xdgTestHelper` has been moved into `Tests/Tools/XDGTestHelper`. This restructure allows for the emission of the `TestFoundation` binary in the top level directory for the build output. This is required to co-locate the libraries and the executables which is needed for Windows.
This moves the UUID library into the `Sources` directory as part of a restructuring of the source tree.
Move the local copy of the BlocksRuntime into the sources tree.
This splits out the `FoundationXML` sources from `Foundation` into `Sources/FoundationXML`. This makes it easier to identify the target that the sources are associated with and to grep for something in a particular target. Restructure the build to follow best practices for CMake and split out the monolithic CMakeLists.txt into a target specific one.
This moves the resources for the FoundationNetworking target into `Sources` into their own subdirectory. This sorts the sources for the target from the rest of the Foundation trget after the split into sub-modules.
This moves the Foundation sources from `Foundation` into a subdirectory in `Sources`. This reflects the traditional directory structure for Frameworks.
This moves the `plutil` tool into the `Sources` directory.
…ures` Move the `GenerateTestFixtures` tool into the tests subdirectory.
Remove the GenerateTestFixtures project as that has been added as a scheme in the Foundation project. Add schemes for all of the products in the project. Update for the new tree structure.
Use more modern property setting for the RPATH rather than spreading the workaround throughout the build. Centralise the Swift module directory handling.
The Foundation module is a public link target as that is re-exposed to users of FoundationNetwork and FoundationXML. Explicitly make the link to Foundation `PUBLIC`.
It seems that `RPATH` is not properly handled by CMake on executables. Restore the old workaround for the time being.
03bafae
to
3ea08fe
Compare
Please test with following PRs: @swift-ci please test Linux platform |
Restructure the Foundation modules into subdirectories for ease of discoverability. This restructures the tree into the standard Apple framework-like layout with a subdirectory for each Swift "framework" module.