Skip to content

docs(java): add ADR-007 native runtime bundling strategy#1923

Merged
edburns merged 6 commits into
mainfrom
edburns/1917-java-embed-rust-cli-runtime
Jul 6, 2026
Merged

docs(java): add ADR-007 native runtime bundling strategy#1923
edburns merged 6 commits into
mainfrom
edburns/1917-java-embed-rust-cli-runtime

Conversation

@edburns

@edburns edburns commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Documents the decision to distribute the Rust Copilot runtime as per-platform classifier JARs (DJL style) rather than a monolithic all-platform JAR or download-on-demand.

Covers: platform dimensions (6 or 8 Rust target triples), 100% deterministic platform selection via os.name/os.arch/ELF PT_INTERP, measured binary sizes from cli-1.0.69-2, comparables (ONNX Runtime, DJL, SQLite JDBC), and a references section defining FFI, JNA, napi-rs, cdylib, C ABI, ELF, glibc, musl, MSVC CRT, DJL, os-maven-plugin, and ONNX Runtime for readers unfamiliar with the native binary ecosystem.

Related: #1917

Documents the decision to distribute the Rust Copilot runtime as
per-platform classifier JARs (DJL style) rather than a monolithic
all-platform JAR or download-on-demand.

Covers: platform dimensions (6 or 8 Rust target triples), 100%
deterministic platform selection via os.name/os.arch/ELF PT_INTERP,
measured binary sizes from cli-1.0.69-2, comparables (ONNX Runtime,
DJL, SQLite JDBC), and a references section defining FFI, JNA, napi-rs,
cdylib, C ABI, ELF, glibc, musl, MSVC CRT, DJL, os-maven-plugin, and
ONNX Runtime for readers unfamiliar with the native binary ecosystem.

Related: #1917

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 6, 2026 18:49
@edburns edburns requested a review from a team as a code owner July 6, 2026 18:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Java ADR documenting the decision to bundle the Rust Copilot runtime using per-platform classifier JARs (DJL-style), including platform selection rationale and size tradeoffs, as part of planning for Java native runtime embedding (Issue #1917).

Changes:

  • Introduces ADR-007 describing runtime.node artifact characteristics and the stable C ABI “front door” used for in-process loading via JNA.
  • Documents platform matrix (OS/arch/libc), deterministic platform selection, and measured binary size baselines.
  • Evaluates three distribution options and records the decision to use per-platform classifier JARs, with consequences and references.
Show a summary per file
File Description
java/docs/adr/adr-007-native-bundling-strategy.md New ADR defining the native runtime bundling/distribution strategy for the Java SDK.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 4
  • Review effort level: Low

Comment thread java/docs/adr/adr-007-native-bundling-strategy.md Outdated
Comment thread java/docs/adr/adr-007-native-bundling-strategy.md Outdated
Comment thread java/docs/adr/adr-007-native-bundling-strategy.md Outdated
Comment thread java/docs/adr/adr-007-native-bundling-strategy.md Outdated
edburns and others added 5 commits July 6, 2026 15:01
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@edburns edburns merged commit 0f8d9d4 into main Jul 6, 2026
11 checks passed
@edburns edburns deleted the edburns/1917-java-embed-rust-cli-runtime branch July 6, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants