[ 
https://issues.apache.org/jira/browse/FLINK-6444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210982#comment-16210982
 ] 

Piotr Nowojski commented on FLINK-6444:
---------------------------------------

Hi, sorry for not looking here earlier. As I have written in the pull request:

Hmmm, I looked a little bit and it seems like there are tools doing this:
https://github.com/google/guava/issues/1640
https://github.com/WorksApplications/findbugs-plugin
https://github.com/WorksApplications/findbugs-plugin/commit/d77ca84a9dcc8a99a99a155423c5e7b707a1a5fc

It evens seems to be working based on 
{{
 * <p>A detector to ensure that implementation (class in src/main/java) doesn't 
call
 * package-private method in other class which is annotated by {@code 
@VisibleForTesting}.
}}

If above doesn't work/fit us, we could probably easily implement our own check 
for that using 
[findbugs-maven-plugin](https://gleclaire.github.io/findbugs-maven-plugin/usage.html),
 maybe like described 
[here](https://writeoncereadmany.wordpress.com/2016/04/08/how-to-find-bugs-part-3-visiblefortesting/).

Could you try out WorksApplications/findbugs-plugin? The issue might be that 
they are using guava's {{VisibleForTesting}}, but maybe it is configurable? 

Does it work, if we create new flink module with an implementation of some 
maven plugin and then use this plugin in our build?

> Add a check that '@VisibleForTesting' methods are only used in tests
> --------------------------------------------------------------------
>
>                 Key: FLINK-6444
>                 URL: https://issues.apache.org/jira/browse/FLINK-6444
>             Project: Flink
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Stephan Ewen
>            Assignee: mingleizhang
>
> Some methods are annotated with {{@VisibleForTesting}}. These methods should 
> only be called from tests.
> This is currently not enforced / checked during the build. We should add such 
> a check.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to