[
https://issues.apache.org/jira/browse/HBASE-22222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16816813#comment-16816813
]
stack commented on HBASE-22222:
-------------------------------
If I add this 'extra dependency' to user api javadoc generation, mvn site works:
{code}
diff --git a/pom.xml b/pom.xml
index ba0e14c84f..eb4ca5392b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1576,7 +1576,7 @@
<spotbugs.version>3.1.11</spotbugs.version>
<wagon.ssh.version>2.12</wagon.ssh.version>
<xml.maven.version>1.0.1</xml.maven.version>
- <hbase-thirdparty.version>2.2.0</hbase-thirdparty.version>
+ <hbase-thirdparty.version>2.2.1-SNAPSHOT</hbase-thirdparty.version>
<!-- Intraproject jar naming properties -->
<!-- TODO this is pretty ugly, but works for the moment.
Modules are pretty heavy-weight things, so doing this work isn't too
bad. -->
@@ -3827,6 +3827,11 @@
<artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version>
</additionalDependency>
+ <additionalDependency>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ <version>${error-prone.version}</version>
+ </additionalDependency>
</additionalDependencies>
<inherited>false</inherited>
</configuration>
{code}
So, protobuf-util, a jar apart from protobuf, uses error prone annotations. In
third-party build, we shade using com.google pattern so the error prone gets
shaded. Seemingly the addition of the Immutable annotation to protobuf-util is
new since our previous thirdparty release (I didn't check). When we go to build
user javadoc api, we're trying to load the protobuf-util and missing the error
prone annotation -- it is explicitly not included.
There is a mechanism in shading where you can exclude classes from shading.
We've used this already for an error prone annotation that got in our way in
the past.
So, can build a new thirdparty -- 2.2.1 w/ the excluded of Immutable -- and
clean up the above change adding doc on why the cryptic dependency addition or
perhaps there is a way to ask javadoc plugin to exclude protobuf-util howerver
it is being loaded.
> Site build fails after hbase-thirdparty upgrade
> -----------------------------------------------
>
> Key: HBASE-22222
> URL: https://issues.apache.org/jira/browse/HBASE-22222
> Project: HBase
> Issue Type: Bug
> Components: website
> Affects Versions: 3.0.0, 2.2.0
> Reporter: Peter Somogyi
> Assignee: Peter Somogyi
> Priority: Critical
> Fix For: 3.0.0
>
>
> After hbase-thirdparty upgrade the hbase_generate_website job is failing in
> mvn site target on javadoc.
>
> {noformat}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site) on
> project hbase: Error generating maven-javadoc-plugin:3.0.1:aggregate report:
> [ERROR] Exit code: 1 -
> /home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java:1034:
> warning - Tag @link: can't find tagsIterator(Cell) in
> org.apache.hadoop.hbase.CellUtil
> [ERROR] javadoc: error - class file for
> org.apache.hbase.thirdparty.com.google.errorprone.annotations.Immutable not
> found{noformat}
> After reverting thirdparty upgrade locally the site build passed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)