CAMEL-23382: remove camel-spring-ai-tools, replaced by camel-ai-tool - #25276
CAMEL-23382: remove camel-spring-ai-tools, replaced by camel-ai-tool#25276zbendhiba wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 578 tested, 22 compile-only — current: 76 all testedMaveniverse Scalpel detected 600 affected modules (current approach: 76).
|
gnodet
left a comment
There was a problem hiding this comment.
Clean, well-motivated removal of the dead camel-spring-ai-tools module. All build/config registrations are properly cleaned up.
Highlights:
- Sound rationale for removal rather than deprecation: since Step 3 already disconnected
spring-ai-chatfromCamelToolExecutorCache, the component would silently drop tool registrations if kept. Clean removal with an upgrade guide entry is more honest. - All registration points covered: BOM, parent POM, coverage POM, catalog allcomponents, MojoHelper, spring-ai parent module list, component/endpoint DSL generated files, catalog properties, nav.adoc, kamelet-main known dependencies.
- The
camel-sbom/camel-sbom.xmlreferences are generated files cleaned up by the build (correctly noted in PR description). - The
camel-security-advisories.jsonCVE-2026-49042 reference is historical CVE data and correctly remains. - CI fully green on JDK 17 and 25.
Minor non-blocking notes:
AiToolRegistry.javaJavadoc still referencescamel-spring-ai-toolsas historical lineage — acceptable to keep.design/aiTool.adocPhase 5 section could optionally be updated to reflect the removal is now complete rather than planned.
This review was generated by an AI agent and may contain inaccuracies. Please verify all suggestions before applying.
Claude Code on behalf of Guillaume Nodet
gnodet
left a comment
There was a problem hiding this comment.
Review Summary
Clean, thorough removal of the dead camel-spring-ai-tools module. All build registrations, catalog entries, docs, and generated files are properly cleaned up.
Verification
- All registration points covered: BOM, parent POM, coverage POM, catalog allcomponents, MojoHelper, spring-ai parent module list, component/endpoint DSL generated files, catalog properties, nav.adoc, kamelet-main known dependencies
- Remaining references in the codebase are all appropriate: historical upgrade guide (4_21.adoc), generated SBOM files, security advisories JSON (historical CVE data), Javadoc lineage in
AiToolRegistry.javaandAiToolParameterHelper.java, and design documents - Well-motivated removal over deprecation: since Step 3 already disconnected
spring-ai-chatfromCamelToolExecutorCache, keeping the component would silently drop tool registrations with no user-visible error
Minor cosmetic note (non-blocking)
design/aiTool.adoc Step 5 still reads as a future plan ("Remove camel-spring-ai-tools entirely") — could optionally be updated to reflect this step is now complete.
This review was generated by an AI agent and may contain inaccuracies. Please verify all suggestions before applying.
Claude Code on behalf of @gnodet
Why remove instead of deprecate?
camel-spring-ai-toolswas a consumer-only component. No producer. Its only job was registering Camel routes as Spring AIToolCallbackobjects intoCamelToolExecutorCache. Thenspring-ai-chatwould read from that cache.Step 3 already changed
spring-ai-chatto useAiToolRegistryinstead. Nothing reads fromCamelToolExecutorCacheanymore. The component is dead in 4.22.Deprecating it would leave a component that silently drops tool registrations. Users would see no errors but tools would stop working. A clean removal with a clear upgrade guide is more honest than a silent no-op.
This is different from
camel-langchain4j-tools(deprecated in Step 4).Summary
camel-spring-ai-toolsmoduleMigration
Replace
spring-ai-tools:consumer routes withai-tool::Add camel-ai-tool dependency. Remove camel-spring-ai-tools.
Roadmap