HBASE-16321 ensure no findbugs-jsr305 Signed-off-by: Esteban Gutierrez <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/60b79e2d Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/60b79e2d Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/60b79e2d Branch: refs/heads/master Commit: 60b79e2daa41927f5a2e00b78cca855f05048f0a Parents: 4b3e45f Author: Sean Busbey <[email protected]> Authored: Tue Aug 2 01:17:59 2016 -0500 Committer: Sean Busbey <[email protected]> Committed: Fri Aug 5 10:16:29 2016 -0500 ---------------------------------------------------------------------- hbase-client/pom.xml | 8 +- .../apache/hadoop/hbase/MetaTableAccessor.java | 10 +-- .../hbase/client/ConnectionImplementation.java | 2 +- .../hbase/protobuf/ResponseConverter.java | 2 +- .../apache/hadoop/hbase/codec/BaseDecoder.java | 5 +- hbase-rsgroup/pom.xml | 12 +-- hbase-server/pom.xml | 4 +- .../hbase/coprocessor/ObserverContext.java | 3 +- .../hadoop/hbase/master/LoadBalancer.java | 2 +- .../hadoop/hbase/master/TableStateManager.java | 6 +- .../hadoop/hbase/util/FSTableDescriptors.java | 2 +- .../hadoop/hbase/HBaseTestingUtility.java | 3 +- .../hbase/client/TestMetaWithReplicas.java | 5 +- .../TestMultiTableSnapshotInputFormat.java | 2 +- hbase-spark/pom.xml | 39 +++++++++ pom.xml | 87 ++++++++++++++------ src/main/asciidoc/_chapters/developer.adoc | 4 +- 17 files changed, 133 insertions(+), 63 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-client/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml index 7fc4672..b78f198 100644 --- a/hbase-client/pom.xml +++ b/hbase-client/pom.xml @@ -247,8 +247,8 @@ </activation> <dependencies> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> + <groupId>com.github.stephenc.findbugs</groupId> + <artifactId>findbugs-annotations</artifactId> <optional>true</optional> </dependency> <dependency> @@ -260,10 +260,6 @@ <artifactId>hadoop-common</artifactId> <exclusions> <exclusion> - <groupId>com.github.stephenc.findbugs</groupId> - <artifactId>findbugs-annotations</artifactId> - </exclusion> - <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java index 3d40c70..a5dbc94 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java @@ -17,8 +17,6 @@ */ package org.apache.hadoop.hbase; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.io.Closeable; import java.io.IOException; import java.io.InterruptedIOException; @@ -34,6 +32,8 @@ import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; +import edu.umd.cs.findbugs.annotations.NonNull; +import edu.umd.cs.findbugs.annotations.Nullable; import com.google.common.annotations.VisibleForTesting; import com.google.protobuf.ServiceException; import org.apache.commons.logging.Log; @@ -795,10 +795,10 @@ public class MetaTableAccessor { * @return Get closest metatable region row to passed <code>row</code> * @throws java.io.IOException */ - @Nonnull + @NonNull public static HRegionInfo getClosestRegionInfo(Connection connection, - @Nonnull final TableName tableName, - @Nonnull final byte[] row) + @NonNull final TableName tableName, + @NonNull final byte[] row) throws IOException { byte[] searchRow = HRegionInfo.createRegionName(tableName, row, HConstants.NINES, false); Scan scan = getMetaScan(connection, 1); http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java index bb5c996..8dcda13 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java @@ -43,7 +43,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nullable; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java index 421907d..76b4ccf 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java @@ -17,13 +17,13 @@ */ package org.apache.hadoop.hbase.protobuf; -import javax.annotation.Nullable; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.Cell; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java ---------------------------------------------------------------------- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java index 86f8678..485b88a 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java @@ -22,8 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.PushbackInputStream; -import javax.annotation.Nonnull; - +import edu.umd.cs.findbugs.annotations.NonNull; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.Cell; @@ -99,7 +98,7 @@ public abstract class BaseDecoder implements Codec.Decoder { * thrown if EOF is reached prematurely. Does not return null. * @throws IOException */ - @Nonnull + @NonNull protected abstract Cell parseCell() throws IOException; @Override http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-rsgroup/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-rsgroup/pom.xml b/hbase-rsgroup/pom.xml index aff49b7..d216263 100644 --- a/hbase-rsgroup/pom.xml +++ b/hbase-rsgroup/pom.xml @@ -259,8 +259,8 @@ </activation> <dependencies> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> + <groupId>com.github.stephenc.findbugs</groupId> + <artifactId>findbugs-annotations</artifactId> <optional>true</optional> </dependency> <dependency> @@ -272,10 +272,6 @@ <artifactId>hadoop-common</artifactId> <exclusions> <exclusion> - <groupId>com.github.stephenc.findbugs</groupId> - <artifactId>findbugs-annotations</artifactId> - </exclusion> - <exclusion> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> </exclusion> @@ -311,6 +307,10 @@ <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index ff001b7..6cf1bb6 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -430,8 +430,8 @@ </dependency> <!-- General dependencies --> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> + <groupId>com.github.stephenc.findbugs</groupId> + <artifactId>findbugs-annotations</artifactId> <optional>true</optional> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java index d522ce9..52f2b95 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.coprocessor; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.classification.InterfaceStability; import org.apache.hadoop.hbase.CoprocessorEnvironment; @@ -26,8 +27,6 @@ import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ipc.RpcServer; import org.apache.hadoop.hbase.security.User; -import javax.annotation.Nullable; - /** * Carries the execution state for a given invocation of an Observer coprocessor * ({@link RegionObserver}, {@link MasterObserver}, or {@link WALObserver}) http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java index 5d6be9e..d7111c3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java @@ -18,10 +18,10 @@ */ package org.apache.hadoop.hbase.master; -import javax.annotation.Nullable; import java.util.List; import java.util.Map; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.conf.ConfigurationObserver; import org.apache.hadoop.conf.Configurable; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java index cc257d0..1499788 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java @@ -17,8 +17,6 @@ */ package org.apache.hadoop.hbase.master; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -27,6 +25,8 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import com.google.common.collect.Sets; +import edu.umd.cs.findbugs.annotations.NonNull; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.HTableDescriptor; @@ -167,7 +167,7 @@ public class TableStateManager { return rv; } - @Nonnull + @NonNull public TableState.State getTableState(TableName tableName) throws IOException { TableState currentState = readMetaState(tableName); if (currentState == null) { http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java index d0aeb6c..1c59a44 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hbase.util; -import javax.annotation.Nullable; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Comparator; @@ -30,6 +29,7 @@ import java.util.regex.Pattern; import com.google.common.annotations.VisibleForTesting; import com.google.common.primitives.Ints; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.lang.NotImplementedException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index a6dc59f..04afb01 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -47,8 +47,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nullable; - +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java index 8e87ceb..73e5abb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java @@ -29,8 +29,7 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutorService; -import javax.annotation.Nullable; - +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -459,4 +458,4 @@ public class TestMetaWithReplicas { hbck = doFsck(TEST_UTIL.getConfiguration(), false); assertErrors(hbck, new ERROR_CODE[]{}); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java index 6285ca1..19e7a18 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java @@ -21,6 +21,7 @@ package org.apache.hadoop.hbase.mapreduce; import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Multimaps; +import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Scan; @@ -35,7 +36,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.experimental.categories.Category; -import javax.annotation.Nullable; import java.io.IOException; import java.util.Collection; import java.util.List; http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/hbase-spark/pom.xml ---------------------------------------------------------------------- diff --git a/hbase-spark/pom.xml b/hbase-spark/pom.xml index 89ed186..842ff21 100644 --- a/hbase-spark/pom.xml +++ b/hbase-spark/pom.xml @@ -62,6 +62,10 @@ <version>${scala.version}</version> <scope>provided</scope> </dependency> + <!-- we exclude jsr305 below and then expressly relist it as + provided / optional to avoid dependency resolution possibly + bringing it back into runtime scope. + --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_${scala.binary.version}</artifactId> @@ -78,9 +82,20 @@ <groupId>org.scala-lang</groupId> <artifactId>scalap</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> <dependency> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + <version>1.3.9</version> + <scope>provided</scope> + <optional>true</optional> + </dependency> + <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_${scala.binary.version}</artifactId> <version>${spark.version}</version> @@ -181,6 +196,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> @@ -215,6 +234,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> @@ -646,6 +669,22 @@ </execution> </executions> </plugin> + <!-- purposefully have jsr 305 exclusion only warn in this module --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <executions> + <execution> + <id>banned-jsr305</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <fail>false</fail> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b116ae4..c4f1b05 100644 --- a/pom.xml +++ b/pom.xml @@ -931,36 +931,52 @@ </dependency> </dependencies> <!-- version set by parent --> - <configuration> - <rules> - <!-- The earliest maven version we verify builds for via ASF Jenkins --> - <requireMavenVersion> - <version>[${maven.min.version},)</version> - <message>Maven is out of date. + <executions> + <execution> + <id>min-maven-and-java</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <rules> + <!-- The earliest maven version we verify builds for via ASF Jenkins --> + <requireMavenVersion> + <version>[${maven.min.version},)</version> + <message>Maven is out of date. HBase requires at least version ${maven.min.version} of Maven to properly build from source. You appear to be using an older version. You can use either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. See the reference guide on building for more information: http://hbase.apache.org/book.html#build - </message> - </requireMavenVersion> - <!-- The earliest JVM version we verify builds for via ASF Jenkins --> - <requireJavaVersion> - <version>[${java.min.version},)</version> - <message>Java is out of date. + </message> + </requireMavenVersion> + <!-- The earliest JVM version we verify builds for via ASF Jenkins --> + <requireJavaVersion> + <version>[${java.min.version},)</version> + <message>Java is out of date. HBase requirs at least version ${java.min.version} of the JDK to properly build from source. You appear to be using an older version. You can use either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. See the reference guide on building for more information: http://hbase.apache.org/book.html#build - </message> - </requireJavaVersion> - </rules> - </configuration> - <executions> + </message> + </requireJavaVersion> + </rules> + </configuration> + </execution> <execution> - <id>enforce</id> + <id>banned-jsr305</id> <goals> <goal>enforce</goal> </goals> + <configuration> + <rules> + <bannedDependencies> + <excludes> + <exclude>com.google.code.findbugs:jsr305</exclude> + </excludes> + <message>We don't allow the JSR305 jar from the Findbugs project, see HBASE-16321.</message> + </bannedDependencies> + </rules> + </configuration> </execution> </executions> </plugin> @@ -1257,7 +1273,6 @@ <httpcore.version>4.4.4</httpcore.version> <metrics-core.version>3.1.2</metrics-core.version> <guava.version>12.0.1</guava.version> - <jsr305.version>1.3.9</jsr305.version> <jackson.version>1.9.13</jackson.version> <jasper.version>5.5.23</jasper.version> <jaxb-api.version>2.2.2</jaxb-api.version> @@ -1508,6 +1523,12 @@ </dependency> <!-- General dependencies --> <dependency> + <groupId>com.github.stephenc.findbugs</groupId> + <artifactId>findbugs-annotations</artifactId> + <version>${findbugs-annotations}</version> + </dependency> + <!-- General dependencies --> + <dependency> <groupId>org.codehaus.jettison</groupId> <artifactId>jettison</artifactId> <version>${jettison.version}</version> @@ -1533,11 +1554,12 @@ <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> - </dependency> - <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - <version>${jsr305.version}</version> + <exclusions> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>commons-collections</groupId> @@ -1853,7 +1875,6 @@ <dependency> <groupId>com.github.stephenc.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> - <version>${findbugs-annotations}</version> <scope>compile</scope> </dependency> <dependency> @@ -2213,6 +2234,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> <dependency> @@ -2247,6 +2272,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> <dependency> @@ -2387,6 +2416,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> <dependency> @@ -2426,6 +2459,10 @@ <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> </exclusions> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/hbase/blob/60b79e2d/src/main/asciidoc/_chapters/developer.adoc ---------------------------------------------------------------------- diff --git a/src/main/asciidoc/_chapters/developer.adoc b/src/main/asciidoc/_chapters/developer.adoc index 56aa557..0a29864 100644 --- a/src/main/asciidoc/_chapters/developer.adoc +++ b/src/main/asciidoc/_chapters/developer.adoc @@ -1591,7 +1591,9 @@ value="HE_EQUALS_USE_HASHCODE", justification="I know what I'm doing") ---- -It is important to use the Apache-licensed version of the annotations. +It is important to use the Apache-licensed version of the annotations. That generally means using +annotations in the `edu.umd.cs.findbugs.annotations` package so that we can rely on the cleanroom +reimplementation rather than annotations in the `javax.annotations` package. [[common.patch.feedback.javadoc.defaults]] ===== Javadoc - Useless Defaults
