[ https://issues.apache.org/jira/browse/HBASE-18304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16103391#comment-16103391 ]
Tamas Penzes commented on HBASE-18304: -------------------------------------- Hi, I've added the RequireUpperBoundDeps enforcer plugin to the project which immediately complained about the use of old version of com.google.protobuf:protobuf-java. {code} [INFO] --- maven-enforcer-plugin:1.4.1:enforce (require-upper-bound-deps) @ hbase-procedure --- [WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message: Failed while enforcing RequireUpperBoundDeps. The error(s) are [ Require upper bound dependencies error for com.google.protobuf:protobuf-java:2.5.0 paths to dependency are: +-org.apache.hbase:hbase-procedure:3.0.0-SNAPSHOT +-org.apache.hbase:hbase-common:3.0.0-SNAPSHOT +-com.google.protobuf:protobuf-java:2.5.0 and +-org.apache.hbase:hbase-procedure:3.0.0-SNAPSHOT +-org.apache.hbase:hbase-protocol-shaded:3.0.0-SNAPSHOT +-com.google.protobuf:protobuf-java:2.5.0 (managed) <-- com.google.protobuf:protobuf-java:3.2.0 and +-org.apache.hbase:hbase-procedure:3.0.0-SNAPSHOT +-org.apache.hbase:hbase-common:3.0.0-SNAPSHOT +-com.google.protobuf:protobuf-java:2.5.0 (managed) <-- com.google.protobuf:protobuf-java:3.2.0 and +-org.apache.hbase:hbase-procedure:3.0.0-SNAPSHOT +-org.apache.hadoop:hadoop-common:2.7.1 +-com.google.protobuf:protobuf-java:2.5.0 (managed) <-- com.google.protobuf:protobuf-java:3.2.0 {code} >From the main pom.xml I've already seen that it won't be simple: {code} <!--Internally we use a different version of protobuf. See hbase-protocol-shaded--> <external.protobuf.version>2.5.0</external.protobuf.version> {code} Okay, but let's try to update it to 3.2.0 agains the comment, let's see what happens (it can show the cause of the comment): {code} INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ hbase-protocol --- [INFO] Compiling 31 source files to /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/target/classes [INFO] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java: Some input files use or override a deprecated API. [INFO] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java: Recompile with -Xlint:deprecation for details. [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java:[30,52] cannot find symbol symbol: class LiteralByteString [ERROR] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java:[44,16] cannot find symbol symbol: class LiteralByteString location: class com.google.protobuf.HBaseZeroCopyByteString [ERROR] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java:[55,16] cannot find symbol symbol: class BoundedByteString location: class com.google.protobuf.HBaseZeroCopyByteString [ERROR] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java:[68,24] cannot find symbol symbol: class LiteralByteString location: class com.google.protobuf.HBaseZeroCopyByteString [ERROR] /Users/tamaspenzes/projects/hbase-apache/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java:[69,16] cannot find symbol symbol: class LiteralByteString location: class com.google.protobuf.HBaseZeroCopyByteString [INFO] 5 errors {code} Only five errors, because the build died after the first failed subproject. These classes (LiteralByteString and BoundedByteString) became private inner classes of ByteString recently. (I guess with version 3.0) But there might be other changes in the API too. Should I create a separate ticket for updating ProtoBuf which we use all over the code? I could set it as a dependency for this ticket. Thank, Tamaas > Start enforcing upperbounds on dependencies > ------------------------------------------- > > Key: HBASE-18304 > URL: https://issues.apache.org/jira/browse/HBASE-18304 > Project: HBase > Issue Type: Task > Components: build, dependencies > Affects Versions: 2.0.0 > Reporter: Sean Busbey > Assignee: Tamas Penzes > Labels: beginner > Fix For: 2.0.0 > > > would be nice to get this going before our next major version. > http://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html -- This message was sent by Atlassian JIRA (v6.4.14#64029)