This is an automated email from the ASF dual-hosted git repository.
vinoth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 480fc78 [HUDI-319] Add a new maven profile to generate unified
Javadoc for all Java and Scala classes (#1195)
480fc78 is described below
commit 480fc7869d4d69e1219bf278fd9a37f27ac260f6
Author: Y Ethan Guo <[email protected]>
AuthorDate: Wed Jan 8 10:38:10 2020 -0800
[HUDI-319] Add a new maven profile to generate unified Javadoc for all Java
and Scala classes (#1195)
* Add javadoc build command in README, links to javadoc plugin and rename
profile.
* Make java version configurable in one place.
---
README.md | 6 ++
.../org/apache/hudi/IncrementalRelation.scala | 2 +-
pom.xml | 118 ++++++++++++++++++++-
3 files changed, 121 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 179a671..9284bbb 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,12 @@ git clone https://github.com/apache/incubator-hudi.git && cd
incubator-hudi
mvn clean package -DskipTests -DskipITs
```
+To build the Javadoc for all Java and Scala classes:
+```
+# Javadoc generated under target/site/apidocs
+mvn clean javadoc:aggregate -Pjavadocs
+```
+
## Quickstart
Please visit
[https://hudi.apache.org/quickstart.html](https://hudi.apache.org/quickstart.html)
to quickly explore Hudi's capabilities using spark-shell.
diff --git
a/hudi-spark/src/main/scala/org/apache/hudi/IncrementalRelation.scala
b/hudi-spark/src/main/scala/org/apache/hudi/IncrementalRelation.scala
index 394f3cb..f70655b 100644
--- a/hudi-spark/src/main/scala/org/apache/hudi/IncrementalRelation.scala
+++ b/hudi-spark/src/main/scala/org/apache/hudi/IncrementalRelation.scala
@@ -53,7 +53,7 @@ class IncrementalRelation(val sqlContext: SQLContext,
throw new HoodieException("Incremental view not implemented yet, for
merge-on-read tables")
}
// TODO : Figure out a valid HoodieWriteConfig
- val hoodieTable = HoodieTable.getHoodieTable(metaClient,
HoodieWriteConfig.newBuilder().withPath(basePath).build(),
+ private val hoodieTable = HoodieTable.getHoodieTable(metaClient,
HoodieWriteConfig.newBuilder().withPath(basePath).build(),
sqlContext.sparkContext)
val commitTimeline =
hoodieTable.getMetaClient.getCommitTimeline.filterCompletedInstants()
if (commitTimeline.empty()) {
diff --git a/pom.xml b/pom.xml
index 36401fa..f3f51c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,10 @@
<maven-jar-plugin.version>2.6</maven-jar-plugin.version>
<maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
<maven-shade-plugin.version>3.1.1</maven-shade-plugin.version>
+ <maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
+ <genjavadoc-plugin.version>0.15</genjavadoc-plugin.version>
+ <java.version>1.8</java.version>
<fasterxml.version>2.6.7</fasterxml.version>
<glassfish.version>2.17</glassfish.version>
<parquet.version>1.8.1</parquet.version>
@@ -208,8 +211,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.8</source>
- <target>1.8</target>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
</configuration>
</plugin>
<plugin>
@@ -890,7 +893,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
+ <version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
@@ -900,7 +903,7 @@
</execution>
</executions>
<configuration>
- <additionalparam>-Xdoclint:none</additionalparam>
+ <doclint>none</doclint>
</configuration>
</plugin>
<plugin>
@@ -938,6 +941,113 @@
<mr.bundle.avro.shade.prefix>org.apache.hudi.</mr.bundle.avro.shade.prefix>
</properties>
</profile>
+ <profile>
+ <id>javadocs</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
+ <version>${scala-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>doc</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <configuration>
+ <excludes>
+ <exclude>${project.basedir}/src/main/scala</exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <args>
+
<arg>-P:genjavadoc:out=${project.build.directory}/genjavadoc</arg>
+ </args>
+ <compilerPlugins>
+ <compilerPlugin>
+ <groupId>com.typesafe.genjavadoc</groupId>
+ <artifactId>genjavadoc-plugin_${scala.version}</artifactId>
+ <version>${genjavadoc-plugin.version}</version>
+ </compilerPlugin>
+ </compilerPlugins>
+ <excludes>
+ <exclude>**/*.scala</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${project.build.directory}/genjavadoc</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>aggregate</id>
+ <goals>
+ <goal>aggregate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <!-- Turn off the javadoc doclint for now due to incomplete
javadoc in the source
+ <doclint>all,-missing</doclint>
+ -->
+ <doclint>none</doclint>
+ <detectLinks>true</detectLinks>
+ <links>
+
<link>https://avro.apache.org/docs/${avro.version}/api/java</link>
+
<link>https://docs.spring.io/spring-shell/docs/1.2.0.RELEASE</link>
+
<link>https://fasterxml.github.io/jackson-databind/javadoc/2.6</link>
+
<link>https://hadoop.apache.org/docs/r${hadoop.version}/api</link>
+ <link>https://hbase.apache.org/1.2/apidocs</link>
+ <link>https://hive.apache.org/javadocs/r2.3.6/api</link>
+ <link>https://javadoc.io/static/io.javalin/javalin/2.3.0</link>
+
<link>https://javadoc.io/doc/org.apache.parquet/parquet-avro/${parquet.version}</link>
+
<link>https://javadoc.io/static/org.apache.parquet/parquet-hadoop/${parquet.version}</link>
+ <link>https://logging.apache.org/log4j/1.2/apidocs</link>
+ <link>https://metrics.dropwizard.io/4.1.0/apidocs</link>
+
<link>https://spark.apache.org/docs/${spark.version}/api/java</link>
+ </links>
+ <sourceFileExcludes>
+ <!--
+ Exclude the generated java files with the static reference
to
+ the singleton instance of the Scala object, to avoid
redundancy in javadoc
+ -->
+ <exclude>**/*$.java</exclude>
+ </sourceFileExcludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<issueManagement>