Move runtime to FoundationEssentials#1993
Conversation
FoundationEssentialsFoundationEssentials
|
You'll need to do a |
|
@thomasvl Missed that, thanks! |
|
@FranzBusch I'm assuming |
Yeah that sounds right to me |
|
@FranzBusch anything missing here? |
FranzBusch
left a comment
There was a problem hiding this comment.
LGTM. In a follow up can you add a CI check that ensure we are not regressing this?
|
@FranzBusch Yeah sure. We still need to address the BinaryDelimited APIs. Did you have a preferred approach? So, either a default trait that enables them or a non-default trait that disables them? |
We can't do the latter. A trait must never take away API it can only add API. Having said that I think the only way forward is to introduce a default trait that moves these APIs behind it. That can be done once when adopting traits. @thomasvl @allevato are there any other pieces that we see valuable to move behind traits so that they become opt-in for developers? |
The custom |
For completeness - any the supporting files that are needed for those apis would be gated. As far as binary delimited, do we also do the async sequence part or just the Foundation part? As a follow up to this, since we have |
@FranzBusch, I noticed you switched from |
|
I would suggest we move the trait discussion into a separate PR @madsodgaard are you happy to open that PR and drive the discussion there?
I would just move the Foundation dependent part since the rest is pretty minor right? Not sure if we get much from moving it behind a trait
We can do that down the line but it is a breaking change whereas the trait move would allow us to do it in a non-breaking migration once.
Correct. I just wanted to make sure we have one PR that has |
Head branch was pushed to by a user without write access
|
@FranzBusch Yeah, I can follow up on the traits in a different PR |
Follows up on the discussion in #1993 and introduces the traits: * `BinaryDelimitedStreams` * `FieldMaskSupport`
As per the recent forums post on the
import FoundationEssentials, this PR implements the strategy described.The generator now generates the conditional essentials import.
The only remaining part after this is to do something about the
BinaryDelimitedAPIs which useInputStreamandOutputStreamFixes #1756