gurkerl83 edited a comment on pull request #78:
URL: https://github.com/apache/jclouds/pull/78#issuecomment-654650576


   > So, the idea is that the JClouds-core OSGi module can export the GSON 
package we want instead of directly shipped by the GSON dependency itself?
   
   Yes!
   
   > Have you been able to try this in an OSGi environment?
   
   I have tested loading the core feature in both OSGi environments Apache 
Felix and Equinox. I was running Apache Karaf with both settings.
   
   > I guess this is still compatible with Jclouds-Karaf, or are there changes 
to be taken into account there?
   
   According to the Karaf feature description for the core module, a dedicated 
GSON library gets executed. I guess this instruction corresponds to an older 
version of the core module, where GSON was a standalone dependency.
   
   The core package also resolves even when a secondary GSON dependency gets 
loaded.
   
   ```xml
   <feature name='jclouds' description='jclouds' version='${project.version}'>
       <feature version='${project.version}'>jclouds-guice</feature>
       <bundle 
dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${javax.ws.rs.api.version}</bundle>
       <bundle 
dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
       <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-commons/${net.oauth.bundle.version}</bundle>
       <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jersey-core/${jersey.bundle.version}</bundle>
       <bundle 
dependency='true'>mvn:com.google.code.gson/gson/${gson.version}</bundle>
       <bundle>mvn:org.apache.jclouds/jclouds-core/${jclouds.version}</bundle>
   </feature>
   ```
   
https://github.com/apache/karaf-jclouds/blob/c117ed392d624f825488f2738feee433fca4d04d/feature/src/main/feature/feature.xml
   
   **Future compatibility with JClouds-Karaf**
   The problem with handwritten features like the core module is that the 
composition of module/feature and its dependencies gets not recomputed 
automatically. It is not enough to update just the dependency versions. 
   
   I have started a major refactor of Jclouds-Karaf to recalculate each stable 
and lab feature based on the current dependency tree. I use Karaf Maven 
Plugin's goal generate-descriptor. The refactoring was based of this branch 
https://github.com/jbonofre/jclouds-karaf/tree/KARAF42. I will provide a merge 
request by the end of the week.
   
   How we proceed on this?
   > Note: Other modules are currently disabled from build because some 
feedback is needed first. When the changes does qualify for merge I create 
another merge request which re-enables all modules with the new OSGi bundling 
changes applied. My primary reason for temporally disabling those other modules 
is that basically any module pom is touched, and a separate bnd file is 
required. To understand the changes for GSON would be not that reasonable and 
easy to understand when pulling changes of 176 files in total into this merge 
request.
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to