gnodet commented on PR #618: URL: https://github.com/apache/maven-jar-plugin/pull/618#issuecomment-6248847638
@slawekjaranowski — fair question. The key issue with `maven-archiver` 4.x (even if beta-6 passes vote) is that it still carries `plexus-archiver` as a hard dependency — and `plexus-archiver` is a heavyweight component that handles `zip`/`tar`/`jar` archive *creation*, not just manifest generation. This PR only needs manifest generation. Depending on `maven-archiver` just for that would pull in `plexus-archiver`, `plexus-interpolation`, and related plexus infrastructure that is otherwise entirely absent from this Maven 4 API plugin. The design principle for Maven 4 API plugins is to avoid plexus dependencies where possible. That is what this PR achieves by inlining only the manifest-generation logic. If `maven-archiver` 4.x is refactored to split manifest generation from archive creation (i.e., separate the `ManifestBuilder`-equivalent from the `MavenArchiver.createArchive()`-equivalent), then using it as a dependency would make sense. That would essentially be Option B / Option C from the earlier discussion. @hboutemy also suggested creating a maven-archiver 4.x branch without plexus-archiver — that would be the right shared path. For now, this PR takes the minimal approach: inline just the manifest code, make it package-private, and leave the shared-library decision to a follow-up once the design is proven. The inline code can serve as the reference implementation when that shared component is eventually extracted. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
