2013-04-09 68 views
0

我有聲納下面的螞蟻項目設置:聲納Ant任務在兼容模式下運行

<!-- list of Sonar project related properties --> 
     <property name="sonar.projectName" value="bla bla" /> 
     <property name="sonar.projectKey" value="com.my.project" /> 
     <property name="sonar.projectVersion" value="7.3" /> 
     <property name="sonar.language" value="java" /> 

     <property name="sonar.modules" value="admin-api" /> 
     <!-- all of the sub-modules --> 
     <property name="admin-api.sonar.projectName" value="admin-api" /> 
     <property name="admin-api.sonar.projectBaseDir" location="server/admin/admin-api"/> 
     <property name="admin-api.sonar.sources" value="src" /> 
     <property name="admin-api.sonar.binaries" value="build" /> 

     <sonar:sonar xmlns:sonar="antlib:org.sonar.ant"> 
      <!-- path to libraries (optional). These libraries are for example used by the Java Findbugs plugin --> 
      <libraries> 
       <path> 
        <fileset dir="server/third-party-jars" includes="*.jar" /> 
       </path> 
      </libraries> 
     </sonar:sonar> 

我得到1個警告:

[sonar:sonar] ***************************************************************************************************************************************** 
[sonar:sonar] /!\ Sonar Ant Task running in compatibility mode: please refer to the documentation to udpate your scripts to comply with the standards. 
[sonar:sonar] ***************************************************************************************************************************************** 

,也是以下錯誤:

The following mandatory information is missing: 
    - task attribute 'key' 
    - task attribute 'version' 

據我所知,有變化遷移到新sonar ant task 2.0但找不到任何地方,其中t他指定了更改。

而且,據我所知,所有的模塊設置現在在父,而不是build.xml在子模塊的build.xml文件中指定。那麼,爲什麼我會得到錯誤?我遵循https://github.com/SonarSource/sonar-examples/tree/master/projects/multi-module/ant中的示例。我錯過了什麼嗎?

感謝

回答

1

你在兼容模式下,因爲你所定義的「聲納:聲納」裏面的「庫」標籤。相反,您應該在此標記之外定義「sonar.libraries」,方法是用逗號連接所有JAR文件路徑。

那麼多模塊機制將正常工作。

+0

好了,沒有解決兼容模式問題,我認爲你應該需要從舊版本的更新,否則,警告它自己的消息改變了什麼文檔中提到的是不很有用。謝謝。 – Michael 2013-04-09 15:03:31

+0

我仍然得到錯誤'您必須爲'com.my.project'定義以下必需屬性:sonar.sources'我是否必須爲父項目定義'sonar.sources',即使我已經爲子模塊定義了它?在它自己的父項目沒有任何來源... – Michael 2013-04-09 15:05:11

+0

是的,現在你必須(且這個值將在模塊中繼承,如果你不重寫)。但在Ant任務的下一個版本中,這不再是必要的。 – 2013-04-09 15:21:36

1

我面臨着同樣的問題。在我的情況下,build.xml文件看起來像初級講座:

<target depends="build" name="sonar-runner"> 

    <!-- Define the SonarQube properties --> 
    <property name="sonar.host.url" value="http://sonar-server:9000/sonar" /> 
    <property name="sonar.jdbc.url" value="jdbc:jtds:sqlserver://comp-sql-db-server/sonar;SelectMethod=Cursor" /> 
    <property name="sonar.jdbc.username" value="XXXXXX" /> 
    <property name="sonar.jdbc.password" value="*******" /> 
    <property name="sonar.projectKey" value="asdfsaf:2550" /> 
    <property name="sonar.projectName" value="Proj 1" /> 
    <property name="sonar.projectVersion" value="4.0.1" /> 
    <property name="sonar.language" value="java" /> 
    <property name="sonar.profile" value="Sonar Way" /> 
    <property name="sonar.sources" value="src" /> 
    <property name="sonar.sourceEncoding" value="UTF-8" /> 


    <!-- run sonar for this project --> 
    <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 --> 
     <classpath path="${lib-dist}/sonar/sonar-ant-task-2.1.jar" /> 
    </taskdef> 

    <!-- Execute Sonar --> 
    <sonar:sonar /> 
</target> 

這意味着我有一個項目設置的螞蟻,但不知道爲什麼它需要有關鍵和版本甚至其性質定義甚至我沒有」在聲納內部提供任何東西:聲納標籤。

感謝

相關問題