SonarQube scanner for MSBuild - end analysis step failing

Hi all,

I’m evaluating SonarQube for static code analysis of our TFS 2015 CI builds. Unfortunately, I’m running into an issue with the SonarQube Scanner for MSBuild extension (3.1.0): the begin analysis step runs just fine, but the end analysis step is failing (log output below).

The most obvious error appears to be related to JAVA_HOME not being set, but I have confirmed that the TFS build agent does indeed have this set properly. I’m thinking it might be a red herring, but if so I’m not sure where to look next.

Any help is greatly appreciated. SonarQube server version is 7.4.

2018-12-12T18:24:00.5139115Z Starting task: Complete the SonarQube analysis
2018-12-12T18:24:00.5139115Z Executing the powershell script: E:\agent\tasks\SonarQubeScannerMsBuildEnd\3.1.0\SonarQubePostTest.ps1
2018-12-12T18:24:00.5607864Z ##[debug]Starting SonarQube PostBuild Step
2018-12-12T18:24:00.5607864Z ##[debug]Loading module from path 'E:\agent\agent\worker\Modules\Microsoft.TeamFoundation.DistributedTask.Task.Common\Microsoft.TeamFoundation.DistributedTask.Task.Common.dll'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Complete-Task'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Get-LocalizedString'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Set-TaskVariable'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Set-TaskProgress'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Add-TaskIssue'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Write-TaskDetail'.
2018-12-12T18:24:00.5607864Z ##[debug]Importing cmdlet 'Find-Files'.
2018-12-12T18:24:00.6076648Z ##[debug]Variable read: MSBuild.SonarQube.Internal.BootstrapperPath = E:\agent\tasks\SonarQubeScannerMsBuildBegin\3.1.0\SonarQubeScannerMsBuild\MSBuild.SonarQube.Runner.exe
2018-12-12T18:24:00.6076648Z ##[debug]bootstrapperPath: E:\agent\tasks\SonarQubeScannerMsBuildBegin\3.1.0\SonarQubeScannerMsBuild\MSBuild.SonarQube.Runner.exe
2018-12-12T18:24:00.6076648Z ##[debug]Variable read: MSBuild.SonarQube.ServerUsername = ********
2018-12-12T18:24:00.9514158Z ##[debug]Variable read: MSBuild.SonarQube.ServerPassword = 
2018-12-12T18:24:00.9514158Z ##[debug]Variable read: MSBuild.SonarQube.DbUsername = 
2018-12-12T18:24:00.9514158Z ##[debug]Variable read: MSBuild.SonarQube.DbPassword = 
2018-12-12T18:24:00.9514158Z ##[debug]Running batch script.
2018-12-12T18:24:00.9514158Z ##[debug]   Path: E:\agent\tasks\SonarQubeScannerMsBuildBegin\3.1.0\SonarQubeScannerMsBuild\MSBuild.SonarQube.Runner.exe
2018-12-12T18:24:00.9514158Z ##[debug]   Arguments: end /d:sonar.login="********"
2018-12-12T18:24:00.9514158Z ##[debug]   WorkingFolder: 
2018-12-12T18:24:01.2951699Z SonarQube Scanner for MSBuild 4.0
2018-12-12T18:24:01.2951699Z Default properties file was found at E:\agent\tasks\SonarQubeScannerMsBuildBegin\3.1.0\SonarQubeScannerMsBuild\SonarQube.Analysis.xml
2018-12-12T18:24:01.2951699Z Loading analysis properties from E:\agent\tasks\SonarQubeScannerMsBuildBegin\3.1.0\SonarQubeScannerMsBuild\SonarQube.Analysis.xml
2018-12-12T18:24:01.2951699Z Post-processing started.
2018-12-12T18:24:01.6233406Z 14:24:01.42  14:24:01.404  WARNING: Failed to find the code coverage command line tool. Possible cause: Visual Studio is not installed, or the installed version does not support code coverage.
2018-12-12T18:24:01.6233406Z WARNING: File 'E:\Builds\11\s\Eastlink.ca\OpenContentTemplates\Templates\WEP_TitleIcon\images\security-icon.svg' does not exist.
2018-12-12T18:24:01.6233406Z WARNING: File 'E:\Builds\11\s\Eastlink.ca\WebEvolution_Skin\scss\partials\_cta-multi.scss' does not exist.
2018-12-12T18:24:01.8420568Z SONAR_SCANNER_OPTS is not configured. Setting it to the default value of -Xmx1024m
2018-12-12T18:24:01.8420568Z Calling the SonarQube Scanner...
2018-12-12T18:24:01.8420568Z ERROR: JAVA_HOME not found in your environment, and no Java
2018-12-12T18:24:01.8420568Z executable present in the PATH.
2018-12-12T18:24:01.8420568Z Please set the JAVA_HOME variable in your environment to match the
2018-12-12T18:24:01.8420568Z location of your Java installation, or add "java.exe" to the PATH
2018-12-12T18:24:01.8420568Z ##[error]The SonarQube Scanner did not complete successfully
2018-12-12T18:24:01.8420568Z 14:24:01.779  Creating a summary markdown file...
2018-12-12T18:24:01.8420568Z ##[error]14:24:01.779  Post-processing failed. Exit code: 1
2018-12-12T18:24:01.8889285Z ##[error]System.Exception: Unexpected exit code received from batch file: 1
2018-12-12T18:24:01.8889285Z ##[error]   at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeBatchScriptCmdlet.ProcessRecord()
2018-12-12T18:24:01.8889285Z ##[error]   at System.Management.Automation.CommandProcessor.ProcessRecord()
2018-12-12T18:24:01.9045641Z ##[debug]The build was not triggered by a Pull Request, not processing code analysis comments
2018-12-12T18:24:01.9045641Z ##[debug]Variable read: MSBuild.SonarQube.Internal.IncludeFullReport = true
2018-12-12T18:24:01.9357980Z ##[debug]Variable read: MSBuild.SonarQube.Internal.ServerVersion = 
2018-12-12T18:24:01.9982968Z ##[debug]Calling InvokeGetRestMethod "/api/server/version" 
2018-12-12T18:24:02.0295494Z ##[debug]Variable read: MSBuild.SonarQube.HostUrl = http://hfxvmstfo:9000/
2018-12-12T18:24:02.0608024Z ##[debug]Variable read: MSBuild.SonarQube.ServerUsername = ********
2018-12-12T18:24:02.0608024Z ##[debug]Variable read: MSBuild.SonarQube.ServerPassword = 
2018-12-12T18:24:02.1545632Z ##[debug]GET http://hfxvmstfo:9000/api/server/version with 0-byte payload
2018-12-12T18:24:02.1701721Z ##[debug]received 11-byte response of content type text/plain
2018-12-12T18:24:02.2185281Z ##[debug]The SonarQube server version is 7.4.0.18908
2018-12-12T18:24:02.2649785Z Waiting on the SonarQube server to finish processing in order to determine the quality gate status.
2018-12-12T18:24:02.2806017Z ##[debug]Variable read: Agent.BuildDirectory = E:\Builds\11
2018-12-12T18:24:02.2806017Z ##[debug]Could not find the task details file at E:\Builds\11\.sonarqube\out\.sonar\report-task.txt
2018-12-12T18:24:02.3274743Z ##[error]System.Management.Automation.RuntimeException: Cannot determine if the analysis has finished. Possible cause: your SonarQube server version is lower than 5.3 - for more details see https://go.microsoft.com/fwlink/?LinkId=722407 ---> System.Management.Automation.RuntimeException: Cannot determine if the analysis has finished. Possible cause: your SonarQube server version is lower than 5.3 - for more details see https://go.microsoft.com/fwlink/?LinkId=722407
2018-12-12T18:24:02.3274743Z ##[error]   --- End of inner exception stack trace ---
2018-12-12T18:24:02.3274743Z ##[error]   at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2018-12-12T18:24:02.3274743Z ##[error]   at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2018-12-12T18:24:02.3274743Z ##[error]   at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2018-12-12T18:24:02.3274743Z ##[error]   at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2018-12-12T18:24:02.3274743Z ##[error]   at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2018-12-12T18:24:02.3274743Z ##[error]   at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken)
2018-12-12T18:24:02.3274743Z ##[error]   at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
2018-12-12T18:24:02.3431077Z Finishing task: SonarQubeScannerMsBuildEnd
2018-12-12T18:24:02.3431077Z ##[error]System.Exception: Task SonarQubeScannerMsBuildEnd failed. This caused the job to fail. Look at the logs for the task for more details.
2018-12-12T18:24:02.3431077Z ##[error]   at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.Run(IJobContext jobContext, IJobRequest job, IJobExtension jobExtension, CancellationTokenSource tokenSource)
2018-12-12T18:24:02.3587237Z Entering OnFinalizeJob
2018-12-12T18:24:02.3587237Z Leaving OnFinalizeJob

hola tengo tu mismo problema, has logrado solucionarlo ya? si pudieras compartir tu experiencia te lo agradecería Saludos