#!/bin/bash #### CONFIGURE: ###### PUBLISH_DIR="pdf-over-build" LOG_DIR="/tmp/pdfover_log" #### DON'T CONFIGURE #### BASEDIR="`dirname $0`" TBOLDGRAY="\033[1;30m" TGREEN="\033[0;32m" TBOLDGREEN="\033[1;32m" TYELLOW="\033[0;33m" TBOLDYELLOW="\033[1;33m" TRED="\033[0;31m" TBOLDRED="\033[1;31m" TNORMAL="\033[0;39m" COLS=$(tput cols) MVN_PARAMS="$@" function begin_phase { MSG=$@ printf "$MSG" } function end_phase { STATUS=$1 case "$STATUS" in "OK") STATUSCOLOR="$TBOLDGREEN";; "FAILED") STATUSCOLOR="$TBOLDRED";; *) STATUSCOLOR="$TBOLDYELLOW";; esac PAD=$(($COLS-${#MSG})) printf "%b%${PAD}s%b" "$STATUSCOLOR" "[$STATUS]" "$TNORMAL" } pushd $BASEDIR > /dev/null echo -e "Publishing to: $TYELLOW$PUBLISH_DIR$TNORMAL" mkdir -p "$PUBLISH_DIR" mkdir -p "$LOG_DIR" begin_phase "Cleaning..." mvn -B clean > "$LOG_DIR/clean.log" 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ]; then end_phase "OK" else end_phase "FAILED" fi profiles=( linux windows mac mac-aarch64 ) if [[ "$1" != "" ]] && [[ "$1" == "--profiles" ]]; then profiles=( $2 ) shift shift MVN_PARAMS="$@" fi pids=() for (( i = 0 ; i < ${#profiles[@]} ; i++ )) do PROFILE=${profiles[$i]} begin_phase "Building profile [$PROFILE]..." mvn -B install -P$PROFILE -Dno-native-profile $MVN_PARAMS > "$LOG_DIR/build_$NAME.log" 2>&1 RETVAL=$? if [ ${RETVAL} -eq 0 ]; then end_phase "OK" else end_phase "FAILED" fi done popd > /dev/null