0

こんにちは、Gradleの達人です!私はあなたの強力な経験と知識を求めています:)

JacocoエージェントをjvmにフックするGradleプラグインがあります。現在、私のコードは次のようになっています。

Task t = project.allTasks.getByPath(project.getName+":"+"test");
t.jvmArgs = ["-javaagent:"+jacocoAgentJar+"=destfile=" + coverageResultFile.getCanonicalPath()];

これは正常に機能していますが、動的プロパティは非推奨になっているため、どういうわけかそれらを取り除きたいと思います。ただし...コードをに変更しても機能しませんt.ext.jvmArgs = ["-javaagent:"+jacocoAgentJar+"=destfile=" + coverageResultFile.getCanonicalPath()];

この動的プロパティを使用して、Jamcocoエージェントをjvmにフックする方法を誰かに説明してもらえますか?

ありがとう

4

3 に答える 3

1

ここで「動的プロパティ」の警告が表示された場合は、コードに問題がある可能性があります。これはスタイルの問題だけではありません。一つには、getAllTasks(ちなみに、ブールパラメータを取る)の使用はここでは不適切です。代わりに、を使用する必要があります。これは、またproject.tasks.getByName("test")はと省略できproject.tasks["test"]ますproject.test。または、すべてのテストタスクをキャッチする場合は、project.tasks.withType(Test)

于 2013-03-26T09:31:00.010 に答える
1

次のような構成クロージャーを追加して、ビルドファイルでテストタスクを直接構成できます。

test{

  jvmArgs "javaagent:"+jacocoAgentJar+"=destfile=" + overageResultFile.getCanonicalPath()"

}
于 2013-03-26T09:38:24.677 に答える
0

あなたの質問に対する直接の答えではありませんが、gradle-jacocoプラグインを調べたいと思うかもしれません。

于 2013-03-26T12:18:45.847 に答える