Skip to main content

register_builtin_components_for_lint

Function register_builtin_components_for_lint 

Source
pub fn register_builtin_components_for_lint(ctx: &mut CamelContext)
Expand description

Register the built-in components into ctx for lint catalog population.

This mirrors commands::run’s registration list but is HANDLE-FREE: it passes empty/default config to every bundle, registers bridge components without their runtime handles (no xsd_bridge_backend / bridge_runtime, no BridgeCleanup), and drops any pool returned by jms/cxf. It SKIPS the path/route-coupled bundles: wasm (needs a config-relative base_dir) and exec (route-conditional registration). Skipped schemes surface as unverified-scheme notes in lint output, which is the accepted graceful-degradation behaviour.

Because Component::metadata() has a trait default returning ComponentMetadata::minimal(scheme) and Registry::register() harvests it unconditionally, registering each builtin makes its scheme queryable by the lint catalog (rich metadata where the component opts into it, a minimal-but-present entry otherwise).

Drift tradeoff: this list and run’s list are kept separate on purpose — run’s registration is lifecycle-entangled with bridge/pool/datasource/ path handles that lint has no use for. The drift is bounded and caught by the corpus baseline (tests/lint_corpus.rs); unification is tracked by a bd follow-up.