-
Notifications
You must be signed in to change notification settings - Fork 3k
Build: Let revapi compare against 1.9.0 #12912
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
|
Hm this is quite unfortunate that #12882 went in right in between voting on 1.9.0 happened, which means that the API breakage wasn't detected as a breakage when it was merged |
We just added the StorageCredential API so I think we can probably add the breakage to RevAPI, since we're really just changing the return type from For reference, this is the API breakage that RevAPI complains about: |
|
I think we should be ok accepting the revapi violation here. The storage credential serialization is scoped to runtime and the serialization through REST API is json, so I don't think this is going to be an incompatible change in practice. |
|
Let me add that I feel like we're working around Immutables here. The interface itself should be fine with Map<>. Is there a way to tell Immmutables to use a specific concrete implementation or is that not supported? It may be moot since the release has already passed, but we could always fix this and make the interface represent the original type. |
The underlying issue is that Immutables will always create an unmodifiable Map (which isn't configurable and is generally what you want) when the API definition is |
|
@nastra and @danielcweeks, thanks for the context and inputs. I have deprecated the existing interface and added new. That way it is clean and as per our guidelines. Please take another look. |
| return serializableConfig(); | ||
| } | ||
|
|
||
| SerializableMap<String, String> serializableConfig(); |
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 don't think introducing this helps either, because it also introduces breaking API changes
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 is not breaking as we deprecate the old interface and adding new interface here. But yeah, revAPI considers new interface addition also as a breaking change.
I like your approach in #12930
|
FYI I've opened #12930 as an alternative to this so that we can try and avoid the API breakage while still making ser/de properly work with Kryo |
|
closing in the favor of #12930 |
No description provided.