This document describes the initial Java scaffold for local-go-chroma.
java/core(Java 17)tech.amikos.chroma.local.core.ChromaRuntimetech.amikos.chroma.local.core.EmbeddedSessiontech.amikos.chroma.local.core.ChromaException
java/jna(Java 17)tech.amikos.chroma.local.jna.JnaChromaRuntime
java/panama(Java 22)tech.amikos.chroma.local.panama.PanamaChromaRuntime
- Runtime initialization from explicit library path.
- Shim version lookup (
chroma_version). - Embedded startup from YAML string (
chroma_embedded_start_from_string). - Embedded lifecycle close (
chroma_embedded_free). - Error retrieval (
chroma_get_last_error) and string free (chroma_string_free).
- Collection/document APIs parity with Go.
- Server mode APIs.
- Request/response model parity and advanced configuration options.
- JNA backend targets Java 17+.
- Panama backend targets Java 22+ (
--enable-native-access=ALL-UNNAMEDfor tests). - Both backends expect
CHROMA_LIB_PATHto point at one of:- Linux:
libchroma_shim.so - macOS:
libchroma_shim.dylib - Windows:
chroma_shim.dll
- Linux:
- Local builds default to Java artifact version
0.0.0-SNAPSHOT. - Release builds can override version with Gradle property
releaseVersion; a leadingvis stripped. - Java artifacts currently track the same repository release line as the native shim.