Hi guys, Yesterday I spent a bunch part of the day fixing issue with camel-elasticsearch (both Elasticsearch bundle and camel feature).
I would like to propose a change in Camel Karaf about component packaging. Right now, we use camel features repo to "install" the component with its dependency. I would like to propose to "embed" the component dependencies in the component bundle itself. Basically the proposal is: 1. To introduce a classifier "bundle" for component (can be done in camel-karat) 2. Dramatically simplify the feature to mostly install only the component bundle There are pros/cons about this approach: Pros: - no need to have OSGi compliant dependency - no class loader issue if the dependency is not OSGi compliant (as all will be in the component class loader) - coupling the component with the dependency version (resolution at build time) Cons: - component bundle are larger than before (as they embed dependency) - dependency version are strongly coupled within the component (which is not necessary a bad thing) Alternatively, we can imagine a camel karaf component deployer that do quite the same without embedding the dependency in the artifact (I can create the bundle on the fly at runtime). Thoughts ? Regards JB
