You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Traits] Package trait description and serialization (#7669)
### Motivation:
This PR is the first one to land the package traits feature in SwiftPM. It focuses on the new public APIs and serialization of them.
### Modifications:
This PR contains:
- The `PackageDescription` APIs used to define traits, optional dependencies based on traits and build settings based on traits;
- The serialization logic to encode the trait specific changes in the package description;
- The deserialization logic to decode the trait specific changes into the `PackageModel`;
- Validation logic for traits;
- Tests for all of the above.
I gated the new APIs behind both the `999` availability and an `@_spi(ExperimentalTraits)` to allow us to land this on `main` before the proposal is accepted.
### Result:
We can now define a package with traits 🚀
0 commit comments