HADOOP-11917. test-patch.sh should work with ${BASEDIR}/patchprocess setups (aw)
This commit is contained in:
parent
24d3a2d4fd
commit
d33419ae01
1
.gitignore
vendored
1
.gitignore
vendored
@ -23,3 +23,4 @@ hadoop-tools/hadoop-openstack/src/test/resources/contract-test-options.xml
|
|||||||
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/tla/yarnregistry.toolbox
|
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/tla/yarnregistry.toolbox
|
||||||
yarnregistry.pdf
|
yarnregistry.pdf
|
||||||
hadoop-tools/hadoop-aws/src/test/resources/contract-test-options.xml
|
hadoop-tools/hadoop-aws/src/test/resources/contract-test-options.xml
|
||||||
|
patchprocess/
|
||||||
|
@ -535,6 +535,26 @@ function echo_and_redirect
|
|||||||
"${@}" > "${logfile}" 2>&1
|
"${@}" > "${logfile}" 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## @description is PATCH_DIR relative to BASEDIR?
|
||||||
|
## @audience public
|
||||||
|
## @stability stable
|
||||||
|
## @replaceable yes
|
||||||
|
## @returns 1 - no, PATCH_DIR
|
||||||
|
## @returns 0 - yes, PATCH_DIR - BASEDIR
|
||||||
|
function relative_patchdir
|
||||||
|
{
|
||||||
|
local p=${PATCH_DIR#${BASEDIR}}
|
||||||
|
|
||||||
|
if [[ ${#p} -eq ${#PATCH_DIR} ]]; then
|
||||||
|
echo ${p}
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
p=${p#/}
|
||||||
|
echo ${p}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
## @description Print the usage information
|
## @description Print the usage information
|
||||||
## @audience public
|
## @audience public
|
||||||
## @stability stable
|
## @stability stable
|
||||||
@ -697,7 +717,8 @@ function parse_args
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# if we get a relative path, turn it absolute
|
# we need absolute dir for ${BASEDIR}
|
||||||
|
cd "${CWD}"
|
||||||
BASEDIR=$(cd -P -- "${BASEDIR}" >/dev/null && pwd -P)
|
BASEDIR=$(cd -P -- "${BASEDIR}" >/dev/null && pwd -P)
|
||||||
|
|
||||||
if [[ ${BUILD_NATIVE} == "true" ]] ; then
|
if [[ ${BUILD_NATIVE} == "true" ]] ; then
|
||||||
@ -723,6 +744,7 @@ function parse_args
|
|||||||
JENKINS=false
|
JENKINS=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cd "${CWD}"
|
||||||
if [[ ! -d ${PATCH_DIR} ]]; then
|
if [[ ! -d ${PATCH_DIR} ]]; then
|
||||||
mkdir -p "${PATCH_DIR}"
|
mkdir -p "${PATCH_DIR}"
|
||||||
if [[ $? == 0 ]] ; then
|
if [[ $? == 0 ]] ; then
|
||||||
@ -733,6 +755,9 @@ function parse_args
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# we need absolute dir for PATCH_DIR
|
||||||
|
PATCH_DIR=$(cd -P -- "${PATCH_DIR}" >/dev/null && pwd -P)
|
||||||
|
|
||||||
GITDIFFLINES=${PATCH_DIR}/gitdifflines.txt
|
GITDIFFLINES=${PATCH_DIR}/gitdifflines.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -821,17 +846,36 @@ function find_changed_modules
|
|||||||
function git_checkout
|
function git_checkout
|
||||||
{
|
{
|
||||||
local currentbranch
|
local currentbranch
|
||||||
|
local exemptdir
|
||||||
|
|
||||||
big_console_header "Confirming git environment"
|
big_console_header "Confirming git environment"
|
||||||
|
|
||||||
if [[ ${RESETREPO} == "true" ]] ; then
|
|
||||||
cd "${BASEDIR}"
|
cd "${BASEDIR}"
|
||||||
|
if [[ ! -d .git ]]; then
|
||||||
|
hadoop_error "ERROR: ${BASEDIR} is not a git repo."
|
||||||
|
cleanup_and_exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${RESETREPO} == "true" ]] ; then
|
||||||
${GIT} reset --hard
|
${GIT} reset --hard
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
hadoop_error "ERROR: git reset is failing"
|
hadoop_error "ERROR: git reset is failing"
|
||||||
cleanup_and_exit 1
|
cleanup_and_exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# if PATCH_DIR is in BASEDIR, then we don't want
|
||||||
|
# git wiping it out.
|
||||||
|
exemptdir=$(relative_patchdir)
|
||||||
|
if [[ $? == 1 ]]; then
|
||||||
${GIT} clean -xdf
|
${GIT} clean -xdf
|
||||||
|
else
|
||||||
|
# we do, however, want it emptied of all _files_.
|
||||||
|
# we need to leave _directories_ in case we are in
|
||||||
|
# re-exec mode (which places a directory full of stuff in it)
|
||||||
|
hadoop_debug "Exempting ${exemptdir} from clean"
|
||||||
|
rm "${PATCH_DIR}/*" 2>/dev/null
|
||||||
|
${GIT} clean -xdf -e "${exemptdir}"
|
||||||
|
fi
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
hadoop_error "ERROR: git clean is failing"
|
hadoop_error "ERROR: git clean is failing"
|
||||||
cleanup_and_exit 1
|
cleanup_and_exit 1
|
||||||
@ -875,11 +919,6 @@ function git_checkout
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
cd "${BASEDIR}"
|
|
||||||
if [[ ! -d .git ]]; then
|
|
||||||
hadoop_error "ERROR: ${BASEDIR} is not a git repo."
|
|
||||||
cleanup_and_exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
status=$(${GIT} status --porcelain)
|
status=$(${GIT} status --porcelain)
|
||||||
if [[ "${status}" != "" && -z ${DIRTY_WORKSPACE} ]] ; then
|
if [[ "${status}" != "" && -z ${DIRTY_WORKSPACE} ]] ; then
|
||||||
@ -1000,6 +1039,16 @@ function verify_valid_branch
|
|||||||
local check=$2
|
local check=$2
|
||||||
local i
|
local i
|
||||||
|
|
||||||
|
# shortcut some common
|
||||||
|
# non-resolvable names
|
||||||
|
if [[ -z ${check} ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${check} == patch ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${check} =~ ^git ]]; then
|
if [[ ${check} =~ ^git ]]; then
|
||||||
ref=$(echo "${check}" | cut -f2 -dt)
|
ref=$(echo "${check}" | cut -f2 -dt)
|
||||||
count=$(echo "${ref}" | wc -c | tr -d ' ')
|
count=$(echo "${ref}" | wc -c | tr -d ' ')
|
||||||
@ -2207,12 +2256,19 @@ function cleanup_and_exit
|
|||||||
|
|
||||||
if [[ ${JENKINS} == "true" ]] ; then
|
if [[ ${JENKINS} == "true" ]] ; then
|
||||||
if [[ -e "${PATCH_DIR}" ]] ; then
|
if [[ -e "${PATCH_DIR}" ]] ; then
|
||||||
hadoop_debug "mv ${PATCH_DIR} ${BASEDIR} "
|
|
||||||
if [[ -d "${PATCH_DIR}" ]]; then
|
if [[ -d "${PATCH_DIR}" ]]; then
|
||||||
|
# if PATCH_DIR is already inside BASEDIR, then
|
||||||
|
# there is no need to move it since we assume that
|
||||||
|
# Jenkins or whatever already knows where it is at
|
||||||
|
# since it told us to put it there!
|
||||||
|
relative_patchdir >/dev/null
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
hadoop_debug "mv ${PATCH_DIR} ${BASEDIR}"
|
||||||
mv "${PATCH_DIR}" "${BASEDIR}"
|
mv "${PATCH_DIR}" "${BASEDIR}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
big_console_header "Finished build."
|
big_console_header "Finished build."
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
@ -2442,6 +2498,8 @@ find_changed_files
|
|||||||
|
|
||||||
determine_needed_tests
|
determine_needed_tests
|
||||||
|
|
||||||
|
# from here on out, we'll be in ${BASEDIR} for cwd
|
||||||
|
# routines need to pushd/popd if they change.
|
||||||
git_checkout
|
git_checkout
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
if [[ ${JENKINS} == "true" ]] ; then
|
if [[ ${JENKINS} == "true" ]] ; then
|
||||||
|
@ -533,6 +533,9 @@ Release 2.8.0 - UNRELEASED
|
|||||||
HADOOP-11911. test-patch should allow configuration of default branch
|
HADOOP-11911. test-patch should allow configuration of default branch
|
||||||
(Sean Busbey via aw)
|
(Sean Busbey via aw)
|
||||||
|
|
||||||
|
HADOOP-11917. test-patch.sh should work with ${BASEDIR}/patchprocess
|
||||||
|
setups (aw)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||||
|
1
pom.xml
1
pom.xml
@ -361,6 +361,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
|
|||||||
<exclude>.git/**</exclude>
|
<exclude>.git/**</exclude>
|
||||||
<exclude>.idea/**</exclude>
|
<exclude>.idea/**</exclude>
|
||||||
<exclude>**/build/**</exclude>
|
<exclude>**/build/**</exclude>
|
||||||
|
<exclude>**/patchprocess/**</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
Loading…
Reference in New Issue
Block a user