This is an automated email from the ASF dual-hosted git repository.

uranusjr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new f0953fb1b1b Fix more Java SDK build edge cases (#69628)
f0953fb1b1b is described below

commit f0953fb1b1b4e204bbdc3f3c9b7381e406ef3466
Author: Tzu-ping Chung <[email protected]>
AuthorDate: Thu Jul 9 11:12:18 2026 +0800

    Fix more Java SDK build edge cases (#69628)
---
 java-sdk/README.md                 |  8 ++++----
 java-sdk/bom/build.gradle.kts      |  8 ++++++--
 java-sdk/buildSrc/build.gradle.kts | 11 +++++++++++
 java-sdk/sdk/build.gradle.kts      | 21 +++++----------------
 4 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/java-sdk/README.md b/java-sdk/README.md
index c9d54f942fe..01c68139a92 100644
--- a/java-sdk/README.md
+++ b/java-sdk/README.md
@@ -419,14 +419,14 @@ manager, before sending the vote — should run against the 
source package in
    ```bash
    cd apache-airflow-java-sdk-<VERSION>
    gradle wrapper \
-       --gradle-version <GRADLE-VERSION> \
+       --gradle-distribution-url <GRADLE-DISTRIBUTION-URL> \
        --gradle-distribution-sha256-sum <GRADLE-DISTRIBUTION-SHA>
    ./gradlew build
    ```
 
-   Use the values for `<GRADLE-VERSION>` and `<GRADLE-DISTRIBUTION-SHA>` from
-   `distributionUrl` and `distributionSha256Sum` in the bundled
-   `gradle/wrapper/gradle-wrapper.properties`.
+   Use values from `distributionUrl` and `distributionSha256Sum` in the bundled
+   `gradle/wrapper/gradle-wrapper.properties` to fill in
+   `<GRADLE-DISTRIBUTION-URL>` and `<GRADLE-DISTRIBUTION-SHA>`.
 
 6. **Staged-binary smoke test.** Resolve the staged Nexus artifacts from a
    throwaway project to confirm they're actually consumable, following the
diff --git a/java-sdk/bom/build.gradle.kts b/java-sdk/bom/build.gradle.kts
index 8babd7c8876..314798e4ef2 100644
--- a/java-sdk/bom/build.gradle.kts
+++ b/java-sdk/bom/build.gradle.kts
@@ -78,9 +78,13 @@ val publishedArtifacts =
 val verifyBomCoverage by tasks.registering {
     group = "verification"
     description = "Fail if airflow-sdk-bom does not constrain the same set of 
published Java SDK artifacts."
+
+    // Capture early to keep compatibility to the Gradle configuration cache.
+    val published = publishedArtifacts
+    val bom = bomArtifacts
     doLast {
-        val missing = (publishedArtifacts - bomArtifacts).sorted()
-        val stale = (bomArtifacts - publishedArtifacts).sorted()
+        val missing = (published - bom).sorted()
+        val stale = (bom - published).sorted()
         if (missing.isNotEmpty() || stale.isNotEmpty()) {
             throw GradleException(
                 buildString {
diff --git a/java-sdk/buildSrc/build.gradle.kts 
b/java-sdk/buildSrc/build.gradle.kts
index c620dd1e598..f89b7fc481c 100644
--- a/java-sdk/buildSrc/build.gradle.kts
+++ b/java-sdk/buildSrc/build.gradle.kts
@@ -17,6 +17,8 @@
  * under the License.
  */
 
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+
 plugins {
     `kotlin-dsl`
 }
@@ -26,6 +28,15 @@ repositories {
     gradlePluginPortal()
 }
 
+// Pin Java and Kotlin bytecode targets so they stay aligned to avoid warning 
on
+// misaligned Java and Kotlin target versions. (This is for the build logic and
+// unrelated to the Java 11 target set in the SDK modules.)
+java {
+    sourceCompatibility = JavaVersion.VERSION_11
+    targetCompatibility = JavaVersion.VERSION_11
+}
+kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_11 } }
+
 dependencies {
     implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.0")
     implementation("com.diffplug.spotless:spotless-plugin-gradle:7.2.1")
diff --git a/java-sdk/sdk/build.gradle.kts b/java-sdk/sdk/build.gradle.kts
index f7aa1403e31..a9feff72188 100644
--- a/java-sdk/sdk/build.gradle.kts
+++ b/java-sdk/sdk/build.gradle.kts
@@ -39,6 +39,7 @@ val schemaBaseUrl = 
"https://airflow.staged.apache.org/schemas/supervisor-schema
 val schemaInput = layout.projectDirectory.file("schema/schema.json")
 val pointersDir = layout.buildDirectory.dir("schema-pointers/main")
 val jsonSchemaPackage = "org.apache.airflow.sdk.execution.comm"
+val schemaModelsDir = 
layout.buildDirectory.dir("generate-resources/main/src/main/java")
 val discriminatorDir = 
layout.buildDirectory.dir("generated-resources/main/src/main/kotlin")
 
 dependencies {
@@ -241,11 +242,7 @@ val javadocJar by tasks.registering(Jar::class) {
 jsonSchema2Pojo {
     setSource(listOf(pointersDir.get().asFile))
     targetPackage = jsonSchemaPackage
-    targetDirectory =
-        layout.buildDirectory
-            .dir("generate-resources/main/src/main/java")
-            .get()
-            .asFile
+    targetDirectory = schemaModelsDir.get().asFile
     setAnnotationStyle("jackson")
     dateTimeType = "java.time.OffsetDateTime"
     generateBuilders = false
@@ -261,8 +258,8 @@ jsonSchema2Pojo {
 
 sourceSets {
     main {
-        
java.srcDir(layout.buildDirectory.dir("generate-resources/main/src/main/java"))
-        kotlin.srcDir(discriminatorDir)
+        java.srcDir(tasks.named("generateJsonSchema2Pojo").map { 
schemaModelsDir })
+        kotlin.srcDir(tasks.named("generateDiscriminator").map { 
discriminatorDir })
     }
 }
 
@@ -286,16 +283,8 @@ tasks.named("generateJsonSchema2Pojo") {
     dependsOn("generatePointers")
 }
 
-tasks.named("compileJava") {
-    dependsOn("generateJsonSchema2Pojo")
-}
-
 tasks.named("compileKotlin") {
-    dependsOn("generateJsonSchema2Pojo", "generateDiscriminator")
-}
-
-tasks.named("runKtlintCheckOverMainSourceSet") {
-    dependsOn("generateJsonSchema2Pojo", "generateDiscriminator")
+    dependsOn("generateJsonSchema2Pojo")
 }
 
 tasks.matching { it.name.startsWith("dokkaGenerate") }.configureEach {

Reply via email to