最初の投稿
私は継続的インテグレーションのためにいくつかのツールを使用しています:
- Maven 3.0.4
- ソナー 3.3
- ソナー Web プラグイン 1.2
- ソナー Javascript プラグイン 1.1
- ジェンキンス 1.486
Java プロジェクトと XML プロジェクトでは、すべてが正常に機能します。
Javascript と Web プロジェクトで問題が発生しています。プロジェクトは Sonar で作成されますが、空です。
以下は、JavaScript プロジェクトのスタックトレースのサンプルです。
[INFO] --- sonar-maven-plugin:2.0-beta-2:sonar (default-cli) @ MyProject ---
[情報] ソナー バージョン: 3.3
[INFO] [15:59:24.937] jdbc の JDBC データソースを作成します:mysql://sonar-02:3306/sonar
[情報] [15:59:41.190] 休止状態を初期化しています
[情報] [15:59:43.318] ------------- MyProject JS の分析
[INFO] [15:59:43.573] 品質プロファイル: [name=myProfileJavascript,language=js]
[情報] [15:59:43.612] Maven プラグインを構成します...
[情報] [15:59:43.653] 以前の分析と比較 (2013-02-08)
[INFO] [15:59:43.672] 5日間比較 (2013-02-03、2013-02-07 12:29:08.0の分析)
[INFO] [15:59:43.682] 30日間比較 (2013-01-09、2013-02-07 12:29:08.0の分析)
[情報] [15:59:43.877] 初期化子 ProjectFileSystemLogger...
[情報] [15:59:43.878] 除外されたテスト: [**/package-info.java]
[情報] [15:59:43.881] ソース ディレクトリ:
[情報] [15:59:43.881]
C:\Work\Workspaces\Intellij\MyProject\src\main\java[情報] [15:59:43.881] テスト ディレクトリ:
[情報] [15:59:43.882]
C:\Work\Workspaces\Intellij\MyProject\src\test\java[INFO] [15:59:43.882] Initializer ProjectFileSystemLogger done: 5 ミリ秒
[情報] [15:59:43.882] 初期化子 MavenInitializer...
[情報] [15:59:43.884] Java ソース バージョン: 1.6
[情報] [15:59:43.884] Java ターゲット バージョン: 1.6
[情報] [15:59:43.884] イニシャライザー MavenInitializer 完了: 2 ミリ秒
[情報] [15:59:44.183] センサー JavaScriptSourceImporter...
[INFO] [15:59:44.335] センサーの JavaScriptSourceImporter が完了しました: 152 ミリ秒
[INFO] [15:59:44.335] センサー JavaScriptSquidSensor...
[INFO] [15:59:44.520] センサー JavaScriptSquidSensor 完了: 185 ミリ秒
[情報] [15:59:44.520] センサー JsTestDriverSurefireSensor...
[情報] [15:59:44.526] センサー JsTestDriverSurefireSensor 完了: 6 ミリ秒
[情報] [15:59:44.526] センサー JsTestDriverCoverageSensor...
[INFO] [15:59:44.584] センサー JsTestDriverCoverageSensor 完了: 58 ミリ秒
[情報] [15:59:44.584] センサー CpdSensor...
[情報] [15:59:44.585] SonarBridgeEngine が使用されています
[情報] [15:59:44.642] センサー CpdSensor 完了: 58 ミリ秒
[情報] [15:59:44.642] センサー プロファイルセンサー...
[情報] [15:59:44.725] センサー ProfileSensor 完了: 83 ミリ秒
[情報] [15:59:44.725] センサー ProfileEventsSensor...
[情報] [15:59:44.752] センサー ProfileEventsSensor 完了: 27 ミリ秒
[情報] [15:59:44.753] センサー ProjectLinksSensor...
[情報] [15:59:44.791] センサー ProjectLinksSensor 完了: 38 ミリ秒
[情報] [15:59:44.791] センサー VersionEventsSensor...
[INFO] [15:59:44.820] Sensor VersionEventsSensor done: 29 ミリ秒
[情報] [15:59:44.820] センサー Maven の依存関係...
[INFO] [15:59:48.148] センサー Maven の依存関係が完了しました: 3328 ミリ秒
[INFO] [15:59:48.517] デコレータを実行...
[情報] [15:59:48.856] 分析成功、参照できます
http://sonarServer:9000
[情報] [15:59:48.857] ポストジョブ クラス org.sonar.plugins.core.batch.IndexProjectPostJob を実行しています
[INFO] [15:59:49.140] post-job クラス org.sonar.plugins.dbcleaner.ProjectPurgePostJob を実行しています
[INFO] [15:59:49.154] -> 2013-01-11 から 2013-02-07 の間で 1 日あたり 1 つのスナップショットを保持します
[INFO] [15:59:49.156] -> 2012 年 12 月 14 日から 2013 年 1 月 11 日までの間、週に 1 つのスナップショットを保持します
[INFO] [15:59:49.157] -> 2011 年 4 月 8 日から 2012 年 12 月 14 日までの間、毎月 1 つのスナップショットを保持します
[INFO] [15:59:49.157] -> 2011-04-08 以前のデータを削除
[情報] [15:59:49.163] -> MyProject JS を消去 [id=57524]
[INFO] [15:59:49.167] <- クリーン スナップショット 1690793
ソナーが C:\Work\Workspaces\Intellij\MyProject\src\main\java を使用していることがわかります
私のpomでは、ソナーの動作を変更せずにいくつかのプロパティをテストしました。
<sonar.javascript.sources>src/main/webapp</sonar.javascript.sources>
<sonar.sources>src/main/webapp</sonar.sources>
<sources>src/main/webapp</sources>
これは Web プロジェクトでも同じ問題です。
何か案が ?
前もって感謝します。
EDIT 11/02/2013 - ファブリスの後 - ソナーチームのコメント
次の情報で新しいpom(pom-web.xml)を作成しました
<properties>
<sonar.branch>JS</sonar.branch>
<sonar.language>web</sonar.language>
</properties>
<build>
<sourceDirectory>src/main/webapp</sourceDirectory>
</build>
ソース ディレクトリが変更されたようですが、メトリクスはまだ空です。
[INFO] [12:11:54.486] org.apache.maven.plugins:maven-surefire-plugin:2.9:test done: 545 ミリ秒を実行します
[INFO] [12:11:54.486] maven プラグインの実行 maven-surefire-plugin done: 545 ミリ秒
[INFO] [12:11:54.486] イニシャライザ JacocoMavenInitializer...
[INFO] [12:11:54.486] 初期化子 JacocoMavenInitializer 完了: 0 ミリ秒
[情報] [12:11:54.486] 初期化子 ProjectFileSystemLogger...
[情報] [12:11:54.487] 除外されたテスト: [**/package-info.java]
[情報] [12:11:54.487] ソース ディレクトリ:
[INFO] [12:11:54.487]
C:\Work\Workspaces\Intellij\MyProject\src\main\webapp
Web と JS で同じ動作。
EDIT 11/02/2013 : 解決策が見つかりました
pom ファイルが 1 つ必要でした。そこで、プロファイルのおかげでソナーのプロパティを管理しました。「sourceDirectory」はプロファイル内で再定義できないため、カスタム プロパティを使用します。
プロパティ「sonar.branch」を使用すると、プロジェクトにいくつかのソナー エントリを含めることができます。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.test</groupId>
<artifactId>MyMultiLanguageProject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<ci.build.sourceDirectory>src/main/java</ci.build.sourceDirectory>
<ci.build.testSourceDirectory>src/test/java</ci.build.testSourceDirectory>
</properties>
<build>
<sourceDirectory>${ci.build.sourceDirectory}</sourceDirectory>
<testSourceDirectory>${ci.build.testSourceDirectory}</testSourceDirectory>
</build>
<profiles>
<profile>
<id>CI-WEB</id>
<properties>
<sonar.branch>WEB</sonar.branch>
<sonar.language>web</sonar.language>
<sonar.sources>src</sonar.sources>
<ci.build.sourceDirectory>src/main/webapp</ci.build.sourceDirectory>
<ci.build.testSourceDirectory>src/test/webapp</ci.build.testSourceDirectory>
</properties>
</profile>
<profile>
<id>CI-JS</id>
<properties>
<sonar.branch>JS</sonar.branch>
<sonar.language>js</sonar.language>
<sonar.sources>src</sonar.sources>
<ci.build.sourceDirectory>src/main/webapp</ci.build.sourceDirectory>
<ci.build.testSourceDirectory>src/test/webapp</ci.build.testSourceDirectory>
</properties>
</profile>
</profiles>