xref: /aosp_15_r20/external/perfmark/java9/build.gradle.kts (revision 27e8546d0ef5f99cf83d5252272c7dd38d18d29a)
1*27e8546dSMatt Gilbride import net.ltgt.gradle.errorprone.errorprone
2*27e8546dSMatt Gilbride 
<lambda>null3*27e8546dSMatt Gilbride plugins {
4*27e8546dSMatt Gilbride     id("io.github.reyerizo.gradle.jcstress")
5*27e8546dSMatt Gilbride }
6*27e8546dSMatt Gilbride 
<lambda>null7*27e8546dSMatt Gilbride buildscript {
8*27e8546dSMatt Gilbride     extra.apply{
9*27e8546dSMatt Gilbride         set("moduleName", "io.perfmark.javanine")
10*27e8546dSMatt Gilbride     }
11*27e8546dSMatt Gilbride }
12*27e8546dSMatt Gilbride 
13*27e8546dSMatt Gilbride val jdkVersion = JavaVersion.VERSION_1_9
14*27e8546dSMatt Gilbride 
15*27e8546dSMatt Gilbride description = "PerfMark Java9 API"
16*27e8546dSMatt Gilbride 
<lambda>null17*27e8546dSMatt Gilbride sourceSets {
18*27e8546dSMatt Gilbride     create("jmh")
19*27e8546dSMatt Gilbride }
20*27e8546dSMatt Gilbride 
<lambda>null21*27e8546dSMatt Gilbride val jmhImplementation by configurations.getting {
22*27e8546dSMatt Gilbride     extendsFrom(configurations.implementation.get())
23*27e8546dSMatt Gilbride }
24*27e8546dSMatt Gilbride 
<lambda>null25*27e8546dSMatt Gilbride val jmhAnnotationProcessor by configurations.getting {
26*27e8546dSMatt Gilbride     extendsFrom(configurations.annotationProcessor.get())
27*27e8546dSMatt Gilbride }
28*27e8546dSMatt Gilbride 
<lambda>null29*27e8546dSMatt Gilbride dependencies {
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-java9"))
40*27e8546dSMatt Gilbride     jmhImplementation(project(":perfmark-testing"))
41*27e8546dSMatt Gilbride     jmhImplementation(libs.junit)
42*27e8546dSMatt Gilbride     jmhImplementation(libs.jmhcore)
43*27e8546dSMatt Gilbride     jmhAnnotationProcessor(libs.jmhanno)
44*27e8546dSMatt Gilbride }
45*27e8546dSMatt Gilbride 
<lambda>null46*27e8546dSMatt Gilbride tasks.named<JavaCompile>("compileJava") {
47*27e8546dSMatt Gilbride     sourceCompatibility = jdkVersion.toString()
48*27e8546dSMatt Gilbride     targetCompatibility = jdkVersion.toString()
49*27e8546dSMatt Gilbride }
50*27e8546dSMatt Gilbride 
<lambda>null51*27e8546dSMatt Gilbride tasks.named<JavaCompile>("compileJmhJava") {
52*27e8546dSMatt Gilbride     sourceCompatibility = JavaVersion.VERSION_11.toString()
53*27e8546dSMatt Gilbride     targetCompatibility = JavaVersion.VERSION_11.toString()
54*27e8546dSMatt Gilbride     options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
55*27e8546dSMatt Gilbride 
56*27e8546dSMatt Gilbride }
57*27e8546dSMatt Gilbride 
<lambda>null58*27e8546dSMatt Gilbride tasks.register<Test>("jmh") {
59*27e8546dSMatt Gilbride     description = "Runs integration tests."
60*27e8546dSMatt Gilbride     group = "stress"
61*27e8546dSMatt Gilbride 
62*27e8546dSMatt Gilbride     testClassesDirs = sourceSets["jmh"].output.classesDirs
63*27e8546dSMatt Gilbride     classpath = sourceSets["jmh"].runtimeClasspath
64*27e8546dSMatt Gilbride 
65*27e8546dSMatt Gilbride     javaLauncher.set(javaToolchains.launcherFor({
66*27e8546dSMatt Gilbride         languageVersion.set(JavaLanguageVersion.of("11"))
67*27e8546dSMatt Gilbride     }))
68*27e8546dSMatt Gilbride }
69*27e8546dSMatt Gilbride 
70*27e8546dSMatt Gilbride 
<lambda>null71*27e8546dSMatt Gilbride tasks.named<Jar>("jar") {
72*27e8546dSMatt Gilbride     exclude("io/perfmark/java9/Internal*")
73*27e8546dSMatt Gilbride }
74*27e8546dSMatt Gilbride 
<lambda>null75*27e8546dSMatt Gilbride tasks.named<Javadoc>("javadoc") {
76*27e8546dSMatt Gilbride     exclude("io/perfmark/java9/**")
77*27e8546dSMatt Gilbride }
78*27e8546dSMatt Gilbride 
79*27e8546dSMatt Gilbride //  ./gradlew --no-daemon clean :perfmark-java9:jcstress
<lambda>null80*27e8546dSMatt Gilbride jcstress {
81*27e8546dSMatt Gilbride     jcstressDependency = "org.openjdk.jcstress:jcstress-core:0.5"
82*27e8546dSMatt Gilbride     // mode "tough"
83*27e8546dSMatt Gilbride     deoptRatio = "2"
84*27e8546dSMatt Gilbride }
85*27e8546dSMatt Gilbride 
<lambda>null86*27e8546dSMatt Gilbride tasks.named<JavaCompile>("compileJcstressJava") {
87*27e8546dSMatt Gilbride     options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
88*27e8546dSMatt Gilbride }
89