@@ -14,46 +14,50 @@ if ($env:APPVEYOR_REPO_NAME -eq $github) {
1414 }
1515
1616 $prMode = $false ;
17- $branchMode = $false ;
1817
1918 if ($env: APPVEYOR_PULL_REQUEST_NUMBER ) {
2019 # first check PR as that is on the base branch
2120 $prMode = $true ;
22- Write-Output " Sonar: on PR $env: APPVEYOR_PULL_REQUEST_NUMBER "
23- }
24- elseif ($env: APPVEYOR_REPO_BRANCH -eq $baseBranch ) {
25- Write-Output " Sonar: on base branch ($baseBranch )"
26- }
27- else {
28- $branchMode = $true ;
29- Write-Output " Sonar: on branch $env: APPVEYOR_REPO_BRANCH "
3021 }
3122
32- choco install " msbuild-sonarqube-runner" - y
23+ dotnet tool install -- global dotnet- sonarscanner
24+ if (-Not $LastExitCode -eq 0 ) {
25+ exit $LastExitCode
26+ }
3327
3428 $sonarUrl = " https://sonarcloud.io"
3529 $sonarToken = $env: sonar_token
3630 $buildVersion = $env: APPVEYOR_BUILD_VERSION
3731
3832 if ($prMode ) {
33+ $branch = $env: APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH
34+ $prBaseBranch = $env: APPVEYOR_REPO_BRANCH ;
3935 $pr = $env: APPVEYOR_PULL_REQUEST_NUMBER
40- Write-Output " Sonar: Running Sonar for PR $pr "
41- SonarScanner.MSBuild.exe begin / o:" $sonarOrg " / k:" $sonarQubeId " / d:" sonar.host.url=$sonarUrl " / d:" sonar.login=$sonarToken " / v:" $buildVersion " / d:" sonar.cs.opencover.reportsPaths=coverage.xml" / d:" sonar.analysis.mode=preview" / d:" sonar.github.pullRequest=$pr " / d:" sonar.github.repository=$github " / d:" sonar.github.oauth=$env: github_auth_token "
36+
37+ Write-Host " Sonar: on PR $pr from $branch to $prBaseBranch " - ForegroundColor DarkGreen - BackgroundColor White
38+ dotnet- sonarscanner begin / o:" $sonarOrg " / k:" $sonarQubeId " / d:" sonar.host.url=$sonarUrl " / d:" sonar.login=$sonarToken " / v:" $buildVersion " / d:" sonar.cs.opencover.reportsPaths=coverage.xml" / d:" sonar.pullrequest.key=$pr " / d:" sonar.pullrequest.branch=$branch " / d:" sonar.pullrequest.base=$prBaseBranch " / d:" sonar.github.repository=$github " / d:" sonar.github.oauth=$env: github_auth_token "
4239 }
43- elseif ( $branchMode ) {
40+ else {
4441 $branch = $env: APPVEYOR_REPO_BRANCH ;
45- Write-Output " Sonar: Running Sonar in branch mode for branch $branch "
46- SonarScanner.MSBuild.exe begin / o:" $sonarOrg " / k:" $sonarQubeId " / d:" sonar.host.url=$sonarUrl " / d:" sonar.login=$sonarToken " / v:" $buildVersion " / d:" sonar.cs.opencover.reportsPaths=coverage.xml" / d:" sonar.branch.name=$branch "
42+
43+ Write-Host " Sonar: on branch $branch " - ForegroundColor DarkGreen - BackgroundColor White
44+ dotnet- sonarscanner begin / o:" $sonarOrg " / k:" $sonarQubeId " / d:" sonar.host.url=$sonarUrl " / d:" sonar.login=$sonarToken " / v:" $buildVersion " / d:" sonar.cs.opencover.reportsPaths=coverage.xml" / d:" sonar.branch.name=$branch "
4745 }
48- else {
49- Write-Output " Sonar: Running Sonar in non-preview mode, on branch $ env: APPVEYOR_REPO_BRANCH "
50- SonarScanner.MSBuild.exe begin / o: " $sonarOrg " / k: " $sonarQubeId " / d: " sonar.host.url= $sonarUrl " / d: " sonar.login= $sonarToken " / v: " $buildVersion " / d: " sonar.cs.opencover.reportsPaths=coverage.xml "
46+
47+ if ( -Not $LastExitCode -eq 0 ) {
48+ exit $LastExitCode
5149 }
5250
5351 msbuild / t:Rebuild $projectFile / p:targetFrameworks= $framework / verbosity:minimal
52+ if (-Not $LastExitCode -eq 0 ) {
53+ exit $LastExitCode
54+ }
5455
55- SonarScanner.MSBuild.exe end / d:" sonar.login=$env: sonar_token "
56+ dotnet- sonarscanner end / d:" sonar.login=$env: sonar_token "
57+ if (-Not $LastExitCode -eq 0 ) {
58+ exit $LastExitCode
59+ }
5660}
5761else {
58- Write-Output " Sonar: not running as we're on '$env: APPVEYOR_REPO_NAME '"
59- }
62+ Write-Host " Sonar: not running as we're on '$env: APPVEYOR_REPO_NAME '"
63+ }
0 commit comments