You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2016/03/22 16:12:25 UTC

[jira] [Comment Edited] (LUCENE-7129) Prevent @lucene.internal annotated classes from being in Javadocs

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

Uwe Schindler edited comment on LUCENE-7129 at 3/22/16 3:11 PM:
----------------------------------------------------------------

There are two ways to do this:

- Quick'n'dirty: We have to change our filesets (for sources parameter) before invoking the javadocs macro. As Javadocs processes all java files one by one, we may use a fileset instead of the generic packageset element inside the javadoc, excluding those java files we don't want to have. The fileset with tha java files we pass to javadoc would just need  to filter on the contents (file contains "@lucene.internal" as an additional [selector|https://ant.apache.org/manual/Types/selectors.html] in the fileset defintion). Of course this slows down a bit, because Ant has to read all files while building the fileset.

- More sophisticated: Use our own Doclet that delegates everything to standard doclet, but handles the tags we want to eclude. Somebody coded this; we could add to our tools folder: http://sixlegs.com/blog/java/exclude-javadoc-tag.html (maybe its somewehere in Maven). The issue with doclets is the API hell with interfaces, but this guy has a good way around that (he dynamically creates a proxy for every interface and uses it to delegate).


was (Author: thetaphi):
There are two ways to do this:

- Quick'n'dirty: We have to change our filesets (for sources parameter) before invoking the javadocs macro. As Javadocs processes all java files one by one, we may use a fileset instead of the generic packageset element iside the javadoc, excluding those class files we don't want to have. The fileset with tha java files we pass to javadoc would just need  to filter on the contents (file contains "@lucene.internal" as an additional [selector|https://ant.apache.org/manual/Types/selectors.html] in the fileset defintion). Of course this slows down a bit, because Ant has to read all files while building the fileset.

- More sophisticated: Use our own Doclet that delegates everything to standard doclet, but handles the tags we want to eclude. Somebody coded this; we could add to our tools folder: http://sixlegs.com/blog/java/exclude-javadoc-tag.html (maybe its somewehere in Maven). The issue with doclets is the API hell with interfaces, but this guy has a good way around that (he dynamically creates a proxy for every interface and uses it to delegate).

> Prevent @lucene.internal annotated classes from being in Javadocs
> -----------------------------------------------------------------
>
>                 Key: LUCENE-7129
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7129
>             Project: Lucene - Core
>          Issue Type: Task
>          Components: general/javadocs
>            Reporter: David Smiley
>            Priority: Minor
>
> It would be cool if we could prevent {{@lucene.internal}} classes from appearing in Javadocs we publish.  This would further discourage use of internal Lucene/Solr classes that are public not for public consumption but only  public so that the code can be accessed across Lucene/Solr's packages.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org