On Tue, Nov 13, 2018 at 6:26 PM Wenchen Fan <cloud0...@gmail.com> wrote: > Recently I updated the MiMa exclusion rules, and found MiMa tracks some > private classes/methods unexpectedly.
Could you clarify what you mean here? Mima has some known limitations such as not handling "private[blah]" very well (because that means public in Java). Spark has (had?) this tool to generate an exclusions file for Mima, but not sure how up-to-date it is. > AFAIK, we have several rules: > 1. everything which is really private that end users can't access, e.g. > package private classes, private methods, etc. > 2. classes under certain packages. I don't know if we have a list, the > catalyst package is considered as a private package. > 3. everything which has a @Private annotation. That's my understanding of the scope of the rules. (2) to me means "things that show up in the public API docs". That's, AFAIK, tracked in SparkBuild.scala; seems like it's tracked by a bunch of exclusions in the Unidoc object (I remember that being different in the past). (3) might be a limitation of the doc generation tool? Not sure if it's easy to say "do not document classes that have @Private". At the very least, that annotation seems to be missing the "@Documented" annotation, which would make that info present in the javadoc. I do not know if the scala doc tool handles that. -- Marcelo --------------------------------------------------------------------- To unsubscribe e-mail: dev-unsubscr...@spark.apache.org