Skip to content

Commit 042179f

Browse files
dfa1claude
andcommitted
docs(claude): add Javadoc rules and release command
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 94cd068 commit 042179f

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,30 @@ Any `flatc` version works — the profile strips the version guard automatically
6363
./bench RustVsJavaReadBenchmark.javaReadVolume
6464
```
6565

66+
### Javadoc
67+
68+
Every public method must have complete Javadoc. The build enforces this via
69+
`failOnError=true` + `failOnWarnings=true` in the `maven-javadoc-plugin`.
70+
71+
Rules:
72+
- Every public method needs a main description, `@param` for each parameter, and `@return` (unless `void`).
73+
- Every public record needs `@param` entries on the class-level doc (one per component).
74+
- Cross-references use `[ClassName#method(ParamType)]` — verify the target exists before writing it. Wrong references are **errors**, not warnings.
75+
- `@see`-only Javadoc counts as "no main description" — always add a prose sentence.
76+
77+
**Check:** `./mvnw javadoc:javadoc -pl core` — must produce zero output.
78+
79+
### Releasing
80+
81+
```bash
82+
./mvnw --batch-mode release:clean release:prepare \
83+
-DreleaseVersion=<version> \
84+
-DdevelopmentVersion=<next>-SNAPSHOT
85+
git push && git push --tags
86+
```
87+
88+
GitHub Actions picks up the tag and deploys to Maven Central.
89+
6690
### File format
6791

6892
8-byte trailer at EOF: `version(u16 LE) | postscriptLen(u16 LE) | magic(VTXF)`. The postscript is a FlatBuffer blob

0 commit comments

Comments
 (0)