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)