You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+17-38Lines changed: 17 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,56 +4,45 @@ This document provides guidance for AI agents and developers working on this pro
4
4
5
5
## Java Version Requirements
6
6
7
-
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**.
7
+
This project **compiles with Java 11** (as specified in `pom.xml` with `maven.compiler.source` and
8
+
`maven.compiler.target` set to 11) but **must maintain Java 8 API compatibility**.
8
9
9
-
### CRITICAL: Java 8 API Compatibility
10
-
11
-
**The project enforces Java 8 API compatibility via animal-sniffer, even though it compiles with Java 11.**
12
-
13
-
This means:
14
-
- ✅ **Allowed:** Java 8 language features (lambdas, method references, streams, Optional, etc.)
This project uses [Spotless](https://github.com/diffplug/spotless) with google-java-format for code formatting.
44
+
This project uses [Spotless](https://github.com/diffplug/spotless) with google-java-format for code
45
+
formatting.
57
46
58
47
- All Java code must be formatted before committing
59
48
- Run `mvn spotless:apply` to format code automatically
@@ -71,14 +60,4 @@ Key dependencies include:
71
60
- Jackson for JSON serialization/deserialization
72
61
- SLF4J for logging
73
62
- JUnit 4 for testing
74
-
- WireMock for HTTP mocking in tests
75
-
76
-
## Enforcement Rules
77
-
78
-
The project uses Maven Enforcer Plugin to ensure:
79
-
- Bytecode version matches Java 11
80
-
-**API compatibility with Java 8 (via animal-sniffer)** - This is enforced at build time and will fail if Java 9+ APIs are used
81
-
82
-
### Why Java 8 API Compatibility?
83
-
84
-
This library is designed to be usable by applications running on Java 8 JVMs, even though it's built with Java 11 tooling. This is a common pattern for libraries that want maximum compatibility while benefiting from modern build tools.
0 commit comments