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