jazzmasterkc
jazzmasterkc

Reputation: 389

Sonar Strange Encoding Issue?

I recently rolled out an update for Jenkins to kick off sonar-scanner on version 5.6 of SonarQube. I'm not using the plugin, just a command line call of the sonar scanner from the directory where the sonar-project.properties file resides.

So far all of the developers have followed the same steps, and configure the properties file for their services and works great except in a few cases. Two developers have had a strange issue, when an error message prompts:

"Caused by: Not authorized. Analyzing this project requires to be authenticated. Please provide the values of the properties sonar.login and sonar.password."

I thought this to be strange because the other developers would probably have the same issue if the authentication token I used in the instructions was wrong. I compared a working copy with the version the first developer and the only difference was the project specific things such as DLL name, version, etc... I'll provide a template below. With the file looking fine, I saved off the broken copy, and copied the contents of another working copy into the broken copy. I then changed the project specific properties, and commit into subversion. Sonar scans successfully!

Out of curiosity, I then compared the old broken file and the new working copy line by line. Their was absolutely no difference between any character. I then thought this must be an encoding issue. I did a quick test by adding the sonar encoding property, commit this back and the scan failed. So I then changed back to the working copy and just continued.

The next day a second developer came to me with the same exact issue. I then tried the same previous steps where I copied the contents of a working copy, and pasted into the new, and commit this back in. However this time the workaround did not work. In fact, I tried about 5 different working copies to paste into and they all failed with that authorization error. I know the properties file is exactly correct with the token and such.

I'm not sure what to do at this point, I haven't come across any logs on the server that indicate any good information to me unless their is a log I'm unaware of.

    # Token
    sonar.login=SOMESECRETTOKEN

    # Unique project key for sonar
    sonar.projectKey=SOMESERVICE

    # UI Settings for sonar
    sonar.projectName=SOMESERVICE
    sonar.projectVersion=SOMEVERSION

    # Path to source, if not set it searches from this
    # file's directory
    sonar.sources=.

    # Encoding of the source code. Default is default system encoding
    #sonar.sourceEncoding=UTF-8

    #Cop
    sonar.stylecop.projectFilePath=./SOMEPROJ.csproj
    sonar.cs.fxcop.assembly=./bin/Release/SOMEDLL.dll
    sonar.cs.fxcop.fxCopCmdPath=C:/Program Files (x86)/Microsoft Fxcop 10.0/FxCopCmd.exe
    sonar.fxcop.assemblies=./bin/Release/SOMEDLL.dll

Any helps or pointers is appreciated, thanks!

Upvotes: 2

Views: 6394

Answers (2)

jazzmasterkc
jazzmasterkc

Reputation: 389

When encountering this issue, I loaded the file in Notepad++ which told me the file was saved under some strange encoding visual studio gave text files. I fixed it by switched the encoding to UTF-8 which resolved the problem. This probably should be handled better in Sonar!

Upvotes: 3

G. Ann - SonarSource Team
G. Ann - SonarSource Team

Reputation: 22804

This isn't about your encoding or file contents, but about permissions. The user that runs the scan doesn't have Execute Analysis permissions on the projects in question.

And to create new projects with the first analysis, the user must also have the Create Projects permission.

Upvotes: 4

Related Questions