You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/03/30 07:18:37 UTC
[hbase] branch branch-2.1 updated: HBASE-22099 Backport HBASE-21895
"Error prone upgrade" to branch-2
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 1d9158c HBASE-22099 Backport HBASE-21895 "Error prone upgrade" to branch-2
1d9158c is described below
commit 1d9158c04abf1f2d38bfafdb804216f8007756a3
Author: zhangduo <zh...@apache.org>
AuthorDate: Thu Mar 28 13:29:27 2019 +0800
HBASE-22099 Backport HBASE-21895 "Error prone upgrade" to branch-2
Signed-off-by: Michael Stack <st...@apache.org>
---
hbase-build-configuration/pom.xml | 65 +++++++++-------
hbase-build-support/hbase-error-prone/pom.xml | 86 ----------------------
.../hadoop/hbase/errorprone/AlwaysPasses.java | 40 ----------
hbase-build-support/pom.xml | 78 --------------------
.../TestMultiTableSnapshotInputFormatImpl.java | 5 ++
.../hadoop/hbase/procedure2/util/DelayedUtil.java | 5 ++
hbase-protocol-shaded/pom.xml | 2 -
.../hbase/client/TestMultipleTimestamps.java | 1 -
pom.xml | 30 +-------
9 files changed, 48 insertions(+), 264 deletions(-)
diff --git a/hbase-build-configuration/pom.xml b/hbase-build-configuration/pom.xml
index 7e6f3ee..459113c 100644
--- a/hbase-build-configuration/pom.xml
+++ b/hbase-build-configuration/pom.xml
@@ -69,6 +69,31 @@
<activation>
<activeByDefault>false</activeByDefault>
</activation>
+ <properties>
+ <!-- https://errorprone.info/docs/installation Maven section has details -->
+ <!-- required when compiling with JDK 8 -->
+ <javac.version>9+181-r4173-1</javac.version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_core</artifactId>
+ <version>${error-prone.version}</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>javac</artifactId>
+ <version>${javac.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
<build>
<plugins>
<!-- Turn on error-prone -->
@@ -76,42 +101,26 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <compilerId>javac-with-errorprone</compilerId>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ <source>${compileSource}</source>
+ <target>${compileSource}</target>
+ <!-- required when compiling with JDK 8 -->
+ <fork>true</fork>
<showWarnings>true</showWarnings>
<compilerArgs>
- <arg>-XepDisableWarningsInGeneratedCode</arg>
- <arg>-Xep:FallThrough:OFF</arg> <!-- already in findbugs -->
- <arg>-Xep:ClassNewInstance:ERROR</arg>
- <arg>-Xep:MissingDefault:ERROR</arg>
+ <arg>-XDcompilePolicy=simple</arg>
+ <!-- All -Xep need to be on single line see: https://github.com/google/error-prone/pull/1115 -->
+ <arg>-Xplugin:ErrorProne -XepDisableWarningsInGeneratedCode -Xep:FallThrough:OFF -Xep:ClassNewInstance:ERROR -Xep:MissingDefault:ERROR</arg>
+ <!-- Required when compiling with JDK 8 -->
+ <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-error-prone</artifactId>
- <version>${project.version}</version>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_core</artifactId>
+ <version>${error-prone.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-compiler-javac-errorprone</artifactId>
- <version>${plexus.errorprone.javac.version}</version>
- </dependency>
- <!-- override plexus-compiler-javac-errorprone's dependency on
- Error Prone with the latest version -->
- <dependency>
- <groupId>com.google.errorprone</groupId>
- <artifactId>error_prone_core</artifactId>
- <version>${error-prone.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-error-prone</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
</plugin>
</plugins>
</build>
diff --git a/hbase-build-support/hbase-error-prone/pom.xml b/hbase-build-support/hbase-error-prone/pom.xml
deleted file mode 100644
index 4d853a6..0000000
--- a/hbase-build-support/hbase-error-prone/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-<!--
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>hbase-build-support</artifactId>
- <groupId>org.apache.hbase</groupId>
- <version>2.1.5-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>hbase-error-prone</artifactId>
- <version>2.1.5-SNAPSHOT</version>
- <name>Apache HBase - Error Prone Rules</name>
- <description>Module to hold error prone custom rules for HBase.</description>
-
- <dependencies>
- <dependency>
- <groupId>com.google.errorprone</groupId>
- <artifactId>error_prone_annotation</artifactId>
- <version>${error-prone.version}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <!--mvn dependency:analyze says this is not used but compile fails
- without it; going w/ the compiler's view of the world-->
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <version>1.0-rc3</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>com.google.errorprone</groupId>
- <artifactId>error_prone_check_api</artifactId>
- <version>${error-prone.version}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.google.errorprone</groupId>
- <artifactId>javac</artifactId>
- <version>9-dev-r4023-3</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <failOnViolation>true</failOnViolation>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/hbase-build-support/hbase-error-prone/src/main/java/org/apache/hadoop/hbase/errorprone/AlwaysPasses.java b/hbase-build-support/hbase-error-prone/src/main/java/org/apache/hadoop/hbase/errorprone/AlwaysPasses.java
deleted file mode 100644
index 9962835..0000000
--- a/hbase-build-support/hbase-error-prone/src/main/java/org/apache/hadoop/hbase/errorprone/AlwaysPasses.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hbase.errorprone;
-
-import com.google.auto.service.AutoService;
-import com.google.errorprone.BugPattern;
-import com.google.errorprone.VisitorState;
-import com.google.errorprone.bugpatterns.BugChecker;
-import com.google.errorprone.matchers.Description;
-import com.sun.source.tree.CompilationUnitTree;
-
-@AutoService(BugChecker.class)
-@BugPattern(name = "AlwaysPasses",
- category = BugPattern.Category.JDK,
- summary = "A placeholder rule that never matches.",
- severity = BugPattern.SeverityLevel.ERROR,
- suppressionAnnotations = {},
- linkType = BugPattern.LinkType.NONE)
-public class AlwaysPasses extends BugChecker implements BugChecker.CompilationUnitTreeMatcher {
- @Override
- public Description matchCompilationUnit(CompilationUnitTree tree, VisitorState state) {
- return Description.NO_MATCH;
- }
-}
diff --git a/hbase-build-support/pom.xml b/hbase-build-support/pom.xml
deleted file mode 100644
index 5185a7e..0000000
--- a/hbase-build-support/pom.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <!--
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>hbase</artifactId>
- <groupId>org.apache.hbase</groupId>
- <version>2.1.5-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
-
- <artifactId>hbase-build-support</artifactId>
- <name>Apache HBase - Build Support</name>
- <description>Parent module for build-support artifacts</description>
-
- <packaging>pom</packaging>
- <properties>
- <!-- Don't make a test-jar -->
- <maven.test.skip>true</maven.test.skip>
- <!-- Don't make a source-jar -->
- <source.skip>true</source.skip>
- <!-- Don't make a site -->
- <maven.site.skip>true</maven.site.skip>
- </properties>
- <modules>
- <module>hbase-error-prone</module>
- </modules>
- <build>
- <pluginManagement>
- <plugins>
- <!-- This entry overrides the excludeFileFilter element in the findbugs
- configuration of the hbase/pom.xml file. This override specifies that
- the excluded-filter-file is found TWO levels up from a grandchild project. -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <configuration>
- <excludeFilterFile>${project.basedir}/../../dev-support/findbugs-exclude.xml</excludeFilterFile>
- </configuration>
- </plugin>
- <plugin>
- <!--Make it so assembly:single does nothing in here-->
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <skipAssembly>true</skipAssembly>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <!--Make it so assembly:single does nothing in here-->
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <skipAssembly>true</skipAssembly>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.java
index 685e519..9fec1b5 100644
--- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.java
+++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.java
@@ -134,6 +134,11 @@ public class TestMultiTableSnapshotInputFormatImpl {
}
@Override
+ public int hashCode() {
+ return Objects.hash(startRow, stopRow);
+ }
+
+ @Override
public String toString() {
return org.apache.hbase.thirdparty.com.google.common.base.MoreObjects.
toStringHelper(this).add("startRow", startRow)
diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java
index 009f421..471e056 100644
--- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java
+++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java
@@ -65,6 +65,11 @@ public final class DelayedUtil {
}
@Override
+ public int hashCode() {
+ return Objects.hash(this);
+ }
+
+ @Override
public String toString() {
return getClass().getSimpleName() + "(POISON)";
}
diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml
index 8f7b8f1..fb053f9 100644
--- a/hbase-protocol-shaded/pom.xml
+++ b/hbase-protocol-shaded/pom.xml
@@ -167,10 +167,8 @@
<exclude>org.apache.hbase.thirdparty:*</exclude>
<exclude>com.google.protobuf:protobuf-java</exclude>
<exclude>com.google.code.findbugs:*</exclude>
- <exclude>com.google.errorprone:error_prone_annotations</exclude>
<exclude>com.google.j2objc:j2objc-annotations</exclude>
<exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
- <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
<exclude>junit:junit</exclude>
<exclude>log4j:log4j</exclude>
<exclude>commons-logging:commons-logging</exclude>
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java
index ac6b9d1..116aa9b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java
@@ -448,7 +448,6 @@ public class TestMultipleTimestamps {
Integer[] rowIndexes, Integer[] columnIndexes,
Long[] versions, int maxVersions)
throws IOException {
- Arrays.asList(rowIndexes);
byte startRow[] = Bytes.toBytes("row:" +
Collections.min( Arrays.asList(rowIndexes)));
byte endRow[] = Bytes.toBytes("row:" +
diff --git a/pom.xml b/pom.xml
index 7034187..bd10d5c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,6 @@
</licenses>
<modules>
- <module>hbase-build-support</module>
<module>hbase-build-configuration</module>
<module>hbase-replication</module>
<module>hbase-mapreduce</module>
@@ -1431,7 +1430,7 @@
<buildnumber.maven.version>1.4</buildnumber.maven.version>
<checkstyle.version>8.11</checkstyle.version>
<exec.maven.version>1.6.0</exec.maven.version>
- <error-prone.version>2.2.0</error-prone.version>
+ <error-prone.version>2.3.3</error-prone.version>
<findbugs-annotations>1.3.9-1</findbugs-annotations>
<findbugs.maven.version>3.0.4</findbugs.maven.version>
<jamon.plugin.version>2.4.2</jamon.plugin.version>
@@ -1442,7 +1441,6 @@
<maven.eclipse.version>2.10</maven.eclipse.version>
<maven.warbucks.version>1.1.0</maven.warbucks.version>
<os.maven.version>1.5.0.Final</os.maven.version>
- <plexus.errorprone.javac.version>2.8.2</plexus.errorprone.javac.version>
<spotbugs.version>3.1.11</spotbugs.version>
<wagon.ssh.version>2.12</wagon.ssh.version>
<xml.maven.version>1.0.1</xml.maven.version>
@@ -3471,32 +3469,6 @@
</build>
</profile>
<profile>
- <id>errorProne</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <!-- Turn on error-prone -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <compilerId>javac-with-errorprone</compilerId>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-compiler-javac-errorprone</artifactId>
- <version>2.5</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
<!-- Used by the website generation script on jenkins to
do a local install of the jars we need to run a normal
site build w/o forking.