fix: set SONAR_SCANNER_JAVA_HOME for sonar-scanner 6.x
sonar-scanner 6.x checks SONAR_SCANNER_JAVA_HOME, not JAVA_HOME. Despite JAVA_HOME being correct and java being on PATH, the scanner uses its own env var for Java discovery. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -72,14 +72,13 @@ jobs:
|
|||||||
|
|
||||||
- name: SonarQube Analysis
|
- name: SonarQube Analysis
|
||||||
run: |
|
run: |
|
||||||
# Derive JAVA_HOME from jar binary (java may not be on PATH directly)
|
# sonar-scanner 6.x uses SONAR_SCANNER_JAVA_HOME (not JAVA_HOME)
|
||||||
if [ -z "$JAVA_HOME" ]; then
|
if [ -z "$JAVA_HOME" ]; then
|
||||||
JAR_PATH=$(readlink -f $(which jar) 2>/dev/null || find / -name jar -type f 2>/dev/null | head -1)
|
JAR_PATH=$(readlink -f $(which jar) 2>/dev/null || find / -name jar -type f 2>/dev/null | head -1)
|
||||||
export JAVA_HOME=$(dirname $(dirname "$JAR_PATH"))
|
export JAVA_HOME=$(dirname $(dirname "$JAR_PATH"))
|
||||||
fi
|
fi
|
||||||
|
export SONAR_SCANNER_JAVA_HOME="$JAVA_HOME"
|
||||||
export PATH="$JAVA_HOME/bin:$PATH"
|
export PATH="$JAVA_HOME/bin:$PATH"
|
||||||
echo "JAVA_HOME=$JAVA_HOME"
|
|
||||||
java -version
|
|
||||||
sonar-scanner \
|
sonar-scanner \
|
||||||
-Dsonar.host.url="$SONAR_HOST_URL" \
|
-Dsonar.host.url="$SONAR_HOST_URL" \
|
||||||
-Dsonar.token="$SONAR_TOKEN" \
|
-Dsonar.token="$SONAR_TOKEN" \
|
||||||
|
|||||||
Reference in New Issue
Block a user