Add support for Windows in ./scripts/start.sh

This commit is contained in:
philippe-perrin-sonarsource 2019-06-05 16:02:05 +02:00 committed by SonarTech
parent 4c080d0e9e
commit 41f73e8c27
3 changed files with 37 additions and 19 deletions

25
scripts/os.sh Normal file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
###############################
# Helper for OS folders and scripts
###############################
set -euo pipefail
if [[ "${OSTYPE:-}" == "darwin"* ]]; then
OS_DIR='macosx-universal-64'
SH_FILE="sonar.sh"
elif [[ "${OSTYPE:-}" == "msys"* ]]; then
OS_DIR='windows-x86-64'
SH_FILE="StartSonar.bat"
else
OS_DIR='linux-x86-64'
SH_FILE="sonar.sh"
fi
runSQ() {
if [[ "${OSTYPE:-}" == "msys"* ]]; then
"$1"
else
"$1" start
fi
}

View File

@ -24,6 +24,7 @@ if [ -r "$ROOT/private/scripts/editions.sh" ]; then
fi
source "$ROOT/scripts/logs.sh"
source "$ROOT/scripts/stop.sh"
source "$ROOT/scripts/os.sh"
PATCHES=""
EDITION="$DEFAULT_EDITION"
@ -47,12 +48,6 @@ EDITION=$(resolveAliases "$EDITION")
checkEdition "$EDITION"
checkLogArgument "$LOG"
if [[ "${OSTYPE:-}" == "darwin"* ]]; then
OS='macosx-universal-64'
else
OS='linux-x86-64'
fi
OSS_ZIP="$(distributionDirOf "community")/$(baseFileNameOf "community")-*.zip"
if ! ls ${OSS_ZIP} &> /dev/null; then
echo 'Sources are not built'
@ -64,8 +59,8 @@ stopAny
cd "$(distributionDirOf "$EDITION")"
SH_FILE="sonarqube-*/bin/$OS/sonar.sh"
if ! ls ${SH_FILE} &> /dev/null; then
SH_FILE_DIR="sonarqube-*/bin/$OS_DIR/"
if ! ls $SH_FILE_DIR &> /dev/null; then
BASE_FILE_NAME="$(baseFileNameOf "$EDITION")"
echo "Unpacking ${BASE_FILE_NAME}..."
ZIP_FILE="${BASE_FILE_NAME}-*.zip"
@ -78,7 +73,7 @@ cd "$ROOT"
source "$ROOT"/scripts/patches_utils.sh
SQ_EXEC="$SQ_HOME/bin/$OS/sonar.sh"
SQ_EXEC="$SQ_HOME/bin/$OS_DIR/$SH_FILE"
# invoke patches if at least one was specified
# each patch is passed the path to the SQ instance home directory as first and only argument
@ -86,7 +81,7 @@ if [ "$PATCHES" ]; then
call_patches "$PATCHES" "$SQ_HOME"
fi
"$SQ_EXEC" start
runSQ $SQ_EXEC
sleep 1
doTail "$LOG"

View File

@ -7,24 +7,22 @@ set -euo pipefail
ROOT=$(pwd)
source "$ROOT/scripts/editions.sh"
source "$ROOT/scripts/os.sh"
if [ -r "$ROOT/private/scripts/editions.sh" ]; then
source "$ROOT/private/scripts/editions.sh"
fi
if [[ "$OSTYPE" == "darwin"* ]]; then
OS='macosx-universal-64'
else
OS='linux-x86-64'
fi
stopAny() {
for edition in $EDITIONS; do
SONAR_SH="$(distributionDirOf "$edition")/sonarqube-*/bin/$OS/sonar.sh"
# Don't try to stop on windows for now
if [[ "${OSTYPE:-}" != "msys" ]]; then
for edition in $EDITIONS; do
SONAR_SH="$(distributionDirOf "$edition")/sonarqube-*/bin/$OS_DIR/sonar.sh"
if ls $SONAR_SH &> /dev/null; then
echo "$(baseFileNameOf "$edition") is unpacked"
sh $SONAR_SH stop
fi
done
done
fi
}
# check the script was called to avoid execute when script is only sourced