无法制作剧本' run-sonar-swift'作品

时间:2018-05-12 08:57:51

标签: ios swift sonarqube sonar-runner sonarlint

我正在尝试运行声纳迅捷。 我已经有了插件的sonarQube,我可以使用此网址http://localhost:9000在本地访问它。我已经安装了您可以在此处找到的所有先决条件:

https://github.com/Backelite/sonar-swift

但是当我启动run-sonar-swift.sh时,我无法弄清楚这个错误是什么。

如果有人能给我带来光明,我将非常感激。

这里是我在终端命令 ./ run-sonar-swift.sh -v 中运行的日志:

  

MacBook-Air:streamus-phoenix-ios oboujaouane $ ./run-sonar-swift.sh -v

     

运行run-sonar-swift.sh ...

     

项目计数为[1]

     

Xcode项目文件是:Streamus.xcodeproj

     

Xcode工作区文件是:Streamus.xcworkspace

     

Xcode应用程序是:Streamus Alpha

     

目标模拟器是:platform = iOS模拟器,名称= iPhone 6,OS = 11.3

     

从覆盖范围中排除的路径为:。测试。

     

创建目录sonar-reports /

     

运行测试   + xcodebuild clean build test -workspace Streamus.xcworkspace -scheme' Streamus Alpha' -configuration Debug -enableCodeCoverage YES -destination' platform = iOS模拟器,名称= iPhone 6,OS = 11.3' -destination-timeout 60

     

2018-05-12 10:34:14.031 xcodebuild [32149:775290] IDETestOperationsObserverDebug:将测试会话的诊断日志写入:   /var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusUITests-87E838E0-4F8F-4C19-B2AC-C2C0A274E8EC/Session-StreamusUITests-2018-05 -12_103414-jhm3wz.log

     

2018-05-12 10:34:14.032 xcodebuild [32149:769805] [MT] IDETestOperationsObserverDebug:(98FB295E-FE60-46AA-8589-015B0DD2E617)开始测试会话StreamusUITests-98FB295E-FE60-46AA-8589-015B0DD2E617 at 2018-05-12 10:34:14.031在目标上使用Xcode 9E145 {           SimDevice:iPhone 6(672DE879-E48B-45DA-BFD9-D0412F51A706,iOS 11.3,已启动)   (11.3(15E217))

     

2018-05-12 10:34:14.061 xcodebuild [32149:769805] [MT] IDETestOperationsObserverDebug:(458F86F6-1492-40F1-9F72-A88FC23BD985)开始测试会话StreamusTests-458F86F6-1492-40F1-9F72-A88FC23BD985 at

     

2018-05-12 10:34:14.061,Xcode 9E145在目标上{           SimDevice:iPhone 6(672DE879-E48B-45DA-BFD9-D0412F51A706,iOS 11.3,已启动)   (11.3(15E217))

     

2018-05-12 10:34:14.061 xcodebuild [32149:770075] IDETestOperationsObserverDebug:将测试会话的诊断日志写入:   /var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusTests-4F203461-1372-49B7-A806-F130F168079E/Session-StreamusTests-2018-05 -12_103414-MfIreE.log   2018-05-12 10:34:30.016 xcodebuild [32149:769805]

     

错误域= IDETestOperationsObserverErrorDomain代码= 14"测试操作已取消。如果您认为此错误代表了错误,请将日志文件附在/var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusUITests-87E838E0- 4F8F-4C19-B2AC-C2C0A274E8EC /会话StreamusUITests-2018-05-12_103414-jhm3wz.log"

     

UserInfo = {NSLocalizedDescription =测试操作已取消。如果您认为此错误代表了错误,请将日志文件附在/var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusUITests-87E838E0- 4F8F-4C19-B2AC-C2C0A274E8EC /会话StreamusUITests-2018-05-12_103414-jhm3wz.log}

     

2018-05-12 10:34:30.016 xcodebuild [32149:769805]错误域= IDETestOperationsObserverErrorDomain代码= 14"测试操作已取消。如果您认为此错误代表了错误,请将日志文件附在/var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusTests-4F203461- 1372-49B7-A806-F130F168079E /会话StreamusTests-2018-05-12_103414-MfIreE.log" UserInfo = {NSLocalizedDescription =测试操作已取消。如果您认为此错误代表了错误,请将日志文件附在/var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusTests-4F203461- 1372-49B7-A806-F130F168079E /会话StreamusTests-2018-05-12_103414-MfIreE.log}

     

测试失败:       链接器命令失败,退出代码为1(使用-v查看调用)   **测试失败**

     

以下构建命令失败:

     

Ld /Users/oboujaouane/Library/Developer/Xcode/DerivedData/Streamus-gwtdwpbaxrfgafdtejzjtpxyhhhq/Build/Intermediates.noindex/Streamus.build/Alpha-iphonesimulator/StreamusTests.build/Objects-normal/x86_64/StreamusTests normal x86_64

     

Ld /Users/oboujaouane/Library/Developer/Xcode/DerivedData/Streamus-gwtdwpbaxrfgafdtejzjtpxyhhhq/Build/Intermediates.noindex/Streamus.build/Alpha-iphonesimulator/StreamusTests.build/Objects-normal/i386/StreamusTests normal i386

     

(2次失败)

     
      
  • 的returnValue = 65

  •   
  • 设置+ x

  •   
     

错误 - 命令&x; xcodebuild clean build test -workspace Streamus.xcworkspace -scheme Streamus Alpha -configuration Debug -enableCodeCoverage YES -destination platform = iOS Simulator,name = iPhone 6,OS = 11.3 -destination-timeout 60&# 39;失败,错误代码:65

提前谢谢你,

2 个答案:

答案 0 :(得分:4)

  1. 似乎错误是由于配置文件造成的。当我添加我的配置文件并再次尝试时问题得到解决。

  2. 然后我在MessageKit上遇到了另一个问题:“Segmentation fault:11” 这是一个CocoaPods Podfile配置问题。 因此,我必须通过单击Xco​​de项目导航器中的Pods,然后在Pod的目标中选择MessageKit然后在Builds settings选项卡中选择MessageKit,然后在搜索器中点击'编译模式'并切换“Single”,将Debug的编译模式从“单个文件”切换到“整个模块”文件“到”整个模块“并重新运行脚本run-sonar-swift.sh

  3. Here how to switch to Whole Module instead of Single File

    ⚠️每次进行pod安装/更新或可以更改pod的内容时,必须将Debug的编译模式从“Single File”切换到pod的“Whole Module”,这会在启动run时出现错误-sonar.swift.sh with -v for verbose。

    1. 之后,我的问题还没有结束!事实上,我最后一个问题是SwipeCellKit pod出错:“没有这样的模块SwipeCellKit”。要解决此问题,请按照此处https://stackoverflow.com/a/37732248/6188918

    2. 中的说明进行操作
    3. 然后我再试一次,其余的脚本开始了(SwiftLint,Tailor& Lizard),我觉得这次终于好了,但是在脚本结尾再次发生了一条错误消息关于蜥蜴是:

    4.   

      错误:SonarQube扫描程序执行期间出错

           

      错误:文件   MyprojectName / Domains / Repositories / Local / cacheManager.swift不能   索引两次。请检查包含/排除模式是否产生   主文件和测试文件的不相交集

           

      错误:使用-X开关重新运行SonarQube扫描仪以启用完整   调试日志。

      要解决此包含/排除,我按照此处给出的答案: https://stackoverflow.com/a/40150551/6188918 将这些添加到sonar.swift.excludedPathsFromCoverage行下面的sonar-project.properties文件中的行:

        

      sonar.test.inclusions = ** / *试验* / **

           

      sonar.exclusions = ** / *试验* / **

      我再次尝试使用参数-notailor(运行脚本并跳过Tailor):

        

      ./ run-sonar-swift.sh -notailor -v

      只是为了节省一点时间因为裁缝需要时间

      1. 启动脚本后......引发一个新错误......但这是一个已知问题:
      2.   

        错误:由:org.sonar.api.measures.PersistenceMode

        引起

        问题在这里解释https://github.com/Backelite/sonar-swift/issues/118

        所以我下载了这个.jar文件“backelite-sonar-swift-plugin-0.4-sonar-7-quick-fix.jar”,在https://github.com/Hugal31/sonar-swift/releases/tag/0.4-sonar-7-quick-fix找到并在我当地的SonarQube的插件中替换它,然后再试一次

        ......这次在第十次发射后我终于看到了光明

        希望这个答案有所帮助,如果你有疑问,请不要犹豫。 祝你好运玩得开心:)

        PS:你会在这里找到一些使用参数运行脚本的选项:

          

        ./ run-sonar-swift.sh -noswiftlint -v(使用详细选项运行脚本并跳过SwiftLint)

             

        ./ run-sonar-swift.sh -notailor -v(使用详细选项运行脚本并跳过裁缝)

             

        ./ run-sonar-swift.sh -nounittests -v(如果您的项目没有配置为使用此参数进行测试启动的方案)

        如果您想要更多信息,请查看run-sonar-swift.sh脚本并查看第125行##命令行选项

        PS2:我还在sonar-swift GitHub中打开了一个问题,如果它可以提供帮助:https://github.com/Backelite/sonar-swift/issues/138

答案 1 :(得分:0)

我的oclint有一个额外的问题:oclint: Not enough positional command line arguments specified!。因此,我不得不对run-sonar-swift.sh脚本进行一些修改才能使其正常工作:https://gist.github.com/Edudjr/79a2379842357c33709aecf040d9ae77#file-run-sonar-swift-sh

这是我的sonar-project.properties的模型:https://gist.github.com/Edudjr/db51907068ea76b116d11d9a9b13f05f#file-sonar-project-properties