adityamparikh opened a new pull request, #92:
URL: https://github.com/apache/solr-mcp/pull/92

   ## Summary
   Full GraalVM native image support for the STDIO profile. Depends on #91.
   
   - Native Docker image via `./gradlew bootBuildImage` (works on any OS)
   - Reflection hints for SolrJ types and MCP tool response records
   - `@DisabledInNativeImage` on all Mockito-based tests
   - `McpClientIntegrationTest` runs and passes in native image
   
   ## Changes
   
   ### Build & CI
   - `build.gradle.kts`: GraalVM native plugin, `bootBuildImage` config, AOT 
profile, OTel init args
   - `gradle/libs.versions.toml`: GraalVM native plugin version
   - `.github/workflows/native.yml`: Separate CI workflow for native builds
   - `scripts/benchmark-native.sh`: Benchmark script for JVM vs native 
comparison
   
   ### Runtime hints (`SolrNativeHints.java`)
   - **SolrJ types** (no native metadata): `QueryResponse`, `UpdateResponse`, 
`NamedList`, `SimpleOrderedMap`, `SolrDocument`, `SolrDocumentList`, 
`SolrInputDocument`, `SolrInputField`, `FacetField`
   - **MCP response records** (invisible to AOT — MCP framework uses generic 
`Object` dispatch): `CollectionCreationResult`, `SolrHealthStatus`, 
`SolrMetrics`, `SearchResponse`, etc.
   - **logback.xml resource**: Ensures `NopStatusListener` is found during 
early init
   
   ### Wire format (`SolrConfig.java`)
   - Switched from `JavaBinRequestWriter` (default) to `XMLRequestWriter` — the 
JavaBin binary codec uses deep reflection incompatible with native image
   
   ### Test compatibility
   - `@DisabledInNativeImage` added to: `MainTest`, `CollectionServiceTest`, 
`SchemaServiceTest`
   - `SearchServiceTest`, `IndexingServiceTest` already have it from #91
   
   ### Logging
   - `logback.xml`: Early `NopStatusListener` to suppress stdout pollution in 
STDIO mode
   - `logback-spring.xml`: Profile-aware logging (HTTP=console+OTEL, 
STDIO=silent)
   
   ### Docs
   - `README.md`: Native image section with build/run commands and Claude 
Desktop config
   - `AGENTS.md`: Logging architecture, native image commands, reflection hints 
rationale
   - `docs/specs/graalvm-native-image.md`: Design spec
   
   ## Test plan
   - [x] `./gradlew build` — all JVM tests pass
   - [x] `./gradlew nativeTest -Pnative` — all 111 native tests pass (0 
failures)
   - [x] `McpClientIntegrationTest` passes in both JVM and native modes
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to