属性文件排除多个路径

29

我有一个 sonar-project.properties 文件,它指定了 sonar-runner 如何检查文件夹结构,哪些文件要检查,哪些文件要忽略等。

然而,我无法成功确定如何成功地排除多个路径。

以下是 sonar-project.properties 文件:

sonar.projectKey=C3S-web
sonar.projectName=C3S-sonar-web
sonar.projectVersion=0.0.1

sonar.sources=.
sonar.tests=test
sonar.language=js
sonar.profile=Sonar way
sonar.exclusions=test/*, node_modules/*
sonar.dynamicAnalysis=reuseReports

sonar.javascript.jstest.reportsPath=coverage
sonar.javascript.lcov.reportPath=coverage/lcov-report

我遇到困难的那一行是:

sonar.exclusions

列出多个路径是不起作用的,无论是否带逗号或加引号。


你尝试过不加空格吗?例如:sonar.exclusions=test/*,node_modules/* - Mithfindel
是的,即使我这样做,它仍然会尝试索引 .node_modules 文件夹。 - Jon Duffy
根据此链接http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus,逗号分隔的值应该有效。你可以试试这个:sonar.exclusions=**/test/, */node_modules/ *(忽略空格,那些星号应该在一起,编辑器正在格式化为斜体,不知道如何转义 :)) - Techtwaddle
谢谢分享链接。但是那个模式仍然包括 node_modules 文件夹。 - Jon Duffy
嘿,当 sonar-runner 运行时在终端中出现的日志,它们是唯一的日志吗?还是还有其他地方的日志? - Jon Duffy
显示剩余3条评论
3个回答

39

您需要使用双星号模式来递归排除所有子文件夹和文件:

sonar.exclusions=test/**, node_modules/**

一个星号只匹配该特定文件夹中的文件(不递归)。


1
我们能否仅从代码覆盖率中排除文件并检查问题? - Shanika Ediriweera

5
以下内容将排除所有位于node_modulestest.ts,所有modulesmain.ts以及位于environment文件夹下的文件。
sonar.exclusions=**/node_modules/**,**/test.ts,**/environments/**,**/**module.ts,**/main.ts

0
如果您正在使用Jenkinsfile
sonar: [ 

    sonarInstanceName: 'InstanceNameFolderProject', 
    sonarProperties: [
          'sonar.projectKey': 'C3S-web',
          'sonar.sources': 'yourFolderProject',
          'sonar.exclusions': 'yourFolderProject/**/*.fixture.ts, yourFolderProject/settings/_variables.ts' 
        ]],

'sonar.exclusions'中,您可以排除多个路径。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接