1*27e8546dSMatt Gilbride import net.ltgt.gradle.errorprone.errorprone 2*27e8546dSMatt Gilbride <lambda>null3*27e8546dSMatt Gilbrideplugins { 4*27e8546dSMatt Gilbride id("io.github.reyerizo.gradle.jcstress") 5*27e8546dSMatt Gilbride } 6*27e8546dSMatt Gilbride <lambda>null7*27e8546dSMatt Gilbridebuildscript { 8*27e8546dSMatt Gilbride extra.apply{ 9*27e8546dSMatt Gilbride set("moduleName", "io.perfmark.javafifteen") 10*27e8546dSMatt Gilbride } 11*27e8546dSMatt Gilbride } 12*27e8546dSMatt Gilbride 13*27e8546dSMatt Gilbride val jdkVersion = JavaVersion.VERSION_15 14*27e8546dSMatt Gilbride 15*27e8546dSMatt Gilbride description = "PerfMark Java15 API" 16*27e8546dSMatt Gilbride <lambda>null17*27e8546dSMatt GilbridesourceSets { 18*27e8546dSMatt Gilbride create("jmh") 19*27e8546dSMatt Gilbride } 20*27e8546dSMatt Gilbride <lambda>null21*27e8546dSMatt Gilbrideval jmhImplementation by configurations.getting { 22*27e8546dSMatt Gilbride extendsFrom(configurations.implementation.get()) 23*27e8546dSMatt Gilbride } 24*27e8546dSMatt Gilbride <lambda>null25*27e8546dSMatt Gilbrideval jmhAnnotationProcessor by configurations.getting { 26*27e8546dSMatt Gilbride extendsFrom(configurations.annotationProcessor.get()) 27*27e8546dSMatt Gilbride } 28*27e8546dSMatt Gilbride <lambda>null29*27e8546dSMatt Gilbridedependencies { 30*27e8546dSMatt Gilbride implementation(project(":perfmark-impl")) 31*27e8546dSMatt Gilbride compileOnly(libs.jsr305) 32*27e8546dSMatt Gilbride 33*27e8546dSMatt Gilbride testImplementation(project(":perfmark-api")) 34*27e8546dSMatt Gilbride testImplementation(project(":perfmark-testing")) 35*27e8546dSMatt Gilbride jcstressImplementation(project(":perfmark-impl")) 36*27e8546dSMatt Gilbride 37*27e8546dSMatt Gilbride jmhImplementation(project(":perfmark-api")) 38*27e8546dSMatt Gilbride jmhImplementation(project(":perfmark-impl")) 39*27e8546dSMatt Gilbride jmhImplementation(project(":perfmark-java15")) 40*27e8546dSMatt Gilbride jmhImplementation(project(":perfmark-testing")) 41*27e8546dSMatt Gilbride 42*27e8546dSMatt Gilbride jmhImplementation(libs.junit) 43*27e8546dSMatt Gilbride jmhImplementation(libs.jmhcore) 44*27e8546dSMatt Gilbride jmhAnnotationProcessor(libs.jmhanno) 45*27e8546dSMatt Gilbride } 46*27e8546dSMatt Gilbride <lambda>null47*27e8546dSMatt Gilbridetasks.named<JavaCompile>("compileJava") { 48*27e8546dSMatt Gilbride sourceCompatibility = jdkVersion.toString() 49*27e8546dSMatt Gilbride targetCompatibility = jdkVersion.toString() 50*27e8546dSMatt Gilbride } 51*27e8546dSMatt Gilbride <lambda>null52*27e8546dSMatt Gilbridetasks.named<Javadoc>("javadoc") { 53*27e8546dSMatt Gilbride exclude("io/perfmark/java15/**") 54*27e8546dSMatt Gilbride } 55*27e8546dSMatt Gilbride <lambda>null56*27e8546dSMatt Gilbridetasks.register<Test>("jmh") { 57*27e8546dSMatt Gilbride description = "Runs integration tests." 58*27e8546dSMatt Gilbride group = "stress" 59*27e8546dSMatt Gilbride 60*27e8546dSMatt Gilbride testClassesDirs = sourceSets["jmh"].output.classesDirs 61*27e8546dSMatt Gilbride classpath = sourceSets["jmh"].runtimeClasspath 62*27e8546dSMatt Gilbride } 63*27e8546dSMatt Gilbride 64*27e8546dSMatt Gilbride // ./gradlew --no-daemon clean :perfmark-java9:jcstress <lambda>null65*27e8546dSMatt Gilbridejcstress { 66*27e8546dSMatt Gilbride jcstressDependency = "org.openjdk.jcstress:jcstress-core:0.5" 67*27e8546dSMatt Gilbride // mode "tough" 68*27e8546dSMatt Gilbride deoptRatio = "2" 69*27e8546dSMatt Gilbride } 70*27e8546dSMatt Gilbride 71*27e8546dSMatt Gilbride <lambda>null72*27e8546dSMatt Gilbridetasks.named<JavaCompile>("compileJmhJava") { 73*27e8546dSMatt Gilbride options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*") 74*27e8546dSMatt Gilbride } 75*27e8546dSMatt Gilbride 76*27e8546dSMatt Gilbride <lambda>null77*27e8546dSMatt Gilbridetasks.named<JavaCompile>("compileJcstressJava") { 78*27e8546dSMatt Gilbride options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*") 79*27e8546dSMatt Gilbride } 80