[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.
This commit is contained in:
committed by
vinoth chandar
parent
aba83876e7
commit
480fc7869d
@@ -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.
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
118
pom.xml
118
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>
|
||||
|
||||
Reference in New Issue
Block a user