File: native.gradle

package info (click to toggle)
gradle 4.4.1-22
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 85,488 kB
  • sloc: java: 319,990; xml: 14,356; javascript: 4,838; cpp: 4,200; ansic: 1,025; sh: 303; makefile: 66; asm: 17; jsp: 17; objc: 10
file content (73 lines) | stat: -rwxr-xr-x 2,367 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
    This project contains various native operating system integration utilities.
*/
apply plugin: 'java-library'

sourceCompatibility = javaVersion.java9Compatible ? 1.7 : 1.5

dependencies {
    api project(':baseServices')
    api libraries.nativePlatform

    implementation libraries.commons_io
    implementation libraries.slf4j_api
    implementation libraries.jansi
    implementation libraries.guava
}

useTestFixtures()
useTestFixtures(project: ":logging")
useClassycle()


task copyJmhReport(type: Copy) {
    destinationDir = file("$buildDir/reports/jmh-html")

    from 'src/jmh/html'
}

task convertCSV {
    ext.inputFile = file("$buildDir/reports/jmh/results.csv")
    ext.outputFile = file("$buildDir/reports/jmh-html/data.csv")
    inputs.file(inputFile)
    outputs.file(outputFile)
    doLast {
        def benchToScenarioName = [
            'org.gradle.internal.nativeintegration.filesystem.FileMetadataAccessorBenchmark.stat_existing': 'Existing',
            'org.gradle.internal.nativeintegration.filesystem.FileMetadataAccessorBenchmark.stat_directory': 'Directory',
            'org.gradle.internal.nativeintegration.filesystem.FileMetadataAccessorBenchmark.stat_missing_file': 'Missing',
        ]
        boolean first = true
        def benchmarks = [:].withDefault { [] }
        inputFile.eachLine { line ->
            if (first) {
                first = false
            } else {
                def (benchmark, mode, threads, samples, score, error, unit, accessor) = line.replace('"', '').split(",")
                benchmarks[benchToScenarioName[benchmark]] << [accessor - 'FileMetadataAccessor', Double.valueOf(score) as int]
            }
        }
        outputFile.parentFile.mkdirs()
        Set tested = []
        benchmarks.each { benchmark, values ->
            values.each {
                tested << it[0]
            }
        }
        outputFile.withWriter { writer ->
            writer << "Scenario,${tested.join(',')}\n"
            benchmarks.each { benchmark, values ->
                writer << "$benchmark"
                tested.each { test ->
                    writer << ",${values.find { it[0] == test }[1]}"
                }
                writer << '\n'
            }
        }
        println outputFile.absolutePath
    }
}

task jmhReport {
    //dependsOn 'jmh', copyJmhReport, convertCSV
}