0

我在文件夹a,文件夹b,文件夹c ....等不同文件夹中有一些代码,并且所有这三个文件夹都在文件夹名称“sonar”中。如果我想用sonarqube一次扫描所有这些文件夹,我该怎么做。如果我将sonar-project.properties文件保存在声纳文件夹中,它会好吗?或者是否需要在文件夹a,文件夹b和文件夹c中的所有文件夹中分别保留sonar-project.properties如何在sonarqube中递归扫描代码

回答

1

通常每个文件夹的属性都应该在每个文件夹上进行分析。

您还可以试试下面的办法,如果它适合你的需要,如果它不是一个大的学习曲线: 先决条件: ANT知识 声纳API

优点:每 1.单/中央方法代码分析 2.可避免为每个项目/源文件夹

在这种方法中sonar.properties,编写接受动态参数

样品Ant脚本:

<target name="setsonarproperties" description="Setting the sonar properties"> 
    <property name="sonar.projectVersion" value="${projectVersion}" /> 
    <property name="sonar.projectKey" value="${targetProduct}_${projectVersion}" /> 
    <property name="sonar.projectName" value="${targetProduct}" /> 
    <property name="sonar.host.url" value="${hostUrl}" /> 
    <property name="sonar.login" value="${hostUserName}" /> 
    <property name="sonar.password" value="${hostPassword}" /> 
    <loadfile property="textFile" srcfile="${buildOrder}" /> 
    <for param="line" list="${textFile}" delimiter="${line.separator}"> 
     <sequential> 
      <echo message="@{line}" /> 
      <copy todir="${sourcePath}/sonarsources/@{line}"> 
       <fileset dir="${sourcePath}/@{line}"> 
       </fileset> 
      </copy> 
     </sequential> 
    </for> 
</target> 

下还设置了声纳的用户名和密码的详细信息: 运行分析:

<target name="sonar" depends="setsonarproperties" description="executing sonar"> 
    <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml"> 
     <!-- Update the following line, or put the "sonar-ant-task-*.jar" file 
      in your "$HOME/.ant/lib" folder --> 
    </taskdef> 
    <sonar:sonar /> 
</target> 
+0

感谢您的评论,但是这是更进ANT。这是不同的语言,如大型机同样的方式@Vijay Reddy – pandey

+0

我还没有尝试大型机,但最有可能它会是相同的,如果你有大型机的API ... –

+0

也我是否需要有一个声纳-project.properties?此外,我可以保留这个蚂蚁代码。有什么方法可以联系我吗 – pandey