syndesisio / syndesis-project

Placeholder repository for project management
https://syndesis.io/
Apache License 2.0
6 stars 12 forks source link

Deployment of tech extension artifacts #148

Closed lburgazzoli closed 6 years ago

lburgazzoli commented 6 years ago

We should investigate ho extension artifacts are included in the integration, so far I've been investigating a few options:

  1. leverage spring-boot toolchain to build a modular application:

    • the main application should be packages using the ZIP layout that uses PropertiesLauncher instead of JarLaumcher, this allow to load additional jars using loader.path
    • the extensions should be build packaged using the MODULE layout (or our own Layout as MODULE is deprecated and removed in spring-boot 2.0) so it includes also the dependencies (excluding those marked as provided)
    • the ProjectGenerator should generate an additional loader.properties file which lists the extensions
      loader.path = \
      file:/tmp/my-extension-a-1.0.0.jar,\
      file:/tmp/my-extension-b-1.0.0.jar

    A quick example about this can be found here: https://github.com/lburgazzoli/spring-boot-extension-example

  2. add extension as dependencies and pack them along with the spring boot application (we should check how dependencies packed with the extension are handled)
lburgazzoli commented 6 years ago

@paoloantinori do you mind having a look ?