Repository navigation
Shuttle native core, rename to Shuttle, docs and CI fixes - #2
Merged
Merged
Conversation
Rust workspace with shuttle-core (Machine, firmware ABI draft 0.1 host functions, snapshot format) and shuttle-runner (headless emulator with a capture/restore verification mode), plus minimal C guests (BIOS, OS, child). Depends on akkiserver-dev/weave branch shuttle-host-hooks. Java side is untouched; JNI comes in a later step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WE6jR1fQDhj3HTdNWb73L9
- native/scripts/build.ps1: Windows; builds guests, workspace, runs verify - native/scripts/build.sh: Linux/WSL2; same, plus --cross <arch> via cross - .github/workflows/native.yml: guests built once on Linux, then build + verify on Linux/Windows/macOS x86_64 and arm64 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WE6jR1fQDhj3HTdNWb73L9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WE6jR1fQDhj3HTdNWb73L9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Directories: wasmtimejavang -> shuttle-java, wasmtimejavang-example -> shuttle-java-example, wit-parser -> shuttle-wit-parser, wit-codegen-maven-plugin -> shuttle-wit-maven-plugin - Maven: groupId jp.akkiserver, parent artifactId shuttle, module artifactIds match the directory names; url/scm point to akkiserver-dev/shuttle - Java packages: io.github.stefanrichterhuber.wasmtimejavang -> jp.akkiserver.shuttle, .witparser -> jp.akkiserver.shuttle.wit.parser, .witcodegen -> jp.akkiserver.shuttle.wit.codegen - Rust JNI class-name strings, native library resource paths (pom copy targets and loaders), the code generator's import template and .idea module names updated to match Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o docs/ The root README now describes Shuttle as a Wasm runtime library for computer mods (OC via an addon, a new Retro Computing mod by default) and links to docs/: building.md, java-binding.md (incl. the Weave JNI layer), wit-codegen.md. Upstream material for removed modules (WASI, wasmtimejavang-wasi-*) and upstream release notes were dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rename left the generated import lines as `import component.jp.akkiserver.shuttle.WitVariant;` (and WitEnum, WitResult, WitResource), which does not compile. They now read `jp.akkiserver.shuttle.component.*`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pom, native/README.md, shuttle-core docs: Shuttle is a Wasm runtime library for computer mods, not a mod - native/README.md: the JNI layer goes into shuttle-java - shuttle-wit-maven-plugin: description and Mojo javadoc said it generates abstract classes; it generates sub-interfaces Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HANDOFF: Shuttle is a runtime library (OC via addon, RC by default), new module/package names, Windows build and Maven results, decisions made today, and a list of known issues. CLAUDE.md: language rule, project overview and Windows build/test notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…job) - Allow `deprecated` in the two JNI crates: jni 0.22.4's `bind_java_type!` expands to `AtomicBool::fetch_update`, deprecated in Rust 1.99, and setup-rust-toolchain builds with -D warnings (jni-rs/jni-rs#846). - Install wasm32-unknown-unknown (valuetest fixture) instead of the wasip targets left over from the removed WASI modules. - Linux job: drop build-windows-x86_64 (cross has no MSVC image). - New Windows job: host build of shuttle-java and the example, with tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PowerShell splits -Dcargo.profile=release into -Dcargo and .profile=release, which Maven then rejects as an unknown lifecycle phase. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the Shuttle work from
feature/native-buildintomain(14 commits, rebased ond400a75).What's in it
Native core (
native/)shuttle-core+ headlessshuttle-runner: boots BIOS →exec→ OS →co_create→ child on Wasmtime 46 + Weave (shuttle-host-hooks,677cce6).native/scripts/build.ps1(Windows, verified locally) andbuild.sh(Linux/WSL2), plus the 6-platformNative (Shuttle)workflow.Rename to Shuttle
wasmtimejavang→shuttle-java,wasmtimejavang-example→shuttle-java-example,wit-parser→shuttle-wit-parser,wit-codegen-maven-plugin→shuttle-wit-maven-plugin.jp.akkiserver, parentshuttle; packagesjp.akkiserver.shuttle,…shuttle.wit.parser,…shuttle.wit.codegen.Docs
docs/:building.md,java-binding.md(incl. the Weave JNI layer),wit-codegen.md. Material for removed WASI modules dropped.native/HANDOFF.md(status, decisions, known issues) andCLAUDE.mdupdated.CI fixes (Java CI with Maven was failing on
maintoo)bind_java_type!expands toAtomicBool::fetch_update, deprecated in Rust 1.99; with-D warningsthis failed the build. Alloweddeprecatedin the two JNI crates untilnative_method!expansion triggersdeprecatedwarning on Rust 1.99:AtomicBool::fetch_updaterenamed totry_updatejni-rs/jni-rs#846 is fixed.wasm32-unknown-unknown(valuetest fixture) instead of the leftover wasip targets.crossbuild forx86_64-pc-windows-msvc(no MSVC image).shuttle-javaand the example..gitattributes: shell scripts keep LF endings.Tested locally (Windows)
build.ps1: verify 26/26, control 24/24.mvn -P build-host-windows-x86_64 -pl shuttle-java,shuttle-java-example -am packagewithRUSTFLAGS=-D warnings: 64/64 tests pass.crossbuilds and the WIT tooling tests (the wit-parser native library is Linux-only for now). This PR's CI covers them.Known issues (not in this PR)
See
native/HANDOFF.mdsection 6, e.g. no Windows/macOS native library forshuttle-wit-parser, no macOS Maven profile, two Weave pins (0f26893inshuttle-java,677cce6innative/).🤖 Generated with Claude Code