1 import net.ltgt.gradle.errorprone.errorprone 2 <lambda>null3plugins { 4 id("io.github.reyerizo.gradle.jcstress") 5 } 6 <lambda>null7buildscript { 8 extra.apply{ 9 set("moduleName", "io.perfmark.javanine") 10 } 11 } 12 13 val jdkVersion = JavaVersion.VERSION_1_9 14 15 description = "PerfMark Java9 API" 16 <lambda>null17sourceSets { 18 create("jmh") 19 } 20 <lambda>null21val jmhImplementation by configurations.getting { 22 extendsFrom(configurations.implementation.get()) 23 } 24 <lambda>null25val jmhAnnotationProcessor by configurations.getting { 26 extendsFrom(configurations.annotationProcessor.get()) 27 } 28 <lambda>null29dependencies { 30 implementation(project(":perfmark-impl")) 31 compileOnly(libs.jsr305) 32 33 testImplementation(project(":perfmark-api")) 34 testImplementation(project(":perfmark-testing")) 35 jcstressImplementation(project(":perfmark-impl")) 36 37 jmhImplementation(project(":perfmark-api")) 38 jmhImplementation(project(":perfmark-impl")) 39 jmhImplementation(project(":perfmark-java9")) 40 jmhImplementation(project(":perfmark-testing")) 41 jmhImplementation(libs.junit) 42 jmhImplementation(libs.jmhcore) 43 jmhAnnotationProcessor(libs.jmhanno) 44 } 45 <lambda>null46tasks.named<JavaCompile>("compileJava") { 47 sourceCompatibility = jdkVersion.toString() 48 targetCompatibility = jdkVersion.toString() 49 } 50 <lambda>null51tasks.named<JavaCompile>("compileJmhJava") { 52 sourceCompatibility = JavaVersion.VERSION_11.toString() 53 targetCompatibility = JavaVersion.VERSION_11.toString() 54 options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*") 55 56 } 57 <lambda>null58tasks.register<Test>("jmh") { 59 description = "Runs integration tests." 60 group = "stress" 61 62 testClassesDirs = sourceSets["jmh"].output.classesDirs 63 classpath = sourceSets["jmh"].runtimeClasspath 64 65 javaLauncher.set(javaToolchains.launcherFor({ 66 languageVersion.set(JavaLanguageVersion.of("11")) 67 })) 68 } 69 70 <lambda>null71tasks.named<Jar>("jar") { 72 exclude("io/perfmark/java9/Internal*") 73 } 74 <lambda>null75tasks.named<Javadoc>("javadoc") { 76 exclude("io/perfmark/java9/**") 77 } 78 79 // ./gradlew --no-daemon clean :perfmark-java9:jcstress <lambda>null80jcstress { 81 jcstressDependency = "org.openjdk.jcstress:jcstress-core:0.5" 82 // mode "tough" 83 deoptRatio = "2" 84 } 85 <lambda>null86tasks.named<JavaCompile>("compileJcstressJava") { 87 options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*") 88 } 89