You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@yetus.apache.org by aw...@apache.org on 2016/04/14 09:24:56 UTC

[01/20] yetus git commit: YETUS-363. releasedocmaker fails due to the lack of dateutil module [Forced Update!]

Repository: yetus
Updated Branches:
  refs/heads/YETUS-156 2d3be4993 -> 1341bc7d1 (forced update)


YETUS-363. releasedocmaker fails due to the lack of dateutil module

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/c693c346
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/c693c346
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/c693c346

Branch: refs/heads/YETUS-156
Commit: c693c346584567e106f8c4702b1c2f16d93c77ce
Parents: d35fa80
Author: Allen Wittenauer <aw...@apache.org>
Authored: Wed Apr 13 08:02:23 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Wed Apr 13 09:10:55 2016 -0700

----------------------------------------------------------------------
 .../source/documentation/in-progress/releasedocmaker.md       | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/c693c346/asf-site-src/source/documentation/in-progress/releasedocmaker.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/releasedocmaker.md b/asf-site-src/source/documentation/in-progress/releasedocmaker.md
index 71d6619..359dd29 100644
--- a/asf-site-src/source/documentation/in-progress/releasedocmaker.md
+++ b/asf-site-src/source/documentation/in-progress/releasedocmaker.md
@@ -21,6 +21,7 @@ releasedocmaker
 ===============
 
 * [Purpose](#Purpose)
+* [Requirements](#Requirements)
 * [Basic Usage](#Basic_Usage)
 * [Changing the Header](#Changing_the_Header)
 * [Multiple Versions](#Multiple_Versions)
@@ -40,6 +41,12 @@ All of these methods have their pros and cons.  Some have issues with accuracy.
 
 In order to solve these problems, releasedocmaker was written to automatically generate a changelog and release notes by querying Apache's JIRA instance.
 
+# Requirements
+
+* Python 2.5 with dateutil extension
+
+dateutil may be installed via pip:  `pip install python.dateutil`
+
 # Basic Usage
 
 Minimally, the name of the JIRA project and a version registered in JIRA must be provided:


[04/20] yetus git commit: YETUS-372. build driver: unit tests still mentions patches

Posted by aw...@apache.org.
YETUS-372. build driver: unit tests still mentions patches

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/dc963937
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/dc963937
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/dc963937

Branch: refs/heads/YETUS-156
Commit: dc963937b1aa54979e25ea1cb17f9e6033447ff6
Parents: c57396f
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 13:50:54 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/dc963937/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index 9f866ae..9fb26dc 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -1780,10 +1780,10 @@ function modules_messages
   declare statusjdk
   declare multijdkmode=false
 
-  if [[ "${repostatus}" == branch ]]; then
-    repo=${PATCH_BRANCH}
-  elif [[ "${BUILDMODE}" == full ]]; then
+  if [[ "${BUILDMODE}" == full ]]; then
     repo="the source"
+  elif [[ "${repostatus}" == branch ]]; then
+    repo=${PATCH_BRANCH}
   else
     repo="the patch"
   fi
@@ -1899,7 +1899,9 @@ function modules_workers
   declare result=0
   declare argv
 
-  if [[ ${repostatus} == branch ]]; then
+  if [[ "${BUILDMODE}" = full ]]; then
+    repo="the source"
+  elif [[ ${repostatus} == branch ]]; then
     repo=${PATCH_BRANCH}
   else
     repo="the patch"


[05/20] yetus git commit: YETUS-350. plug-in changes for build driver

Posted by aw...@apache.org.
YETUS-350. plug-in changes for build driver

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/ec78a643
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/ec78a643
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/ec78a643

Branch: refs/heads/YETUS-156
Commit: ec78a6430b67dba97b9c24c07bf64e09137a7d99
Parents: 38d3a69
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 16:57:57 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/asflicense.sh |  8 ++--
 precommit/test-patch.d/author.sh     | 74 +++++++++++++++++++++++++------
 precommit/test-patch.d/autoconf.sh   | 14 +++---
 precommit/test-patch.d/checkstyle.sh | 25 +++++------
 precommit/test-patch.d/cmake.sh      |  4 +-
 precommit/test-patch.d/findbugs.sh   | 15 ++++---
 precommit/test-patch.d/gradle.sh     |  4 +-
 precommit/test-patch.d/maven.sh      | 32 +++++++++----
 precommit/test-patch.d/perlcritic.sh |  8 ++--
 precommit/test-patch.d/pylint.sh     | 12 ++---
 precommit/test-patch.d/rubocop.sh    |  8 ++--
 precommit/test-patch.d/ruby-lint.sh  |  8 ++--
 precommit/test-patch.d/shellcheck.sh |  8 ++--
 precommit/test-patch.d/shelldocs.sh  |  8 ++--
 precommit/test-patch.d/test4tests.sh |  4 ++
 precommit/test-patch.d/whitespace.sh | 38 +++++++++++-----
 precommit/test-patch.d/xml.sh        |  6 +--
 17 files changed, 177 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/asflicense.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/asflicense.sh b/precommit/test-patch.d/asflicense.sh
index edf7a7f..593e4af 100755
--- a/precommit/test-patch.d/asflicense.sh
+++ b/precommit/test-patch.d/asflicense.sh
@@ -61,7 +61,7 @@ function asflicense_tests
   local numpatch
   local btfails=true
 
-  big_console_header "Determining number of patched ASF License errors"
+  big_console_header "Determining number of ASF License errors"
 
   start_clock
 
@@ -105,7 +105,7 @@ function asflicense_tests
   # RAT fails the build if there are license problems.
   # so let's take advantage of that a bit.
   if [[ $? == 0 && ${btfails} = true ]]; then
-    add_vote_table 1 asflicense "Patch does not generate ASF License warnings."
+    add_vote_table 1 asflicense "${BUILDMODEMSG} does not generate ASF License warnings."
     return 0
   fi
 
@@ -134,7 +134,7 @@ function asflicense_tests
   echo "There appear to be ${numpatch} ASF License warnings after applying the patch."
   if [[ -n ${numpatch}
      && ${numpatch} -gt 0 ]] ; then
-    add_vote_table -1 asflicense "Patch generated ${numpatch} ASF License warnings."
+    add_vote_table -1 asflicense "${BUILDMODEMSG} generated ${numpatch} ASF License warnings."
 
     echo "Lines that start with ????? in the ASF License "\
         "report indicate files that do not have an Apache license header:" \
@@ -146,7 +146,7 @@ function asflicense_tests
     add_footer_table asflicense "@@BASE@@/patch-asflicense-problems.txt"
     return 1
   fi
-  add_vote_table 1 asflicense "Patch does not generate ASF License warnings."
+  add_vote_table 1 asflicense "${BUILDMODEMSG} does not generate ASF License warnings."
   return 0
 }
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/author.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/author.sh b/precommit/test-patch.d/author.sh
index 4497d03..2e148d8 100755
--- a/precommit/test-patch.d/author.sh
+++ b/precommit/test-patch.d/author.sh
@@ -16,21 +16,50 @@
 
 add_test_type author
 
-## @description  Check the current directory for @author tags
+## @description  helper function for @author tags check
 ## @audience     private
 ## @stability    evolving
 ## @replaceable  no
 ## @return       0 on success
 ## @return       1 on failure
+function author_generic
+{
+  declare authortags
+  declare i
+
+  # shellcheck disable=SC2016
+  authortags=$(wc -l "${PATCH_DIR}/author-tags.txt" | "${AWK}" '{print $1}')
+  echo "There appear to be ${authortags} @author tags in the patch."
+  if [[ ${authortags} != 0 ]] ; then
+    add_vote_table -1 @author \
+      "${BUILDMODEMSG} appears to contain ${authortags} @author tags which the" \
+      " community has agreed to not allow in code contributions."
+    add_footer_table @author "@@BASE@@/author-tags.txt"
+    return 1
+  fi
+  add_vote_table +1 @author "${BUILDMODEMSG} does not contain any @author tags."
+  return 0
+}
+
+## @description  Check the current patchfile for @author tags
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+## @return       0 on success
+## @return       1 on failure
+## @param        patchfile
 function author_patchfile
 {
   declare patchfile=$1
-  declare authorTags
   # shellcheck disable=SC2155
   declare -r appname=$(basename "${BASH_SOURCE-$0}")
   declare i
 
-  big_console_header "Checking there are no @author tags in the patch."
+  if [[ "${BUILDMODE}" != patch ]]; then
+    return
+  fi
+
+  big_console_header "Checking for @author tags: ${BUILDMODE}"
 
   start_clock
 
@@ -43,16 +72,33 @@ function author_patchfile
   done
 
   ${GREP} -i -n '^[^-].*@author' "${patchfile}" >> "${PATCH_DIR}/author-tags.txt"
-  # shellcheck disable=SC2016
-  authorTags=$(wc -l "${PATCH_DIR}/author-tags.txt" | "${AWK}" '{print $1}')
-  echo "There appear to be ${authorTags} @author tags in the patch."
-  if [[ ${authorTags} != 0 ]] ; then
-    add_vote_table -1 @author \
-      "The patch appears to contain ${authorTags} @author tags which the" \
-      " community has agreed to not allow in code contributions."
-    add_footer_table @author "@@BASE@@/author-tags.txt"
-    return 1
+  author_generic
+}
+
+
+## @description  Check the current directory for @author tags
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+## @return       0 on success
+## @return       1 on failure
+function author_postcompile
+{
+  # shellcheck disable=SC2155
+  declare -r appname=$(basename "${BASH_SOURCE-$0}")
+  declare i
+
+  if [[ "${BUILDMODE}" != full ]]; then
+    return
   fi
-  add_vote_table +1 @author "The patch does not contain any @author tags."
-  return 0
+
+  big_console_header "Checking for @author tags: ${BUILDMODE}"
+
+  start_clock
+
+  "${GIT}" grep -n -I --extended-regexp -i '^[^-].*@author' \
+    | ${GREP} -v "${appname}" \
+    >> "${PATCH_DIR}/author-tags.txt"
+
+  author_generic
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/autoconf.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/autoconf.sh b/precommit/test-patch.d/autoconf.sh
index 2937e72..933a8c0 100755
--- a/precommit/test-patch.d/autoconf.sh
+++ b/precommit/test-patch.d/autoconf.sh
@@ -91,9 +91,9 @@ function autoconf_precompile
   fi
 
   if [[ "${repostatus}" = branch ]]; then
-    big_console_header "Pre-patch ${PATCH_BRANCH} autoconf verification"
+    big_console_header "autoconf verification: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch autoconf verification"
+    big_console_header "autoconf verification: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" autoreconf
@@ -108,7 +108,7 @@ function autoconf_precompile
       # shellcheck disable=SC2153
       add_vote_table -1 autoreconf "${PATCH_BRANCH} unable to autoreconf"
     else
-      add_vote_table -1 autoreconf "${repostatus} unable to autoreconf"
+      add_vote_table -1 autoreconf "${BUILDMODEMSG} is unable to autoreconf"
     fi
     add_footer_table "autoreconf" "@@BASE@@/${repostatus}-autoconf-autoreconf"
     return 1
@@ -117,7 +117,7 @@ function autoconf_precompile
       # shellcheck disable=SC2153
       add_vote_table +1 autoreconf "${PATCH_BRANCH} autoreconf successful"
     else
-      add_vote_table +1 autoreconf "${repostatus} autoreconf successful"
+      add_vote_table +1 autoreconf "${BUILDMODEMSG} can autoreconf"
     fi
   fi
 
@@ -138,7 +138,7 @@ function autoconf_precompile
       # shellcheck disable=SC2153
       add_vote_table -1 configure "${PATCH_BRANCH} unable to configure"
     else
-      add_vote_table -1 configure "${repostatus} unable to configure"
+      add_vote_table -1 configure "${BUILDMODEMSG} is unable to configure"
     fi
     add_footer_table "configure" "@@BASE@@/${repostatus}-autoconf-configure"
     return 1
@@ -147,7 +147,7 @@ function autoconf_precompile
       # shellcheck disable=SC2153
       add_vote_table +1 configure "${PATCH_BRANCH} configure successful"
     else
-      add_vote_table +1 configure "${repostatus} configure successful"
+      add_vote_table +1 configure "${BUILDMODEMSG} can configure"
     fi
   fi
   return 0
@@ -201,4 +201,4 @@ function autoconf_builtin_personality_file_tests
   else
     make_builtin_personality_file_tests "${filename}"
   fi
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/checkstyle.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/checkstyle.sh b/precommit/test-patch.d/checkstyle.sh
index 4363e4d..bba3369 100755
--- a/precommit/test-patch.d/checkstyle.sh
+++ b/precommit/test-patch.d/checkstyle.sh
@@ -140,7 +140,6 @@ function checkstyle_runner
   declare savestop
   declare output
   declare logfile
-  declare repo
   declare modulesuffix
   declare cmd
   declare logline
@@ -151,12 +150,6 @@ function checkstyle_runner
   # first, let's clear out any previous run information
   modules_reset
 
-  if [[ ${repostatus} == branch ]]; then
-    repo=${PATCH_BRANCH}
-  else
-    repo="the patch"
-  fi
-
   # loop through the modules we've been given
   #shellcheck disable=SC2153
   until [[ $i -eq ${#MODULE[@]} ]]; do
@@ -200,14 +193,14 @@ function checkstyle_runner
       > "${tmp}"
 
     if [[ $? == 0 ]] ; then
-      module_status ${i} +1 "${logfile}" "${modulesuffix} in ${repo} passed checkstyle"
+      module_status ${i} +1 "${logfile}" "${BUILDMODEMSG} ${modulesuffix} passed checkstyle"
     else
-      module_status ${i} -1 "${logfile}" "${modulesuffix} in ${repo} failed checkstyle"
+      module_status ${i} -1 "${logfile}" "${BUILDMODEMSG} ${modulesuffix} failed checkstyle"
       ((result = result + 1))
     fi
 
     # if we have some output, we need to do more work:
-    if [[ -s ${tmp} ]]; then
+    if [[ -s ${tmp} && "${BUILDMODE}" = patch ]]; then
 
       # first, let's pull out all of the files that
       # we actually care about, esp since that run
@@ -219,6 +212,7 @@ function checkstyle_runner
         ${GREP} "${j}" "${tmp}" >> "${tmp}.1"
       done
 
+
       # now that we have just the files we care about,
       # let's unscrew it. You see...
 
@@ -248,7 +242,8 @@ function checkstyle_runner
       popd >/dev/null
       # later on, calcdiff will turn this into code(:column):error
       # compare, and then put the file:line back onto it.
-
+    else
+      cp -p "${tmp}" "${output}"
     fi
 
     rm "${tmp}" "${tmp}.1" 2>/dev/null
@@ -288,7 +283,7 @@ function checkstyle_preapply
     return 0
   fi
 
-  big_console_header "${PATCH_BRANCH} checkstyle"
+  big_console_header "checkstyle: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -321,7 +316,7 @@ function checkstyle_postapply
     return 0
   fi
 
-  big_console_header "Patch checkstyle plugin"
+  big_console_header "checkstyle: ${BUILDMODE}"
 
   start_clock
 
@@ -371,9 +366,9 @@ function checkstyle_postapply
 
     if [[ ${addpatch} -gt 0 ]] ; then
       ((result = result + 1))
-      module_status ${i} -1 "diff-checkstyle-${fn}.txt" "${mod}: patch ${statstring}"
+      module_status ${i} -1 "diff-checkstyle-${fn}.txt" "${mod}: ${BUILDMODEMSG} ${statstring}"
     elif [[ ${fixedpatch} -gt 0 ]]; then
-      module_status ${i} +1 "diff-checkstyle-${fn}.txt" "${mod}: patch ${statstring}"
+      module_status ${i} +1 "diff-checkstyle-${fn}.txt" "${mod}: ${BUILDMODEMSG} ${statstring}"
       summarize=false
     fi
     ((i=i+1))

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/cmake.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/cmake.sh b/precommit/test-patch.d/cmake.sh
index 9b5f265..7e68a4d 100755
--- a/precommit/test-patch.d/cmake.sh
+++ b/precommit/test-patch.d/cmake.sh
@@ -128,9 +128,9 @@ function cmake_precompile
 
   if [[ "${repostatus}" = branch ]]; then
     # shellcheck disable=SC2153
-    big_console_header "${PATCH_BRANCH} cmake CMakeLists.txt"
+    big_console_header "cmake CMakeLists.txt: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch cmake CMakeLists.txt"
+    big_console_header "cmake CMakeLists.txt: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" CMakeLists.txt

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/findbugs.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/findbugs.sh b/precommit/test-patch.d/findbugs.sh
index e4399fc..152d85f 100755
--- a/precommit/test-patch.d/findbugs.sh
+++ b/precommit/test-patch.d/findbugs.sh
@@ -95,10 +95,8 @@ function findbugs_precheck
 ## @audience     private
 ## @stability    evolving
 ## @replaceable  no
-## @param        repostatus
 function findbugs_maven_skipper
 {
-  declare repostat=$1
   declare -i i=0
   declare skiplist=()
   declare modname
@@ -122,7 +120,11 @@ function findbugs_maven_skipper
   done
 
   if [[ -n "${modname}" ]]; then
-    add_vote_table 0 findbugs "Skipped ${repostat} modules with no Java source: ${skiplist[*]}"
+    if [[ "${BUILDMODE}" = patch ]]; then
+      add_vote_table 0 findbugs "Skipped patched modules with no Java source: ${skiplist[*]}"
+    else
+      add_vote_table 0 findbugs "Skipped ${#skiplist[@]} modules in the source tree with no Java source."
+    fi
   fi
 }
 
@@ -132,6 +134,7 @@ function findbugs_maven_skipper
 ## @replaceable  no
 ## @return       0 on success
 ## @return       1 on failure
+## @param        repostatus
 function findbugs_runner
 {
   local name=$1
@@ -147,7 +150,7 @@ function findbugs_runner
   # strip out any modules that aren't actually java modules
   # this can save a lot of time during testing
   if [[ "${BUILDTOOL}" = maven ]]; then
-    findbugs_maven_skipper "${name}"
+    findbugs_maven_skipper
   fi
 
   "${BUILDTOOL}_modules_worker" "${name}" findbugs
@@ -248,7 +251,7 @@ function findbugs_preapply
     return 0
   fi
 
-  big_console_header "Pre-patch findbugs detection"
+  big_console_header "findbugs detection: ${PATCH_BRANCH}"
 
   findbugs_runner branch
   result=$?
@@ -329,7 +332,7 @@ function findbugs_postinstall
     return 0
   fi
 
-  big_console_header "Patch findbugs detection"
+  big_console_header "findbugs detection: ${BUILDMODE}"
 
   findbugs_runner patch
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/gradle.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/gradle.sh b/precommit/test-patch.d/gradle.sh
index 1f971fa..e809465 100755
--- a/precommit/test-patch.d/gradle.sh
+++ b/precommit/test-patch.d/gradle.sh
@@ -106,9 +106,9 @@ function gradle_precompile
 
   if [[ "${repostatus}" = branch ]]; then
     # shellcheck disable=SC2153
-    big_console_header "${PATCH_BRANCH} gradle bootstrap"
+    big_console_header "gradle boostrap: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch gradle bootstrap"
+    big_console_header "gradle bootstrap: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" gradleboot

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/maven.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/maven.sh b/precommit/test-patch.d/maven.sh
index 1a2a86b..32f4b37 100755
--- a/precommit/test-patch.d/maven.sh
+++ b/precommit/test-patch.d/maven.sh
@@ -95,6 +95,11 @@ function maven_parse_args
 
 function maven_initialize
 {
+  if ! verify_command "maven" "${MAVEN}"; then
+    return 1
+  fi
+
+  # we need to do this before docker does it as root
 
   maven_add_install mvneclipse
   maven_add_install mvnsite
@@ -139,7 +144,7 @@ function maven_precheck
   fi
 
   if [[ ${MAVEN_CUSTOM_REPOS} = true ]]; then
-    MAVEN_LOCAL_REPO="${MAVEN_CUSTOM_REPOS_DIR}/${PROJECT_NAME}-${PATCH_BRANCH}-${INSTANCE}"
+    MAVEN_LOCAL_REPO="${MAVEN_CUSTOM_REPOS_DIR}/${PROJECT_NAME}-${PATCH_BRANCH}-${BUILDMODE}-${INSTANCE}"
     if [[ -e "${MAVEN_LOCAL_REPO}"
        && ! -d "${MAVEN_LOCAL_REPO}" ]]; then
       yetus_error "ERROR: ${MAVEN_LOCAL_REPO} is not a directory."
@@ -369,7 +374,8 @@ function maven_builtin_personality_modules
   # this always makes sure the local repo has a fresh
   # copy of everything per pom rules.
   if [[ ${repostatus} == branch
-        && ${testtype} == mvninstall ]];then
+        && ${testtype} == mvninstall ]] ||
+     [[ "${BUILDMODE}" = full ]];then
     personality_enqueue_module "${CHANGED_UNION_MODULES}"
     return
   fi
@@ -450,9 +456,9 @@ function mvnsite_postcompile
   fi
 
   if [[ "${repostatus}" = branch ]]; then
-    big_console_header "Pre-patch ${PATCH_BRANCH} maven site verification"
+    big_console_header "maven site verification: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch maven site verification"
+    big_console_header "maven site verification: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" mvnsite
@@ -485,9 +491,9 @@ function mvneclipse_postcompile
   fi
 
   if [[ "${repostatus}" = branch ]]; then
-    big_console_header "Pre-patch ${PATCH_BRANCH} maven eclipse verification"
+    big_console_header "maven eclipse verification: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch maven eclipse verification"
+    big_console_header "maven eclipse verification: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" mvneclipse
@@ -536,10 +542,14 @@ function maven_precompile
    return 0
   fi
 
+  if [[ "${BUILDMODE}" = Full ]]; then
+    return 0
+  fi
+
   if [[ "${repostatus}" = branch ]]; then
-    big_console_header "Pre-patch ${PATCH_BRANCH} maven install"
+    big_console_header "maven install: ${PATCH_BRANCH}"
   else
-    big_console_header "Patch maven install"
+    big_console_header "maven install: ${BUILDMODE}"
   fi
 
   personality_modules "${repostatus}" mvninstall
@@ -675,5 +685,9 @@ function maven_reorder_modules
   yetus_debug "Maven: finish re-ordering modules"
   yetus_debug "Finished list: ${CHANGED_MODULES[*]}"
 
-  add_vote_table 0 mvndep "Maven dependency ordering for ${repostatus}"
+  if [[ "${BUILDMODE}" = patch ]]; then
+    add_vote_table 0 mvndep "Maven dependency ordering for ${repostatus}"
+  else
+    add_vote_table 0 mvndep "Maven dependency ordering"
+  fi
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/perlcritic.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/perlcritic.sh b/precommit/test-patch.d/perlcritic.sh
index 8297f46..b376347 100755
--- a/precommit/test-patch.d/perlcritic.sh
+++ b/precommit/test-patch.d/perlcritic.sh
@@ -64,7 +64,7 @@ function perlcritic_preapply
     return 0
   fi
 
-  big_console_header "Perl::Critic plugin: prepatch"
+  big_console_header "Perl::Critic plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -106,7 +106,7 @@ function perlcritic_postapply
     return 0
   fi
 
-  big_console_header "Perl::Critic plugin: postpatch"
+  big_console_header "Perl::Critic plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -147,11 +147,11 @@ function perlcritic_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]]; then
-    add_vote_table -1 perlcritic "The applied patch ${statstring}"
+    add_vote_table -1 perlcritic "${BUILDMODEMSG} ${statstring}"
     add_footer_table perlcritic "@@BASE@@/diff-patch-perlcritic.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 perlcritic "The applied patch ${statstring}"
+    add_vote_table +1 perlcritic "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/pylint.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/pylint.sh b/precommit/test-patch.d/pylint.sh
index 2a9e1f8..0f1790f 100755
--- a/precommit/test-patch.d/pylint.sh
+++ b/precommit/test-patch.d/pylint.sh
@@ -71,7 +71,7 @@ function pylint_preapply
     return 0
   fi
 
-  big_console_header "pylint plugin: prepatch"
+  big_console_header "pylint plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -87,7 +87,7 @@ function pylint_preapply
   if [[ -f ${PATCH_DIR}/${pylintStderr} ]]; then
     count=$(${GREP} -vc "^No config file found" "${PATCH_DIR}/${pylintStderr}")
     if [[ ${count} -gt 0 ]]; then
-      add_footer_table pylint "prepatch stderr: @@BASE@@/${pylintStderr}"
+      add_footer_table pylint "${PATCH_BRANCH} stderr: @@BASE@@/${pylintStderr}"
       return 1
     fi
   fi
@@ -113,7 +113,7 @@ function pylint_postapply
     return 0
   fi
 
-  big_console_header "pylint plugin: postpatch"
+  big_console_header "pylint plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -135,7 +135,7 @@ function pylint_postapply
     count=$(${GREP} -vc "^No config file found" "${PATCH_DIR}/${pylintStderr}")
     if [[ ${count} -gt 0 ]]; then
       add_vote_table -1 pylint "Something bad seems to have happened in running pylint. Please check pylint stderr files."
-      add_footer_table pylint "postpatch stderr: @@BASE@@/${pylintStderr}"
+      add_footer_table pylint "${BUILDMODEMSG} stderr: @@BASE@@/${pylintStderr}"
       return 1
     fi
   fi
@@ -158,11 +158,11 @@ function pylint_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]] ; then
-    add_vote_table -1 pylint "The applied patch ${statstring}"
+    add_vote_table -1 pylint "${BUILDMODEMSG} ${statstring}"
     add_footer_table pylint "@@BASE@@/diff-patch-pylint.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 pylint "The applied patch ${statstring}"
+    add_vote_table +1 pylint "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/rubocop.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/rubocop.sh b/precommit/test-patch.d/rubocop.sh
index 8e1d5b8..f73c073 100755
--- a/precommit/test-patch.d/rubocop.sh
+++ b/precommit/test-patch.d/rubocop.sh
@@ -64,7 +64,7 @@ function rubocop_preapply
     return 0
   fi
 
-  big_console_header "rubocop plugin: prepatch"
+  big_console_header "rubocop plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -106,7 +106,7 @@ function rubocop_postapply
     return 0
   fi
 
-  big_console_header "rubocop plugin: postpatch"
+  big_console_header "rubocop plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -146,11 +146,11 @@ function rubocop_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]] ; then
-    add_vote_table -1 rubocop "The applied patch ${statstring}"
+    add_vote_table -1 rubocop "${BUILDMODEMSG} ${statstring}"
     add_footer_table rubocop "@@BASE@@/diff-patch-rubocop.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 rubocop "The applied patch ${statstring}"
+    add_vote_table +1 rubocop "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/ruby-lint.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/ruby-lint.sh b/precommit/test-patch.d/ruby-lint.sh
index 94d4f53..c57887b 100755
--- a/precommit/test-patch.d/ruby-lint.sh
+++ b/precommit/test-patch.d/ruby-lint.sh
@@ -63,7 +63,7 @@ function ruby_lint_preapply
     return 0
   fi
 
-  big_console_header "ruby-lint plugin: prepatch"
+  big_console_header "ruby-lint plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -136,7 +136,7 @@ function ruby_lint_postapply
     return 0
   fi
 
-  big_console_header "ruby-lint plugin: postpatch"
+  big_console_header "ruby-lint plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -176,11 +176,11 @@ function ruby_lint_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]] ; then
-    add_vote_table -1 ruby-lint "The applied patch ${statstring}"
+    add_vote_table -1 ruby-lint "${BUILDMODEMSG} ${statstring}"
     add_footer_table ruby-lint "@@BASE@@/diff-patch-ruby-lint.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 ruby-lint "The applied patch ${statstring}"
+    add_vote_table +1 ruby-lint "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/shellcheck.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/shellcheck.sh b/precommit/test-patch.d/shellcheck.sh
index fd5109f..ea18310 100755
--- a/precommit/test-patch.d/shellcheck.sh
+++ b/precommit/test-patch.d/shellcheck.sh
@@ -78,7 +78,7 @@ function shellcheck_preapply
     return 0
   fi
 
-  big_console_header "shellcheck plugin: prepatch"
+  big_console_header "shellcheck plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -129,7 +129,7 @@ function shellcheck_postapply
     return 0
   fi
 
-  big_console_header "shellcheck plugin: postpatch"
+  big_console_header "shellcheck plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -166,12 +166,12 @@ function shellcheck_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]] ; then
-    add_vote_table -1 shellcheck "The applied patch ${statstring}"
+    add_vote_table -1 shellcheck "${BUILDMODEMSG} ${statstring}"
     add_footer_table shellcheck "@@BASE@@/diff-patch-shellcheck.txt"
     bugsystem_linecomments "shellcheck" "${PATCH_DIR}/diff-patch-shellcheck.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 shellcheck "The applied patch ${statstring}"
+    add_vote_table +1 shellcheck "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/shelldocs.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/shelldocs.sh b/precommit/test-patch.d/shelldocs.sh
index fea982a..d52fa6b 100755
--- a/precommit/test-patch.d/shelldocs.sh
+++ b/precommit/test-patch.d/shelldocs.sh
@@ -103,7 +103,7 @@ function shelldocs_preapply
     return 0
   fi
 
-  big_console_header "shelldocs plugin: prepatch"
+  big_console_header "shelldocs plugin: ${PATCH_BRANCH}"
 
   start_clock
 
@@ -134,7 +134,7 @@ function shelldocs_postapply
     return 0
   fi
 
-  big_console_header "shelldocs plugin: postpatch"
+  big_console_header "shelldocs plugin: ${BUILDMODE}"
 
   start_clock
 
@@ -170,12 +170,12 @@ function shelldocs_postapply
   statstring=$(generic_calcdiff_status "${numPrepatch}" "${numPostpatch}" "${diffPostpatch}" )
 
   if [[ ${diffPostpatch} -gt 0 ]] ; then
-    add_vote_table -1 shelldocs "The applied patch ${statstring}"
+    add_vote_table -1 shelldocs "${BUILDMODEMSG} ${statstring}"
     add_footer_table shelldocs "@@BASE@@/diff-patch-shelldocs.txt"
     bugsystem_linecomments "shelldocs" "${PATCH_DIR}/diff-patch-shelldocs.txt"
     return 1
   elif [[ ${fixedpatch} -gt 0 ]]; then
-    add_vote_table +1 shelldocs "The applied patch ${statstring}"
+    add_vote_table +1 shelldocs "${BUILDMODEMSG} ${statstring}"
     return 0
   fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/test4tests.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/test4tests.sh b/precommit/test-patch.d/test4tests.sh
index 644fbf9..6c3230c 100755
--- a/precommit/test-patch.d/test4tests.sh
+++ b/precommit/test-patch.d/test4tests.sh
@@ -27,6 +27,10 @@ function test4tests_patchfile
   declare testReferences=0
   declare i
 
+  if [[ "${BUILDMODE}" = full ]]; then
+    return
+  fi
+
   big_console_header "Checking there are new or changed tests in the patch."
 
   if ! verify_needed_test unit; then

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/whitespace.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/whitespace.sh b/precommit/test-patch.d/whitespace.sh
index a613d81..da0789b 100755
--- a/precommit/test-patch.d/whitespace.sh
+++ b/precommit/test-patch.d/whitespace.sh
@@ -49,21 +49,37 @@ function whitespace_postcompile
   start_clock
 
   pushd "${BASEDIR}" >/dev/null
-  # shellcheck disable=SC2016
-  ${AWK} '/\t/ {print $0}' \
-      "${GITDIFFCONTENT}" \
-    | ${GREP} -v Makefile: >> "${PATCH_DIR}/whitespace-tabs.txt"
 
-   ${GREP} -E '[[:blank:]]$' \
-     "${GITDIFFCONTENT}" \
-      >> "${PATCH_DIR}/whitespace-eol.txt"
+  case "${BUILDMODE}" in
+    patch)
+      # shellcheck disable=SC2016
+      ${AWK} '/\t/ {print $0}' \
+          "${GITDIFFCONTENT}" \
+        | ${GREP} -v Makefile: >> "${PATCH_DIR}/whitespace-tabs.txt"
+
+       ${GREP} -E '[[:blank:]]$' \
+         "${GITDIFFCONTENT}" \
+          >> "${PATCH_DIR}/whitespace-eol.txt"
+    ;;
+    full)
+      ${GIT} grep -n -I --extended-regexp '[[:blank:]]$' \
+         >> "${PATCH_DIR}/whitespace-eol.txt"
+      ${GIT} grep -n -I $'\t' \
+        | "${GREP}" -v Makefile \
+        >> "${PATCH_DIR}/whitespace-tabs.txt"
+    ;;
+  esac
 
   # shellcheck disable=SC2016
   count=$(wc -l "${PATCH_DIR}/whitespace-eol.txt" | ${AWK} '{print $1}')
 
   if [[ ${count} -gt 0 ]]; then
-    add_vote_table -1 whitespace "The patch has ${count}"\
-      " line(s) that end in whitespace. Use git apply --whitespace=fix."
+    if [[ "${BUILDMODE}" = full ]]; then
+      add_vote_table -1 whitespace "${BUILDMODEMSG} has ${count} line(s) that end in whitespace."
+    else
+      add_vote_table -1 whitespace \
+        "${BUILDMODEMSG} has ${count} line(s) that end in whitespace. Use git apply --whitespace=fix."
+    fi
 
     whitespace_linecomment_reporter "${PATCH_DIR}/whitespace-eol.txt" "end of line"
     add_footer_table whitespace "@@BASE@@/whitespace-eol.txt"
@@ -74,7 +90,7 @@ function whitespace_postcompile
   count=$(wc -l "${PATCH_DIR}/whitespace-tabs.txt" | ${AWK} '{print $1}')
 
   if [[ ${count} -gt 0 ]]; then
-    add_vote_table -1 whitespace "The patch has ${count}"\
+    add_vote_table -1 whitespace "${BUILDMODEMSG} ${count}"\
       " line(s) with tabs."
     add_footer_table whitespace "@@BASE@@/whitespace-tabs.txt"
     whitespace_linecomment_reporter "${PATCH_DIR}/whitespace-tabs.txt" "tabs in line"
@@ -87,6 +103,6 @@ function whitespace_postcompile
   fi
 
   popd >/dev/null
-  add_vote_table +1 whitespace "Patch has no whitespace issues."
+  add_vote_table +1 whitespace "${BUILDMODEMSG} has no whitespace issues."
   return 0
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/ec78a643/precommit/test-patch.d/xml.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/xml.sh b/precommit/test-patch.d/xml.sh
index 08e0a61..6460522 100755
--- a/precommit/test-patch.d/xml.sh
+++ b/precommit/test-patch.d/xml.sh
@@ -48,7 +48,7 @@ function xml_postcompile
     return 0
   fi
 
-  big_console_header "Checking if XML files are well-formed"
+  big_console_header "XML verification: ${BUILDMODE}"
 
   js="${JAVA_HOME}/bin/jrunscript"
 
@@ -65,13 +65,13 @@ function xml_postcompile
   done
 
   if [[ ${count} -gt 0 ]]; then
-    add_vote_table -1 xml "The patch has ${count} ill-formed XML file(s)."
+    add_vote_table -1 xml "${BUILDMODEMSG} has ${count} ill-formed XML file(s)."
     add_footer_table xml "@@BASE@@/xml.txt"
     popd >/dev/null
     return 1
   fi
 
   popd >/dev/null
-  add_vote_table +1 xml "The patch has no ill-formed XML file."
+  add_vote_table +1 xml "${BUILDMODEMSG} has no ill-formed XML file."
   return 0
 }


[12/20] yetus git commit: YETUS-352. hadoop and hbase personality changes for build driver

Posted by aw...@apache.org.
YETUS-352. hadoop and hbase personality changes for build driver

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/98f06908
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/98f06908
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/98f06908

Branch: refs/heads/YETUS-156
Commit: 98f06908d034503767996e926725ff1a009ff021
Parents: 3e09e38
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 17:33:14 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/personality/hadoop.sh | 4 ++--
 precommit/personality/hbase.sh  | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/98f06908/precommit/personality/hadoop.sh
----------------------------------------------------------------------
diff --git a/precommit/personality/hadoop.sh b/precommit/personality/hadoop.sh
index 02df4b1..580a9c8 100755
--- a/precommit/personality/hadoop.sh
+++ b/precommit/personality/hadoop.sh
@@ -185,7 +185,7 @@ function personality_modules
         ordering=.
       fi
 
-      if [[ ${repostatus} = patch ]]; then
+      if [[ "${repostatus}" = patch && "${BUILDMODE}" = patch ]]; then
         echo "javadoc pre-reqs:"
         for i in hadoop-project \
           hadoop-common-project/hadoop-annotations; do
@@ -206,7 +206,7 @@ function personality_modules
     ;;
     mvninstall)
       extra="-DskipTests"
-      if [[ ${repostatus} = branch ]]; then
+      if [[ "${repostatus}" = branch || "${BUILDMODE}" = full ]]; then
         ordering=.
       fi
     ;;

http://git-wip-us.apache.org/repos/asf/yetus/blob/98f06908/precommit/personality/hbase.sh
----------------------------------------------------------------------
diff --git a/precommit/personality/hbase.sh b/precommit/personality/hbase.sh
index 7863bb2..a270b46 100755
--- a/precommit/personality/hbase.sh
+++ b/precommit/personality/hbase.sh
@@ -45,7 +45,8 @@ function personality_modules
   extra="-DHBasePatchProcess"
 
   if [[ ${repostatus} == branch
-     && ${testtype} == mvninstall ]];then
+     && ${testtype} == mvninstall ]] ||
+     [[ "${BUILDMODE}" == full ]]; then
      personality_enqueue_module . ${extra}
      return
    fi


[17/20] yetus git commit: YETUS-370. multiple compile test types confuse later runs

Posted by aw...@apache.org.
YETUS-370. multiple compile test types confuse later runs

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/c57396ff
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/c57396ff
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/c57396ff

Branch: refs/heads/YETUS-156
Commit: c57396ff8d33cdcaa8fc9b6e4bf76f7b1d079d07
Parents: 9afd94a
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 09:07:08 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.sh | 58 +++++++++++++++++++++++++++++++++++---------
 1 file changed, 46 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/c57396ff/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index f4752b5..9f866ae 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -40,12 +40,17 @@ declare -a TP_HEADER
 declare -a TP_VOTE_TABLE
 declare -a TP_TEST_TABLE
 declare -a TP_FOOTER_TABLE
+declare -a MODULE
+declare -a MODULE_BACKUP_STATUS
+declare -a MODULE_BACKUP_STATUS_TIMER
+declare -a MODULE_BACKUP_STATUS_MSG
+declare -a MODULE_BACKUP_STATUS_LOG
+declare -a MODULE_BACKUP_COMPILE_LOG
 declare -a MODULE_STATUS
 declare -a MODULE_STATUS_TIMER
 declare -a MODULE_STATUS_MSG
 declare -a MODULE_STATUS_LOG
 declare -a MODULE_COMPILE_LOG
-declare -a MODULE
 declare -a USER_MODULE_LIST
 
 TP_HEADER_COUNTER=0
@@ -1728,6 +1733,32 @@ function modules_reset
   MODULE_COMPILE_LOG=()
 }
 
+## @description  Backup the MODULE globals prior to loop processing
+## @audience     public
+## @stability    evolving
+## @replaceable  no
+function modules_backup
+{
+  MODULE_BACKUP_STATUS=("${MODULE_STATUS[@]}")
+  MODULE_BACKUP_STATUS_TIMER=("${MODULE_STATUS_TIMER[@]}")
+  MODULE_BACKUP_STATUS_MSG=("${MODULE_STATUS_MSG[@]}")
+  MODULE_BACKUP_STATUS_LOG=("${MODULE_STATUS_LOG[@]}")
+  MODULE_BACKUP_COMPILE_LOG=("${MODULE_COMPILE_LOG[@]}")
+}
+
+## @description  Restore the backup
+## @audience     public
+## @stability    evolving
+## @replaceable  no
+function modules_restore
+{
+  MODULE_STATUS=("${MODULE_BACKUP_STATUS[@]}")
+  MODULE_STATUS_TIMER=("${MODULE_BACKUP_STATUS_TIMER[@]}")
+  MODULE_STATUS_MSG=("${MODULE_BACKUP_STATUS_MSG[@]}")
+  MODULE_STATUS_LOG=("${MODULE_BACKUP_STATUS_LOG[@]}")
+  MODULE_COMPILE_LOG=("${MODULE_BACKUP_COMPILE_LOG[@]}")
+}
+
 ## @description  Utility to print standard module errors
 ## @audience     public
 ## @stability    evolving
@@ -1929,7 +1960,7 @@ function modules_workers
     # compile is special
     if [[ ${testtype} = compile ]]; then
       MODULE_COMPILE_LOG[${modindex}]="${PATCH_DIR}/${repostatus}-${testtype}-${fn}.txt"
-      yetus_debug "Comile log set to ${MODULE_COMPILE_LOG[${modindex}]}"
+      yetus_debug "Compile log set to ${MODULE_COMPILE_LOG[${modindex}]}"
     fi
 
     savestop=$(stop_clock)
@@ -2384,11 +2415,11 @@ function calcdiffs
 ## @return      errorstring
 function generic_calcdiff_status
 {
-  declare numbranch=$1
-  declare numpatch=$2
-  declare addpatch=$3
-  declare samepatch
-  declare fixedpatch
+  declare -i numbranch=$1
+  declare -i numpatch=$2
+  declare -i addpatch=$3
+  declare -i samepatch
+  declare -i fixedpatch
 
   ((samepatch=numpatch-addpatch))
   ((fixedpatch=numbranch-numpatch+addpatch))
@@ -2501,11 +2532,11 @@ function generic_postlog_compare
   declare fn
   declare jdk
   declare statusjdk
-  declare numbranch
-  declare numpatch
-  declare addpatch
-  declare samepatch
-  declare fixedpatch
+  declare -i numbranch=0
+  declare -i numpatch=0
+  declare -i addpatch=0
+  declare -i samepatch=0
+  declare -i fixedpatch=0
   declare summarize=true
 
   if [[ ${multijdk} == true ]]; then
@@ -2697,7 +2728,10 @@ function compile_nonjvm
   "${BUILDTOOL}_modules_worker" "${codebase}" compile
   modules_messages "${codebase}" compile true
 
+  modules_backup
+
   for plugin in ${TESTTYPES}; do
+    modules_restore
     verify_patchdir_still_exists
     if declare -f ${plugin}_compile >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_compile ${codebase} ${multijdkmode}"


[02/20] yetus git commit: YETUS-344. add release 0.2.1

Posted by aw...@apache.org.
YETUS-344. add release 0.2.1

    - list in releases
    - update doap
    - add symlinks for markdown 3 workaround of per-version generated docs


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/c7cc9dba
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/c7cc9dba
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/c7cc9dba

Branch: refs/heads/YETUS-156
Commit: c7cc9dba3463b790739d34a6a8fcc020f64de53e
Parents: c693c34
Author: Sean Busbey <bu...@apache.org>
Authored: Mon Apr 11 10:26:29 2016 -0500
Committer: Sean Busbey <bu...@apache.org>
Committed: Thu Apr 14 00:07:34 2016 -0500

----------------------------------------------------------------------
 .rat-excludes                                   | 2 ++
 asf-site-src/data/versions.yml                  | 1 +
 asf-site-src/source/doap_yetus.rdf              | 5 +++++
 asf-site-src/source/documentation/0.2.1         | 1 +
 asf-site-src/source/documentation/0.2.1.html.md | 1 +
 5 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/c7cc9dba/.rat-excludes
----------------------------------------------------------------------
diff --git a/.rat-excludes b/.rat-excludes
index 7b5f415..df57703 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -12,3 +12,5 @@ VERSION
 0.1.0.html.md
 0.2.0
 0.2.0.html.md
+0.2.1
+0.2.1.html.md

http://git-wip-us.apache.org/repos/asf/yetus/blob/c7cc9dba/asf-site-src/data/versions.yml
----------------------------------------------------------------------
diff --git a/asf-site-src/data/versions.yml b/asf-site-src/data/versions.yml
index 4a4d4b5..1c10e35 100644
--- a/asf-site-src/data/versions.yml
+++ b/asf-site-src/data/versions.yml
@@ -17,3 +17,4 @@
 releases:
   - '0.1.0'
   - '0.2.0'
+  - '0.2.1'

http://git-wip-us.apache.org/repos/asf/yetus/blob/c7cc9dba/asf-site-src/source/doap_yetus.rdf
----------------------------------------------------------------------
diff --git a/asf-site-src/source/doap_yetus.rdf b/asf-site-src/source/doap_yetus.rdf
index 9026568..cc11225 100644
--- a/asf-site-src/source/doap_yetus.rdf
+++ b/asf-site-src/source/doap_yetus.rdf
@@ -49,6 +49,11 @@
         <created>2016-03-07</created>
         <revision>0.2.0</revision>
       </Version>
+      <Version>
+        <name>Apache Yetus</name>
+        <created>2016-04-07</created>
+        <revision>0.2.1</revision>
+      </Version>
     </release>
     <repository>
       <GitRepository>

http://git-wip-us.apache.org/repos/asf/yetus/blob/c7cc9dba/asf-site-src/source/documentation/0.2.1
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/0.2.1 b/asf-site-src/source/documentation/0.2.1
new file mode 120000
index 0000000..46c96fa
--- /dev/null
+++ b/asf-site-src/source/documentation/0.2.1
@@ -0,0 +1 @@
+../../../target/0.2.1
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/yetus/blob/c7cc9dba/asf-site-src/source/documentation/0.2.1.html.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/0.2.1.html.md b/asf-site-src/source/documentation/0.2.1.html.md
new file mode 120000
index 0000000..7fe876c
--- /dev/null
+++ b/asf-site-src/source/documentation/0.2.1.html.md
@@ -0,0 +1 @@
+../../../target/0.2.1.html.md
\ No newline at end of file


[07/20] yetus git commit: YETUS-347. change docker handler to use arrays

Posted by aw...@apache.org.
YETUS-347. change docker handler to use arrays

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/55c3cdf8
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/55c3cdf8
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/55c3cdf8

Branch: refs/heads/YETUS-156
Commit: 55c3cdf81cb4843c2709b8ee20a70154094bffed
Parents: c7cc9db
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 13:17:19 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 .../in-progress/precommit-buildtools.md         |  2 +-
 precommit/core.d/docker.sh                      | 21 ++++++++---------
 .../test-patch-docker/launch-test-patch.sh      | 24 ++++++++++++--------
 precommit/test-patch.d/ant.sh                   |  2 +-
 precommit/test-patch.d/gradle.sh                |  2 +-
 precommit/test-patch.d/maven.sh                 |  5 ++--
 6 files changed, 28 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/asf-site-src/source/documentation/in-progress/precommit-buildtools.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-buildtools.md b/asf-site-src/source/documentation/in-progress/precommit-buildtools.md
index e800135..bf530ba 100644
--- a/asf-site-src/source/documentation/in-progress/precommit-buildtools.md
+++ b/asf-site-src/source/documentation/in-progress/precommit-buildtools.md
@@ -102,7 +102,7 @@ For example, the gradle build tool does not have a standard way to execute check
 
 * pluginname\_docker\_support
 
-    - If this build tool requires extra settings on the `docker run` command line, this function should be defined and write those options into a file called `${PATCH_DIR}/buildtool-docker-params.txt`.  This is particularly useful for things like mounting volumes for repository caches.
+    - If this build tool requires extra settings on the `docker run` command line, this function should be defined and add those options into an array called `${DOCKER_EXTRAARGS[@]}`. This is particularly useful for things like mounting volumes for repository caches.
 
        **WARNING**: Be aware that directories that do not exist MAY be created by root by Docker itself under certain conditions.  It is HIGHLY recommend that `pluginname_initialize` be used to create the necessary directories prior to be used in the `docker run` command.
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/precommit/core.d/docker.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/docker.sh b/precommit/core.d/docker.sh
index e0706a3..2d7f550 100755
--- a/precommit/core.d/docker.sh
+++ b/precommit/core.d/docker.sh
@@ -23,6 +23,8 @@ DOCKERFAIL="fallback,continue,fail"
 DOCKERSUPPORT=false
 DOCKER_ENABLE_PRIVILEGED=true
 
+declare -a DOCKER_EXTRAARGS
+
 ####
 #### IMPORTANT
 ####
@@ -531,7 +533,7 @@ function docker_run_image
     cleanup_and_exit 1
   fi
 
-  big_console_header "Building patch image: ${patchimagename}"
+  big_console_header "Building ${BUILDMODE} image: ${patchimagename}"
   start_clock
   # using the base image, make one that is patch specific
   dockercmd build \
@@ -564,14 +566,8 @@ PatchSpecificDocker
     cleanup_and_exit 1
   fi
 
-  if [[ -f "${PATCH_DIR}/buildtool-docker-params.txt" ]]; then
-    extraargs=$(cat "${PATCH_DIR}/buildtool-docker-params.txt")
-  else
-    extraargs=""
-  fi
-
   if [[ "${DOCKER_ENABLE_PRIVILEGED}" = true ]]; then
-    extraargs="${extraargs} --privileged "
+    DOCKER_EXTRAARGS=("--privileged" "${DOCKER_EXTRAARGS[@]}")
   fi
 
   client=$(docker_version Client)
@@ -579,9 +575,8 @@ PatchSpecificDocker
 
   dockerversion="Client=${client} Server=${server}"
   if [[ ${PATCH_DIR} =~ ^/ ]]; then
-    # shellcheck disable=SC2086
     exec "${DOCKERCMD}" run --rm=true -i \
-      ${extraargs} \
+      "${DOCKER_EXTRAARGS[@]}" \
       -v "${PWD}:/testptch/${PROJECT_NAME}" \
       -v "${PATCH_DIR}:/testptch/patchprocess" \
       -u "${USER_NAME}" \
@@ -596,9 +591,8 @@ PatchSpecificDocker
       --name "${containername}" \
       "${patchimagename}"
   else
-    # shellcheck disable=SC2086
     exec "${DOCKERCMD}" run --rm=true -i \
-      ${extraargs} \
+      "${DOCKER_EXTRAARGS[@]}" \
       -v "${PWD}:/testptch/${PROJECT_NAME}" \
       -u "${USER_NAME}" \
       -w "/testptch/${PROJECT_NAME}" \
@@ -612,6 +606,9 @@ PatchSpecificDocker
       --name "${containername}" \
       "${patchimagename}"
   fi
+
+  # this should never get reached, but we put it here just in case
+  cleanup_and_exit 1
 }
 
 ## @description  Switch over to a Docker container

http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/precommit/test-patch-docker/launch-test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch-docker/launch-test-patch.sh b/precommit/test-patch-docker/launch-test-patch.sh
index aac0d21..a7b040c 100755
--- a/precommit/test-patch-docker/launch-test-patch.sh
+++ b/precommit/test-patch-docker/launch-test-patch.sh
@@ -14,6 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+declare -a OVERWRITEARGS=("--reexec")
+
+OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--dockermode")
+OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--basedir=${BASEDIR}")
+
 cd "${BASEDIR}"
 
 if [[ -n ${JAVA_HOME}
@@ -25,6 +30,10 @@ fi
 if [[ -z ${JAVA_HOME} ]]; then
   JAVA_HOME=$(find /usr/lib/jvm/ -name "java-*" -type d | tail -1)
   export JAVA_HOME
+  if [[ -n "${JAVA_HOME}" ]]; then
+    OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--java-home=${JAVA_HOME}")
+    echo "Setting ${JAVA_HOME} as the JAVA_HOME."
+  fi
 fi
 
 # Avoid out of memory errors in builds
@@ -35,9 +44,9 @@ export MAVEN_OPTS
 TESTPATCHMODE=${TESTPATCHMODE/--docker }
 TESTPATCHMODE=${TESTPATCHMODE%--docker}
 
-
-cd "${BASEDIR}"
 PATCH_DIR=$(cd -P -- "${PATCH_DIR}" >/dev/null && pwd -P)
+OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--patch-dir=${PATCH_DIR}")
+OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--user-plugins=${PATCH_DIR}/precommit/user-plugins")
 
 # if patch system is generic, then it's either a local
 # patch file or was in some other way not pulled from a bug
@@ -45,16 +54,11 @@ PATCH_DIR=$(cd -P -- "${PATCH_DIR}" >/dev/null && pwd -P)
 # test-patch where to find it.
 if [[ "${PATCH_SYSTEM}" = generic ]]; then
   cp -p "${PATCH_DIR}/patch" /testptch/extras/patch
-  patchfile="/testptch/extras/patch"
+  OVERWRITEARGS=("${OVERWRITEARGS[@]}" "/testptch/extras/patch")
 fi
 
 cd "${PATCH_DIR}/precommit/"
 #shellcheck disable=SC2086
 "${PATCH_DIR}/precommit/test-patch.sh" \
-   --reexec \
-   --dockermode ${TESTPATCHMODE} \
-   --basedir="${BASEDIR}" \
-   --patch-dir="${PATCH_DIR}" \
-   --java-home="${JAVA_HOME}" \
-   --user-plugins="${PATCH_DIR}/precommit/user-plugins" \
-   ${patchfile}
+   ${TESTPATCHMODE} \
+  "${OVERWRITEARGS[@]}"

http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/precommit/test-patch.d/ant.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/ant.sh b/precommit/test-patch.d/ant.sh
index 64c4067..61e13c9 100755
--- a/precommit/test-patch.d/ant.sh
+++ b/precommit/test-patch.d/ant.sh
@@ -200,5 +200,5 @@ function ant_builtin_personality_file_tests
 
 function ant_docker_support
 {
-  echo "-v ${HOME}/.ivy2:${HOME}/.ivy2" > "${PATCH_DIR}/buildtool-docker-params.txt"
+  DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS}" "-v" "${HOME}/.ivy2:${HOME}/.ivy2")
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/precommit/test-patch.d/gradle.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/gradle.sh b/precommit/test-patch.d/gradle.sh
index 57e023d..1f971fa 100755
--- a/precommit/test-patch.d/gradle.sh
+++ b/precommit/test-patch.d/gradle.sh
@@ -277,5 +277,5 @@ function gradle_builtin_personality_file_tests
 
 function gradle_docker_support
 {
-  echo "-v ${HOME}/.gradle:${HOME}/.gradle" > "${PATCH_DIR}/buildtool-docker-params.txt"
+  DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS[@]}" "-v" "${HOME}/.gradle:${HOME}/.gradle")
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/55c3cdf8/precommit/test-patch.d/maven.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/maven.sh b/precommit/test-patch.d/maven.sh
index 2e006c1..1a2a86b 100755
--- a/precommit/test-patch.d/maven.sh
+++ b/precommit/test-patch.d/maven.sh
@@ -554,11 +554,10 @@ function maven_precompile
 
 function maven_docker_support
 {
-  echo "-v ${HOME}/.m2:${HOME}/.m2" > "${PATCH_DIR}/buildtool-docker-params.txt"
+  DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS[@]}" "-v" "${HOME}/.m2:${HOME}/.m2")
 
   if [[ ${MAVEN_CUSTOM_REPOS} = true ]]; then
-    echo "-v ${MAVEN_CUSTOM_REPOS_DIR}:${MAVEN_CUSTOM_REPOS_DIR}" \
-      >> "${PATCH_DIR}/buildtool-docker-params.txt"
+    DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS[@]}" "-v" "${MAVEN_CUSTOM_REPOS_DIR}:${MAVEN_CUSTOM_REPOS_DIR}")
   fi
 }
 


[15/20] yetus git commit: YETUS-356. build driver: author plug-in still mentions patches (addendum)

Posted by aw...@apache.org.
YETUS-356. build driver: author plug-in still mentions patches (addendum)

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/f8da25be
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/f8da25be
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/f8da25be

Branch: refs/heads/YETUS-156
Commit: f8da25be87bf31866d2658bbe2baf50f94c67fa8
Parents: c68dbda
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 21:32:46 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/author.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/f8da25be/precommit/test-patch.d/author.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/author.sh b/precommit/test-patch.d/author.sh
index 3d6e393..0e00c80 100755
--- a/precommit/test-patch.d/author.sh
+++ b/precommit/test-patch.d/author.sh
@@ -29,9 +29,9 @@ function author_generic
   declare msg
 
   if [[ "${BUILDMODE}" = full ]]; then
-    msg="patch"
-  else
     msg="source tree"
+  else
+    msg="patch"
   fi
 
   # shellcheck disable=SC2016


[10/20] yetus git commit: YETUS-349. core engine changes for build driver

Posted by aw...@apache.org.
YETUS-349. core engine changes for build driver

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/38d3a695
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/38d3a695
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/38d3a695

Branch: refs/heads/YETUS-156
Commit: 38d3a6958d8ff1aa28bc80be351c11e5400272c4
Parents: 9e55702
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 16:30:27 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/core.d/01-common.sh |  22 +++++
 precommit/test-patch.sh       | 163 ++++++++++++++++++++++++-------------
 2 files changed, 130 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/38d3a695/precommit/core.d/01-common.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/01-common.sh b/precommit/core.d/01-common.sh
index 0661f6e..f31d613 100755
--- a/precommit/core.d/01-common.sh
+++ b/precommit/core.d/01-common.sh
@@ -536,6 +536,9 @@ function verify_command
     yetus_error "executable for '${cmd_name}' was not specified."
     return 1
   fi
+  if [[ ! "${cmd_path}" =~ / ]]; then
+    cmd_path=$(command -v "${cmd_path}")
+  fi
   if [[ ! -f ${cmd_path} ]]; then
     yetus_error "executable '${cmd_path}' for '${cmd_name}' does not exist."
     return 1
@@ -546,3 +549,22 @@ function verify_command
   fi
   return 0
 }
+
+## @description  Faster dirname, given the assumption that
+## @description  dirs are always absolute (e.g., start with /)
+## @description  DO NOT USE with relative paths or where
+## @description  assumption may not be valid!
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+## @param        fileobj
+function faster_dirname
+{
+  declare o=$1
+
+  if [[ "${o}" =~ / ]]; then
+    echo "${o%/*}"
+  else
+    echo .
+  fi
+}

http://git-wip-us.apache.org/repos/asf/yetus/blob/38d3a695/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index e0dbc29..e01ee87 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -86,6 +86,9 @@ function setup_defaults
   CHANGED_UNION_MODULES=""
   REEXECED=false
   RESETREPO=false
+  BUILDMODE=patch
+  # shellcheck disable=SC2034
+  BUILDMODEMSG="The patch"
   ISSUE=""
   TIMER=$(date +"%s")
   BUILDTOOL=maven
@@ -659,10 +662,14 @@ function yetus_usage
   jdktlist=$(echo ${JDK_TEST_LIST})
   jdktlist=${jdktlist// /,}
 
-  echo "test-patch.sh [OPTIONS] patch"
-  echo ""
-  echo "Where:"
-  echo "  patch is a file, URL, or bugsystem-compatible location of the patch file"
+  if [[ "${BUILDMODE}" = patch ]]; then
+    echo "${BINNAME} [OPTIONS] patch"
+    echo ""
+    echo "Where:"
+    echo "  patch is a file, URL, or bugsystem-compatible location of the patch file"
+  else
+    echo "${BINNAME} [OPTIONS]"
+  fi
   echo ""
   echo "Options:"
   echo ""
@@ -676,6 +683,7 @@ function yetus_usage
   yetus_add_option "--contrib-guide=<url>" "URL to point new users towards project conventions. (default: ${PATCH_NAMING_RULE} )"
   yetus_add_option "--debug" "If set, then output some extra stuff to stderr"
   yetus_add_option "--dirty-workspace" "Allow the local git workspace to have uncommitted changes"
+  yetus_add_option "--empty-patch" "Create a summary of the current source tree"
   yetus_add_option "--java-home=<path>" "Set JAVA_HOME (In Docker mode, this should be local to the image)"
   yetus_add_option "--linecomments=<bug>" "Only write line comments to this comma delimited list (defaults to bugcomments)"
   yetus_add_option "--list-plugins" "List all installed plug-ins and then exit"
@@ -800,6 +808,11 @@ function parse_args
       --instance=*)
         INSTANCE=${i#*=}
       ;;
+      --empty-patch)
+        BUILDMODE=full
+        # shellcheck disable=SC2034
+        BUILDMODEMSG="The source tree"
+      ;;
       --java-home=*)
         JAVA_HOME=${i#*=}
       ;;
@@ -890,7 +903,8 @@ function parse_args
 
   docker_parse_args "$@"
 
-  if [[ -z "${PATCH_OR_ISSUE}" ]]; then
+  if [[ -z "${PATCH_OR_ISSUE}"
+       && "${BUILDMODE}" = patch ]]; then
     yetus_usage
     exit 1
   fi
@@ -1009,7 +1023,7 @@ function find_buildfile_dir
       yetus_debug "ERROR: ${buildfile} is not found."
       return 1
     else
-      dir=$(dirname "${dir}")
+      dir=$(faster_dirname "${dir}")
     fi
   done
 }
@@ -1022,17 +1036,29 @@ function find_buildfile_dir
 function find_changed_files
 {
   declare line
+  declare oldifs
 
-  # get a list of all of the files that have been changed,
-  # except for /dev/null (which would be present for new files).
-  # Additionally, remove any a/ b/ patterns at the front of the patch filenames.
-  # shellcheck disable=SC2016
-  while read -r line; do
-    CHANGED_FILES=("${CHANGED_FILES[@]}" "${line}")
-  done < <(
-    ${AWK} 'function p(s){sub("^[ab]/","",s); if(s!~"^/dev/null"){print s}}
-    /^diff --git /   { p($3); p($4) }
-    /^(\+\+\+|---) / { p($2) }' "${PATCH_DIR}/patch" | sort -u)
+  case "${BUILDMODE}" in
+    full)
+      echo "Building a list of all files in the source tree"
+      oldifs=${IFS}
+      IFS=$'\n'
+      CHANGED_FILES=($(git ls-files))
+      IFS=${oldifs}
+    ;;
+    patch)
+      # get a list of all of the files that have been changed,
+      # except for /dev/null (which would be present for new files).
+      # Additionally, remove any a/ b/ patterns at the front of the patch filenames.
+      # shellcheck disable=SC2016
+      while read -r line; do
+        CHANGED_FILES=("${CHANGED_FILES[@]}" "${line}")
+      done < <(
+        ${AWK} 'function p(s){sub("^[ab]/","",s); if(s!~"^/dev/null"){print s}}
+        /^diff --git /   { p($3); p($4) }
+        /^(\+\+\+|---) / { p($2) }' "${PATCH_DIR}/patch" | sort -u)
+      ;;
+    esac
 }
 
 ## @description Check for directories to skip during
@@ -1065,7 +1091,7 @@ function module_skipdir
     if [[ ${dir} == "." || ${dir} == "/" ]]; then
       return 0
     else
-      dir=$(dirname "${dir}")
+      dir=$(faster_dirname "${dir}")
       yetus_debug "Trying to skip: ${dir}"
     fi
   done
@@ -1102,8 +1128,15 @@ function find_changed_modules
   if [[ -z ${buildfile} ]]; then
     tmpmods=(".")
   else
+
     # Now find all the modules that were changed
     for i in "${CHANGED_FILES[@]}"; do
+
+      # TODO: optimize this
+      if [[ "${BUILDMODE}" = full && ! "${i}" =~ ${buildfile} ]]; then
+        continue
+      fi
+
       dirt=$(dirname "${i}")
 
       module_skipdir "${dirt}"
@@ -1272,8 +1305,10 @@ function git_checkout
 
     currentbranch=$(${GIT} rev-parse --abbrev-ref HEAD)
     if [[ "${currentbranch}" != "${PATCH_BRANCH}" ]];then
-      echo "WARNING: Current git branch is ${currentbranch} but patch is built for ${PATCH_BRANCH}."
-      echo "WARNING: Continuing anyway..."
+      if [[ "${BUILDMODE}" = patch ]]; then
+        echo "WARNING: Current git branch is ${currentbranch} but patch is built for ${PATCH_BRANCH}."
+        echo "WARNING: Continuing anyway..."
+      fi
       PATCH_BRANCH=${currentbranch}
     fi
   fi
@@ -1398,8 +1433,11 @@ function determine_issue
 ## @replaceable  no
 function determine_needed_tests
 {
-  local i
-  local plugin
+  declare i
+  declare plugin
+
+  big_console_header "Determining needed tests"
+  echo "(Depending upon input size and number of plug-ins, this may take a while)"
 
   for i in "${CHANGED_FILES[@]}"; do
     yetus_debug "Determining needed tests for ${i}"
@@ -1592,7 +1630,7 @@ function check_reexec
     fi
   done
 
-  if [[ ${copy} == true ]]; then
+  if [[ ${copy} == true && "${BUILDMODE}" != full ]]; then
     big_console_header "precommit patch detected"
 
     if [[ ${RESETREPO} == false ]]; then
@@ -1709,8 +1747,10 @@ function modules_messages
   declare statusjdk
   declare multijdkmode=false
 
-  if [[ ${repostatus} == branch ]]; then
+  if [[ "${repostatus}" == branch ]]; then
     repo=${PATCH_BRANCH}
+  elif [[ "${BUILDMODE}" == full ]]; then
+    repo="the source"
   else
     repo="the patch"
   fi
@@ -2351,12 +2391,16 @@ function generic_calcdiff_status
   ((samepatch=numpatch-addpatch))
   ((fixedpatch=numbranch-numpatch+addpatch))
 
-  printf "generated %i new + %i unchanged - %i fixed = %i total (was %i)" \
-    "${addpatch}" \
-    "${samepatch}" \
-    "${fixedpatch}" \
-    "${numpatch}" \
-    "${numbranch}"
+  if [[ "${BUILDMODE}" = full ]]; then
+    printf "has %i issues." "${addpatch}"
+  else
+    printf "generated %i new + %i unchanged - %i fixed = %i total (was %i)" \
+      "${addpatch}" \
+      "${samepatch}" \
+      "${fixedpatch}" \
+      "${numpatch}" \
+      "${numbranch}"
+  fi
 }
 
 ## @description  Helper routine for plugins to ask projects, etc
@@ -2562,7 +2606,7 @@ function generic_post_handler
     return 0
   fi
 
-  big_console_header "Patch ${testtype} verification"
+  big_console_header "${testtype} verification: ${BUILDMODE}"
 
   for jdkindex in ${JDK_DIR_LIST}; do
     if [[ ${multijdkmode} == true ]]; then
@@ -2683,9 +2727,9 @@ function compile
   fi
 
   if [[ ${codebase} = "branch" ]]; then
-    big_console_header "Pre-patch ${PATCH_BRANCH} compilation"
+    big_console_header "${PATCH_BRANCH} compilation: pre-patch"
   else
-    big_console_header "Patch compilation"
+    big_console_header "${PATCH_BRANCH} compilation: ${BUILDMODE}"
   fi
 
   yetus_debug "Is JVM Required? ${JVM_REQUIRED}"
@@ -2858,26 +2902,33 @@ function initialize
 
   echo "Modes: ${EXEC_MODES}"
 
-  locate_patch
+  if [[ "${BUILDMODE}" = patch ]]; then
+    locate_patch
+
+    # from here on out, we'll be in ${BASEDIR} for cwd
+    # plugins need to pushd/popd if they change.
+    git_checkout
 
-  # from here on out, we'll be in ${BASEDIR} for cwd
-  # plugins need to pushd/popd if they change.
-  git_checkout
+    determine_issue
+    if [[ "${ISSUE}" == 'Unknown' ]]; then
+      echo "Testing patch on ${PATCH_BRANCH}."
+    else
+      echo "Testing ${ISSUE} patch on ${PATCH_BRANCH}."
+    fi
+
+    patchfile_dryrun_driver "${PATCH_DIR}/patch"
+    if [[ $? != 0 ]]; then
+      ((RESULT = RESULT + 1))
+      yetus_error "ERROR: ${PATCH_OR_ISSUE} does not apply to ${PATCH_BRANCH}."
+      add_vote_table -1 patch "${PATCH_OR_ISSUE} does not apply to ${PATCH_BRANCH}. Rebase required? Wrong Branch? See ${PATCH_NAMING_RULE} for help."
+      bugsystem_finalreport 1
+      cleanup_and_exit 1
+    fi
 
-  determine_issue
-  if [[ "${ISSUE}" == 'Unknown' ]]; then
-    echo "Testing patch on ${PATCH_BRANCH}."
   else
-    echo "Testing ${ISSUE} patch on ${PATCH_BRANCH}."
-  fi
 
-  patchfile_dryrun_driver "${PATCH_DIR}/patch"
-  if [[ $? != 0 ]]; then
-    ((RESULT = RESULT + 1))
-    yetus_error "ERROR: ${PATCH_OR_ISSUE} does not apply to ${PATCH_BRANCH}."
-    add_vote_table -1 patch "${PATCH_OR_ISSUE} does not apply to ${PATCH_BRANCH}. Rebase required? Wrong Branch? See ${PATCH_NAMING_RULE} for help."
-    bugsystem_finalreport 1
-    cleanup_and_exit 1
+    git_checkout
+
   fi
 
   find_changed_files
@@ -2948,17 +2999,19 @@ initialize "$@"
 
 prechecks
 
-patchfiletests
-((RESULT=RESULT+$?))
+if [[ "${BUILDMODE}" = patch ]]; then
+  patchfiletests
+  ((RESULT=RESULT+$?))
 
-compile_cycle branch
-((RESULT=RESULT+$?))
+  compile_cycle branch
+  ((RESULT=RESULT+$?))
 
-distclean
+  distclean
 
-apply_patch_file
+  apply_patch_file
 
-compute_gitdiff
+  compute_gitdiff
+fi
 
 compile_cycle patch
 ((RESULT=RESULT+$?))


[14/20] yetus git commit: YETUS-356. build driver: author plug-in still mentions patches

Posted by aw...@apache.org.
YETUS-356. build driver: author plug-in still mentions patches

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/c68dbda9
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/c68dbda9
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/c68dbda9

Branch: refs/heads/YETUS-156
Commit: c68dbda997100a7995125df2c3a606460fcd9f18
Parents: c9754c0
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 13:55:17 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/author.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/c68dbda9/precommit/test-patch.d/author.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/author.sh b/precommit/test-patch.d/author.sh
index 2e148d8..3d6e393 100755
--- a/precommit/test-patch.d/author.sh
+++ b/precommit/test-patch.d/author.sh
@@ -26,10 +26,17 @@ function author_generic
 {
   declare authortags
   declare i
+  declare msg
+
+  if [[ "${BUILDMODE}" = full ]]; then
+    msg="patch"
+  else
+    msg="source tree"
+  fi
 
   # shellcheck disable=SC2016
   authortags=$(wc -l "${PATCH_DIR}/author-tags.txt" | "${AWK}" '{print $1}')
-  echo "There appear to be ${authortags} @author tags in the patch."
+  echo "There appear to be ${authortags} @author tags in the ${msg}."
   if [[ ${authortags} != 0 ]] ; then
     add_vote_table -1 @author \
       "${BUILDMODEMSG} appears to contain ${authortags} @author tags which the" \


[06/20] yetus git commit: YETUS-357. build driver for hadoop shouldn't union unit tests

Posted by aw...@apache.org.
YETUS-357. build driver for hadoop shouldn't union unit tests

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/9afd94a3
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/9afd94a3
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/9afd94a3

Branch: refs/heads/YETUS-156
Commit: 9afd94a3e4c51da6f88ae8f3ac5ea0e55e8679f8
Parents: 9a543cf
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 09:03:20 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/personality/hadoop.sh | 10 ++++++++--
 precommit/test-patch.d/maven.sh | 10 ++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/9afd94a3/precommit/personality/hadoop.sh
----------------------------------------------------------------------
diff --git a/precommit/personality/hadoop.sh b/precommit/personality/hadoop.sh
index 580a9c8..f853158 100755
--- a/precommit/personality/hadoop.sh
+++ b/precommit/personality/hadoop.sh
@@ -39,8 +39,12 @@ function hadoop_order
 
   if [[ ${ordering} = normal ]]; then
     hadoopm="${CHANGED_MODULES[*]}"
-  elif  [[ ${ordering} = union ]]; then
+  elif [[ ${ordering} = union ]]; then
     hadoopm="${CHANGED_UNION_MODULES}"
+  elif [[ ${ordering} = mvnsrc ]]; then
+    hadoopm="${MAVEN_SRC_MODULES[*]}"
+  elif [[ ${ordering} = mvnsrctest ]]; then
+    hadoopm="${MAVEN_SRCTEST_MODULES[*]}"
   else
     hadoopm="${ordering}"
   fi
@@ -216,7 +220,9 @@ function personality_modules
       fi
     ;;
     unit)
-      if [[ "${CHANGED_MODULES[*]}" =~ \. ]]; then
+      if [[ "${BUILDMODE}" = full ]]; then
+        ordering=mvnsrc
+      elif [[ "${CHANGED_MODULES[*]}" =~ \. ]]; then
         ordering=.
       fi
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/9afd94a3/precommit/test-patch.d/maven.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/maven.sh b/precommit/test-patch.d/maven.sh
index 32f4b37..77aab32 100755
--- a/precommit/test-patch.d/maven.sh
+++ b/precommit/test-patch.d/maven.sh
@@ -685,6 +685,16 @@ function maven_reorder_modules
   yetus_debug "Maven: finish re-ordering modules"
   yetus_debug "Finished list: ${CHANGED_MODULES[*]}"
 
+  # build some utility module lists for maven modules
+  for index in "${CHANGED_MODULES[@]}"; do
+    if [[ -d "${index}/src" ]]; then
+      MAVEN_SRC_MODULES=("${MAVEN_SRC_MODULES[@]}" "${index}")
+      if [[ -d "${index}/src/test" ]]; then
+        MAVEN_SRCTEST_MODULES=("${MAVEN_SRCTEST_MODULES[@]}" "${index}")
+      fi
+    fi
+  done
+
   if [[ "${BUILDMODE}" = patch ]]; then
     add_vote_table 0 mvndep "Maven dependency ordering for ${repostatus}"
   else


[08/20] yetus git commit: YETUS-348. add ability to write console report to a file

Posted by aw...@apache.org.
YETUS-348. add ability to write console report to a file

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/9e557024
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/9e557024
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/9e557024

Branch: refs/heads/YETUS-156
Commit: 9e557024aa5064f4ce51d3ab91fccb2312bf9354
Parents: 55c3cdf
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 15:23:33 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/core.d/00-yetuslib.sh                 |  2 +-
 precommit/core.d/builtin-bugsystem.sh           | 10 ++++++++++
 precommit/core.d/docker.sh                      |  5 +++++
 .../test-patch-docker/launch-test-patch.sh      |  4 ++++
 precommit/test-patch.sh                         | 20 +++++++++++++++++---
 5 files changed, 37 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/9e557024/precommit/core.d/00-yetuslib.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/00-yetuslib.sh b/precommit/core.d/00-yetuslib.sh
index 1bd63b7..4105641 100755
--- a/precommit/core.d/00-yetuslib.sh
+++ b/precommit/core.d/00-yetuslib.sh
@@ -101,7 +101,7 @@ function yetus_run_and_redirect
 ## @description  Given a filename or dir, return the absolute version of it
 ## @audience     public
 ## @stability    stable
-## @param        directory
+## @param        fsobj
 ## @replaceable  no
 ## @return       0 success
 ## @return       1 failure

http://git-wip-us.apache.org/repos/asf/yetus/blob/9e557024/precommit/core.d/builtin-bugsystem.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/builtin-bugsystem.sh b/precommit/core.d/builtin-bugsystem.sh
index f83e7c9..c7d9a6c 100755
--- a/precommit/core.d/builtin-bugsystem.sh
+++ b/precommit/core.d/builtin-bugsystem.sh
@@ -45,6 +45,11 @@ function console_finalreport
   declare seccoladj=0
   declare spcfx=${PATCH_DIR}/spcl.txt
 
+  if [[ -n "${CONSOLE_REPORT_FILE}" ]]; then
+    exec 6>&1
+    exec >"${CONSOLE_REPORT_FILE}"
+  fi
+
   if [[ ${result} == 0 ]]; then
     if [[ ${ROBOT} == false ]]; then
       if declare -f ${PROJECT_NAME}_console_success >/dev/null; then
@@ -154,4 +159,9 @@ function console_finalreport
     printf "%s\n" "${comment}"
     ((i=i+1))
   done
+
+  if [[ -n "${CONSOLE_REPORT_FILE}" ]]; then
+    exec 1>&6 6>&-
+    cat "${CONSOLE_REPORT_FILE}"
+  fi
 }

http://git-wip-us.apache.org/repos/asf/yetus/blob/9e557024/precommit/core.d/docker.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/docker.sh b/precommit/core.d/docker.sh
index 2d7f550..062c8c1 100755
--- a/precommit/core.d/docker.sh
+++ b/precommit/core.d/docker.sh
@@ -570,6 +570,11 @@ PatchSpecificDocker
     DOCKER_EXTRAARGS=("--privileged" "${DOCKER_EXTRAARGS[@]}")
   fi
 
+  if [[ -n "${CONSOLE_REPORT_FILE}" ]]; then
+    touch "${CONSOLE_REPORT_FILE}"
+    DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS[@]}" "-v" "${CONSOLE_REPORT_FILE}:/testptch/console.txt")
+  fi
+
   client=$(docker_version Client)
   server=$(docker_version Server)
 

http://git-wip-us.apache.org/repos/asf/yetus/blob/9e557024/precommit/test-patch-docker/launch-test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch-docker/launch-test-patch.sh b/precommit/test-patch-docker/launch-test-patch.sh
index a7b040c..d54c502 100755
--- a/precommit/test-patch-docker/launch-test-patch.sh
+++ b/precommit/test-patch-docker/launch-test-patch.sh
@@ -57,6 +57,10 @@ if [[ "${PATCH_SYSTEM}" = generic ]]; then
   OVERWRITEARGS=("${OVERWRITEARGS[@]}" "/testptch/extras/patch")
 fi
 
+if [[ -f /testptch/console.txt ]]; then
+  OVERWRITEARGS=("${OVERWRITEARGS[@]}" "--console-report-file=/testptch/console.txt")
+fi
+
 cd "${PATCH_DIR}/precommit/"
 #shellcheck disable=SC2086
 "${PATCH_DIR}/precommit/test-patch.sh" \

http://git-wip-us.apache.org/repos/asf/yetus/blob/9e557024/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index ee96505..e0dbc29 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -646,7 +646,6 @@ function relative_dir
 ## @replaceable  no
 function yetus_usage
 {
-
   declare bugsys
   declare jdktlist
 
@@ -720,6 +719,7 @@ function yetus_usage
   yetus_add_option "--build-url=<url>" "Set the build location web page (Default: '${BUILD_URL}')"
   yetus_add_option "--build-url-console=<location>" "Location relative to --build-url of the console (Default: '${BUILD_URL_CONSOLE}')"
   yetus_add_option "--build-url-patchdir=<location>" "Location relative to --build-url of the --patch-dir (Default: '${BUILD_URL_ARTIFACTS}')"
+  yetus_add_option "--console-report-file=<file>" "Save the final console-based report to a file in addition to the screen"
   yetus_add_option "--console-urls" "Use the build URL instead of path on the console report"
   yetus_add_option "--instance=<string>" "Parallel execution identifier string"
   yetus_add_option "--jenkins" "Enable Jenkins-specifc handling (auto: --robot)"
@@ -784,6 +784,9 @@ function parse_args
         # shellcheck disable=SC2034
         BUILD_URL_CONSOLE=${i#*=}
       ;;
+      --console-report-file=*)
+        CONSOLE_REPORT_FILE=${i#*=}
+      ;;
       --console-urls)
         # shellcheck disable=SC2034
         CONSOLE_USE_BUILD_URL=true
@@ -935,6 +938,7 @@ function parse_args
     PATCH_DIR="${USER_PATCH_DIR}"
   fi
 
+  # we need absolute dir for PATCH_DIR
   cd "${STARTINGDIR}"
   if [[ ! -d ${PATCH_DIR} ]]; then
     mkdir -p "${PATCH_DIR}"
@@ -945,10 +949,20 @@ function parse_args
       cleanup_and_exit 1
     fi
   fi
-
-  # we need absolute dir for PATCH_DIR
   PATCH_DIR=$(yetus_abs "${PATCH_DIR}")
 
+  # we need absolute dir for ${CONSOLE_REPORT_FILE}
+  if [[ -n "${CONSOLE_REPORT_FILE}" ]]; then
+    touch "${CONSOLE_REPORT_FILE}"
+    if [[ $? != 0 ]]; then
+      yetus_error "ERROR: cannot write to ${CONSOLE_REPORT_FILE}. Disabling console report file."
+      unset CONSOLE_REPORT_FILE
+    else
+      j="${CONSOLE_REPORT_FILE}"
+      CONSOLE_REPORT_FILE=$(yetus_abs "${j}")
+    fi
+  fi
+
   if [[ ${RESETREPO} == "true" ]] ; then
     yetus_add_entry EXEC_MODES ResetRepo
   fi


[16/20] yetus git commit: YETUS-373. build driver: maven install should be smarter

Posted by aw...@apache.org.
YETUS-373. build driver: maven install should be smarter

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/c9754c0a
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/c9754c0a
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/c9754c0a

Branch: refs/heads/YETUS-156
Commit: c9754c0a0a5db41152cfe998a6662e1fa08a93ee
Parents: dc96393
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 13:52:33 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/maven.sh | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/c9754c0a/precommit/test-patch.d/maven.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/maven.sh b/precommit/test-patch.d/maven.sh
index 77aab32..d65aeaa 100755
--- a/precommit/test-patch.d/maven.sh
+++ b/precommit/test-patch.d/maven.sh
@@ -523,7 +523,14 @@ function maven_precompile
   fi
 
   if verify_needed_test javac; then
-    need=true
+    # if we are in full build mode, then
+    # there is no need to do an initial install
+    # since we will be doing a full compile from basedir
+    # for projects like hadoop, this saves quite a bit
+    # of time
+    if [[ "${BUILDMODE}" = patch ]]; then
+      need=true
+    fi
   else
     # not everything needs a maven install
     # but quite a few do ...
@@ -542,10 +549,6 @@ function maven_precompile
    return 0
   fi
 
-  if [[ "${BUILDMODE}" = Full ]]; then
-    return 0
-  fi
-
   if [[ "${repostatus}" = branch ]]; then
     big_console_header "maven install: ${PATCH_BRANCH}"
   else


[03/20] yetus git commit: YETUS-374. need a way to ignore results from a list of tests

Posted by aw...@apache.org.
YETUS-374. need a way to ignore results from a list of tests

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/b353d3fb
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/b353d3fb
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/b353d3fb

Branch: refs/heads/YETUS-156
Commit: b353d3fbeba445023ba3dba030bac759fabd0c8d
Parents: f8da25b
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 14:35:26 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.sh | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/b353d3fb/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index 9fb26dc..5f7dfd9 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -236,12 +236,15 @@ function add_header_line
 ## @return       Elapsed time display
 function add_vote_table
 {
-  local value=$1
-  local subsystem=$2
+  declare value=$1
+  declare subsystem=$2
   shift 2
 
-  local calctime
-  local -r elapsed=$(stop_clock)
+  declare calctime
+  # apparently shellcheck doesn't know about declare -r
+  #shellcheck disable=SC2155
+  declare -r elapsed=$(stop_clock)
+  declare filt
 
   yetus_debug "add_vote_table ${value} ${subsystem} ${*}"
 
@@ -251,6 +254,12 @@ function add_vote_table
     value="+1"
   fi
 
+  for filt in "${VOTE_FILTER[@]}"; do
+    if [[ "${subsystem}" = "${filt}" ]]; then
+      value=0
+    fi
+  done
+
   if [[ -z ${value} ]]; then
     # shellcheck disable=SC2034
     TP_VOTE_TABLE[${TP_VOTE_COUNTER}]="|  | ${subsystem} | | ${*:-} |"
@@ -259,6 +268,10 @@ function add_vote_table
     TP_VOTE_TABLE[${TP_VOTE_COUNTER}]="| ${value} | ${subsystem} | ${calctime} | $* |"
   fi
   ((TP_VOTE_COUNTER=TP_VOTE_COUNTER+1))
+
+  if [[ "${value}" = -1 ]]; then
+    ((RESULT = RESULT + 1))
+  fi
 }
 
 ## @description  Report the JVM version of the given directory
@@ -709,6 +722,7 @@ function yetus_usage
   yetus_add_option "--summarize=<bool>" "Allow tests to summarize results"
   yetus_add_option "--test-parallel=<bool>" "Run multiple tests in parallel (default false in developer mode, true in Jenkins mode)"
   yetus_add_option "--test-threads=<int>" "Number of tests to run in parallel (default defined in ${PROJECT_NAME} build)"
+  yetus_add_option "--tests-filter=<list>" "Lists of tests to turn failures into warnings"
   yetus_add_option "--user-plugins=<dir>" "A directory of user provided plugins. see test-patch.d for examples (default empty)"
   yetus_add_option "--version" "Print release version information and exit"
 
@@ -884,6 +898,9 @@ function parse_args
         # shellcheck disable=SC2034
         TEST_THREADS=${i#*=}
       ;;
+      --tests-filter=*)
+        yetus_comma_to_array VOTE_FILTER "${i#*=}"
+      ;;
       --tpglobaltimer=*)
         GLOBALTIMER=${i#*=}
       ;;
@@ -2272,8 +2289,6 @@ function runtests
 
     verify_patchdir_still_exists
     check_unittests
-
-    (( RESULT = RESULT + $? ))
   fi
 
   for plugin in ${TESTTYPES}; do
@@ -2283,7 +2298,6 @@ function runtests
       yetus_debug "Running ${plugin}_tests"
       #shellcheck disable=SC2086
       ${plugin}_tests
-      (( RESULT = RESULT + $? ))
     fi
   done
 }
@@ -3043,10 +3057,8 @@ prechecks
 
 if [[ "${BUILDMODE}" = patch ]]; then
   patchfiletests
-  ((RESULT=RESULT+$?))
 
   compile_cycle branch
-  ((RESULT=RESULT+$?))
 
   distclean
 
@@ -3056,10 +3068,8 @@ if [[ "${BUILDMODE}" = patch ]]; then
 fi
 
 compile_cycle patch
-((RESULT=RESULT+$?))
 
 runtests
-((RESULT=RESULT+$?))
 
 finish_vote_table
 


[13/20] yetus git commit: YETUS-371. build driver: speed up checkstyle

Posted by aw...@apache.org.
YETUS-371. build driver: speed up checkstyle

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/9a543cff
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/9a543cff
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/9a543cff

Branch: refs/heads/YETUS-156
Commit: 9a543cff423cc4817e5612798291eaeb44010991
Parents: b7e4854
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Apr 12 08:53:04 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/checkstyle.sh | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/9a543cff/precommit/test-patch.d/checkstyle.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/checkstyle.sh b/precommit/test-patch.d/checkstyle.sh
index bba3369..f0b3e57 100755
--- a/precommit/test-patch.d/checkstyle.sh
+++ b/precommit/test-patch.d/checkstyle.sh
@@ -341,12 +341,21 @@ function checkstyle_postapply
     module=${MODULE[$i]}
     fn=$(module_file_fragment "${module}")
 
-    # call calcdiffs to allow overrides
-    calcdiffs \
-      "${PATCH_DIR}/branch-checkstyle-${fn}.txt" \
-      "${PATCH_DIR}/patch-checkstyle-${fn}.txt" \
-      checkstyle \
-      > "${PATCH_DIR}/diff-checkstyle-${fn}.txt"
+    # if there is no comparison to be done,
+    # we can speed this up tremendously
+    if [[ "${BUILDMODE}" = full ]]; then
+      touch  "${PATCH_DIR}/branch-checkstyle-${fn}.txt"
+      cp -p "${PATCH_DIR}/patch-checkstyle-${fn}.txt" \
+        "${PATCH_DIR}/diff-checkstyle-${fn}.txt"
+    else
+
+      # call calcdiffs to allow overrides
+      calcdiffs \
+        "${PATCH_DIR}/branch-checkstyle-${fn}.txt" \
+        "${PATCH_DIR}/patch-checkstyle-${fn}.txt" \
+        checkstyle \
+        > "${PATCH_DIR}/diff-checkstyle-${fn}.txt"
+    fi
 
     #shellcheck disable=SC2016
     numbranch=$(wc -l "${PATCH_DIR}/branch-checkstyle-${fn}.txt" | ${AWK} '{print $1}')


[18/20] yetus git commit: YETUS-354. findbugs in build driver has problems

Posted by aw...@apache.org.
YETUS-354. findbugs in build driver has problems

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/b7e48548
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/b7e48548
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/b7e48548

Branch: refs/heads/YETUS-156
Commit: b7e485487eea676f95dfd4b6b888506c841788e9
Parents: 98f0690
Author: Allen Wittenauer <aw...@apache.org>
Authored: Mon Apr 11 10:45:18 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/findbugs.sh | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/b7e48548/precommit/test-patch.d/findbugs.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/findbugs.sh b/precommit/test-patch.d/findbugs.sh
index 152d85f..24ccc95 100755
--- a/precommit/test-patch.d/findbugs.sh
+++ b/precommit/test-patch.d/findbugs.sh
@@ -281,9 +281,19 @@ function findbugs_preapply
 
     if [[ ${module_findbugs_warnings} -gt 0 ]] ; then
       msg="${module} in ${PATCH_BRANCH} has ${module_findbugs_warnings} extant Findbugs warnings."
-      if [[ "${FINDBUGS_WARNINGS_FAIL_PRECHECK}" == "true" ]]; then
+      if [[ "${FINDBUGS_WARNINGS_FAIL_PRECHECK}" = "true" ]]; then
         module_status ${modindex} -1 "branch-findbugs-${fn}-warnings.html" "${msg}"
         ((result=result+1))
+      elif [[ "${BUILDMODE}" = full ]]; then
+        module_status ${modindex} -1 "branch-findbugs-${fn}-warnings.html" "${msg}"
+        ((result=result+1))
+        populate_test_table FindBugs "module:${module}"
+        #shellcheck disable=SC2162
+        while read line; do
+          firstpart=$(echo "${line}" | cut -f2 -d:)
+          secondpart=$(echo "${line}" | cut -f9- -d' ')
+          add_test_table "" "${firstpart}:${secondpart}"
+        done < <("${FINDBUGS_HOME}/bin/convertXmlToText" "${warnings_file}.xml")
       else
         module_status ${modindex} 0 "branch-findbugs-${fn}-warnings.html" "${msg}"
       fi
@@ -466,7 +476,7 @@ function findbugs_rebuild
 {
   declare repostatus=$1
 
-  if [[ "${repostatus}" = branch ]]; then
+  if [[ "${repostatus}" = branch || "${BUILDMODE}" = full ]]; then
     findbugs_preapply
   else
     findbugs_postinstall


[09/20] yetus git commit: YETUS-353. runtime wrapper for build driver

Posted by aw...@apache.org.
YETUS-353. runtime wrapper for build driver

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/6a9f61fe
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/6a9f61fe
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/6a9f61fe

Branch: refs/heads/YETUS-156
Commit: 6a9f61fe6fe1b547ecdc4d5bdef7ed252acad07e
Parents: ec78a64
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 17:12:43 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 build.sh                | 4 +++-
 precommit/test-patch.sh | 8 +++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/6a9f61fe/build.sh
----------------------------------------------------------------------
diff --git a/build.sh b/build.sh
index ebf2872..3fd24f7 100755
--- a/build.sh
+++ b/build.sh
@@ -167,11 +167,13 @@ cp -r shelldocs "${bin_tarball}/lib/"
 cp -r release-doc-maker "${bin_tarball}/lib/"
 
 cp -r precommit "${bin_tarball}/lib/"
+ln -s test-patch.sh "${bin_tarball}/lib/precommit/qbt.sh"
 
 mkdir -p "${bin_tarball}/bin"
 
 for utility in shelldocs/shelldocs.py release-doc-maker/releasedocmaker.py \
-               precommit/smart-apply-patch.sh precommit/test-patch.sh
+               precommit/smart-apply-patch.sh precommit/test-patch.sh \
+               precommit/qbt.sh
 do
   wrapper=${utility##*/}
   wrapper=${wrapper%.*}

http://git-wip-us.apache.org/repos/asf/yetus/blob/6a9f61fe/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index e01ee87..f4752b5 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -25,6 +25,8 @@ fi
 
 this="${BASH_SOURCE-$0}"
 BINDIR=$(cd -P -- "$(dirname -- "${this}")" >/dev/null && pwd -P)
+BINNAME=${this##*/}
+BINNAME=${BINNAME%.sh}
 STARTINGDIR=$(pwd)
 USER_PARAMS=("$@")
 GLOBALTIMER=$(date +"%s")
@@ -2995,7 +2997,11 @@ function import_core
 
 import_core
 
-initialize "$@"
+if [[ "${BINNAME}" =~ qbt ]]; then
+  initialize --empty-patch "$@"
+else
+  initialize "$@"
+fi
 
 prechecks
 


[20/20] yetus git commit: YETUS-375. build driver: maven install actually needs to be dumber

Posted by aw...@apache.org.
YETUS-375. build driver: maven install actually needs to be dumber

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/7bf2b77e
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/7bf2b77e
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/7bf2b77e

Branch: refs/heads/YETUS-156
Commit: 7bf2b77e452445536b630adbbefc36c162634172
Parents: b353d3f
Author: Allen Wittenauer <aw...@apache.org>
Authored: Wed Apr 13 06:56:58 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 precommit/test-patch.d/maven.sh | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/7bf2b77e/precommit/test-patch.d/maven.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/maven.sh b/precommit/test-patch.d/maven.sh
index d65aeaa..3d37c37 100755
--- a/precommit/test-patch.d/maven.sh
+++ b/precommit/test-patch.d/maven.sh
@@ -523,14 +523,7 @@ function maven_precompile
   fi
 
   if verify_needed_test javac; then
-    # if we are in full build mode, then
-    # there is no need to do an initial install
-    # since we will be doing a full compile from basedir
-    # for projects like hadoop, this saves quite a bit
-    # of time
-    if [[ "${BUILDMODE}" = patch ]]; then
-      need=true
-    fi
+    need=true
   else
     # not everything needs a maven install
     # but quite a few do ...


[19/20] yetus git commit: YETUS-376. add ability to write report to an HTML formatted file

Posted by aw...@apache.org.
YETUS-376. add ability to write report to an HTML formatted file

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/1341bc7d
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/1341bc7d
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/1341bc7d

Branch: refs/heads/YETUS-156
Commit: 1341bc7d11d8e5309789520e36ad8fe86b1f8b56
Parents: 7bf2b77
Author: Allen Wittenauer <aw...@apache.org>
Authored: Wed Apr 13 21:40:13 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 .../in-progress/precommit-advanced.md           |   5 +
 precommit/test-patch.d/htmlout.sh               | 231 +++++++++++++++++++
 precommit/test-patch.sh                         |   9 +-
 3 files changed, 242 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/1341bc7d/asf-site-src/source/documentation/in-progress/precommit-advanced.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-advanced.md b/asf-site-src/source/documentation/in-progress/precommit-advanced.md
index d64392a..953b44e 100644
--- a/asf-site-src/source/documentation/in-progress/precommit-advanced.md
+++ b/asf-site-src/source/documentation/in-progress/precommit-advanced.md
@@ -80,6 +80,9 @@ Similarly, there are other functions that may be defined during the test-patch r
 * pluginname\_initialize
     - After argument parsing and prior to any other work, the initialize step allows a plug-in to do any precursor work, set internal defaults, etc.
 
+* pluginname\_docker\_support
+    - Perform any necessary setup to configure Docker support for the given plugin.  Typically this means adding parameters to the docker run command line via adding to the DOCKER\_EXTRAARGS array.
+
 * pluginname\_precheck
     - executed prior to the patch being applied but after the git repository is setup.  Returning a fail status here will exit test-patch.
 
@@ -253,6 +256,8 @@ There are a handful of extremely important system variables that make life easie
 
 * CHANGED\_MODULES[@] is an array of all modules that house all of the CHANGED\_FILES[@].  Be aware that the root of the source tree is reported as '.'.
 
+* DOCKER\_EXTRAARGS[@] is an array of command line arguments to apply to the `docker run` command.
+
 * GITHUB\_REPO is to help test-patch when talking to Github.  If test-patch is given just a number on the command line, it will default to using this repo to determine the pull request.
 
 * JIRA\_ISSUE\_RE is to help test-patch when talking to JIRA.  It helps determine if the given project is appropriate for the given JIRA issue.

http://git-wip-us.apache.org/repos/asf/yetus/blob/1341bc7d/precommit/test-patch.d/htmlout.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.d/htmlout.sh b/precommit/test-patch.d/htmlout.sh
new file mode 100755
index 0000000..29af898
--- /dev/null
+++ b/precommit/test-patch.d/htmlout.sh
@@ -0,0 +1,231 @@
+#!/usr/bin/env bash
+# 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.
+
+# This bug system provides github integration
+
+add_bugsystem htmlout
+
+## @description  Usage info for htmlout plugin
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+function htmlout_usage
+{
+  yetus_add_option "--html-report-file=<file>" "Save the final report to an HTML-formated file"
+}
+
+## @description  Option parsing for htmlout plugin
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+function htmlout_parse_args
+{
+  declare i
+  declare fn
+
+  for i in "$@"; do
+    case ${i} in
+      --html-report-file=*)
+        fn=${i#*=}
+      ;;
+    esac
+  done
+
+  if [[ -n "${fn}" ]]; then
+    touch "${fn}" 2>/dev/null
+    if [[ $? != 0 ]]; then
+      yetus_error "WARNING: cannot create ${fn}. Ignoring."
+    else
+      HTMLOUT_REPORTFILE=$(yetus_abs "${fn}")
+    fi
+  fi
+}
+
+## @description  Give access to the HTML report file in docker mode
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+function htmlout_docker_support
+{
+  if [[ -n ${HTMLOUT_REPORTFILE} ]]; then
+    DOCKER_EXTRAARGS=("${DOCKER_EXTRAARGS[@]}" "-v" "${HTMLOUT_REPORTFILE}:${HTMLOUT_REPORTFILE}")
+  fi
+}
+
+
+## @description  Write out an HTML version of the final report to a file
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+## @param        runresult
+function htmlout_finalreport
+{
+  declare result=$1
+  declare i
+  declare commentfile="${HTMLOUT_REPORTFILE}"
+  declare comment
+  declare vote
+  declare ourstring
+  declare ela
+  declare subs
+  declare color
+  declare comment
+
+  rm "${commentfile}" 2>/dev/null
+
+  if [[ -z "${HTMLOUT_REPORTFILE}" ]]; then
+    return
+  fi
+
+  big_console_header "Writing HTML to ${commentfile}"
+
+  {
+    echo "<table><tbody>"
+
+    if [[ ${result} == 0 ]]; then
+      echo "<tr><th><font color=\"green\">+1 overall</font></th></tr>"
+    else
+      echo "<tr><th><font color=\"red\">-1 overall</font></th></tr>"
+    fi
+    echo "</table></tbody>"
+    echo "<p></p>"
+  } >  "${commentfile}"
+
+  i=0
+  until [[ $i -eq ${#TP_HEADER[@]} ]]; do
+    ourstring=$(echo "${TP_HEADER[${i}]}" | tr -s ' ')
+    comment=$(echo "${ourstring}"  | cut -f2 -d\|)
+    printf "<tr><td>%s</td></tr>\n" "${comment}"
+    ((i=i+1))
+  done
+
+  {
+    echo "<table><tbody>"
+    echo "<tr>"
+    echo "<th>Vote</th>"
+    echo "<th>Subsystem</th>"
+    echo "<th>Runtime</th>"
+    echo "<th>Comment</th>"
+    echo "</tr>"
+  } >> "${commentfile}"
+
+  i=0
+  until [[ $i -eq ${#TP_VOTE_TABLE[@]} ]]; do
+    ourstring=$(echo "${TP_VOTE_TABLE[${i}]}" | tr -s ' ')
+    vote=$(echo "${ourstring}" | cut -f2 -d\| | tr -d ' ')
+    subs=$(echo "${ourstring}"  | cut -f3 -d\|)
+    ela=$(echo "${ourstring}" | cut -f4 -d\|)
+    comment=$(echo "${ourstring}"  | cut -f5 -d\|)
+
+    # summary line
+    if [[ -z ${vote}
+      && -n ${ela} ]]; then
+      color="black"
+    elif [[ -z ${vote} ]]; then
+      # keep same color
+      true
+    else
+      # new vote line
+      case ${vote} in
+        1|"+1")
+          color="green"
+        ;;
+        -1)
+          color="red"
+        ;;
+        0)
+          color="blue"
+        ;;
+        *)
+          color="black"
+        ;;
+      esac
+    fi
+
+    {
+      echo "<tr>"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${vote}"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${subs}"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${ela}"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${comment}"
+      echo "</tr>"
+    } >> "${commentfile}"
+    ((i=i+1))
+  done
+  {
+    echo "</tbody></table>"
+    echo "<p></p>"
+  } >> "${commentfile}"
+
+  if [[ ${#TP_TEST_TABLE[@]} -gt 0 ]]; then
+    {
+      echo "<table><tbody>"
+      echo "<tr>"
+      echo "<th>Reason</th>"
+      echo "<th>Tests</th>"
+      echo "</tr>"
+    } >> "${commentfile}"
+
+    i=0
+    until [[ $i -eq ${#TP_TEST_TABLE[@]} ]]; do
+      ourstring=$(echo "${TP_TEST_TABLE[${i}]}" | tr -s ' ')
+      subs=$(echo "${ourstring}"  | cut -f2 -d\|)
+      comment=$(echo "${ourstring}"  | cut -f3 -d\|)
+      {
+        echo "<tr>"
+        printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${subs}"
+        printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${comment}"
+        echo "</tr>"
+      } >> "${commentfile}"
+      ((i=i+1))
+    done
+
+    {
+      echo "</tbody></table>"
+      echo "<p></p>"
+    } >> "${commentfile}"
+  fi
+
+  {
+    echo "<table><tbody>"
+    echo "<tr>"
+    echo "<th>Subsystem</th>"
+    echo "<th>Report/Notes</th>"
+    echo "</tr>"
+  } >> "${commentfile}"
+
+  i=0
+  until [[ $i -eq ${#TP_FOOTER_TABLE[@]} ]]; do
+    ourstring=$(echo "${TP_FOOTER_TABLE[${i}]}" |
+              ${SED} -e "s,@@BASE@@,${BUILD_URL}${BUILD_URL_ARTIFACTS},g" |
+              tr -s ' ')
+    subs=$(echo "${ourstring}"  | cut -f2 -d\|)
+    comment=$(echo "${ourstring}"  | cut -f3 -d\|)
+    {
+      echo "<tr>"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${subs}"
+      printf "<td><font color=\"%s\">%s</font></td>" "${color}" "${comment}"
+      echo "</tr>"
+    } >> "${commentfile}"
+    ((i=i+1))
+  done
+  {
+    echo "</tbody></table>"
+    echo "<p></p>"
+  } >> "${commentfile}"
+
+  printf "<p>This message was automatically generated.</p>" >> "${commentfile}"
+}

http://git-wip-us.apache.org/repos/asf/yetus/blob/1341bc7d/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index 5f7dfd9..dfe6483 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -1633,6 +1633,7 @@ function check_reexec
   declare tpdir
   declare copy=false
   declare testdir
+  declare plugin
 
   if [[ ${REEXECED} == true ]]; then
     big_console_header "Re-exec mode detected. Continuing."
@@ -1693,9 +1694,11 @@ function check_reexec
     # if we are doing docker, then we re-exec, but underneath the
     # container
 
-    if declare -f ${BUILDTOOL}_docker_support >/dev/null; then
-      "${BUILDTOOL}_docker_support"
-    fi
+    for plugin in ${PROJECT_NAME} ${BUILDTOOL} ${BUGSYSTEMS} ${TESTTYPES} ${TESTFORMATS}; do
+      if declare -f ${plugin}_docker_support >/dev/null; then
+        "${plugin}_docker_support"
+      fi
+    done
 
     TESTPATCHMODE="${USER_PARAMS[*]}"
     if [[ -n "${BUILD_URL}" ]]; then


[11/20] yetus git commit: YETUS-351. documentation changes for build driver

Posted by aw...@apache.org.
YETUS-351. documentation changes for build driver

Signed-off-by: Allen Wittenauer <aw...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/3e09e38f
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/3e09e38f
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/3e09e38f

Branch: refs/heads/YETUS-156
Commit: 3e09e38ff89857f267553f42a46e62eba991d443
Parents: 6a9f61f
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Mar 29 17:19:41 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Thu Apr 14 00:24:45 2016 -0700

----------------------------------------------------------------------
 .../documentation/in-progress/precommit-qbt.md  | 37 ++++++++++++++++++++
 1 file changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/yetus/blob/3e09e38f/asf-site-src/source/documentation/in-progress/precommit-qbt.md
----------------------------------------------------------------------
diff --git a/asf-site-src/source/documentation/in-progress/precommit-qbt.md b/asf-site-src/source/documentation/in-progress/precommit-qbt.md
new file mode 100644
index 0000000..2cb8036
--- /dev/null
+++ b/asf-site-src/source/documentation/in-progress/precommit-qbt.md
@@ -0,0 +1,37 @@
+<!---
+  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.
+-->
+
+qbt
+===
+
+`qbt` is a command to execute test-patch without a patch.  It uses
+the same plug-ins and the same options as test-patch.  The only
+difference is that no patch file, location, etc should be supplied.
+It is meant to be a way to easily get test-patch's output on your
+current source tree.  It is suitable to be run as a regularly
+scheduled build as part of your overall development strategy.
+
+When using an automation tool, it may be useful to use the
+`--console-report-file` option to send the summary email to a
+file. This can then be used with systems like Jenkin's
+email-ext plug-in to send the output as an emailed report:
+
+```
+${FILE,path="<report-file-path>"}
+```