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ますが、変更が指定されている場所が見つかりませんでした。

また、すべてのモジュール設定は、サブモジュールの build.xml ファイルではなく、親でのみ指定する必要があることを理解しています。 build.xmlでは、なぜエラーが発生するのですか? https://github.com/SonarSource/sonar-examples/tree/master/projects/multi-module/antの例に従いました。何か不足していますか?

ありがとう

4

2 に答える 2

1

「sonar:sonar」タグ内に「ライブラリ」を定義しているため、互換モードになっています。代わりに、すべての JAR ファイル パスをカンマで結合して、このタグの外側で「sonar.libraries」を定義する必要があります。

その後、マルチモジュール メカニズムは期待どおりに機能します。

于 2013-04-09T14:28:50.783 に答える
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>

これは、単一のプロジェクトに ant をセットアップしたことを意味しますが、 sonar:sonar タグ内に何も提供していなくても、プロパティで定義されていてもキーとバージョンが必要な理由がわかりません。

ありがとう

于 2013-10-22T14:52:54.493 に答える