[
https://issues.apache.org/jira/browse/CAMEL-25186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-25186:
--------------------------------
Priority: Minor (was: Major)
> camel-jbang export - dependency of the delegate endpoint of a master:
> endpoint is not detected
> ----------------------------------------------------------------------------------------------
>
> Key: CAMEL-25186
> URL: https://issues.apache.org/jira/browse/CAMEL-25186
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Affects Versions: 4.22.1
> Reporter: Serdar Gökay
> Priority: Minor
>
> {{camel export}} and {{camel dependency list}} do not detect the component
> used by the delegate URI of a {{master:}} endpoint.
> During the silent export run, {{DependencyDownloaderComponentResolver}}
> (camel-kamelet-main) stubs every component outside {{ACCEPTED_STUB_NAMES}},
> including {{master}}. The stubbed {{MasterEndpoint}} therefore never calls
> {{getEndpoint(delegateUri)}}, so the delegate's component is never resolved
> and its artifact is never recorded. The exported project builds but fails at
> startup. {{camel run}} works because nothing is stubbed.
> *Reproducer*
> route.camel.yaml:
> {code:yaml}
> - route:
> from:
> uri: master:lock:timer:tick
> steps:
> - log: "tick"
> {code}
> application.properties:
> {code}
> camel.cluster.file.enabled=true
> camel.cluster.file.root=/tmp/master-repro
> {code}
> Steps:
> # {{camel run route.camel.yaml application.properties}} - works, logs "tick".
> # {{camel export route.camel.yaml application.properties --runtime=camel-main
> --gav=x:y:1.0 --dir=out}}
> # {{cd out && ./mvnw package && java -jar target/y-1.0.jar}}
> *Actual:* the pom contains camel-master but not camel-timer (same for {{camel
> dependency list}}). Startup fails with:
> {noformat}
> NoSuchEndpointException: No endpoint could be found for: timer://tick, please
> check your classpath contains the needed Camel component jar.
> {noformat}
> The same happens with {{uri: master:lock}} plus {{parameters: delegateUri:
> timer:tick}}.
> *Expected:* export includes the delegate's component (camel-timer), as it
> does for a plain {{timer:tick}} route and as {{camel run}} resolves it.
> Also reproduced from current main (4.23.0-SNAPSHOT). Related precedents for
> implied dependencies in the same resolver: CAMEL-21634 (cron -> quartz),
> CAMEL-24849.
> *Workaround:* pass the delegate component explicitly, e.g.
> {{--dep=org.apache.camel:camel-timer}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)