Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.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 正在使用绝对路径生成SonarQube代码覆盖率报告_Ios_Swift_Bash_Sonarqube_Code Coverage - Fatal编程技术网

Ios 正在使用绝对路径生成SonarQube代码覆盖率报告

Ios 正在使用绝对路径生成SonarQube代码覆盖率报告,ios,swift,bash,sonarqube,code-coverage,Ios,Swift,Bash,Sonarqube,Code Coverage,我生成了SonarQube通用代码覆盖率,包括以下内容: #/usr/bin/env bash 设置-euo管道故障 函数转换文件{ 本地xccovarchive_文件=“$1” 本地文件_name=“$2” 本地xccov_选项=“$3” 回声“” xcrun xccov view$xccov_选项--文件“$file_name”“$xccovarchive_file”|\ sed-n' s/^*\([0-9][0-9]*\):0.*$//p; s/^*\([0-9][0-9]*\):[1-9

我生成了SonarQube通用代码覆盖率,包括以下内容:

#/usr/bin/env bash
设置-euo管道故障
函数转换文件{
本地xccovarchive_文件=“$1”
本地文件_name=“$2”
本地xccov_选项=“$3”
回声“”
xcrun xccov view$xccov_选项--文件“$file_name”“$xccovarchive_file”|\
sed-n'
s/^*\([0-9][0-9]*\):0.*$//p;
s/^*\([0-9][0-9]*\):[1-9].$//p
'
回声“
}
函数xccov_到_generic{
回声“
对于“$@”中的xccovarchive_文件,请执行以下操作
本地xccov_选项=“”
如果[[$xccovarchive_file==*”.xcsult“*]”,则
xccov_选项=“--存档”
fi
xcrun xccov view$xccov_options--文件列表“$xccovarchive_file”|同时读取-r file_name;do
转换文件“$xccov存档文件”$file\u name“$xccov\u选项”
完成
完成
回声“
}
xccov_至_通用“$@”
报告已成功生成,但文件路径为绝对路径

正在生成的内容:
/Users/daniyal/MyApp/AccountStore/AccountStore/AccountProvider.swift

我想要什么
AccountStore/AccountStore/AccountProvider.swift

当前生成的sonarqube-generic-coverage.xml摘录

<coverage version="1">
  <file path="/Users/daniyal/MyApp/AccountStore/AccountStore/AccountProvider.swift">
    <lineToCover lineNumber="27" covered="true"/>
    <lineToCover lineNumber="28" covered="true"/>
    <lineToCover lineNumber="29" covered="true"/>
    <lineToCover lineNumber="30" covered="true"/>
    <lineToCover lineNumber="31" covered="true"/>
    <lineToCover lineNumber="33" covered="true"/>
    <lineToCover lineNumber="34" covered="true"/>
    <lineToCover lineNumber="35" covered="true"/>
    <lineToCover lineNumber="38" covered="true"/>
    <lineToCover lineNumber="39" covered="true"/>
  </file>
</coverage>

在那

将此行更改为:

  convert_file "$xccovarchive_file" "$file_name" "$xccov_options"
对下列事项:

 convert_file "$xccovarchive_file" "$(echo ${file_name} | cut -d'/' -f5-)" "$xccov_options"
您可以将数字从
5
调整为您想要的其他数字


替代方法:

您可以传递:
“AccountStore${file#u name#*AccountStore}”

--或-- 您可以更改行:
localfile\u name=“$2”
类似于
localfile\u name=“AccountStore${2}*AccountStore}”

将此行更改为:

  convert_file "$xccovarchive_file" "$file_name" "$xccov_options"
对下列事项:

 convert_file "$xccovarchive_file" "$(echo ${file_name} | cut -d'/' -f5-)" "$xccov_options"
您可以将数字从
5
调整为您想要的其他数字


替代方法:

您可以传递:
“AccountStore${file#u name#*AccountStore}”

--或-- 您可以更改行:
localfile\u name=“$2”
类似于
localfile\u name=“AccountStore${2}*AccountStore}”

生成的内容:
/Users/daniyal/MyApp/AccountStore/AccountStore/AccountProvider.swift

我想要什么
AccountStore/AccountStore/AccountProvider.swift

要从变量中修剪前缀,请使用:

$echo“$PWD”#PWD由shell设置
/家/我
$my_absolute_path=/home/me/some/file.txt
$echo“相对路径:${my_absolute_path}${PWD}/}”
相对路径:some/file.txt
这将从
${my_absolute_path}
开始修剪
${PWD}/
,剩下的是相对于当前工作目录的文件路径

因此,在您的情况下,请尝试:

echo "  <file path=\"${file_name#${PWD}/}\">"
生成的内容:
/Users/daniyal/MyApp/AccountStore/AccountStore/AccountProvider.swift

我想要什么
AccountStore/AccountStore/AccountProvider.swift

要从变量中修剪前缀,请使用:

$echo“$PWD”#PWD由shell设置
/家/我
$my_absolute_path=/home/me/some/file.txt
$echo“相对路径:${my_absolute_path}${PWD}/}”
相对路径:some/file.txt
这将从
${my_absolute_path}
开始修剪
${PWD}/
,剩下的是相对于当前工作目录的文件路径

因此,在您的情况下,请尝试:

echo "  <file path=\"${file_name#${PWD}/}\">"

现在还不清楚参数$2到函数convert_文件的变化如何才能给出一个明确的答案。在任何情况下,我都会直接更改第8行上的文件名,或者在此函数中引入一个新的本地变量,以便按照您的意愿计算文件名/路径。是否允许修改脚本?根据需要更改函数
convert_file()
?还不清楚参数$2与函数convert_file的关系如何才能给出明确的答案。在任何情况下,我都会直接更改第8行上的文件名,或者在此函数中引入一个新的本地变量,以便按照您的意愿计算文件名/路径。是否允许修改脚本?根据需要更改函数
convert\u file()