[ 
https://issues.apache.org/jira/browse/CAMEL-22544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-22544:
--------------------------------
    Summary: camel-jbang - Enhance dependency update to Sync Dependencies from 
Route Definitions  (was: Enhance dependency update to Sync Dependencies from 
Route Definitions)

> 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
>            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)

Reply via email to