私は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
は何も出力しませんでした。
私の質問です:他の誰かがこの動作を見て、この問題の解決方法を手がかりにしているかもしれませんか?