What problem does it solve?
Updating GraalVM Native Image's vendored libcontainer C/C++ sources to a newer JDK revision is error-prone: local NATIVE_IMAGE adaptations must be replayed onto new upstream code, merge conflicts resolved deliberately, and the whole process kept reviewable. This Skill provides a rigorous, commit-by-commit workflow for performing such reimports without losing local changes or upstream fixes.
Core Features & Use Cases
- Verified merge baseline: Establishes the true previous full-import JDK revision from Git history instead of trusting @BasedOnJDKFile annotations, and validates it by reimporting and diffing.
- Three-way adaptation replay: Uses diff3-style merges (git merge-file) to replay Native Image adaptations onto new upstream sources, with conflict markers committed separately from their resolutions for reviewability.
- Reachability minimization: Excludes newly imported code unreachable from exported svm_container_* entry points using whole-definition #ifndef NATIVE_IMAGE guards, and compares external symbols via combined relocatable objects.
- Effective source projection: Ships scripts/project_native_image.py to materialize the effective Native Image source tree for focused behavioral review commits.
- Use Case: When a new JDK release changes libcontainer files, use this Skill to reimport them, replay Native Image guards, resolve conflicts, verify symbol-level dependencies, and produce a reviewable commit stack with a documented review guide.
Quick Start
Ask the AI to update the vendored libcontainer sources to a specific new JDK revision while preserving the existing Native Image adaptations in a reviewable commit stack.