【问题标题】:Can not make script 'run-sonar-swift' works无法使脚本“run-sonar-swift”工作
【发布时间】:2018-10-22 14:08:42
【问题描述】:

我正在尝试快速运行声纳。 我已经有了带有插件的 sonarQube,我可以使用这个 url 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 Simulator,name=iPhone 6,OS=11.3

覆盖范围的排除路径是:.测试。

创建目录 sonar-reports/

运行测试 + 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

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-05C0A27401E88 -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-8617-2DEDD 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-A85

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-0530F16801E8-/-StreamusTest8 -12_103414-MfIreE.log 2018-05-12 10:34:30.016 xcodebuild[32149:769805]

Error Domain=IDETestOperationsObserverErrorDomain Code=14 "测试操作已取消。如果您认为此错误代表错误,请在 /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"

UserInfo={NSLocalizedDescription=测试操作被取消。如果您认为此错误代表错误,请将日志文件附加到 /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:30.016 xcodebuild[32149:769805] Error Domain=IDETestOperationsObserverErrorDomain Code=14 “测试操作已取消。如果您认为此错误代表错误,请在 /var/ 附加日志文件文件夹/ 9V / VDBBF4J96HXGCXMTPNTZNYTR0000GN / T / COM.APPLE.DT.XCTEST / IDETERTERSERTERSESSION-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9 / StrameSTESTS-4F203461-1372-49B7-A806-F130F168079E / SESSION-SHOREUSTSS-2018-05-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/Session-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

错误 - 命令 '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' 失败并出现错误代码:65

提前谢谢你,

【问题讨论】:

  • 你确定你安装了给定的模拟器吗?
  • 是的,我很确定。

标签: ios swift sonarqube sonar-runner sonarlint


【解决方案1】:
  1. 错误似乎是由于配置文件造成的。当我添加我的配置文件并再次尝试时,问题已解决。

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

⚠️ 每次您进行 pod 安装/更新或可以更改 pod 的操作时,您必须将 Debug 的编译模式从“单个文件”切换到 pod 的“整个模块”,这会在您启动运行时给您一个错误- sonar.swift.sh 用 -v 表示详细。

  1. 在那之后,我的问题还没有结束!事实上,我遇到了最后一个问题,即 SwipeCellKit pod 的错误:“没有这样的模块 SwipeCellKit”。要解决此问题,请按照此处提供的说明进行操作 https://stackoverflow.com/a/37732248/6188918

  2. 然后我又试了一次,脚本的其余部分开始了(SwiftLint、Tailor 和 Lizard),我认为这次终于好了,但又出现了一个错误,脚本末尾有一条新的错误消息,涉及蜥蜴是:

错误: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. 在启动脚本后...出现一个新错误...但这是一个已知问题:

错误:原因: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(使用详细选项运行脚本并跳过 Tailor)

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

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

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

【讨论】:

  • It seems that error was due to provisioning profile. When I added my Provisioning Profile and try it again the problem was resolved. 你到底做了什么?面临完全相同的错误
【解决方案2】:

我对 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2019-08-08
    • 1970-01-01
    • 2014-12-07
    • 2015-04-04
    相关资源
    最近更新 更多