X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fmaven-javadoc-generate.sh;h=137f4d7ab50c57e356484da3c185640d9563edab;hb=725220518be40c04b46c2fce670d6c395a6557b3;hp=7919242c96acf0c66c56a865d8cfd7419b211310;hpb=11bccd3d96d180f93ae96cd330e23565ba351aa5;p=releng%2Fglobal-jjb.git diff --git a/shell/maven-javadoc-generate.sh b/shell/maven-javadoc-generate.sh index 7919242c..137f4d7a 100644 --- a/shell/maven-javadoc-generate.sh +++ b/shell/maven-javadoc-generate.sh @@ -1,4 +1,4 @@ -#!/bin/bash -l +#!/bin/bash # SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2017 The Linux Foundation and others. @@ -8,12 +8,12 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################## - +echo "---> maven-javadoc-generate.sh" # Generates javadoc in a Maven project. -# DO NOT enable -u because $MAVEN_PARAMS and $MAVEN_OPTIONS could be unbound. # Ensure we fail the job if any steps fail. -set -xe -o pipefail +# DO NOT enable -u because $MAVEN_PARAMS and $MAVEN_OPTIONS could be unbound. +set -e -o pipefail set +u JAVADOC_DIR="$WORKSPACE/archives/javadoc" @@ -23,13 +23,30 @@ export MAVEN_OPTS # Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters. # shellcheck disable=SC2086 -$MVN clean install javadoc:aggregate \ +# Use -x via subshell to show maven invocation details in the log +(set -x + $MVN clean install javadoc:aggregate \ -e -Pq -Dmaven.javadoc.skip=false \ -DskipTests=true \ -Dcheckstyle.skip=true \ -Dfindbugs.skip=true \ --global-settings "$GLOBAL_SETTINGS_FILE" \ --settings "$SETTINGS_FILE" \ - $MAVEN_OPTIONS $MAVEN_PARAMS + -f "$MAVEN_DIR" \ + $MAVEN_OPTIONS $MAVEN_PARAMS \ +) + +mv "$WORKSPACE/$MAVEN_DIR/target/site/apidocs" "$JAVADOC_DIR" -mv "$WORKSPACE/target/site/apidocs" "$JAVADOC_DIR" +# TODO: Nexus unpack plugin throws a "504 gateway timeout" for jobs archiving +# large number of small files. Remove the workaround when we move away from +# using Nexus as the log server. +if [[ "$JOB_NAME" =~ "javadoc-verify" ]]; then + # Tarball the javadoc dir and rm the directory to avoid re-upload into logs + tarball="$WORKSPACE/archives/javadoc.tar.xz" + echo "INFO: archiving $JAVADOC_DIR as $tarball" + pushd "$JAVADOC_DIR" + tar cvJf "$tarball" . + popd + rm -rf "$JAVADOC_DIR" +fi