Take the JVM generator from JMEOS rather than vendoring it - #31
Merged
estebanzimanyi merged 1 commit intoAug 31, 2026
Merged
estebanzimanyi merged 1 commit into
estebanzimanyi merged 1 commit into
Conversation
`codegen_jvm.py` emits calls into `functions.GeneratedFunctions`, the class the JMEOS jar carries, so JMEOS owns it and a copy here goes stale the moment that surface folds an out-parameter or widens a return. This repository received a copy, which is how three copies came to differ: the one that gains a feature keeps it, and the others go on emitting the surface they emitted before. It now arrives the way the catalog beside it does — staged by the refresh chain from `GENERATOR_DEST`, and by CI from the `jmeos/` checkout the workflow already makes for the jar — and is gitignored, so the tree holds no copy to go stale. `codegen_spark_udfs.py` is staged with it: the spark arm loads it from the generator's own directory, so the two are one unit, and `--engine spark` here answers `FileNotFoundError` naming the absent sibling rather than generating. The generated surface does not move: JMEOS's copy IS the copy this repository carried, byte for byte, so the same catalog and jar yield the same 122 files. A full `tools/refresh-from-master.sh` with the vendored copy deleted stages both files from JMEOS, generates from them, and builds green — 7 binding and 4 benchmark tests, `BerlinMODSetSetJoinTest` and `BerlinMODFullMatrixTest` among them.
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.
codegen_jvm.pyemits calls intofunctions.GeneratedFunctions, the class theJMEOS jar carries, so JMEOS owns it and a copy here goes stale the moment that
surface folds an out-parameter or widens a return. This repository received a
copy, which is how three copies came to differ: the one that gains a feature
keeps it, and the others go on emitting the surface they emitted before.
It now arrives the way the catalog beside it does — staged by the refresh chain
from
GENERATOR_DEST, and by CI from thejmeos/checkout the workflow alreadymakes for the jar — and is gitignored, so the tree holds no copy to go stale.
codegen_spark_udfs.pyis staged with it: the spark arm loads it from thegenerator's own directory, so the two are one unit, and
--engine sparkhereanswers
FileNotFoundErrornaming the absent sibling rather than generating.The generated surface does not move: JMEOS's copy IS the copy this repository
carried, byte for byte, so the same catalog and jar yield the same 122 files. A
full
tools/refresh-from-master.shwith the vendored copy deleted stages bothfiles from JMEOS, generates from them, and builds green — 7 binding and 4
benchmark tests,
BerlinMODSetSetJoinTestandBerlinMODFullMatrixTestamongthem.