Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Manage dependencies #30
When the user executes "kamel run Source.java", he might be using some components not available in camel-core.
In this case, the "kamel" script should create the resource as usual (do not put too much logic into the client), while the operator in the "Initialize" action should scan the source file to find declaration of external maven dependencies.
We can use a simplified way to declare dependencies, such as declaring them in a comment, e.g.
This way we let the user specify everything in a single file. We can switch to something better later (best if recognized by the tooling).
The initializer will add "org.apache.camel:camel-mail" to the list of dependencies in the CR (custom resource).
We should enable the following ways to include dependencies:
We should also allow to disable the auto-discovery via a flag e.g. in "spec->dependencies->autoDiscovery", controlled by a "kamel --auto-dependencies false" client flag.
I think this is a problem we have in common with FaaS platforms, we should investigate what they do to add dependencies to a function.
I'm thinking that there are not many platforms that allow you to change dependencies on the fly while in
Btw, I'm ok with implementing the other 2 options until we figure out the best strategy for in-file declaration.