IMPALA-11648: validate-java-pom-versions.sh should skip pom.xml in toolchain

bin/validate-java-pom-versions.sh validates the pom.xml files have
consistent version strings. However, it checks all files in IMPALA_HOME
when building from the tarball. There are some pom.xml files in the
toolchain directory that should be skipped.

This patch modifies the find command used in the script from
  find ${IMPALA_HOME} -name pom.xml
to
  find ${IMPALA_HOME} -path ${IMPALA_TOOLCHAIN} -prune -o -name pom.xml -print
to list pom.xml files excluding the toolchain directory. More examples
about how to use `find -prune` can be found in this blog:
https://www.theunixschool.com/2012/07/find-command-15-examples-to-exclude.html

Tests:
 - Built from the tarball locally
 - Modified version strings in some pom.xml files and verified
   validate-java-pom-versions.sh is still able to find them.

Change-Id: I55bbd9c85ab0e4a7c054ee2abd70eae0f55c8a01
Reviewed-on: http://gerrit.cloudera.org:8080/19122
Reviewed-by: Daniel Becker <daniel.becker@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
stiga-huang
2022-10-11 10:25:56 +08:00
parent 8c53f574d9
commit dd62dd98b9

View File

@@ -38,11 +38,12 @@ popd > /dev/null 2>&1
RETVAL=0
NO_MATCH_FILES=()
for pom_file in $(find ${IMPALA_HOME} -name pom.xml); do
for pom_file in $(find ${IMPALA_HOME} -path ${IMPALA_TOOLCHAIN} -prune \
-o -name pom.xml -print); do
# If this is a git checkout, then only do the check for pom.xml
# files known to git. If this is not a git checkout, then it should
# be building from a tarball, and there should not be extra
# pom.xml files.
# pom.xml files except in the toolchain folder.
if ${IS_GIT_CHECKOUT} &&
! git ls-files --error-unmatch ${pom_file} > /dev/null 2>&1 ; then
# This pom.xml file is not known to git.