cake-build / cake

:cake: Cake (C# Make) is a cross platform build automation system.
https://cakebuild.net
MIT License
3.85k stars 724 forks source link

GH-4109: Add PublishReadyToRun to DotNetRestoreSettings #4110

Closed Marusyk closed 1 year ago

Marusyk commented 1 year ago

Please review.

Fixes #4109

Marusyk commented 1 year ago

so, can we merge it?

augustoproiete commented 1 year ago

Thanks for the ping @Marusyk . We're looking into the impact on addins, as this is a breaking change to the public API, to decide if we can merge it now for v3.1.0 or if it has to wait for the next major.

Marusyk commented 1 year ago

@augustoproiete could you explain why is this a breaking change?

augustoproiete commented 1 year ago

@Marusyk It's a binary breaking change that would only affect existing Cake addins. Addins that were compiled with an existing Cake version are referencing a type called DotNetRestoreSettings that does not have the property PublishReadyToRun and thus technically not the same type.

i.e. CakevNext...DotNetRestoreSettings might not be convertible to Cakev3.0...DotNetRestoreSettings

Marusyk commented 1 year ago

but this is why we have versions, isn't it? I'm sure that Cake add-ins don't compile on the main branch and always use the latest source. adding an optional parameter is not a breaking change from API perspective