Open keith-turner opened 5 years ago
Issue number #7 mentions ITs use non public Accumulo APIs. Personally I think its ok if test code is still using non-public APIs when the proxy is released.
The following blog post describes how to make Maven check if a project is using Accumulo code outside of the public API.
https://accumulo.apache.org/blog/2019/11/04/checkstyle-import-control.html
When the proxy was released with Accumulo it was ok if used non-public API Accumulo code because there was a one to one correspondence between the versions. Now that it is on an independent release schedule it should ideally only uses Accumulo's public API because this will ensure releases of the proxy work with any version of Accumulo >= 2.0.
A first step in implementing this would be to update the pom to check the proxy source code to ensure only public API is used. For an example of how to do this see pom.xm line 194, contrib/checkstyle.xml, and contrib/import-control.xml in accumulo examples. As a first step we could add the checks to the pom with exceptions for any current non-api usage. This would prevent new non-api usage from being added while we work on removing all non-api usage.