Build SkyWalking OAP server, run javadoc checks, and verify checkstyle. Use to validate changes before submitting a PR.
66
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Build the project and run static checks matching CI.
./mvnw wrapper)backend (default): Builds OAP server modulesui (default): Builds web applicationdist (default): Creates distribution packagesall: Builds everything including submodule initializationall or no argument — full CI build./mvnw clean flatten:flatten install javadoc:javadoc -B -q -Pall \
-Dmaven.test.skip \
-Dcheckstyle.skip \
-Dgpg.skipbackend — backend only (faster)./mvnw clean flatten:flatten package -Pbackend,dist -Dmaven.test.skipjavadoc — javadoc check onlyJavadoc requires delombok output, so install must run first:
./mvnw clean flatten:flatten install javadoc:javadoc -B -q -Pall \
-Dmaven.test.skip \
-Dcheckstyle.skip \
-Dgpg.skipRunning javadoc:javadoc alone without install will miss errors because ${delombok.output.dir} won't be populated.
checkstyle — checkstyle only./mvnw -B -q clean flatten:flatten checkstyle:check./mvnw clean flatten:flatten package -pl oap-server/analyzer/<module-name> -Dmaven.test.skipMaven prefixes all javadoc output with [ERROR], but the actual severity is in the message after the line number. Only lines containing error: fail the build; lines with warning: do not.
[ERROR] Foo.java:42: error: bad use of '>' ← ACTUAL ERROR (must fix)
[ERROR] Foo.java:50: warning: no @param for <T> ← WARNING (does not fail build)| Error | Cause | Fix |
|---|---|---|
bad use of '>' | Bare > in javadoc HTML (e.g., -> in <pre> blocks) | Use {@code ->} or -> |
| heading out of sequence | Heading level skips the expected hierarchy | See heading rules below |
| reference not found | {@link Foo#bar()} with wrong signature | Match exact parameter types: {@link Foo#bar(ArgType)} |
Strict heading validation was introduced in JDK 13. JDK 11 does not enforce it, but JDK 17/21/25 do. Write headings correctly for forward compatibility:
| Javadoc location | Start heading at |
|---|---|
| Class, interface, enum, package, module | <h2> |
| Constructor, method, field | <h4> |
Standalone HTML files (doc-files/) | <h1> |
The generated javadoc page uses <h1> for the class name and <h3> for member sections (Methods, Fields, etc.), so class-level subsections must use <h2> and method-level subsections must use <h4> to maintain proper nesting.
CI uses JDK 11 on Linux. The dist-tar job runs:
./mvnw clean flatten:flatten install javadoc:javadoc -B -q -Pall \
-Dmaven.test.skip \
-Dcheckstyle.skip \
-Dgpg.skipThe code-style job runs:
./mvnw -B -q clean flatten:flatten checkstyle:check521b2ab
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.