2016-12-21 8 views
0

私はJenkins-buildでgradle-cobertura-pluginを使用しています。昨日、このプラグインで設定されたauxiliaryClasspathを上書きする問題を修正しました。この問題により、一部のクラスがカバレッジレポートに含まれなくなりました。 Cobertura - クラスはもはや計測されていません

は、私は次のように変更:

auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 

if (auxiliaryClasspath != null) { 
     auxiliaryClasspath += project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 
} else { 
     auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 
} 

gradle coberturaすべてにローカルでビルドを実行して正常に動作し、不足しているクラスは、レポートで示された修正は非常に簡単なものです。 Jenkinsにプラグインのパッチバージョンをインストールした後、Jenkinsのカバレッジは0になりました。

私は何が起こったかを見て、instrumented_classesのフォルダのクラスがもうインストルメントされていないことを発見しました!すべてを元に戻す(build.gradle、プラグインをアンインストールする、gradleキャッシュをクリアする、など)、動作は変わりません。ローカルで作業しているので、私はこの問題の原因を考えています。

おそらくログに記録され、黙って無視される何かが間違っていると思われますが、私はこの情報をどこから探すべきか分かりません。 Jenkinsのログはきれいなので、コードを担当するコードのロガーを追加すると助けになると思います。残念ながら、私はどのようなロガーを有効にするか分かりません。 org.sourceforge.coberturaは何も出力しませんでした。

私の質問です:他の誰かがこの動作を見て、この問題の解決方法を手がかりにしているかもしれませんか?

答えて

0

OK、わかりました。多くの試行錯誤の後、私はcoverageExcludesプロパティの少しの変更が原因だと分かりました。数回変更すると、クラスが再び計測されます。面白いことに、地元ではありましたが、ジェンキンではできませんでした。もう一度やり直してしまえば、もう少し深く掘り下げなければならないと思う。

今のところ私はうまくいきました。 :-)

関連する問題