jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [jclouds] gurkerl83 edited a comment on pull request #78: Replace embedded and repackaged GSON library
Date Thu, 02 Jul 2020 10:31:00 GMT

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 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.
   
   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:
users@infra.apache.org



Mime
View raw message