The japicm-plugin did exactly what it was supposed to be doing.
We can't remove these fields because they are part of a @Public class and hence have to remain until Flink 2.0.
Adding an exclusion for @Deprecated is a bad idea because it makes it way to easy to break the API.
On 16/06/2022 12:43, Gabor Somogyi wrote:
Hi All, I've just tried to delete long time deprecated configs and faced some inconveniences. My main intention is to understand what was the idea when japicmp-maven-plugin introduced related configs/functions marked with @Deprecated annotation. When I've removed the mentioned configs from source code then japicmp-maven-plugin made the build failed and complained that the params are removed which makes sense. I've added @Deprecated annotation to excludes which made the original error disappear but new ones shown because with that exclude all new version annotated configs/functions are missing. This makes this solution dead end. The only solution I've found is to add the specific configs to the exclude list. It works like charm but adding all the upcoming removed deprecated configs/functions to the exclude list will end-up in a constantly growing exclude list. Just to give a concrete example: https://github.com/apache/flink/pull/19986 Is there another way which I've missed or this is going to be hot issue later on? Thanks in advance! BR, G