luigidemasi opened a new pull request, #24065:
URL: https://github.com/apache/camel/pull/24065
## Summary
Adds automatic discovery for YAML DSL `YamlDeserializerResolver`
implementations so optional modules can contribute custom YAML route step
deserializers when they are present on the classpath.
This change also defines and tests deterministic resolver precedence across
built-in, registry-provided, and classpath-discovered resolvers.
## Changes
- Discover resolver providers from
`META-INF/services/org/apache/camel/YamlDeserializerResolver`.
- Include Camel application/context classloaders when looking up resolver
service resources.
- Preserve built-in YAML DSL resolver behavior unless an external resolver
explicitly uses higher precedence.
- Apply deterministic ordering for registry and classpath resolvers,
including class-name and registry-name tie-breaks.
- Keep resolver loading fail-fast with clearer diagnostics for broken
provider entries.
- Clear cached constructors when resolver membership changes.
- Document the extension point, ordering rules, schema limitations, and
trusted-input expectations.
- Add tests for custom route steps, nested `steps`, route execution,
registry resolvers, Kamelets, parser usage, resolver collisions, ordering,
inline comments, and broken providers.
## Tests
- `mvn -pl
dsl/camel-yaml-dsl/camel-yaml-dsl-common,dsl/camel-yaml-dsl/camel-yaml-dsl
-DskipITs -Dtest=YamlDeserializerResolverDiscoveryTest test`
- `mvn -pl
dsl/camel-yaml-dsl/camel-yaml-dsl-common,dsl/camel-yaml-dsl/camel-yaml-dsl,dsl/camel-yaml-dsl/camel-yaml-dsl-validator
-DskipITs test`
- `mvn -pl dsl/camel-yaml-dsl/camel-yaml-dsl-validator-maven-plugin
-DskipTests install`
- `git diff --check`
_🤖 Generated with [Claude Code](https://claude.com/claude-code) on behalf of
Luigi De Masi._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]