diff --git a/BUILDING.txt b/BUILDING.txt
index bf1172b0fc2..85dfd917c7a 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -109,7 +109,7 @@ Maven build goals:
* Compile : mvn compile [-Pnative]
* Run tests : mvn test [-Pnative]
* Create JAR : mvn package
- * Run findbugs : mvn compile findbugs:findbugs
+ * Run spotbugs : mvn compile spotbugs:spotbugs
* Run checkstyle : mvn compile checkstyle:checkstyle
* Install JAR in M2 cache : mvn install
* Deploy JAR to Maven repo : mvn deploy
diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index ce861a36303..5f2e57f1477 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -121,11 +121,11 @@ pipeline {
YETUS_ARGS+=("--proclimit=5500")
YETUS_ARGS+=("--dockermemlimit=22g")
- # -1 findbugs issues that show up prior to the patch being applied
- YETUS_ARGS+=("--findbugs-strict-precheck")
+ # -1 spotbugs issues that show up prior to the patch being applied
+ YETUS_ARGS+=("--spotbugs-strict-precheck")
# rsync these files back into the archive dir
- YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,findbugsXml.xml")
+ YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,spotbugsXml.xml")
# URL for user-side presentation in reports and such to our artifacts
# (needs to match the archive bits below)
diff --git a/dev-support/bin/hadoop.sh b/dev-support/bin/hadoop.sh
index 3343014aae8..beebea8c97f 100755
--- a/dev-support/bin/hadoop.sh
+++ b/dev-support/bin/hadoop.sh
@@ -482,7 +482,7 @@ function personality_file_tests
fi
if [[ ${filename} =~ \.java$ ]]; then
- add_test findbugs
+ add_test spotbugs
fi
}
@@ -550,7 +550,7 @@ function shadedclient_rebuild
echo_and_redirect "${logfile}" \
"${MAVEN}" "${MAVEN_ARGS[@]}" verify -fae --batch-mode -am \
"${modules[@]}" \
- -Dtest=NoUnitTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dfindbugs.skip=true
+ -Dtest=NoUnitTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dspotbugs.skip=true
count=$("${GREP}" -c '\[ERROR\]' "${logfile}")
if [[ ${count} -gt 0 ]]; then
diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile
index 10dd45edad7..ad314376262 100644
--- a/dev-support/docker/Dockerfile
+++ b/dev-support/docker/Dockerfile
@@ -147,15 +147,15 @@ RUN apt-get -q update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
-######
-# Install findbugs 3.0.1 (3.0.1 ships with Xenial)
-######
-# hadolint ignore=DL3008
-RUN apt-get -q update \
- && apt-get -q install -y --no-install-recommends findbugs \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-ENV FINDBUGS_HOME /usr
+#######
+# Install SpotBugs 4.2.2
+#######
+RUN mkdir -p /opt/spotbugs \
+ && curl -L -s -S https://github.com/spotbugs/spotbugs/releases/download/4.2.2/spotbugs-4.2.2.tgz \
+ -o /opt/spotbugs.tgz \
+ && tar xzf /opt/spotbugs.tgz --strip-components 1 -C /opt/spotbugs \
+ && chmod +x /opt/spotbugs/bin/*
+ENV SPOTBUGS_HOME /opt/spotbugs
####
# Install shellcheck (0.4.6, the latest as of 2017-09-26)
diff --git a/hadoop-common-project/hadoop-auth/pom.xml b/hadoop-common-project/hadoop-auth/pom.xml
index 967fa583f7c..ca082f25213 100644
--- a/hadoop-common-project/hadoop-auth/pom.xml
+++ b/hadoop-common-project/hadoop-auth/pom.xml
@@ -223,8 +223,8 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
diff --git a/hadoop-common-project/hadoop-kms/pom.xml b/hadoop-common-project/hadoop-kms/pom.xml
index 04564d9988a..45bc8d36982 100644
--- a/hadoop-common-project/hadoop-kms/pom.xml
+++ b/hadoop-common-project/hadoop-kms/pom.xml
@@ -287,8 +287,8 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
diff --git a/hadoop-common-project/hadoop-nfs/pom.xml b/hadoop-common-project/hadoop-nfs/pom.xml
index cccddf5cff0..56f6ddb5506 100644
--- a/hadoop-common-project/hadoop-nfs/pom.xml
+++ b/hadoop-common-project/hadoop-nfs/pom.xml
@@ -101,8 +101,8 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
index 1843213665b..2797ad3988d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
@@ -384,8 +384,8 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/pom.xml b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/pom.xml
index 0dfe71005fb..b512ce592d8 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/contrib/bkjournal/pom.xml
@@ -123,8 +123,8 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml b/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
index 2e35d5d1811..f4a7c99fb73 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
@@ -158,10 +158,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${mr.basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml b/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
index 33b9340e996..a8003d8df04 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
@@ -135,10 +135,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${mr.examples.basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-mapreduce-project/pom.xml b/hadoop-mapreduce-project/pom.xml
index 7c296be6e07..f0129e6951e 100644
--- a/hadoop-mapreduce-project/pom.xml
+++ b/hadoop-mapreduce-project/pom.xml
@@ -179,10 +179,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${mr.basedir}/dev-support/findbugs-exclude.xml
Max
@@ -272,12 +271,10 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- 2.3.2
- true
true
diff --git a/hadoop-project-dist/pom.xml b/hadoop-project-dist/pom.xml
index a9feab557d7..1a3131f95a8 100644
--- a/hadoop-project-dist/pom.xml
+++ b/hadoop-project-dist/pom.xml
@@ -89,11 +89,10 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
${basedir}/dev-support/findbugsExcludeFile.xml
- true
2048
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index a25f2bcfab2..f1266505135 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -1377,11 +1377,6 @@
maven-war-plugin
${maven-war-plugin.version}
-
- org.codehaus.mojo
- findbugs-maven-plugin
- ${findbugs.version}
-
org.codehaus.mojo
native-maven-plugin
@@ -1486,10 +1481,6 @@
-
- org.codehaus.mojo
- findbugs-maven-plugin
-
org.apache.maven.plugins
maven-remote-resources-plugin
diff --git a/hadoop-tools/hadoop-aliyun/pom.xml b/hadoop-tools/hadoop-aliyun/pom.xml
index 1e42fb1dded..aefcb37b2f1 100644
--- a/hadoop-tools/hadoop-aliyun/pom.xml
+++ b/hadoop-tools/hadoop-aliyun/pom.xml
@@ -58,10 +58,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-archive-logs/pom.xml b/hadoop-tools/hadoop-archive-logs/pom.xml
index dd2b91e5496..1830d9c0fed 100644
--- a/hadoop-tools/hadoop-archive-logs/pom.xml
+++ b/hadoop-tools/hadoop-archive-logs/pom.xml
@@ -173,10 +173,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-aws/pom.xml b/hadoop-tools/hadoop-aws/pom.xml
index 5152a6b389b..f6571750628 100644
--- a/hadoop-tools/hadoop-aws/pom.xml
+++ b/hadoop-tools/hadoop-aws/pom.xml
@@ -324,10 +324,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-azure/pom.xml b/hadoop-tools/hadoop-azure/pom.xml
index 51300f0d812..a80f50289a1 100644
--- a/hadoop-tools/hadoop-azure/pom.xml
+++ b/hadoop-tools/hadoop-azure/pom.xml
@@ -50,10 +50,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-datajoin/pom.xml b/hadoop-tools/hadoop-datajoin/pom.xml
index b67eb2bd85c..0abec903b71 100644
--- a/hadoop-tools/hadoop-datajoin/pom.xml
+++ b/hadoop-tools/hadoop-datajoin/pom.xml
@@ -109,10 +109,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-gridmix/pom.xml b/hadoop-tools/hadoop-gridmix/pom.xml
index a755806384c..bdac2ff809b 100644
--- a/hadoop-tools/hadoop-gridmix/pom.xml
+++ b/hadoop-tools/hadoop-gridmix/pom.xml
@@ -114,10 +114,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-tools/hadoop-openstack/pom.xml b/hadoop-tools/hadoop-openstack/pom.xml
index fc89362ea76..062a2e52149 100644
--- a/hadoop-tools/hadoop-openstack/pom.xml
+++ b/hadoop-tools/hadoop-openstack/pom.xml
@@ -66,10 +66,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
diff --git a/hadoop-tools/hadoop-rumen/pom.xml b/hadoop-tools/hadoop-rumen/pom.xml
index cdeeabfd621..6930d1e40fe 100644
--- a/hadoop-tools/hadoop-rumen/pom.xml
+++ b/hadoop-tools/hadoop-rumen/pom.xml
@@ -99,10 +99,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-tools/hadoop-sls/pom.xml b/hadoop-tools/hadoop-sls/pom.xml
index b374d501cf1..a76e58cd195 100644
--- a/hadoop-tools/hadoop-sls/pom.xml
+++ b/hadoop-tools/hadoop-sls/pom.xml
@@ -113,10 +113,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-tools/hadoop-streaming/pom.xml b/hadoop-tools/hadoop-streaming/pom.xml
index 9a83e6c44c4..4aa71b64cf5 100644
--- a/hadoop-tools/hadoop-streaming/pom.xml
+++ b/hadoop-tools/hadoop-streaming/pom.xml
@@ -120,10 +120,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml
index f4eb2f80a44..8561160b156 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml
@@ -344,8 +344,8 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
true
diff --git a/hadoop-yarn-project/hadoop-yarn/pom.xml b/hadoop-yarn-project/hadoop-yarn/pom.xml
index d57087d2f3a..3abcaa9d21f 100644
--- a/hadoop-yarn-project/hadoop-yarn/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/pom.xml
@@ -40,10 +40,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
${yarn.basedir}/dev-support/findbugs-exclude.xml
Max
diff --git a/hadoop-yarn-project/pom.xml b/hadoop-yarn-project/pom.xml
index 8f24657c0fe..0715d7808eb 100644
--- a/hadoop-yarn-project/pom.xml
+++ b/hadoop-yarn-project/pom.xml
@@ -201,12 +201,9 @@
- org.codehaus.mojo
- findbugs-maven-plugin
-
- 2.3.2
+ com.github.spotbugs
+ spotbugs-maven-plugin
- true
true
diff --git a/pom.xml b/pom.xml
index 10c271a8c61..8670d33066c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
2.15
6.6
1.3.6
-
+ 4.2.2
+ 4.2.0
bash
@@ -224,6 +225,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
dependency-check-maven
${dependency-check-maven.version}
+
+ com.github.spotbugs
+ spotbugs-maven-plugin
+ ${spotbugs-maven-plugin.version}
+
+
+ com.github.spotbugs
+ spotbugs
+ ${spotbugs.version}
+
+
+
@@ -306,6 +319,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
dependency-check-maven
${dependency-check-maven.version}
+
+ com.github.spotbugs
+ spotbugs-maven-plugin
+ ${spotbugs-maven-plugin.version}
+
+
+ com.github.spotbugs
+ spotbugs
+ ${spotbugs.version}
+
+
+