使用SonarQube扫描仪中的外部属性功能

时间:2017-05-09 06:39:02

标签: sonarqube sonarqube-scan

从SonarQube扫描仪2.9版本开始,可以引用sonar-project.properties内的变量:

https://www.sonarsource.com/resources/product-news/2017/03/2017-03-15-sonarqube-scanner-2.9-released.html

对我而言,此功能的明显用例是避免必须两次声明项目的版本(一次在代码中,一次在sonar-project.properties中)。

例如,在Swift项目中,版本在.plist文件中定义为XML值。 是否有一种明显的简单方法来检索此值并在sonar-project.properties文件中引用它?

更新:我设法让它在TeamCity构建中运行(命令行构建步骤):

echo "##teamcity[setParameter name='env.APP_VERSION' value='$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "MyApp/Info.plist")']"

然后引用sonar-project.properties中的变量:

sonar.projectVersion=${env.APP_VERSION}

1 个答案:

答案 0 :(得分:2)

我能想到的'明显的简单方法'。一种方法可能是让一个小脚本从.plist中选择版本并将其设置为环境变量。环境变量,然后sonar-project.properties可以be referenced