在 11th September 和 14th September 之间的某个时间,通过 travis 构建运行 Sonar 开始失败,并出现 org.eclipse.dawnsci.targetplatform should berelative to project baseDir
错误:
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project org.eclipse.scanning: Dir /home/travis/build/eclipse/org.eclipse.dawnsci/org.eclipse.dawnsci.targetplatform should be relative to project baseDir -> [Help 1]
查看 pom.xml
,org.eclipse.dawnsci
模块确实与其他所有模块不同:
<modules>
<module>org.eclipse.scanning.target.platform</module>
<module>../org.eclipse.dawnsci</module>
<module>org.eclipse.scanning.api</module>
...
</modules>
我已尝试更新 sonar-project.properties
sonar.exclusions=**/*.xml,**/*.class
以下各项:
sonar.exclusions=**/*.xml,**/*.class,../org.eclipse.dawnsci
sonar.exclusions=**/*.xml,**/*.class,org.eclipse.dawnsci*
sonar.exclusions=**/*.xml,**/*.class,org.eclipse.dawnsci**
但这些改变都没有帮助。
在previous problems之后,我在.travis.yml
中的mvn -q sonar:sonar
命令中添加了--fail-never
,因此这个问题不会阻止合并拉取请求,但如果我们的仓库中再次出现 Sonar 报告那就太好了。
任何有关如何修复 travis 构建的建议将不胜感激?
最佳答案
我们更改了验证项目布局的方式,这导致了此错误。一个ticket was created为了跟踪这一变化,我们目前正在讨论选项(例如更新 Maven 的 SonarQube Scanner)。请随时关注更新,对于给您带来的不便,我们深表歉意。
对于您的具体情况,一种解决方法是创建构建配置文件,并在运行 SonarCloud 分析时排除模块 ../org.eclipse.dawnsci
。或者将模块移至项目 basedir 下(并避免在模块位置中使用 ..
)。
顺便说一句,如果您使用 Maven 扫描器 (mvn sonar:sonar
),则无需维护文件 sonar-project.properties
,因为Maven 扫描器只会从 pom.xml 读取配置。
关于eclipse - travis 中的 Sonar `should be relative to project baseDir` 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46243616/