フレンズGWT、ソナー+クローバー

私の好きな方法でGWTを愛していますか? 最近、GWTを使用するプロジェクトにSonarをかけるタスクがありました。 クローバーがそれを手に入れたとき、問題が生じました。 カットの下でこの物語の詳細。



だから塩は何ですか。 Cloverはサンプルをターゲットフォルダーにコピーし、独自のコードと分析でそれらを補完します。その後、gwt-maven-pluginが入り、喜んですべてをコンパイルしようとします。

タイプ....;のソースコードはありません。 必要なモジュールを継承するのを忘れましたか?



そして、未知のクラスとして、Cloverクラスの1つが機能します。 これは、* .gwt.xmlモジュールでCloverのインポートを宣言しなかったことを意味します。 しかし不快。 解決策は比較的迅速に見つかりました。



プロパティブロックで、変数を宣言します。

<properties> ... <gwt.module>MyModule.gwt.xml</gwt.module> ... </properties>
      
      







gwt-maven-pluginのチューニング(2.2.0を使用):



 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>2.2.0</version> <executions> <execution> <configuration> <module>${gwt.module}</module> </configuration> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin>
      
      







次に、テストリソースで別のモジュールを作成し、Empty.gwt.xmlを呼び出します。



 <module rename-to="empty"> </module>
      
      







次に、Sonarのプロファイルを作成します。このプロファイルでは、モジュールの値を再定義します。



 <profiles> <profile> <id>Sonar</id> <properties> <gwt.module>Empty.gwt.xml</gwt.module> </properties> </profile> </profiles>
      
      







完了、Sonarで起動するときにこのモジュールを有効にする必要があります。これは-P Sonarとして実行されます。



All Articles