hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yi Liang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17766) Generate Javadoc for hbase-spark module
Date Thu, 23 Mar 2017 00:32:41 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15937456#comment-15937456

Yi Liang commented on HBASE-17766:

 [~busbey] [~stack][~jerryhe] [~tedyu@apache.org]
After spending quite some time doing research and experiment, I found there are some limitations
for showing up javadoc for hbase-spark scala code.

>From http://hbase.apache.org,  We have 4 sets of javadoc for hbase
(1) User API: http://hbase.apache.org/apidocs/index.html
(2) User API(TEST): http://hbase.apache.org/testapidocs/index.html
(3) Developer API: http://hbase.apache.org/devapidocs/index.html
(4) Developer API(TEST): http://hbase.apache.org/testdevapidocs/index.html

And each website above is corresponding to a <reportSet> in root pom. I am trying to
add hbase-spark javadoc into one reportSet above, but it seems does not work. As I introduced
in above comments, I use a plugin to generate java code for scala code and output it in ../hbase-spark/target/genjavadoc,
and then use the maven-javadoc-plugin to generted javadoc for the java code. 

The limitations are:
I can not add ../hbase-spark/target/genjavadoc as a extra source path for one of  the reportSets,
for the following reasons: 
(1) there is no extra-sourcepath configuration parameter for javadoc; there is one parameter
called sourcepath, if you do not specify it, Javadoc tool searches for classes and corresponding
source file from the current directory. and if you specify it, you need to list all needed
sourcepathes.  And in our hbase root pom, we do not  specify it, if I specify it, i need to
specify all the paths and also exclude all the unnecessary source file, which are too many
troubles. See one error below about not exclude some unnecessary source file
[ERROR] /root/git/os/new-hbase/./hbase-archetypes/hbase-shaded-client-project/target/build-archetype/target/generated-sources/archetype/target/classes/archetype-resources/src/test/java/TestHelloHBase.java:1:
error: illegal character: '#'
[ERROR] #set( $symbol_pound = '#' )
(2) If I add ../hbase-spark/target/genjavadoc as source file for some <reportSet> above,
the mvn site command will report errors about the hbase-annotation doclet in javadoc.  See
error below
[ERROR] Exit code: 1 - /root/git/os/new-hbase/hbase-spark/target/genjavadoc/org/apache/spark/sql/datasources/hbase/Field.java:16:
error: illegal combination of modifiers: abstract and static

Here I can only come up with one workaround
1. Create a new <reportSet> called HBase-Spark API: http://hbase.apache.org/hbase-spark-api/index.html
2. In the current User API Website, in the hbase-spark package, we can attach a link to http://hbase.apache.org/hbase-spark-api/index.html,
see screenshot attached. 

I want to see if this is ok and also like to hear any other better idea or solution.

> Generate Javadoc for hbase-spark module 
> ----------------------------------------
>                 Key: HBASE-17766
>                 URL: https://issues.apache.org/jira/browse/HBASE-17766
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Yi Liang
>            Assignee: Yi Liang
>             Fix For: 2.0.0
>         Attachments: spark-api.jpg, user-api.jpg
>  Scala classes in hbase-spark module aren't showing up in our API docs nor our internal
API docs. see https://hbase.apache.org/apidocs/ 

This message was sent by Atlassian JIRA

View raw message