[ 
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)

Reply via email to