Federico Mariani created CAMEL-22544:
----------------------------------------

             Summary: 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


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