Thanks for your interest in contributing! This guide covers the essentials.
- Java 20+
- Maven 3.6+
mvn clean install # build everything
mvn test # run the test suiteRun a single test:
mvn -pl liquidjava-verifier -Dtest=TestExamples#testMultiplePaths testVerify a single file from the CLI:
./liquidjava path/to/File.javaCode formatting runs automatically via formatter-maven-plugin during the validate phase.
Tests live under liquidjava-example/src/main/java/testSuite/ and are auto-discovered:
- Single file: name it
Correct*.java(should pass) orError*.java(should fail). - Directory: include
correctorerrorin the directory name.
For failing cases (file or directory), mark each expected error with an inline // <Error Title> comment on the same line where the error should be reported, e.g.:
int r = pos; // Refinement ErrorThe runner matches both the title and the line number, and the number of comments must equal the number of reported errors.
- Fork and create a branch from
main. - Add tests for your change.
- Run
mvn testand make sure it passes. - Open a PR describing the change and linking any related issue.
Use the issue templates. Include a minimal reproducer when possible.
By participating you agree to abide by our Code of Conduct.