[ 
https://issues.apache.org/jira/browse/CAMEL-21730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17928323#comment-17928323
 ] 

Thomas Diesler commented on CAMEL-21730:
----------------------------------------

I moved the webapp resources and route definition to a [common 
directory|https://github.com/tdiesler/camel-cloud-examples/tree/main/camel-main/platform-http-oauth/platform-http-files]
 and simplified the export cmd [like 
this|https://github.com/tdiesler/camel-cloud-examples/blob/main/camel-main/platform-http-oauth/Makefile#L20]
 ...

{code}
k8s-export:
        @$(CAMEL_CMD) kubernetes export platform-http-files/* \
        --dep=org.apache.camel.cloud:camel-oauth:0.1.0-SNAPSHOT \
        --gav=examples:platform-http-oauth:1.0.0 \
        
--property=camel.oauth.baseUri=https://keycloak.local:30443/realms/camel \
        --property=camel.oauth.redirectUri=http://127.0.0.1:8080/auth \
        --property=camel.oauth.logout.redirectUri=http://127.0.0.1:8080/ \
        --property=camel.oauth.clientId=camel-client \
        --property=camel.oauth.clientSecret=camel-client-secret \
        --trait container.image-pull-policy=IfNotPresent \
        --ignore-loading-error=true \
        --image-builder=docker \
        --image-push=false \
        --runtime=camel-main
{code}

References to these resources in the route do not change, and the error from 
above still shows when --ignore-loading-error=false

The provided patch is hence still needed and I'd suggest to backport that to 
the LTS branches.

> JBang export cannot validate route that depends on copied resources
> -------------------------------------------------------------------
>
>                 Key: CAMEL-21730
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21730
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jbang
>            Reporter: Thomas Diesler
>            Assignee: Thomas Diesler
>            Priority: Minor
>             Fix For: 4.11.0
>
>
> With a route like this ...
> {code}
> - route:
>     from:
>       uri: "platform-http:/"
>       steps:
>         - setBody:
>             simple: "resource:classpath:META-INF/resources/index.html"
> {code}
> on export I get ...
> {code}
> org.apache.camel.FailedToCreateRouteException: Failed to create route route1 
> at: >>> SetBody[simple{resource:classpath:META-INF/resources/index.html}] <<< 
> in route: Route(route1)[From[platform-http:/] -> [SetBody[simple{resou... 
> because of Illegal syntax: resource:classpath:META-INF/resources/index.html
>       at 
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:235)
>       at 
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86)
>       at 
> org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
>       at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:736)
>       at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:597)
>       at 
> org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2457)
>       at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>       at 
> org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2087)
>       at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:115)
>       at 
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2106)
>       at 
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
>       at org.apache.camel.main.KameletMain.doStart(KameletMain.java:384)
>       at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
>       at 
> org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1447)
>       at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:908)
>       at org.apache.camel.dsl.jbang.core.commands.Run.runExport(Run.java:352)
>       at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.runSilently(ExportBaseCommand.java:344)
>       at 
> org.apache.camel.dsl.jbang.core.commands.ExportCamelMain.export(ExportCamelMain.java:66)
> {code}
> The issue seems to be that export is calling KameletMain.doStart() by which 
> the referenced resources have not been copied.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to