This PR reworks our packable image pipeline a bit. I shifted around where some of the method boundaries are and cleaned up some of the mess I made when porting from sheep to Packos.
File contents and their hashes are now read while discovering inputs, since we need to read them all anyways, which simplifies some other parts of the code. Manifests are now assumed to always have hashes.
I shifted a couple things to use BTreeMap instead of HashMap where ordering matters from a determinism perspective, which let me drop a sort() call in the packing pipeline.
Fixes #17.
This PR reworks our packable image pipeline a bit. I shifted around where some of the method boundaries are and cleaned up some of the mess I made when porting from sheep to Packos.
File contents and their hashes are now read while discovering inputs, since we need to read them all anyways, which simplifies some other parts of the code. Manifests are now assumed to always have hashes.
I shifted a couple things to use
BTreeMap
instead ofHashMap
where ordering matters from a determinism perspective, which let me drop asort()
call in the packing pipeline.