This document provides guidance for AI agents and developers working on this project.
This project compiles with Java 11 (as specified in pom.xml with maven.compiler.source and
maven.compiler.target set to 11) but must maintain Java 8 API compatibility.
For example, you're allowed to use Java 11 compiler features in the code base (such as type inference
with var) but not any new standard library features introduced after Java 8, such as VarHandle.
This is enforced at build time using the animal-sniffer enforcer plugin.
NB: When running Maven commands, ensure you're using the Java 11 version of the JDK to avoid any build issues and ensure compatibility. The precise way to do so depends on developer machine setup.
Build the project:
mvn verifyRun tests:
mvn testApply code formatting:
mvn spotless:applyCheck code formatting without applying changes:
mvn spotless:checkThis project uses Spotless with google-java-format for code formatting.
- All Java code must be formatted before committing
- Run
mvn spotless:applyto format code automatically
- Source code:
src/main/java/org/zendesk/client/v2/ - Tests:
src/test/java/org/zendesk/client/v2/ - Main entry point:
Zendesk.java- The primary API client class
Key dependencies include:
- async-http-client for HTTP operations
- Jackson for JSON serialization/deserialization
- SLF4J for logging
- JUnit 4 for testing
- WireMock for HTTP mocking in tests