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


   Hi, I would love some feedback about latest changes made in the last commit 
about the handling of GSON, the provided approach and the change of strategy of 
maintaining OSGi metadata in general. Please look at the last commit the 
following description.
   
   
https://github.com/apache/jclouds/pull/78/commits/0a12d8ff9d4d8d4afda441e0ccfe2e769004628a
   
   **It is not a breaking change anymore!**
   
   In the last commit (last section of squashed commit), the GSON library was 
integrated into the JClouds core module using maven-bundle plugins include 
resource instruction. Building OSGi instruction variables from the respective 
modules show a weakness when resources such as script builder shell scripts are 
required to be integrated into the bundle but not provide a dedicated variable 
declaration for the resource section.
   
   The following commit demonstrates a change in strategy in declaration and 
integration of OSGi metadata.
   
   - Replace old bundle-plugin with newest bnd-plugin (bundle-plugin uses 
bnd-plugin internally)
   - Move OSGi metadata declarations from a maven variable passing strategy 
into dedicated bnd.bnd files
   + Cleaner pom files, no bundle packaging
   + Intellisense / Autocomplete support for .bnd files in terms of package 
exports etc.
   
   For demonstration, the overall OSGi adjustments are limited to project, 
core, script builder, compute, blob store, and load balancer because most 
custom OSGi metadata is defined here.
   
   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 reenables all modules with the new OSGi bundling changes applied.
   
   Make GSON integration work.
   To understand the changes, see the core modules' bnd file. GSON internal 
packages also define a version, which is taken from the GSON dependency. Both, 
in GSON already exported packages and additional export declarations are fused 
in the process. The global JClouds core module exports next to its own packages 
the entire set of GSON packages, including internal packages.
   
   Some minor modifications were made in the module project; replace maven jar 
plugin with a minified version of the declaration, outsourced in projects bnd 
file.
   
   
   
   <img width="3057" alt="Screenshot 2020-07-02 at 11 58 16" 
src="https://user-images.githubusercontent.com/301689/86345629-12fff980-bc5c-11ea-9a93-a0617a7870fd.png";>
   


----------------------------------------------------------------
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