[
https://issues.apache.org/jira/browse/CAMEL-22544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-22544:
--------------------------------
Component/s: camel-jbang
> camel-jbang - Enhance dependency update to Sync Dependencies from Route
> Definitions
> -----------------------------------------------------------------------------------
>
> Key: CAMEL-22544
> URL: https://issues.apache.org/jira/browse/CAMEL-22544
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Federico Mariani
> Priority: Major
>
> Enable camel dependency update to process multiple Java files and
> automatically extract Camel component dependencies from route files to
> populate _//DEPS_ sections for better IDE autocomplete support.
> Developers using JBang with custom processors need Camel component
> dependencies in _//DEPS_ comments for IDE autocomplete. Currently, camel
> dependency update only handles single files and requires manual dependency
> management.
> Proposed Solution
> * Support multiple target files:
> {code:java}
> camel dependency update Processor1.java Processor2.java Processor3.java
> {code}
> * Add --scan-routes flag to extract dependencies from route files:
> {code:java}
> camel dependency update MyProcessor.java --scan-routes route1.camel.yaml
> route2.camel.xml route3.java
> {code}
> Behavior:
> * Scans specified route files (XML, YAML, Java)
> * Extracts Camel component dependencies and adds to target Java files as
> //DEPS
> * Example: SQL component in route → adds _//DEPS org.apache.camel:camel-sql_
> Dependency Management:
> * Preserve custom (non-Camel) dependencies
> * Only manage _org.apache.camel:*_ dependencies
> * Remove unused Camel dependencies from scanned routes
> * Don't interfere with application.properties handling
> * Idempotent operation (no duplicates on re-run)
> Examples
> * Single processor, multiple routes
> {code:java}
> camel dependency update MyProcessor.java --scan-routes route1.camel.yaml
> route2.camel.xml
> {code}
> * Multiple processors, shared routes
> {code:java}
> camel dependency update Proc1.java Proc2.java --scan-routes
> shared-routes.camel.yaml
> {code}
> * Mixed formats
> {code:java}
> camel dependency update DataProcessor.java --scan-routes api.xml data.yaml
> batch.java
> {code}
> DoD
> * Accepts multiple Java files as arguments
> * --scan-routes flag accepts multiple route files (XML/YAML/Java)
> * Correctly extracts and adds Camel dependencies to //DEPS
> * Preserves non-Camel dependencies
> * Removes only unused org.apache.camel:* dependencies
> * Documentation updated
--
This message was sent by Atlassian Jira
(v8.20.10#820010)