- Build:
mvn clean install -DskipTests - Run tests:
mvn test - Run a single test:
mvn test -pl . -Dtest=ClassName#methodName - Format code:
mvn spotless:apply(also runs automatically during build/test) - JDK: Java 11+
src/main/java/com/databricks/jdbc/— main driver sourcesrc/test/java/com/databricks/jdbc/— unit and integration testsdevelopment/.release-freeze.json— controls release freeze state
Every commit must include a Signed-off-by line. Always use the -s flag:
git commit -s -m "Your commit message"The check-next-changelog CI check verifies that either:
NEXT_CHANGELOG.mdis modified in the PR, or- The PR description body contains
NO_CHANGELOG=true
When to add a changelog entry: Any change visible to users — bug fixes, new features, behavior changes, dependency bumps, or API changes. Add a brief description under the appropriate section (### Added, ### Updated, or ### Fixed) in NEXT_CHANGELOG.md.
When to opt out with NO_CHANGELOG=true: Internal refactors, test-only changes, CI/tooling updates, or documentation changes that don't affect driver behavior.
When a release freeze is active (development/.release-freeze.json has "freeze": true), PRs are blocked from merging. To override, add OVERRIDE_FREEZE=true to the PR description. Use this only when the merge is necessary during the freeze window.
Users may have multiple GitHub accounts (e.g., an EMU/enterprise account and a personal account). Pushing and creating PRs on this repo requires the non-EMU account. Check the active account with gh auth status and switch if needed with gh auth switch --user <username>.
- Follow the Google Java Style Guide