aboutsummaryrefslogtreecommitdiff
path: root/java9/build.gradle.kts
diff options
context:
space:
mode:
authorOleg Shaldybin <olegsh@google.com>2023-06-05 17:55:55 +0000
committerOleg Shaldybin <olegsh@google.com>2023-06-15 20:54:42 +0000
commit9d6c9c0f4476fc5369be31e1c710ff898bc497fd (patch)
tree248e54a31421fdcdebfaf7e83aace32f7bc8a8ad /java9/build.gradle.kts
parent68ac043b69bd19a8c64348357861b1df81c627b3 (diff)
downloadperfmark-9d6c9c0f4476fc5369be31e1c710ff898bc497fd.tar.gz
Import perfmark v-0.26
Test: n/a Change-Id: I40b60666382659bb11c80cadbc1fa3f860508320
Diffstat (limited to 'java9/build.gradle.kts')
-rw-r--r--java9/build.gradle.kts88
1 files changed, 88 insertions, 0 deletions
diff --git a/java9/build.gradle.kts b/java9/build.gradle.kts
new file mode 100644
index 0000000..5a163a4
--- /dev/null
+++ b/java9/build.gradle.kts
@@ -0,0 +1,88 @@
+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/.*")
+}