Open nickmshelley opened 6 years ago
@nickmshelley do you want to submit a PR for this?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
It seems like the order in which dependencies are processed depends on the hash value of the dependency.
I'm not sure which area you are referring to in the codebase 🤔
And
processed
what does it mean specifically? About fetching or cloning/checkig out or building?
IIRC this is about the order in which the resolver considers dependencies
It seems like the order in which dependencies are processed depends on the hash value of the dependency. Since hash values are stable with the current implementation of Swift and Carthage, this "undefined" order remains consistent across runs. However, Swift 4.2 will add random elements to default hashes, which means that the result of
carthage update
could be different across runs (see https://github.com/apple/swift-evolution/blob/master/proposals/0206-hashable-enhancements.md#proposed-solution).A side benefit of providing a pre-defined order is it will be easier to create tests that exercise problems that will fail (or pass) consistently.