xref: /aosp_15_r20/external/perfmark/java15/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.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 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-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 Gilbride tasks.named<JavaCompile>("compileJava") {
48*27e8546dSMatt Gilbride     sourceCompatibility = jdkVersion.toString()
49*27e8546dSMatt Gilbride     targetCompatibility = jdkVersion.toString()
50*27e8546dSMatt Gilbride }
51*27e8546dSMatt Gilbride 
<lambda>null52*27e8546dSMatt Gilbride tasks.named<Javadoc>("javadoc") {
53*27e8546dSMatt Gilbride     exclude("io/perfmark/java15/**")
54*27e8546dSMatt Gilbride }
55*27e8546dSMatt Gilbride 
<lambda>null56*27e8546dSMatt Gilbride tasks.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 Gilbride jcstress {
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 Gilbride tasks.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 Gilbride tasks.named<JavaCompile>("compileJcstressJava") {
78*27e8546dSMatt Gilbride     options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
79*27e8546dSMatt Gilbride }
80