2012-04-11 14 views
4

これはおそらく、キャリパーに関する質問よりも多くのGradleの質問ですが、私はまだGradleの方が新しいです。私は、私のビルドでCaliperを使用していくつかのベンチマークを実行できるタスクを提供することに興味があります。私はすでに、私のtestCompile依存関係にCaliperを追加しています。実際にベンチマークを実行するタスクを提供する方法を知りたいと思います。キャリパー・マイクロベンチマークを実行するためのグラデル・タスクの定義

Btw、私はすでにcaliper-ciについて知っています。私はJenkinsのビルドをしていますが、それはまだ私がcaliper-ciの使用を設定することを許可していないクラウドサービスにあります。また、クラウドの変更をコミットする前にローカルで実行できるようにしたい。

答えて

4

それはそれはJavaExecを使用しての簡単なケース(私はとにかくそれに新しいだった)だっ判明:

task runBenchmark(type: JavaExec, dependsOn: test) { 
    def vmVer = System.getProperty('java.version') 
    def osName = System.getProperty('os.name').replaceAll('\\s','') 
    def osArch = System.getProperty('os.arch') 
    def fnameBase = "ver${version}_${osName}-${osArch}_jvm${vmVer}" 
    def benchMarksDir = "${project.buildDir}/benchmarks" 
    ant.mkdir(dir: benchMarksDir) 
    def outStream = new FileOutputStream("${benchMarksDir}/${fnameBase}-out.txt") 
    standardOutput = outStream 
    main = 'org.funcito.benchmarks.MyBenchmark' 
    classpath = sourceSets.test.runtimeClasspath 
    args = ['--saveResults', "${benchMarksDir}/${fnameBase}.json", '-Jmode=-server,-client'] 
} 
関連する問題