Skip to content
cccskills
FreePublished on GitHubEnglish overview

compile

Validate SkyWalking OAP changes by building the backend or full project and running Javadoc and Checkstyle checks. Choose commands for a full CI-style build, a faster backend build, one check, or a single module before submitting a pull request.

OriginalShow the original description

Build SkyWalking OAP server, run javadoc checks, and verify checkstyle. Use to validate changes before submitting a PR.

apache/skywalking24,978 stars(GitHub 24,978 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Running a full build before a PR
  • Checking Javadoc output and errors
  • Building one backend module

Overview

What it does

This skill guides you through building SkyWalking OAP changes with the Maven wrapper. Choose a full build, a backend-only build, Javadoc checks, Checkstyle checks, or a build for a single module. For Javadoc, it explains how to distinguish errors that fail the build from warnings, and how to fix common documentation mistakes.

When it helps

Use it before submitting a pull request to check that changes compile and pass documentation generation and code-style checks. It can also help you build only the module you changed.

Example requests

  • “Build the backend module I changed.”
  • “Check Javadoc and Checkstyle.”
  • “Run a full build before the pull request.”

Notes

You need JDK 11, 17, or 21 and Maven 3.6 or later. Use the ./mvnw wrapper. Even for a standalone Javadoc check, run install first.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt specifies build and static-check commands; deletion, transmission, and credential access are not described.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt requires JDK 11, 17, or 21 and Maven 3.6+, and specifies the wrapper.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 29, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md3.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Compile & Verify

Build the project and run static checks matching CI.

Prerequisites

  • JDK 11, 17, or 21 (LTS versions)
  • Maven 3.6+ (use ./mvnw wrapper)

Maven profiles

  • backend (default): Builds OAP server modules
  • ui (default): Builds web application
  • dist (default): Creates distribution packages
  • all: Builds everything including submodule initialization

Commands by argument

all or no argument — full CI build

./mvnw clean flatten:flatten install javadoc:javadoc -B -q -Pall \
  -Dmaven.test.skip \
  -Dcheckstyle.skip \
  -Dgpg.skip

backend — backend only (faster)

./mvnw clean flatten:flatten package -Pbackend,dist -Dmaven.test.skip

javadoc — javadoc check only

Javadoc requires delombok output, so install must run first:

./mvnw clean flatten:flatten install javadoc:javadoc -B -q -Pall \
  -Dmaven.test.skip \
  -Dcheckstyle.skip \
  -Dgpg.skip

Running 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

Module name — single module build

./mvnw clean flatten:flatten package -pl oap-server/analyzer/<module-name> -Dmaven.test.skip

Reading javadoc output

Maven 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)

Common javadoc errors

ErrorCauseFix
bad use of '>'Bare > in javadoc HTML (e.g., -> in <pre> blocks)Use {@code ->} or -&gt;
heading out of sequenceHeading level skips the expected hierarchySee heading rules below
reference not found{@link Foo#bar()} with wrong signatureMatch exact parameter types: {@link Foo#bar(ArgType)}

Javadoc heading rules (JDK 13+)

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 locationStart 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 reference

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.skip

The code-style job runs:

./mvnw -B -q clean flatten:flatten checkstyle:check

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ci-e2e-debug

FreeSummary

Use this skill to investigate failed end-to-end tests in GitHub Actions. It downloads the run’s log artifacts, checks OAP and other component logs for errors, and summarizes the likely root cause, including failures in standalone test tools.

  • Investigating a failed GitHub Actions E2E run
  • Checking OAP and component logs for errors
  • Tracing failures in standalone test tools
apache/skywalking25KUpdated Oct 29, 2026

generate-classes

FreeSummary

Compile SkyWalking DSL scripts for MAL, OAL, LAL, or Hierarchy and save the generated .class files for inspection. Choose one DSL or generate classes for all four, then locate the output and use javap to examine bytecode.

  • Inspecting classes generated from MAL expressions
  • Examining OAL metrics or dispatcher bytecode
  • Generating LAL or Hierarchy classes for debugging
apache/skywalking25KUpdated Oct 29, 2026

gh-pull-request

FreeSummary

Prepare a pull request branch by running the documented build, style, license-header, and Java import checks, then committing and pushing the changes. If the branch has no pull request yet, create one using the project template.

  • Preparing checked changes for a pull request
  • Pushing commits from a feature branch
  • Creating a pull request from the current branch
apache/skywalking25KUpdated Oct 29, 2026

license

FreeSummary

Check whether source files carry the required Apache 2.0 headers and whether the dependency license file matches current dependencies. Use the provided commands to fix headers or regenerate the license list, then review any changes before submitting a pull request.

  • Checking Apache license headers before a PR
  • Fixing missing or invalid source headers
  • Reviewing dependency license changes
apache/skywalking25KUpdated Oct 29, 2026

Plan how to add a monitoring target or layer to SkyWalking OAP. The guide maps signals such as metrics, logs, and spans to extension points, and identifies related layer registration, UI templates, documentation, and local verification work.

  • Planning a new SkyWalking monitoring layer
  • Choosing an extension point for metrics or logs
  • Identifying UI and documentation updates
apache/skywalking25KUpdated Oct 29, 2026

package

FreeSummary

Rebuild SkyWalking’s distribution and OAP Docker image after source changes, choosing a command sequence that includes the updated JARs. It also explains how to inspect the image contents before running end-to-end tests.

  • Rebuilding an OAP image after Java source changes
  • Updating the distribution package before Docker builds
  • Checking that a fix reached the image before E2E tests
apache/skywalking25KUpdated Oct 29, 2026

See all skills by apache

Report a problem with this skill