feat(verification): add Java support for Docker-based verification#263
Merged
Conversation
- Introduced Java as a new target in the Docker verification setup. - Updated package.json, Dockerfiles, and entrypoint scripts to support Java code generation and compilation. - Added tests for verifying Java compilation, including skip reasons for specific cases. - Enhanced the verification manifest to include Java as a target. This commit expands the verification capabilities to include Java, ensuring a consistent environment for testing and validation. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
ekarademir
approved these changes
Jul 13, 2026
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.
Add Java to Docker and local verification
This pull request expands verification to include Java alongside the existing compiled targets (TypeScript, Rust, and C#). Generated Java is compiled with
javacusing Jackson annotations on the classpath, matching what the Java visitor emits today.Changes
eclipse-temurin:17-jdk-alpineandjavacas the compile stepverification/docker/java/Dockerfileandverification/docker/java/entrypoint.shto generate and compile Java from the verification corpusverification/docker/targets.jsonwith CLI targetJavaand typecompiledverify:docker:javatopackage.jsonand includedjavainscripts/verification/docker-run.js.github/workflows/verify-codegen.ymlCI matrix with thejavatargettest/verification/java.compile.test.jsto generate Java locally and verify compilation withjavacjackson-annotationsfrom Maven Central on first local test run and during Docker image buildtest/verification/cases.jswith a per-case skip forhr_integrationwhen scalar map key/value types are not emitted as Java classesverification/corpus/manifest.jsonso the metamodel case runs for Java in Docker (C# remains skipped)Flags
@JsonTypeInfo,@JsonIgnoreProperties, and others), sojavacrequiresjackson-annotationson the classpathverification/templates/on first local test run (gitignored) and fetched in the Docker image at build timehr_integrationis skipped in local Mocha tests because the Java visitor does not emit scalar types such asSSNandTimereferenced by map declarationsnpm run verify:docker:javarequires a running Docker daemon (for example Docker Desktop on Windows)Author Checklist
--signoffoption of git commit.mainfromfork:branchname