xref: /aosp_15_r20/external/perfmark/api/build.gradle (revision 27e8546d0ef5f99cf83d5252272c7dd38d18d29a)
1*27e8546dSMatt Gilbrideplugins {
2*27e8546dSMatt Gilbride    id "me.champeau.jmh"
3*27e8546dSMatt Gilbride}
4*27e8546dSMatt Gilbride
5*27e8546dSMatt Gilbridedescription = "PerfMark API"
6*27e8546dSMatt Gilbrideext.moduleName = "io.perfmark"
7*27e8546dSMatt Gilbrideext.jdkVersion = JavaVersion.VERSION_1_6
8*27e8546dSMatt Gilbride
9*27e8546dSMatt Gilbridejava {
10*27e8546dSMatt Gilbride    toolchain {
11*27e8546dSMatt Gilbride        languageVersion = JavaLanguageVersion.of(11)
12*27e8546dSMatt Gilbride    }
13*27e8546dSMatt Gilbride}
14*27e8546dSMatt Gilbride
15*27e8546dSMatt GilbridecompileJava {
16*27e8546dSMatt Gilbride    sourceCompatibility = jdkVersion
17*27e8546dSMatt Gilbride    targetCompatibility = jdkVersion
18*27e8546dSMatt Gilbride
19*27e8546dSMatt Gilbride    options.compilerArgs.add("-Xlint:-options")
20*27e8546dSMatt Gilbride}
21*27e8546dSMatt Gilbride
22*27e8546dSMatt Gilbridedependencies {
23*27e8546dSMatt Gilbride    compileOnly libs.jsr305,
24*27e8546dSMatt Gilbride            libs.errorprone
25*27e8546dSMatt Gilbride    testImplementation project(':perfmark-impl'),
26*27e8546dSMatt Gilbride            libs.truth
27*27e8546dSMatt Gilbride    testRuntimeOnly project(':perfmark-java6')
28*27e8546dSMatt Gilbride
29*27e8546dSMatt Gilbride    jmh project(':perfmark-java9'),
30*27e8546dSMatt Gilbride            project(':perfmark-java7')
31*27e8546dSMatt Gilbride}
32*27e8546dSMatt Gilbride
33*27e8546dSMatt GilbridecompileTestJava {
34*27e8546dSMatt Gilbride    sourceCompatibility = JavaVersion.VERSION_11
35*27e8546dSMatt Gilbride    targetCompatibility = JavaVersion.VERSION_11
36*27e8546dSMatt Gilbride}
37*27e8546dSMatt Gilbride
38*27e8546dSMatt GilbridecompileJmhJava {
39*27e8546dSMatt Gilbride    sourceCompatibility = JavaVersion.VERSION_11
40*27e8546dSMatt Gilbride    targetCompatibility = JavaVersion.VERSION_11
41*27e8546dSMatt Gilbride}
42*27e8546dSMatt Gilbride
43*27e8546dSMatt Gilbridejava {
44*27e8546dSMatt Gilbride    disableAutoTargetJvm()
45*27e8546dSMatt Gilbride}
46*27e8546dSMatt Gilbride
47*27e8546dSMatt Gilbridejavadoc {
48*27e8546dSMatt Gilbride    exclude 'io/perfmark/Impl**'
49*27e8546dSMatt Gilbride}
50*27e8546dSMatt Gilbride
51*27e8546dSMatt Gilbridejmh {
52*27e8546dSMatt Gilbride
53*27e8546dSMatt Gilbride    timeOnIteration = "1s"
54*27e8546dSMatt Gilbride    warmup = "1s"
55*27e8546dSMatt Gilbride    fork = 400
56*27e8546dSMatt Gilbride    warmupIterations = 0
57*27e8546dSMatt Gilbride
58*27e8546dSMatt Gilbride    includes = ["ClassInit"]
59*27e8546dSMatt Gilbride    profilers = ["cl"]
60*27e8546dSMatt Gilbride    jvmArgs = ["-Dio.perfmark.debug=true"]
61*27e8546dSMatt Gilbride
62*27e8546dSMatt Gilbride    /*
63*27e8546dSMatt Gilbride    profilers = ["perfasm"]
64*27e8546dSMatt Gilbride
65*27e8546dSMatt Gilbride    jvmArgs = [
66*27e8546dSMatt Gilbride            "-XX:+UnlockDiagnosticVMOptions",
67*27e8546dSMatt Gilbride            "-XX:+LogCompilation",
68*27e8546dSMatt Gilbride            "-XX:LogFile=/tmp/blah.txt",
69*27e8546dSMatt Gilbride            "-XX:+PrintAssembly",
70*27e8546dSMatt Gilbride            "-XX:+PrintInterpreter",
71*27e8546dSMatt Gilbride            "-XX:+PrintNMethods",
72*27e8546dSMatt Gilbride            "-XX:+PrintNativeNMethods",
73*27e8546dSMatt Gilbride            "-XX:+PrintSignatureHandlers",
74*27e8546dSMatt Gilbride            "-XX:+PrintAdapterHandlers",
75*27e8546dSMatt Gilbride            "-XX:+PrintStubCode",
76*27e8546dSMatt Gilbride            "-XX:+PrintCompilation",
77*27e8546dSMatt Gilbride            "-XX:+PrintInlining",
78*27e8546dSMatt Gilbride            "-XX:+TraceClassLoading",
79*27e8546dSMatt Gilbride            "-XX:PrintAssemblyOptions=syntax",
80*27e8546dSMatt Gilbride            "-XX:PrintAssemblyOptions=intel"
81*27e8546dSMatt Gilbride    ]
82*27e8546dSMatt Gilbride     */
83*27e8546dSMatt Gilbride
84*27e8546dSMatt Gilbride    //duplicateClassesStrategy DuplicatesStrategy.INCLUDE
85*27e8546dSMatt Gilbride}