Skip to content
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

use binary compatibility validator #258

Merged
merged 1 commit into from
Apr 22, 2024

Conversation

dsvag
Copy link
Contributor

@dsvag dsvag commented Mar 28, 2024

No description provided.

@dsvag dsvag added this to the 3.0 milestone Mar 28, 2024
@dsvag dsvag requested a review from sergei-lapin March 28, 2024 16:38
@dsvag dsvag linked an issue Mar 28, 2024 that may be closed by this pull request
@diklimchuk
Copy link
Contributor

There is a feature of binary validator plugin, that allows to exclude from public API validation some methods that are annotated by a custom annotation. Maybe you will want to make something like @InternalElmslieApi so that library authors would not use APIs that are not stable. This would allow refactoring of methods that are not public API

@dsvag
Copy link
Contributor Author

dsvag commented Mar 31, 2024

There is a feature of binary validator plugin, that allows to exclude from public API validation some methods that are annotated by a custom annotation. Maybe you will want to make something like @InternalElmslieApi so that library authors would not use APIs that are not stable. This would allow refactoring of methods that are not public API

I checked methods before pushing and didn't find methods that need to be marked. What methods are you talking about?

@diklimchuk
Copy link
Contributor

There is a feature of binary validator plugin, that allows to exclude from public API validation some methods that are annotated by a custom annotation. Maybe you will want to make something like @InternalElmslieApi so that library authors would not use APIs that are not stable. This would allow refactoring of methods that are not public API

I checked methods before pushing and didn't find methods that need to be marked. What methods are you talking about?

Any method that aren't supposed to be public api. The ones the you won't keep backwards compatible. Looks like Switcher#switchInternal fits the description.

@rcmkt
Copy link
Contributor

rcmkt commented Apr 1, 2024

We don't have such method in 3.0 =)

@diklimchuk
Copy link
Contributor

We don't have such method in 3.0 =)

Ah, i looked at elmslie-3-0 instead of publish-elmslie-3.0. Anyway, there's ElmslieConfig.ioDispatchers for example, which looks like an implementation detail and not a public api

@diklimchuk
Copy link
Contributor

We don't have such method in 3.0 =)

Ah, i looked at elmslie-3-0 instead of publish-elmslie-3.0. Anyway, there's ElmslieConfig.ioDispatchers for example, which looks like an implementation detail and not a public api

There are also classes like ElmslieLogConfiguration and ElmslieLogger which look like internal classes

@rcmkt
Copy link
Contributor

rcmkt commented Apr 3, 2024

ElmslieConfig.ioDispatchers - read-only, and it's not implementation details, the same for ElmslieLogger
We are pretty sure to keep all public API as is =)

@diklimchuk
Copy link
Contributor

ElmslieConfig.ioDispatchers - read-only, and it's not implementation details, the same for ElmslieLogger We are pretty sure to keep all public API as is =)

IMHO these things might change in future, and aren't meant to be used by library clients.
But this library lived without binary compatibility validation and noone complained, so it's probably fine anyway.

@sergei-lapin sergei-lapin merged commit db0d7d1 into publish-elmslie-3.0 Apr 22, 2024
1 check passed
@dsvag dsvag deleted the binary-compatibility-validator branch May 1, 2024 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use binary compatibility validator
4 participants