Repository: hadoop Updated Branches: refs/heads/branch-3.0.0 0d41249be -> c938a54e8
HADOOP-15058. create-release site build outputs dummy shaded jars due to skipShade. Contributed by Andrew Wang. (cherry picked from commit 5533648241b11f547ac10b64a126f3ae7a2f54c4) (cherry picked from commit 486311cdc487966e9f0f8fff9dd58b7ce6f9c93e) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c938a54e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c938a54e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c938a54e Branch: refs/heads/branch-3.0.0 Commit: c938a54e873096bdb12c3328c05af77a92e33049 Parents: 0d41249 Author: Sean Mackrory <[email protected]> Authored: Mon Dec 4 15:39:33 2017 -0700 Committer: Sean Mackrory <[email protected]> Committed: Mon Dec 4 15:45:37 2017 -0700 ---------------------------------------------------------------------- dev-support/bin/create-release | 71 +++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c938a54e/dev-support/bin/create-release ---------------------------------------------------------------------- diff --git a/dev-support/bin/create-release b/dev-support/bin/create-release index 694820b..949a46f 100755 --- a/dev-support/bin/create-release +++ b/dev-support/bin/create-release @@ -202,6 +202,8 @@ function set_defaults | head -1 \ | sed -e 's|^ *<version>||' -e 's|</version>.*$||') + DEPLOY=false + DOCKER=false DOCKERCACHE=false DOCKERFILE="${BASEDIR}/dev-support/docker/Dockerfile" @@ -283,6 +285,7 @@ function usage { echo "--artifactsdir=[path] Path to use to store release bits" echo "--asfrelease Make an ASF release" + echo "--deploy Deploy Maven artifacts using ~/.m2/settings.xml" echo "--docker Use Hadoop's Dockerfile for guaranteed environment" echo "--dockercache Use a Docker-private maven cache" echo "--logdir=[path] Path to store logs" @@ -304,10 +307,14 @@ function option_parse ASFRELEASE=true NATIVE=true SIGN=true + DEPLOY=true ;; --artifactsdir=*) ARTIFACTS_DIR=${i#*=} ;; + --deploy) + DEPLOY=true + ;; --docker) DOCKER=true ;; @@ -360,6 +367,11 @@ function option_parse fi fi + if [[ "${DEPLOY}" = true && ! -f "${HOME}/.m2/settings.xml" ]]; then + hadoop_error "ERROR: No ~/.m2/settings.xml file, cannot deploy Maven artifacts." + exit 1 + fi + DOCKERCMD=$(command -v docker) if [[ "${DOCKER}" = true && -z "${DOCKERCMD}" ]]; then hadoop_error "ERROR: docker binary not found. Disabling docker mode." @@ -452,6 +464,11 @@ function dockermode extrad+=("-v" "${lines}:${lines}") fi + if [[ "${DEPLOY}" = true ]]; then + modp+=("--deploy") + extrad+=("-v" "${HOME}/.m2/settings.xml:/home/${user_name}/.m2/settings.xml") + fi + if [[ "${DOCKERCACHE}" = true ]]; then modp+=("--mvncache=/maven") else @@ -540,14 +557,32 @@ function makearelease signflags=("-Psign" "-Dgpg.useagent=true" "-Dgpg.executable=${GPG}") fi + local target="install" + if [[ "${DEPLOY}" = true ]]; then + target="deploy" + fi + # Create SRC and BIN tarballs for release, # shellcheck disable=SC2046 - run_and_redirect "${LOGDIR}/mvn_install.log" \ - "${MVN}" "${MVN_ARGS[@]}" install \ + run_and_redirect "${LOGDIR}/mvn_${target}.log" \ + "${MVN}" "${MVN_ARGS[@]}" ${target} \ -Pdist,src,yarn-ui \ "${signflags[@]}" \ -DskipTests -Dtar $(hadoop_native_flags) + # Stage BIN tarball + run cd "${BASEDIR}" + run mv \ + "${BASEDIR}/hadoop-dist/target/hadoop-${HADOOP_VERSION}.tar.gz" \ + "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}.tar.gz" + + # Stage SRC tarball + run mv \ + "${BASEDIR}/hadoop-dist/target/hadoop-${HADOOP_VERSION}-src.tar.gz" \ + "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}-src.tar.gz" + + big_console_header "Maven Site" + if [[ "${SECURITYRELEASE}" = true ]]; then DOCFLAGS="-Pdocs" hadoop_error "WARNING: Skipping automatic changelog and release notes generation due to --security" @@ -555,7 +590,6 @@ function makearelease DOCFLAGS="-Preleasedocs,docs" fi - # Create site for release # we need to do install again so that jdiff and # a few other things get registered in the maven @@ -568,13 +602,17 @@ function makearelease -Pdist,src \ "${DOCFLAGS}" - big_console_header "Staging the release" - + # Create the site tarball run mv "${BASEDIR}/target/staging/hadoop-project" "${BASEDIR}/target/r${HADOOP_VERSION}/" run cd "${BASEDIR}/target/" run tar czpf "hadoop-site-${HADOOP_VERSION}.tar.gz" "r${HADOOP_VERSION}"/* run cd "${BASEDIR}" + # Stage SITE tarball + run mv \ + "${BASEDIR}/target/hadoop-site-${HADOOP_VERSION}.tar.gz" \ + "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}-site.tar.gz" + # Stage RAT report #shellcheck disable=SC2038 find . -name rat.txt | xargs -I% cat % > "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}-rat.txt" @@ -586,25 +624,14 @@ function makearelease "${ARTIFACTS_DIR}/${i}.md" done - # Prepare and stage BIN tarball - run cd "${BASEDIR}/hadoop-dist/target/" - run tar -xzpf "hadoop-${HADOOP_VERSION}.tar.gz" + # We need to fixup the BIN tarball at the end to contain the site docs. + run cd "${ARTIFACTS_DIR}" + run tar -xzpf "hadoop-${HADOOP_VERSION}${RC_LABEL}.tar.gz" + run mkdir -p "hadoop-${HADOOP_VERSION}/share/doc/hadoop/" run cp -r "${BASEDIR}/target/r${HADOOP_VERSION}"/* "hadoop-${HADOOP_VERSION}/share/doc/hadoop/" - run tar -czpf "hadoop-${HADOOP_VERSION}.tar.gz" "hadoop-${HADOOP_VERSION}" - run cd "${BASEDIR}" - run mv \ - "${BASEDIR}/hadoop-dist/target/hadoop-${HADOOP_VERSION}.tar.gz" \ - "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}.tar.gz" - - # Stage SRC tarball - run mv \ - "${BASEDIR}/hadoop-dist/target/hadoop-${HADOOP_VERSION}-src.tar.gz" \ - "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}-src.tar.gz" + run tar -czpf "hadoop-${HADOOP_VERSION}${RC_LABEL}.tar.gz" "hadoop-${HADOOP_VERSION}" + run rm -rf "hadoop-${HADOOP_VERSION}" - # Stage SITE tarball - run mv \ - "${BASEDIR}/target/hadoop-site-${HADOOP_VERSION}.tar.gz" \ - "${ARTIFACTS_DIR}/hadoop-${HADOOP_VERSION}${RC_LABEL}-site.tar.gz" } function signartifacts --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
