-
Bug
-
Resolution: Fixed
-
P3
-
None
-
b42
-
generic
-
generic
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8084221 | emb-9 | Martin Buchholz | P3 | Resolved | Fixed | team |
java.util.jar.Attributes stores attributes (logically a Map) internally using a HashMap.
It should use a LinkedHashMap instead, so that Attributes are output into a Manifest file in the order of insertion, because:
- people increasingly want bit-for-bit repeatable builds, and hash order is unpredictable
- some attributes are traditionally ordered in the Manifest file, e.g. people expect the manifest version to come first.
The iteration order should be specified, but even if not, switching to some deterministic order is an improvement in the implementation.
It should use a LinkedHashMap instead, so that Attributes are output into a Manifest file in the order of insertion, because:
- people increasingly want bit-for-bit repeatable builds, and hash order is unpredictable
- some attributes are traditionally ordered in the Manifest file, e.g. people expect the manifest version to come first.
The iteration order should be specified, but even if not, switching to some deterministic order is an improvement in the implementation.
- backported by
-
JDK-8084221 java.util.jar.Attributes should use insertion-ordered iteration
-
- Resolved
-