4

我有一个 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: mail@example.com
    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?如果是,我该如何正确设置项目?

4

1 回答 1

4

说到 C#,Coverity 实际上只支持 msbuild。

您可以在以下内容中找到有关此的更多官方信息

最后一个链接明确指出

我们的 C# 分析仅支持 Visual Studio C# 编译器

所以,目前还没有 xbuild 支持。

更新:

当您下载Coverity 构建工具时,doc/en/help/cov-build.txt明确指出以下内容:

C# 构建捕获仅在 Windows 上受支持。

于 2014-12-10T10:17:28.733 回答