Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如果存在Xcode警告,则在Jenkins上生成Xcode失败_Ios_Xcode_Jenkins_Jenkins Plugins_Xcode Plugin - Fatal编程技术网

Ios 如果存在Xcode警告,则在Jenkins上生成Xcode失败

Ios 如果存在Xcode警告,则在Jenkins上生成Xcode失败,ios,xcode,jenkins,jenkins-plugins,xcode-plugin,Ios,Xcode,Jenkins,Jenkins Plugins,Xcode Plugin,我们在Jenkins上建立了一个Swift iOS项目,使用 在我们用来验证代码语法的项目中,如果代码语法不正确(例如,如果您编写了类似let num:CGFloat=1的代码),则会产生Xcode警告或错误 SwiftLint在项目生成后运行脚本。请注意,这些不是编译器警告,而是它弹出的Xcode警告 如果存在任何Xcode警告,有没有办法使Jenkins生成失败?您可以使用自定义解析器来识别这些警告,并将其设置为在发现警告时使生成失败 安装插件后,可以在Jenkins系统配置中配置自定义解析

我们在Jenkins上建立了一个Swift iOS项目,使用

在我们用来验证代码语法的项目中,如果代码语法不正确(例如,如果您编写了类似let num:CGFloat=1的代码),则会产生Xcode警告或错误

SwiftLint在项目生成后运行脚本。请注意,这些不是编译器警告,而是它弹出的Xcode警告

如果存在任何Xcode警告,有没有办法使Jenkins生成失败?

您可以使用自定义解析器来识别这些警告,并将其设置为在发现警告时使生成失败

安装插件后,可以在Jenkins系统配置中配置自定义解析器。它们需要编写正则表达式来捕获您感兴趣的行,并使用groovy脚本为匹配的每行返回一个新的警告对象。

您可以使用自定义解析器来识别这些警告,并将其设置为在发现警告时使生成失败


安装插件后,可以在Jenkins系统配置中配置自定义解析器。它们需要编写一个正则表达式来捕获您感兴趣的行,并使用groovy脚本为匹配的每行返回一个新的警告对象。

根据来自的建议,我在Jenkins上安装了它

然后我添加了编译后操作:扫描编译器警告

将解析器设置为基于Clang LLVM

点击高级。。。按钮

向下滚动一点到状态阈值总计部分

对于所有优先级,将可接受的警告和错误数设置为0:

保存和重建


瞧!现在,即使只有SwiftLint警告,它也会导致构建失败——这要感谢SwiftLint以与xcodebuild相同的格式向控制台发出警告日志。“快乐日子”我采纳了Jenkins的建议,将其安装到Jenkins上

然后我添加了编译后操作:扫描编译器警告

将解析器设置为基于Clang LLVM

点击高级。。。按钮

向下滚动一点到状态阈值总计部分

对于所有优先级,将可接受的警告和错误数设置为0:

保存和重建


瞧!现在,即使只有SwiftLint警告,它也会导致构建失败——这要感谢SwiftLint以与xcodebuild相同的格式向控制台发出警告日志。快乐时光Jenkins可能只关心xcodebuild的退出代码,所以问题应该是有没有办法让警告在xcodebuild中致命。Jenkins可能只关心xcodebuild的退出代码,所以问题应该是有没有办法让警告在xcodebuild中致命。感谢可能的解决方案@OltzU。这可能需要更多的时间来修复,但如果我这么做了,我会告诉你结果:感谢@OltzU提供的可能解决方案。这可能需要更多的时间来修复,但如果我这么做了,我会让你知道结果:哇。这个插件很棒;谢谢你,乌尔里希·哈夫纳。Clang解析器甚至涵盖了消毒器运行时错误。这个插件很棒;谢谢你,乌尔里希·哈夫纳。Clang解析器甚至涵盖了消毒器运行时错误。