blob: 5a163a4e09b61057f506e5838fa3e7dd20d5d58e [file] [log] [blame]
import net.ltgt.gradle.errorprone.errorprone
plugins {
id("io.github.reyerizo.gradle.jcstress")
}
buildscript {
extra.apply{
set("moduleName", "io.perfmark.javanine")
}
}
val jdkVersion = JavaVersion.VERSION_1_9
description = "PerfMark Java9 API"
sourceSets {
create("jmh")
}
val jmhImplementation by configurations.getting {
extendsFrom(configurations.implementation.get())
}
val jmhAnnotationProcessor by configurations.getting {
extendsFrom(configurations.annotationProcessor.get())
}
dependencies {
implementation(project(":perfmark-impl"))
compileOnly(libs.jsr305)
testImplementation(project(":perfmark-api"))
testImplementation(project(":perfmark-testing"))
jcstressImplementation(project(":perfmark-impl"))
jmhImplementation(project(":perfmark-api"))
jmhImplementation(project(":perfmark-impl"))
jmhImplementation(project(":perfmark-java9"))
jmhImplementation(project(":perfmark-testing"))
jmhImplementation(libs.junit)
jmhImplementation(libs.jmhcore)
jmhAnnotationProcessor(libs.jmhanno)
}
tasks.named<JavaCompile>("compileJava") {
sourceCompatibility = jdkVersion.toString()
targetCompatibility = jdkVersion.toString()
}
tasks.named<JavaCompile>("compileJmhJava") {
sourceCompatibility = JavaVersion.VERSION_11.toString()
targetCompatibility = JavaVersion.VERSION_11.toString()
options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
}
tasks.register<Test>("jmh") {
description = "Runs integration tests."
group = "stress"
testClassesDirs = sourceSets["jmh"].output.classesDirs
classpath = sourceSets["jmh"].runtimeClasspath
javaLauncher.set(javaToolchains.launcherFor({
languageVersion.set(JavaLanguageVersion.of("11"))
}))
}
tasks.named<Jar>("jar") {
exclude("io/perfmark/java9/Internal*")
}
tasks.named<Javadoc>("javadoc") {
exclude("io/perfmark/java9/**")
}
// ./gradlew --no-daemon clean :perfmark-java9:jcstress
jcstress {
jcstressDependency = "org.openjdk.jcstress:jcstress-core:0.5"
// mode "tough"
deoptRatio = "2"
}
tasks.named<JavaCompile>("compileJcstressJava") {
options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
}