Sonarで定義されたマルチモジュールプロジェクト(多くのサブモジュールを含む)があり、ソナーを新しいバージョンにアップグレードするまでうまく機能していました。
私の以前の設定は次のとおりです。
build.xml
jdbc接続などの一般的なプロジェクトプロパティをすべて含む単一の親。また、<sonar:sonar />
Sonarを実行するタスクも含まれていました。この親プロジェクトには、ソース/バイナリは含まれず、サブモジュールをビルドするための指示のみが含まれます。- 、および
build.xml
などのサブモジュール固有のプロパティのみを含む多くのサブモジュールファイルsonar.projectKey
sonar.sources
sonar.binaries
新しい Sonar ant タスクでは、parent 内のすべてを定義する必要がありますbuid.xml
。次のように定義しました (ここではサブモジュールを 1 つだけ示します。後でモジュールを追加しても同じように動作するはずです)。
<target name="sonar">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="build-utils/lib/sonar-ant-task-2.0.jar" />
</taskdef>
<!-- list of Sonar database related properties -->
<property name="sonar.jdbc.url" value="jdbc:oracle:thin:@localhost/DB11g" />
<property name="sonar.jdbc.driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<!-- for security reasons, pass these parameters from outside -->
<property name="sonar.jdbc.username" value="" />
<property name="sonar.jdbc.password" value="" />
<property name="sonar.host.url" value="http://localhost:9000" />
<!-- list of Sonar project related properties -->
<property name="sonar.projectName" value="My Project" />
<property name="sonar.projectKey" value="com.my.project" />
<property name="sonar.projectVersion" value="7.3" />
<property name="sonar.language" value="java" />
<property name="sonar.libraries" value="server/third-party-jars"/>
<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" />
</target>
ターゲットを実行すると、次のエラーが発生します。
You must define the following mandatory properties for 'com.orca.rightv': sonar.sources
build.xml
別の質問ですが、以前のバージョンで行ったように、各モジュールのサブモジュールの特定の定義を保持する方法はありますか? それは私に多くの仕事を救うでしょう。
ありがとう