You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nd...@apache.org on 2020/03/31 16:33:24 UTC
[hbase] 02/02: HBASE-24078 SpotBugs check automatically skip
inapplicable modules
This is an automated email from the ASF dual-hosted git repository.
ndimiduk pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 593f44c9286be8f919d28c2db7f1309c816ed1f0
Author: Nick Dimiduk <nd...@apache.org>
AuthorDate: Wed Mar 25 15:45:28 2020 -0700
HBASE-24078 SpotBugs check automatically skip inapplicable modules
Without patch, the spotbugs results include warnings for inapplicable
modules:
+---------------------------------------------------------------------------
| | | | Compile Tests
+---------------------------------------------------------------------------
| 0 | mvndep | 0m 11s | Maven dependency ordering
| +1 | mvninstall | 2m 47s | the source passed
| 0 | spotbugs | 0m 11s | branch/hbase-annotations no spotbugs
| | | | output file (spotbugsXml.xml)
| 0 | spotbugs | 0m 14s | branch/hbase-assembly no spotbugs output
| | | | file (spotbugsXml.xml)
| 0 | spotbugs | 0m 07s |
| | | | branch/hbase-archetypes/hbase-archetype-bu
| | | | ilder no spotbugs output file
| | | | (spotbugsXml.xml)
+---------------------------------------------------------------------------
With patch,
+---------------------------------------------------------------------------
| | | | Compile Tests
+---------------------------------------------------------------------------
| 0 | mvndep | 0m 13s | Maven dependency ordering
| +1 | mvninstall | 3m 09s | the source passed
| +1 | spotbugs | 17m 09s | the source passed
+---------------------------------------------------------------------------
Signed-off-by: stack <st...@apache.org>
---
dev-support/hbase-personality.sh | 25 ++++++-------------------
1 file changed, 6 insertions(+), 19 deletions(-)
diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh
index 3fe9fd9..ec05187 100755
--- a/dev-support/hbase-personality.sh
+++ b/dev-support/hbase-personality.sh
@@ -153,8 +153,8 @@ function personality_modules
# If BUILDMODE is 'patch', for unit and compile testtypes, there is no need to run individual
# modules if root is included. HBASE-18505
if [[ "${BUILDMODE}" == "full" ]] || \
- ( ( [[ "${testtype}" == unit ]] || [[ "${testtype}" == compile ]] || [[ "${testtype}" == checkstyle ]] ) && \
- [[ "${MODULES[*]}" =~ \. ]] ); then
+ { { [[ "${testtype}" == unit ]] || [[ "${testtype}" == compile ]] || [[ "${testtype}" == checkstyle ]]; } && \
+ [[ "${MODULES[*]}" =~ \. ]]; }; then
MODULES=(.)
fi
@@ -190,23 +190,10 @@ function personality_modules
# For some reason, spotbugs on root is not working, but running on individual modules is
# working. For time being, let it run on original list of CHANGED_MODULES. HBASE-19491
for module in "${CHANGED_MODULES[@]}"; do
- # skip spotbugs on hbase-shell and hbase-it. hbase-it has nothing
- # in src/main/java where spotbugs goes to look
- # skip hbase-shaded* as there is no java code in them
- # skip all modules with no java code or at least, non test java code
- if [[ ${module} == hbase-shell ]]; then
- continue
- elif [[ ${module} == hbase-it ]]; then
- continue
- elif [[ ${module} == hbase-shaded* ]]; then
- continue
- elif [[ ${module} == hbase-build-configuration ]]; then
- continue
- elif [[ ${module} == hbase-checkstyle ]]; then
- continue
- elif [[ ${module} == hbase-resource-bundle ]]; then
- continue
- elif [[ ${module} == hbase-testing-util ]]; then
+ # skip spotbugs on any module that lacks content in `src/main/java`
+ if [[ "$(find "${BASEDIR}/${module}" -iname '*.java' -and -ipath '*/src/main/java/*' \
+ -type f | wc -l | tr -d '[:space:]')" -eq 0 ]]; then
+ yetus_debug "no java files found under ${module}/src/main/java. skipping."
continue
else
# shellcheck disable=SC2086