[ https://issues.apache.org/jira/browse/ARIES-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14718386#comment-14718386 ]
John Ross commented on ARIES-1387: ---------------------------------- Right. That thought hadn't occurred to me before now. I had it in my head based on the description that you just needed equals on SubsystemManifest. However, that's really not possible is it? Even there, you would get different orderings when comparing the various header values. I'm not sure providing equals/hashCode on every header class is any easier than converting to LinkedHashSet and LinkedHashMap. I'm still not against that idea. I just wanted to think this through. It's not clear to me which is the better solution. > Make Subsystem header items order reproducible > ---------------------------------------------- > > Key: ARIES-1387 > URL: https://issues.apache.org/jira/browse/ARIES-1387 > Project: Aries > Issue Type: Improvement > Components: Subsystem > Reporter: Cristiano Gavião > > Currently the org.apache.aries.subsystem.core.archive.SubsystemContentHeader > class (line 210) and other headers classes uses a HashSet in order to hold > its clauses. > HashSet doesn't ensure the order of its items and then its impossible to have > a reproducible build of any manifest file. As the SubsystemManifest class > doesn't provide a equals() method, we can't compare a generated manifest file > with any template in a test, it will fail. > The propose it to change the used HashSet for the LinkedHashSet class. -- This message was sent by Atlassian JIRA (v6.3.4#6332)