From 680e688e5b2abc098e731f317c30b4e0361be0c3 Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 9 Oct 2025 09:58:08 -0600 Subject: [PATCH 1/5] auto-download docs and sources for popular IDEs --- build.gradle | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/build.gradle b/build.gradle index d36255d..cb5d593 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,22 @@ plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' id 'com.diffplug.spotless' version '6.25.0' id("io.freefair.lombok") version "9.0.0-rc2" + id 'idea' + id 'eclipse' +} + +idea { + module { + downloadJavadoc = true + downloadSources = true + } +} + +eclipse { + classpath { + downloadSources = true + downloadJavadoc = true + } } version = generateVersion() // we could cache but not worth the hassle From 4ec029a76ffa9ce8fd87b15fb48276be2f0ba00d Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 9 Oct 2025 10:19:26 -0600 Subject: [PATCH 2/5] mv test deps to testImplementation --- build.gradle | 4 ++-- examples/build.gradle | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index cb5d593..bc6bf3a 100644 --- a/build.gradle +++ b/build.gradle @@ -56,7 +56,6 @@ dependencies { api "io.opentelemetry:opentelemetry-sdk-logs:${otelVersion}" implementation "io.opentelemetry:opentelemetry-exporter-otlp:${otelVersion}" implementation "io.opentelemetry:opentelemetry-exporter-logging:${otelVersion}" - implementation "io.opentelemetry:opentelemetry-sdk-testing:${otelVersion}" implementation "io.opentelemetry:opentelemetry-semconv:1.30.1-alpha" implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" @@ -64,11 +63,12 @@ dependencies { implementation "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:${jacksonVersion}" implementation "org.slf4j:slf4j-api:${slf4jVersion}" - runtimeOnly "org.slf4j:slf4j-simple:${slf4jVersion}" implementation 'org.apache.commons:commons-lang3:3.14.0' implementation 'com.google.code.findbugs:jsr305:3.0.2' // for @Nullable annotations + testImplementation "org.slf4j:slf4j-simple:${slf4jVersion}" + testImplementation "io.opentelemetry:opentelemetry-sdk-testing:${otelVersion}" testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}" testImplementation "org.junit.jupiter:junit-jupiter-params:${junitVersion}" testImplementation 'com.github.tomakehurst:wiremock-jre8:2.35.0' diff --git a/examples/build.gradle b/examples/build.gradle index 8c98c46..5959e55 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -16,6 +16,7 @@ def braintrustLogLevel = System.getenv('BRAINTRUST_LOG_LEVEL') ?: 'info' dependencies { implementation project(':') + runtimeOnly "org.slf4j:slf4j-simple:${slf4jVersion}" // To run otel examples implementation "io.opentelemetry:opentelemetry-exporter-otlp:${otelVersion}" // to run OAI instrumentation examples From b852d0a4365761d536d1508747e57550cc37587d Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 9 Oct 2025 10:20:49 -0600 Subject: [PATCH 3/5] gradle cache info for jar --- build.gradle | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index bc6bf3a..0aa8f3d 100644 --- a/build.gradle +++ b/build.gradle @@ -163,8 +163,15 @@ task generateBraintrustProperties { def outputDir = file("$buildDir/generated/resources") def outputFile = file("$outputDir/braintrust.properties") + // Tell Gradle what affects this task so it can cache properly + inputs.property("gitSha", { + ['git', 'rev-parse', 'HEAD'].execute().text.trim() + }) + inputs.property("gitStatus", { + ['git', 'status', '--porcelain'].execute().text.trim() + }) + outputs.file outputFile - outputs.upToDateWhen { false } // Always regenerate to get latest version doLast { outputDir.mkdirs() From 81a96d652df5340a9ff9a3148408e9157eb8e950 Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 9 Oct 2025 10:30:04 -0600 Subject: [PATCH 4/5] rm unused plugins --- build.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 0aa8f3d..5856a68 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,8 @@ plugins { id 'java-library' id 'maven-publish' - id 'com.github.johnrengelman.shadow' version '8.1.1' id 'com.diffplug.spotless' version '6.25.0' - id("io.freefair.lombok") version "9.0.0-rc2" + id 'io.freefair.lombok' version '9.0.0-rc2' id 'idea' id 'eclipse' } From 7b25fc61de29b34e464f0dcf3f19148aeb521409 Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 9 Oct 2025 10:37:18 -0600 Subject: [PATCH 5/5] stop using deprecated buildDir --- build.gradle | 6 +++--- examples/build.gradle | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 5856a68..a69dfb4 100644 --- a/build.gradle +++ b/build.gradle @@ -159,8 +159,8 @@ task generateBraintrustProperties { description = 'Generate braintrust.properties with smart git-based versioning' group = 'build' - def outputDir = file("$buildDir/generated/resources") - def outputFile = file("$outputDir/braintrust.properties") + def outputDir = layout.buildDirectory.dir("generated/resources").get().asFile + def outputFile = new File(outputDir, "braintrust.properties") // Tell Gradle what affects this task so it can cache properly inputs.property("gitSha", { @@ -258,7 +258,7 @@ publishing { sourceSets { main { resources { - srcDir "$buildDir/generated/resources" + srcDir layout.buildDirectory.dir("generated/resources") } } } diff --git a/examples/build.gradle b/examples/build.gradle index 5959e55..e6b5d93 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -4,8 +4,12 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + toolchain { + languageVersion = JavaLanguageVersion.of(17) + vendor = JvmVendorSpec.ADOPTIUM // eclipse JVM + } + withJavadocJar() + withSourcesJar() } repositories {