The values for the dependencies could be strings intead of objects, so
add a `try` block to take care of that.
Also set `dep.path` to `""` if the dependency contains a key `path` to
make sure that the cache isn't invalidated due to change in workspace.
Signed-off-by: Jiahao XU <[email protected]>
There are a few problems in cargo-binstall where sometimes change to
`Cargo.lock` does not invalidate the cache.
Signed-off-by: Jiahao XU <[email protected]>
Fixed#151
I've tried running manually load and parse `Cargo.lock` and it runs fine
until `sort_object` is called.
Since `Cargo.lock` is auto-generated and usually sorted, I think there
is no need for sorting.
Signed-off-by: Jiahao XU <[email protected]>
Also:
- Add and use `sort_and_uniq` to make sure `globFile` resulting
and `keyFiles` does not contain duplicates.
- Only returns regular file in function `globFile`
Signed-off-by: Jiahao XU <[email protected]>
Fixed#146
- Set all `package.version` in `Cargo.toml` to `0.0.0`
- Set `{build-, dev-, }dependencies` of workspace crates to `0.0.0`
- Remove workspace crates from `Cargo.lock` before caching
- Sort all toml objects before hashing them as json
Signed-off-by: Jiahao XU <[email protected]>