GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/
# Test
go test ./...
go test -v ./... -covermode=count -coverprofile=coverage.out
# Lint (requires golangci-lint v2)
golangci
15k7mo agoReviewMountCreate a free account to mount
json` and `fr/*.json`.
**Platform abstraction** — Never use `process.platform` directly. Import from `apps/desktop/src/main/platform/`. CI tests all three platforms.
**No time estimates** — Provide priority-based ordering instead of duration predictions
15k11mo agoReviewMountCreate a free account to mount
here.
---
## Tech stack (project-wide)
- **Java 1.8** (do not assume 11+ APIs; `dolphinscheduler-api-test` is the only Java 11 island).
- **Spring Boot 2.6.1** across servers, **Jetty** (Tomcat is excluded
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
plugin, not in the server. Don't add a global retry loop in `AlertSender`.
## Tests
- `alert-server/src/test/java` — unit tests for config, RPC, event queue, sender.
- Each plugin
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
endpoints (`@Operation`, `@Parameter`). Missing ones break auto-generated docs the UI team consumes.
## Tests
Unit tests live in `src/test/java`. **Integration tests live in `dolphinscheduler-api-test`** (separate module, Docker Compose
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
CLAUDE.md — dolphinscheduler-api-test
Integration test harness for the REST API. **Not** bundled into the release — this module exists to run curl-style black-box tests against a full DolphinScheduler
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
real infrastructure. When reading code that takes an `AwsConfig` map, expect either style.
## Tests
Minimal — auto-config wiring only. End-to-end auth is covered by `dolphinscheduler-api-test`.
## Related
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
canonical shutdown contract across every server; do not invent a new lifecycle interface.
## Tests
Standard `src/test/java`. No special infra.
## Related modules
- `dolphinscheduler-spi` — uses `common` as `provided`; keep
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
internally for its own plugin connections, but the core DolphinScheduler metadata DB uses HikariCP.
## Tests
`src/test/java` — a mix of unit and Testcontainers-based integration tests. The database-dialect-specific paths
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
MySQL 5.7+ (production).
- `dolphinscheduler-dao-postgresql` — PostgreSQL 9.6+ (production).
- `dolphinscheduler-dao-h2` — H2 (dev / tests / standalone server).
## How the right dialect is picked
Each sub-module registers a `@AutoConfiguration` class
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
Trino, Redshift, Snowflake, …). Used by the SQL-style task plugins, the API for connection testing, and the data-lineage tool.
**This directory is a Maven parent POM.**
## Sub-modules
### Framework
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
compliant**: excludes binaries, `.git*`, etc. Don't introduce large binaries into the repo.
## Tests
None. Verification is end-to-end via `dolphinscheduler-e2e` which runs against a built tarball.
## Related
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
CLAUDE.md — dolphinscheduler-e2e
End-to-end **browser** tests. Selenium drives a real Chrome instance against a full DolphinScheduler stack booted with Docker Compose via Testcontainers. Complements the REST-level tests
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
dolphinscheduler-common` dependencies to `-base` — it's kept lean on purpose (like `-spi`).
## Tests
Per sub-module `src/test/java`. Integration-style RPC tests live in the implementing modules (master/worker/alert), not here
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
used for unsafe scripting (e.g. conditional branch expressions). Upgrading the dep is sensitive — test the condition/switch task flows.
- **Scheduler integration via `SchedulerApi`** (from `dolphinscheduler-scheduler-plugin`). The only current impl
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
health,info,metrics` in their `application.yaml`. This module does not ship its own YAML.
## Tests
Minimal — mostly auto-config wiring.
## Related modules
- `dolphinscheduler-common` — compile dep.
- `dolphinscheduler-actuator-authentication
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
warmup + 10 measurement iterations by default. Runs JMH via `Runner` from a JUnit `@Test` method (so the JMH launch is triggered by `mvn test` when you opt in).
- `microbench.rpc.RpcBenchMarkTest` — Netty
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
main DolphinScheduler DB; useful when Zookeeper/Etcd aren't available)
- `dolphinscheduler-registry-it` (integration tests exercising all three)
- **`dolphinscheduler-registry-all`** — uber module that bundles every implementation; depended
No other project uses it yet
15k2mo agoReviewMountCreate a free account to mount
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.