You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2025/12/24 10:46:00 UTC

[jira] [Updated] (CAMEL-22544) camel-jbang - Enhance dependency update to Sync Dependencies from Route Definitions

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

Claus Ibsen updated CAMEL-22544:
--------------------------------
    Fix Version/s: 4.x

> 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
>             Fix For: 4.x
>
>
> 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)