Commit bde182d
committed
build: jackson-yaml optional, drop unused jsonSchema + direct snakeyaml (F4)
F1 audit flagged jackson-module-jsonSchema and the direct snakeyaml
declaration as unused, and called out jackson-dataformat-yaml as a
candidate for optional-scope since it is consumed only by
`com.demcha.compose.ConfigLoader.loadConfigWithEnv(...)` on the YAML
code path. Library consumers that load JSON configs (or skip
ConfigLoader entirely) should not pay the ~1.7MB SnakeYAML transitive
cost.
- Mark jackson-dataformat-yaml as <optional>true</optional>, mirroring
the existing poi-ooxml pattern. ConfigLoader still compiles against
the type but consumers must add jackson-dataformat-yaml explicitly
if they load YAML configs through it; without it, ConfigLoader
throws NoClassDefFoundError when it constructs YAMLFactory.
- Remove jackson-module-jsonSchema entirely (no code reference).
- Remove the explicit snakeyaml dependency and the snakeyaml.version
property. SnakeYAML now resolves transitively (and optional) through
jackson-dataformat-yaml at the version Jackson's BOM picks (2.5),
which version-aligns it with the rest of the Jackson stack.
- Add Javadoc on ConfigLoader.loadConfigWithEnv documenting the
optional-dep requirement and the NoClassDefFoundError it raises
when YAML support is requested without jackson-dataformat-yaml on
the classpath.
Consumer impact: callers that loaded YAML through ConfigLoader, or
that relied on jackson-module-jsonSchema / snakeyaml flowing
transitively through GraphCompose, must add those dependencies
explicitly.
Gates: 1031 tests pass; dependency:tree shows jackson-dataformat-yaml
+ snakeyaml as optional, no jackson-module-jsonSchema; japicmp vs
v1.6.6 reports semver OK (no incompatible changes).1 parent 09e07e4 commit bde182d
3 files changed
Lines changed: 47 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
37 | 57 | | |
38 | 58 | | |
39 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | 57 | | |
59 | 58 | | |
60 | 59 | | |
| |||
204 | 203 | | |
205 | 204 | | |
206 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
207 | 218 | | |
208 | 219 | | |
209 | 220 | | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
| 221 | + | |
221 | 222 | | |
222 | 223 | | |
223 | 224 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
27 | 39 | | |
28 | 40 | | |
29 | 41 | | |
| |||
0 commit comments