Skip to content

Upgrade to Java 17+, modernize build/CI, and refactor dynamic compiler internals#3

Merged
raulgomis merged 4 commits into
masterfrom
feature/update-coding-style-and-quality
Jul 18, 2026
Merged

Upgrade to Java 17+, modernize build/CI, and refactor dynamic compiler internals#3
raulgomis merged 4 commits into
masterfrom
feature/update-coding-style-and-quality

Conversation

@raulgomis

@raulgomis raulgomis commented Apr 11, 2026

Copy link
Copy Markdown
Owner

Improve Java compatibility, diagnostics, coverage, and documentation

Summary

This change strengthens the library's compatibility and quality checks, fixes
diagnostic state leaking between compilations, expands test coverage, and
provides clearer documentation for users and contributors.

Changes

  • Target Java 17 bytecode so the library remains usable on Java 17 and later.
  • Test the project in CI on Java 17, 21, 25, and 26.
  • Run the Maven verify lifecycle in CI and upload the generated JaCoCo report
    for each tested JDK.
  • Create a fresh diagnostic collector for every compilation so failures do not
    retain diagnostics from earlier attempts.
  • Make diagnostic error output use a stable newline across operating systems.
  • Add focused tests for:
    • independent diagnostics across compilation failures
    • named-package compilation
    • wrapped class-loading failures
    • dynamic class and resource loading
    • file-manager lookup, delegation, output, and binary-name handling
    • exception formatting, defensive copies, null diagnostics, and causes
  • Expand the README with requirements, installation, usage, package and error
    examples, security guidance, and contributor instructions.
  • Add repository-specific guidance for coding agents in AGENTS.md.

Verification

  • mvn clean verify
  • 26 tests pass
  • 97.7% line coverage
  • 91.7% branch coverage
  • 97.7% instruction coverage
  • git diff --check

Notes

Dynamically compiled code is not sandboxed and runs with the permissions of the
host application. The updated README now calls this out explicitly.

@raulgomis
raulgomis marked this pull request as ready for review July 18, 2026 13:19
@raulgomis raulgomis self-assigned this Jul 18, 2026
@raulgomis raulgomis removed the codex label Jul 18, 2026
@raulgomis
raulgomis merged commit 3b672b7 into master Jul 18, 2026
14 checks passed
@raulgomis raulgomis changed the title Upgrade to Java 25, modernize build/CI, and refactor dynamic compiler internals Upgrade to Java 17+, modernize build/CI, and refactor dynamic compiler internals Jul 18, 2026
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.

1 participant