Skip to content

Commit 13298f4

Browse files
committed
Document support-version.list extra Maven properties in skill, Plugin-test.md, and CLAUDE.md
1 parent 09ab410 commit 13298f4

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

.claude/skills/new-plugin/SKILL.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,28 @@ Or for new plugins:
10701070
**3. `test/plugin/scenarios/{scenario}/support-version.list`**
10711071
Add verified versions. Only include the **latest patch version for each minor version** — do not list every patch release.
10721072

1073+
The version list supports **extra Maven properties** per version line using comma-separated `key=value` pairs:
1074+
```
1075+
# Simple version (default pom properties)
1076+
2.3.10.RELEASE
1077+
1078+
# Version with overridden Maven properties
1079+
2.7.14,spring.boot.version=2.5.15
1080+
2.8.11,spring.boot.version=2.7.18
1081+
3.1.4,spring.boot.version=3.2.12
1082+
```
1083+
1084+
This is useful when different framework versions need different dependency versions (e.g., spring-kafka minor versions require matching Spring Boot versions). The extra properties are passed as `-D` flags to Maven during the scenario build.
1085+
1086+
**IMPORTANT:** Maven `-D` overrides work for `<properties>` and direct `<version>${prop}` references, but do NOT override BOM versions resolved via `<dependencyManagement>` imports. If a BOM version needs to change, set the default in the pom to the highest needed version, not the lowest.
1087+
1088+
**Spring Boot / Spring Kafka compatibility mapping** (for reference):
1089+
- spring-kafka 2.3-2.6 → Spring Boot 2.3 (default)
1090+
- spring-kafka 2.7 → Spring Boot 2.5 (2.6+ autoconfigure requires `CommonErrorHandler` from spring-kafka 2.8)
1091+
- spring-kafka 2.8-2.9 → Spring Boot 2.7
1092+
- spring-kafka 3.0 → Spring Boot 3.0
1093+
- spring-kafka 3.1-3.3 → Spring Boot 3.2 (requires Spring Framework 6.1)
1094+
10731095
**This step is mandatory.** Documentation updates are part of the PR requirements.
10741096

10751097
## Quick Reference - Plugin Type Decision Tree

apm-sniffer/apm-sdk-plugin/CLAUDE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,10 @@ dependencies: # External services (docker-compose
292292
4.3.6
293293
4.4.1
294294
4.5.0
295+
296+
# Optional: extra Maven properties per version (comma-separated key=value)
297+
# Useful when different versions need different dependency versions
298+
2.7.14,spring.boot.version=2.5.15
295299
```
296300

297301
**expectedData.yaml:**

docs/en/setup/service-agent/java-agent/Plugin-test.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,16 @@ File Name | Descriptions
101101

102102
`*` support-version.list format requires every line for a single version (contains only the last version number of each minor version). You may use `#` to comment out this version.
103103

104+
Each version line supports optional extra Maven properties using comma-separated `key=value` pairs:
105+
```
106+
# Simple version
107+
2.3.10.RELEASE
108+
109+
# Version with extra Maven properties (passed as -D flags)
110+
2.7.14,spring.boot.version=2.5.15
111+
```
112+
This allows different framework versions to use different dependency versions without creating separate test scenarios.
113+
104114
### configuration.yml
105115

106116
| Field | description

0 commit comments

Comments
 (0)