如何在选定的文件上使用Sonar Runner?

时间:2014-02-21 11:49:03

标签: sonarqube sonar-runner

我想仅在某些选定的文件上运行Sonar Runner。我正在使用SonarRunner Ant。

我的项目目录结构是:

MyProject
 |
 |-----src
        |-----java
               |-----A
                     |-----B
                     |     |---<files>.java
                     |
                     |-----C
                     |     |---<files>.java
                     |
                     |-----hello.java

现在我想只在 hello.java 文件上运行Sonar Runner。

sonar.sources=../../../MyProject/src      // takes the source directory

sonar.sources=../../../MyProject/src/java/A/hello.java    didn't work

sonar.exclusions=**/**/*.java            // excludes all java files

// now I want to include only hello.java file
// didn't find any parameter for inclusion, but tried the following

sonar.inclusions=hello.java             // didn't work
sonar.inclusions=java/A/hello.java      // didn't work

Referred this article用于分析参数。

我想到的一个解决方案是:排除所有文件,但排除所需文件。

但这里的结构只是一小部分。实际上我有超过250个java文件,并且只想生成10个文件的报告。然后,通过这种方法,排除240多个文件并不是一个好主意。

除了提到的方法之外,还有关于所选文件的声纳报告吗?

1 个答案:

答案 0 :(得分:0)

如果您要查找特定文件,可以尝试使用与列出的相同语法来明确排除文件(Narrowing the Focus - 在底部)

#Absolute Path
To define an absolute path, start the pattern with "file:"

#Exclude all the *.cs files included in /path_to_my_project/myProject/src/generated and its subdirectories
sonar.exclusions=file:/path_to_my_project/myProject/src/generated/**/*.cs

#Exclude all the java classes contained in a src/generated/java directory and its subdirectories
sonar.exclusions=file:**/src/generated/java/**/*.java