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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7b9b3d33735 build: fix solr:ui wasmJs build issues (#4572)
7b9b3d33735 is described below

commit 7b9b3d33735a59403b2fcdded7ea9dca4f39be86
Author: David Smiley <[email protected]>
AuthorDate: Wed Jul 1 10:37:02 2026 -0400

    build: fix solr:ui wasmJs build issues (#4572)
    
    Ktor 3.4+ CIO engine uses Node.js sockets (node:net) for wasmJs,
    which is incompatible with browser webpack targets. Split the HTTP
    client engine per platform: ktor-client-js (fetch API) for wasmJs
    browser, ktor-client-cio for desktop/JVM only.
    
    The Compose resource accessor generation tasks were not reliably wired as
    dependencies of the Kotlin compile tasks, notably compileKotlinWasmJs. On
    incremental or reordered builds the compile could fire before the accessors
    existed, failing with "Source file or directory not found" for the generated
    commonMainResourceAccessors (Drawable0/String0.commonMain.kt). Wire every
    compileKotlin* task to depend on all generateResourceAccessorsFor* tasks.
---
 gradle/libs.versions.toml |  1 +
 solr/ui/build.gradle.kts  | 16 +++++++++++++++-
 solr/ui/gradle.lockfile   | 11 +++++------
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 8194b4562df..ae37ea2a91a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -445,6 +445,7 @@ ktor-client-auth = { module = "io.ktor:ktor-client-auth" }
 ktor-client-cio = { module = "io.ktor:ktor-client-cio" }
 ktor-client-contentNegotiation = { module = 
"io.ktor:ktor-client-content-negotiation" }
 ktor-client-core = { module = "io.ktor:ktor-client-core" }
+ktor-client-js = { module = "io.ktor:ktor-client-js" }
 ktor-client-mock = { module = "io.ktor:ktor-client-mock" }
 ktor-client-serialization-json = { module = 
"io.ktor:ktor-serialization-kotlinx-json" }
 ktor-server-cio = { module = "io.ktor:ktor-server-cio" }
diff --git a/solr/ui/build.gradle.kts b/solr/ui/build.gradle.kts
index ca6a4889866..edddc546c1d 100644
--- a/solr/ui/build.gradle.kts
+++ b/solr/ui/build.gradle.kts
@@ -98,7 +98,6 @@ kotlin {
             implementation(project.dependencies.platform(libs.ktor.bom))
             implementation(libs.ktor.client.auth)
             implementation(libs.ktor.client.core)
-            implementation(libs.ktor.client.cio)
             implementation(libs.ktor.client.contentNegotiation)
             implementation(libs.ktor.client.serialization.json)
             implementation(libs.squareup.okio)
@@ -114,8 +113,15 @@ kotlin {
             implementation(libs.ktor.client.mock)
         }
 
+        val wasmJsMain by getting {
+            dependencies {
+                implementation(libs.ktor.client.js)
+            }
+        }
+
         val desktopMain by getting {
             dependencies {
+                implementation(libs.ktor.client.cio)
                 implementation(libs.ktor.server.core)
                 implementation(libs.ktor.server.cio)
                 implementation(libs.ktor.server.htmlBuilder)
@@ -174,6 +180,14 @@ compose.desktop {
     }
 }
 
+// Compose resource accessor generation is not reliably wired to all Kotlin
+// compile tasks (notably wasmJs), causing intermittent "source file not found"
+// for generated accessors. Wire it explicitly.
+val resourceAccessorTasks = tasks.matching { 
it.name.startsWith("generateResourceAccessorsFor") }
+tasks.matching { it.name.startsWith("compileKotlin") }.configureEach {
+    dependsOn(resourceAccessorTasks)
+}
+
 tasks.matching { task ->
     task.name in listOf(
         "allTests",
diff --git a/solr/ui/gradle.lockfile b/solr/ui/gradle.lockfile
index 7b31167668c..33c675b4aa2 100644
--- a/solr/ui/gradle.lockfile
+++ b/solr/ui/gradle.lockfile
@@ -124,14 +124,15 @@ 
io.ktor:ktor-client-auth-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath
 
io.ktor:ktor-client-auth-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
 
io.ktor:ktor-client-auth:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClas
 [...]
 
io.ktor:ktor-client-cio-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
-io.ktor:ktor-client-cio-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
-io.ktor:ktor-client-cio:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClass
 [...]
+io.ktor:ktor-client-cio:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainResolvableDependenciesMetadata,desktop
 [...]
 
io.ktor:ktor-client-content-negotiation-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-client-content-negotiation-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
 
io.ktor:ktor-client-content-negotiation:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,deskto
 [...]
 
io.ktor:ktor-client-core-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-client-core-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
 
io.ktor:ktor-client-core:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClas
 [...]
+io.ktor:ktor-client-js-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
+io.ktor:ktor-client-js:3.5.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,wasmJsCompileClasspath,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath,webTestResolvableDependenciesMetadata
 
io.ktor:ktor-client-mock-jvm:3.5.0=composeHotReloadDevDesktopTestRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-client-mock-wasm-js:3.5.0=wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
 
io.ktor:ktor-client-mock:3.5.0=allTestSourceSetsCompileDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopTestRuntimeClasspath,desktopTestCompileClasspath,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath,webTestResolvableDependenciesMetadata
@@ -149,10 +150,8 @@ 
io.ktor:ktor-io-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsR
 
io.ktor:ktor-io:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClasspath,des
 [...]
 
io.ktor:ktor-network-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-network-tls-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
-io.ktor:ktor-network-tls-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
-io.ktor:ktor-network-tls:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClas
 [...]
-io.ktor:ktor-network-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath
-io.ktor:ktor-network:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestResolvableDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClasspat
 [...]
+io.ktor:ktor-network-tls:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainResolvableDependenciesMetadata,deskto
 [...]
+io.ktor:ktor-network:3.5.0=allDevSourceSetsCompileDependenciesMetadata,allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevResolvableDependenciesMetadata,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainResolvableDependenciesMetadata,desktopMai
 [...]
 
io.ktor:ktor-serialization-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-serialization-kotlinx-json-jvm:3.5.0=composeHotReloadDevDesktopDevRuntimeClasspath,composeHotReloadDevDesktopRuntimeClasspath,composeHotReloadDevDesktopTestRuntimeClasspath,desktopCompileClasspath,desktopDevCompileClasspath,desktopDevRuntimeClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath
 
io.ktor:ktor-serialization-kotlinx-json-wasm-js:3.5.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath

Reply via email to