gharris1727 opened a new pull request, #14195:
URL: https://github.com/apache/kafka/pull/14195

   This is the secondary component of KIP-898, a command to migrate released 
artifacts to include ServiceLoader manifests.
   
   In order to provide dry-run functionality and to reduce the number of write 
operations to the filesystem, the script will accumulate the changes to the 
manifests in-memory. Once the changes to manifests are completely known, the 
script can then generate the new manifest files, dry run the sync, and if the 
dry-run flag is omitted, actually write the changes to disk.
   
   In order to model the state of the manifests in-memory and the operations on 
manifest files, replace the existing ManifestEntry and Map system with the 
`ManifestWorkspace`. Each overall workspace has several `SourceWorkspace` 
objects, one corresponding to each PluginSource. The `SourceWorkspace` is an 
abstraction over the several different types of plugin sources, which each have 
different semantics around reading and writing manifests.
   
   The actual JAR editing is done by opening the JAR files as a FileSystem, and 
then using normal file write operations on the internal URL. This allows code 
reuse between the Class Hierarchy and Single/Multi jar cases, and means that 
we're using the existing zip/jar libraries instead of binary editing.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


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

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

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

Reply via email to