mirror of
https://github.com/SonarSource/sonarqube-scan-action.git
synced 2025-12-13 09:51:15 +00:00
45 lines
1.8 KiB
Bash
Executable file
45 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -eo pipefail
|
|
|
|
declare -a args=()
|
|
|
|
if [[ -z "${SONAR_TOKEN}" ]]; then
|
|
echo "============================ WARNING ============================"
|
|
echo "Running this GitHub Action without SONAR_TOKEN is not recommended"
|
|
echo "============================ WARNING ============================"
|
|
fi
|
|
|
|
if [[ -n "${SONAR_ROOT_CERT}" ]]; then
|
|
echo "Adding custom root certificate to the scanner truststore"
|
|
rm -f /tmp/tmpcert.pem
|
|
echo "${SONAR_ROOT_CERT}" > /tmp/tmpcert.pem
|
|
# we can't use the default "sonar" password as keytool requires a password with at least 6 characters
|
|
args+=("-Dsonar.scanner.truststorePassword=changeit")
|
|
mkdir -p $SONAR_USER_HOME/ssl
|
|
keytool -storetype PKCS12 -keystore $SONAR_USER_HOME/ssl/truststore.p12 -storepass changeit -noprompt -trustcacerts -importcert -alias sonarqube -file /tmp/tmpcert.pem
|
|
# for older SQ versions < 10.6
|
|
export SONAR_SCANNER_OPTS="${SONAR_SCANNER_OPTS:-} -Djavax.net.ssl.trustStore=$SONAR_USER_HOME/ssl/truststore.p12 -Djavax.net.ssl.trustStorePassword=changeit"
|
|
fi
|
|
|
|
if [[ -f "${INPUT_PROJECTBASEDIR%/}/pom.xml" ]]; then
|
|
echo "WARNING! Maven project detected. Sonar recommends running the 'org.sonarsource.scanner.maven:sonar-maven-plugin:sonar' goal during the build process instead of using this GitHub Action
|
|
to get more accurate results."
|
|
fi
|
|
|
|
if [[ -f "${INPUT_PROJECTBASEDIR%/}/build.gradle" || -f "${INPUT_PROJECTBASEDIR%/}/build.gradle.kts" ]]; then
|
|
echo "WARNING! Gradle project detected. Sonar recommends using the SonarQube plugin for Gradle during the build process instead of using this GitHub Action
|
|
to get more accurate results."
|
|
fi
|
|
|
|
|
|
if [[ "$RUNNER_DEBUG" == '1' ]]; then
|
|
args+=("--debug")
|
|
fi
|
|
|
|
unset JAVA_HOME
|
|
|
|
args+=("-Dsonar.projectBaseDir=${INPUT_PROJECTBASEDIR}")
|
|
|
|
sonar-scanner "${args[@]}" ${INPUT_ARGS}
|
|
|