apache / apache/maven-shade-plugin
[MSHADE-256] Manifest transformer should reuse archiver plugin
- Dominant language
- Java
- Stars
- 188
- Forks
- 103
- Avg merge
- 16h 39m
- Merged PRs (30d)
- 4
Description
**[Brian Oxley](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=binkley)** opened **[MSHADE-256](https://issues.apache.org/jira/browse/MSHADE-256?redirect=false)** and commented
I noted that for the manifest transformer custom handles manifest entries, rather than reuses the archiver plugin (as, for example, the jar plugin does). I confirmed this in the transformer resource sources.
For example, the instructions for adding a main class entry rely on a custom manifest entry ("Main-Class") rather than reusing the "mainClass" tag from archiver:
https://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html
(Verified through trial and error.)
Similarly, I could not use the "index" tag to index the shaded jar. Indexing seems particularly apt for the large number of classes that appear in a shaded jar. And likewise for other archiver plugin features.
Delegating to the archiver plugin would provide a more uniform way of configuring my pom for manifest handling, and keep the shade plugin up to date w.r.t. archiver features and fixes.
---
**Affects:** 3.0.0
1 votes, 1 watchers
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the transformer resource sources mentioned in the issue and compare their manifest handling with the archiver plugin configuration. Done means manifest settings such as the main class and index can be configured through the archiver plugin rather than custom transformer entries, while preserving shaded-jar behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100