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