我有一个 C# 项目:https://github.com/Pro/dkim-exchange
它使用 Travis CI:https://travis-ci.org/Pro/dkim-exchange
Travis 成功构建了我的项目。
我想设置 Coverity 来进行自动代码质量测量。为此,我将 .travis.yml
配置如下:
language: objective-c
env:
global:
- EnableNuGetPackageRestore=true
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "kC7O0CWm9h4g+tzCwhIZEGwcdiLrb1/1PijeOKGbIWGuWS7cIksAkj2tRNMgtxxcE9CFQr8W7xDv2YzflCIlqN1nGkFjbyD4CrNg6+V1j0fZjPOQ6ssdBBVPrfrvecsAUJ0/48Tqa9VTkEpZSlwOF/VS1sO2ob36FVyWjtxvG9s="
matrix:
- MONO_VERSION="3.10.0"
install:
# Fetch Mono
- wget "http://download.mono-project.com/archive/${MONO_VERSION}/macos-10-x86/MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg"
- sudo installer -pkg "MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" -target /
script:
- xbuild travis.proj
addons:
coverity_scan:
project:
name: "Pro/dkim-exchange"
description: "Build submitted via Travis CI"
notification_email: [email protected]
build_command_prepend: "xbuild /t:CleanAll travis.proj"
build_command: "xbuild /t:Build travis.proj"
branch_pattern: coverity_scan
如果我按照此处所示执行覆盖构建命令(使用 msbuild): https://scan.coverity.com/download?tab=csharp 上传的文件被正确分析,但与 travis 结合使用,覆盖分析失败(参见例如此构建日志: https://travis-ci.org/Pro/dkim-exchange/builds/42295611 )。
有这个警告:
[WARNING] No files were emitted. This may be due to a problem with your configuration
or because no files were actually compiled by your build command.
Please make sure you have configured the compilers actually used in the compilation.
我认为这可能与 Mono 的 xbuild 有关。不幸的是,Google 博士没有找到有关 Coverity+xbuild 的任何信息。 Coverity 是否支持 xbuild?如果是,我该如何正确设置项目?
最佳答案
说到 C#,Coverity 实际上只支持 msbuild。
您可以在以下内容中找到有关此的更多官方信息
最后一个链接明确指出
所以,目前没有 xbuild 支持。
更新:
当您使用 download Coverity 构建工具时,
doc/en/help/cov-build.txt
明确说明以下内容:关于c# - Coverity 是否支持 xbuild(单声道)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27177284/