scripts/logs.sh |
#!/bin/bash | |||||
############################### | |||||
# usage: logs.sh [ -l ARG ] [ -n ARG ] | |||||
# -l ARG: name of log file to display. | |||||
# valid values are 'all', 'sonar', 'web', 'ce' and 'es' (case insensitive). | |||||
# default value is 'all'. | |||||
# -n ARG: number of log line to display. Value is passed to n option of tail. | |||||
# default value is 25 | |||||
############################### | |||||
set -euo pipefail | |||||
DEFAULT_LOG="all" | |||||
DEFAULT_LINES="25" | |||||
LOGS="sonar web ce es" | |||||
function checkLogArgument() { | |||||
local logArg="$1" | |||||
if [ "${logArg,,}" == "$DEFAULT_LOG" ]; then | |||||
return | |||||
fi | |||||
for t in $LOGS; do | |||||
if [ "${logArg,,}" == "$t" ]; then | |||||
return | |||||
fi | |||||
done | |||||
echo "Unsupported -l argument $logArg" | |||||
exit 1 | |||||
} | |||||
function buildTailArgs() { | |||||
local logArg="$1" | |||||
local logLines="$2" | |||||
local res="" | |||||
for t in $LOGS; do | |||||
if [ "${logArg,,}" == "$DEFAULT_LOG" ] || [ "${logArg,,}" == "$t" ]; then | |||||
res="$res -Fn $logLines $SQ_HOME/logs/$t.log" | |||||
fi | |||||
done | |||||
echo "$res" | |||||
} | |||||
function doTail() { | |||||
local logArg="$1" | |||||
local logLines="${2:-"$DEFAULT_LINES"}" | |||||
TAIL_ARG=$(buildTailArgs "$logArg" "$logLines") | |||||
tail $TAIL_ARG | |||||
} | |||||
# check the script was called to avoid execute when script is only sourced | |||||
script_name=$(basename "$0") | |||||
if [ "$script_name" == "logs.sh" ]; then | |||||
LOG="$DEFAULT_LOG" | |||||
LINES="$DEFAULT_LINES" | |||||
while getopts ":l:n:" opt; do | |||||
case "$opt" in | |||||
l) LOG=${OPTARG:=$DEFAULT_LOG} | |||||
;; | |||||
n) LINES=${OPTARG:=$DEFAULT_LINES} | |||||
;; | |||||
\?) | |||||
echo "Unsupported option $OPTARG" >&2 | |||||
exit 1 | |||||
;; | |||||
esac | |||||
done | |||||
checkLogArgument "$LOG" | |||||
ROOT=$(pwd) | |||||
cd sonar-application/target/sonarqube-* | |||||
SQ_HOME=$(pwd) | |||||
cd "$ROOT" | |||||
doTail "$LOG" "$LINES" | |||||
fi |
#!/bin/bash | #!/bin/bash | ||||
############################### | ############################### | ||||
# usage: start.sh [ -p ARG ] | |||||
# usage: start.sh [ -p ARG ] [ -l ARG ] | |||||
# -p ARG: name(s) of patch separated by colon (name of patch is filename without extension) | # -p ARG: name(s) of patch separated by colon (name of patch is filename without extension) | ||||
# -l ARG: name of log file to display. | |||||
# valid values are 'all', 'sonar', 'web', 'ce' and 'es' (case insensitive). | |||||
# default value is 'all'. | |||||
############################### | ############################### | ||||
set -euo pipefail | |||||
ROOT=$(pwd) | ROOT=$(pwd) | ||||
source "$ROOT"/scripts/logs.sh | |||||
PATCHES="" | PATCHES="" | ||||
while getopts ":p:" opt; do | |||||
LOG="$DEFAULT_LOG" | |||||
while getopts ":p:l:" opt; do | |||||
case "$opt" in | case "$opt" in | ||||
p) PATCHES=$OPTARG | p) PATCHES=$OPTARG | ||||
;; | ;; | ||||
l) LOG=${OPTARG:=$DEFAULT_LOG} | |||||
;; | |||||
\?) | \?) | ||||
echo "Unsupported option $OPTARG" >&2 | echo "Unsupported option $OPTARG" >&2 | ||||
exit 1 | exit 1 | ||||
esac | esac | ||||
done | done | ||||
if [[ "$OSTYPE" == "darwin"* ]]; then | |||||
checkLogArgument "$LOG" | |||||
if [[ "${OSTYPE:-}" == "darwin"* ]]; then | |||||
OS='macosx-universal-64' | OS='macosx-universal-64' | ||||
else | else | ||||
OS='linux-x86-64' | OS='linux-x86-64' | ||||
if ! ls sonar-application/target/sonarqube-*.zip &> /dev/null; then | if ! ls sonar-application/target/sonarqube-*.zip &> /dev/null; then | ||||
echo 'Sources are not built' | echo 'Sources are not built' | ||||
./build.sh | |||||
"$ROOT"/build.sh | |||||
fi | fi | ||||
cd sonar-application/target/ | cd sonar-application/target/ | ||||
fi | fi | ||||
cd sonarqube-* | cd sonarqube-* | ||||
# from that point on, strict bash | |||||
set -euo pipefail | |||||
SQ_HOME=$(pwd) | SQ_HOME=$(pwd) | ||||
cd "$ROOT" | cd "$ROOT" | ||||
"$SQ_EXEC" start | "$SQ_EXEC" start | ||||
sleep 1 | sleep 1 | ||||
tail -fn 100 "$SQ_HOME"/logs/sonar.log | |||||
doTail "$LOG" | |||||