| #!/bin/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. | 
 | # | 
 | # | 
 |  | 
 | BASENAME_0=$(basename $0) | 
 |  | 
 | usage() { | 
 |  echo ""                                          >&2 | 
 |  echo "$BASENAME_0 options:                     " >&2 | 
 |  echo "                                         " >&2 | 
 |  echo "  Skip options:                          " >&2 | 
 |  echo "  -e|-E skip|only examples               " >&2 | 
 |  echo "  -k|-K skip|only stale example check    " >&2 | 
 |  echo "  -b|-B skip|only mvn -pl core/config    " >&2 | 
 |  echo "  -c|-C skip|only config doc generation  " >&2 | 
 |  echo "  -d|-D skip|only projdoc generation     " >&2 | 
 |  echo "  -l|-L skip|only fix adoc line endings  " >&2 | 
 |  echo "  -a|-A skip|only Antora generation      " >&2 | 
 |  echo "  -s|-S skip|only serving generated site " >&2 | 
 |  echo ""                                          >&2 | 
 |  echo "  -y skip clear project site             " >&2 | 
 |  echo "  -z skip cache (template)               " >&2 | 
 |  echo ""                                          >&2 | 
 |  echo "  -f antora/playbooks/site-xxx.yml       " >&2 | 
 |  exit 1 | 
 | } | 
 |  | 
 | export ANTORA_CACHE_DIR=.antora-cache-dir | 
 | export ANTORA_TARGET_SITE=antora/target/site | 
 |  | 
 | # | 
 | # for now, we disable index generation, because (a) java 11 dependency, | 
 | # probably not available on CI build server, and (b) need to build tooling. | 
 | # | 
 | # nevertheless, a committer can use this script to easily regenerate the | 
 | # index (only) using the -I flag. | 
 | # | 
 | PLAYBOOK_FILE=antora/playbooks/site.yml | 
 |  | 
 | BRANCH=$(git branch --show-current) | 
 | DATE=$(date +%Y%m%d-%H%M) | 
 | export REVISION="${BRANCH}.${DATE}" | 
 |  | 
 |  | 
 | while getopts 'bBECDAKSLecdakszylhf:' opt | 
 | do | 
 |   case $opt in | 
 |     E) export EXAMPLES=exec | 
 |        forcing=true ;; | 
 |     B) export BUILD_CONFIGS=exec | 
 |        forcing=true ;; | 
 |     C) export CONFIGS=exec | 
 |        forcing=true ;; | 
 |     D) export PROJDOC_GENERATION=exec | 
 |        forcing=true ;; | 
 |     L) export FIX_ADOC_LINE_ENDINGS=exec | 
 |        forcing=true ;; | 
 |     A) export ANTORA_GENERATION=exec | 
 |        export CLEAR_CACHE=exec | 
 |        export CLEAR_PREVIOUS=exec | 
 |        forcing=true ;; | 
 |     K) export STALE_EXAMPLE_CHECK=exec | 
 |        forcing=true ;; | 
 |     S) export SERVE=exec | 
 |        forcing=true ;; | 
 |  | 
 |     e) export EXAMPLES=skip ;; | 
 |     b) export BUILD_CONFIGS=skip ;; | 
 |     c) export CONFIGS=skip ;; | 
 |     d) export PROJDOC_GENERATION=skip ;; | 
 |     l) export FIX_ADOC_LINE_ENDINGS=skip ;; | 
 |     a) export ANTORA_GENERATION=skip | 
 |        export CLEAR_CACHE=skip | 
 |        export CLEAR_PREVIOUS=skip | 
 |       ;; | 
 |     k) export STALE_EXAMPLE_CHECK=skip ;; | 
 |     s) export SERVE=skip ;; | 
 |  | 
 |     z) export CLEAR_CACHE=skip ;; | 
 |     y) export CLEAR_PREVIOUS=skip ;; | 
 |  | 
 |     f) PLAYBOOK_FILE=$OPTARG ;; | 
 |     h) usage | 
 |        exit 1 | 
 |        ;; | 
 |     *) echo "unknown option $opt - aborting" >&2 | 
 |        usage | 
 |        exit 1 | 
 |       ;; | 
 |   esac | 
 | done | 
 |  | 
 | if [ "$forcing" = "true" ]; then | 
 |     if [ -z "$EXAMPLES" ]; then | 
 |       export EXAMPLES=skip | 
 |     fi | 
 |     if [ -z "$BUILD_CONFIGS" ]; then | 
 |       export BUILD_CONFIGS=skip | 
 |     fi | 
 |     if [ -z "$CONFIGS" ]; then | 
 |       export CONFIGS=skip | 
 |     fi | 
 |     if [ -z "$PROJDOC_GENERATION" ]; then | 
 |       export PROJDOC_GENERATION=skip | 
 |     fi | 
 |     if [ -z "$FIX_ADOC_LINE_ENDINGS" ]; then | 
 |       export FIX_ADOC_LINE_ENDINGS=skip | 
 |     fi | 
 |     if [ -z "$ANTORA_GENERATION" ]; then | 
 |       export ANTORA_GENERATION=skip | 
 |       export CLEAR_CACHE=skip | 
 |       export CLEAR_PREVIOUS=skip | 
 |     fi | 
 |     if [ -z "$STALE_EXAMPLE_CHECK" ]; then | 
 |       export STALE_EXAMPLE_CHECK=skip | 
 |     fi | 
 |     if [ -z "$SERVE" ]; then | 
 |       export SERVE=skip | 
 |     fi | 
 | fi | 
 |  | 
 | echo "" | 
 | echo "-e|-E skip|only examples              : $EXAMPLES" | 
 | echo "-k|-K skip|only stale example check   : $STALE_EXAMPLE_CHECK" | 
 | echo "-b|-B skip|only mvn -pl core/config   : $BUILD_CONFIGS" | 
 | echo "-c|-C skip|only configs               : $CONFIGS" | 
 | echo "-d|-D skip|only projdoc generation    : $PROJDOC_GENERATION" | 
 | echo "-l|-L skip|only fix adoc line endings : $FIX_ADOC_LINE_ENDINGS" | 
 | echo "-a|-A skip|only antora generation     : $ANTORA_GENERATION" | 
 | echo "-s|-S skip|only serve                 : $SERVE" | 
 | echo "-y    skip clearing previous site     : $CLEAR_PREVIOUS" | 
 | echo "-z    skip clear cache (template)     : $CLEAR_CACHE" | 
 | echo "" | 
 |  | 
 | if [[ "$EXAMPLES" == "skip" ]]; then | 
 |   export SKIP_EXAMPLES=true | 
 | fi | 
 | if [[ "$CONFIGS" == "skip" ]]; then | 
 |   export SKIP_CONFIGS=true | 
 | fi | 
 | if [[ "$STALE_EXAMPLE_CHECK" == "skip" ]]; then | 
 |   export SKIP_STALE_EXAMPLE_CHECK=true | 
 | fi | 
 | if [[ "$PROJDOC_GENERATION" == "skip" ]]; then | 
 |   export SKIP_PROJDOC_GENERATION=true | 
 | fi | 
 | if [[ "$FIX_ADOC_LINE_ENDINGS" == "skip" ]]; then | 
 |   export SKIP_FIX_ADOC_LINE_ENDINGS=true | 
 | fi | 
 | if [[ "$ANTORA_GENERATION" == "skip" ]]; then | 
 |   export SKIP_ANTORA_GENERATION=true | 
 | fi | 
 | if [[ "$SERVE" == "skip" ]]; then | 
 |   export SKIP_SERVE=true | 
 | fi | 
 |  | 
 | if [[ "$BUILD_CONFIGS" == "skip" ]]; then | 
 |   echo "skipping mvn -pl core/config" | 
 | else | 
 |   mvn clean install -pl core/config -DskipTests | 
 | fi | 
 |  | 
 | if [[ "$CLEAR_CACHE" == "skip" ]]; then | 
 |   echo "skipping clearing the Antora cache" | 
 | else | 
 |   rm -rf $ANTORA_CACHE_DIR | 
 | fi | 
 |  | 
 | if [[ "$CLEAR_PREVIOUS" == "skip" ]]; then | 
 |   echo "skipping clearing any previous build site" | 
 | else | 
 |   rm -rf $ANTORA_TARGET_SITE | 
 | fi | 
 |  | 
 | if [ ! -f $PLAYBOOK_FILE ]; then | 
 |   echo "no such file $PLAYBOOK_FILE" >&2 | 
 |   exit 1 | 
 | fi | 
 |  | 
 | export ANTORA_CMD=antora | 
 |  | 
 | SECONDS=0 | 
 | echo "\$PLAYBOOK_FILE = $PLAYBOOK_FILE" | 
 | bash build-site.sh $PLAYBOOK_FILE || exit 1 | 
 |  | 
 | if [[ "$SERVE" == "skip" ]]; then | 
 |   echo "skipping serving" | 
 | else | 
 |   echo "" | 
 |   echo "http://localhost:5000/docs/latest/about.html" | 
 |   echo "" | 
 |  | 
 |   serve -S -p 5000 $ANTORA_TARGET_SITE | 
 | fi |