googleapis/verify local changes
Verifies local Java SDK changes.
npx skills add https://github.com/googleapis/java-firestore --skill Verify Local Changes
This skill documents how to verify local code changes for the Java Firestore SDK. This should be run every time you complete a fix or feature and are prepared to push a pull request.
Ensure you have Maven installed and are in the java-firestore directory before running commands.
Run the formatter to ensure formatting checks pass:
mvn com.spotify.fmt:fmt-maven-plugin:format
mvn test -Dtest=MyUnitTest#testMethod
mvn test -Dtest=MyUnitTest
ITBaseTest.java)When running integration tests, configure your execution using properties or environment variables:
FIRESTORE_EDITION:standard (Default)enterpriseenterprise editions, while standard Queries run on both.FIRESTORE_DATABASE_ID:enterprise). Adjust this flag if pointing to specific instances.FIRESTORE_TARGET_BACKEND:PROD (Default)QA (points to standard sandboxes)NIGHTLY (points to test-firestore.sandbox.googleapis.com:443)EMULATOR (points to localhost:8080)IT). mvn verify -Penable-integration-tests -DFIRESTORE_EDITION=enterprise -DFIRESTORE_DATABASE_ID=enterprise -Dtest=ITTest#testMethod -Dclirr.skip=true -Denforcer.skip=true -fae
mvn verify -Penable-integration-tests -DFIRESTORE_EDITION=enterprise -DFIRESTORE_DATABASE_ID=enterprise -Dtest=ITTest -Dclirr.skip=true -Denforcer.skip=true -fae
Run the full integration regression suite once you are confident subsets pass:
mvn verify -Penable-integration-tests -DFIRESTORE_EDITION=enterprise -DFIRESTORE_DATABASE_ID=enterprise -Dclirr.skip=true -Denforcer.skip=true -fae
> [!TIP]
> Use -Dclirr.skip=true -Denforcer.skip=true to speed up iterations where appropriate without leaking compliance checks.
If you run into issues executing tests with the commands above, consult the Kokoro configuration files as the ultimate source of truth:
.kokoro/presubmit/integration.cfg (or integration-named-db.cfg).kokoro/nightly/integration.cfg (or integration-named-db.cfg).kokoro/build.shThese files define the exact environment variables (e.g., specific endpoints or endpoints overrides) the CI server uses!
Take googleapis/verify local changes from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.