- Tests in Spock (Groovy), not JUnit:
src/test/groovy/graphql/ - No new dependencies (firm policy)
- No wildcard imports, no inner classes, no
Optional - Max 2 indent levels; early returns; extract methods to reduce nesting
- Immutable data classes w/ Builder:
newFoo()factory,foo(value)setters,transform()method - Use
graphql.AssertnotObjects.requireNonNull - Use
@Public/@Internalannotations — never package-private/protected @NullMarkedon all public API classes;@NullUnmarkedon their Builder classes; use@Nullablefor nullable params/returns; NullAway enforced via ErrorProne- Full style guide:
coding-guidelines.md
./gradlew testThis runs tests on Java 25 only. Other JVM versions (11, 17, 21) require explicit tasks (e.g. testWithJava11).