[
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] [[email protected]]
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
{noformat}
[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 = '#' )
{noformat}
(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
{noformat}
[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
{noformat}
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
(v6.3.15#6346)