Jiahao XU
7ccbdb2356
Impl binstall_v1::append
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 23:15:46 +10:00
Jiahao XU
d796424199
Fix Records::overwrite
: Update file len
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 23:13:41 +10:00
Jiahao XU
c9139fec68
Add unit tests for metafiles::binstall_v1
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 23:09:52 +10:00
Jiahao XU
5987acbf95
Derive Clone
for Source
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:55:16 +10:00
Jiahao XU
671b2fb6f0
Derive Clone
for MetaData
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:54:32 +10:00
Jiahao XU
cef4dfee5c
Update doc of binstall_v1::Records::insert
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:32:20 +10:00
Jiahao XU
e6ee493771
Impl binstall_v1::Records::{len, is_empty}
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:31:51 +10:00
Jiahao XU
8ec33c5b6c
Impl get, contains, insert, replace, remove & take
...
for `binstall_v1::Records`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:30:58 +10:00
Jiahao XU
04f167491a
Impl Borrow<str>
for MetaData
for Records
...
so that we can use `&str` to query `BTreeSet<MetaData>`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:25:36 +10:00
Jiahao XU
aba2c87d6d
Impl IntoIterator
for &Records
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:22:07 +10:00
Jiahao XU
df3af9727e
Impl new fn Records::overwrite
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 22:15:21 +10:00
Jiahao XU
1047a782e5
Impl newtype Records
and methods load{_from_path}
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 20:36:13 +10:00
Jiahao XU
90203dd467
Impl PartialOrd
and Ord
for MetaData
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 20:33:40 +10:00
Jiahao XU
4114b6e7c4
Impl PartialEq
, Eq
and Hash
fo MetaData
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 20:19:05 +10:00
Jiahao XU
2f27a5fd93
Refactor: Use binstall_v1::MetaData
in mod binstall
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 19:44:16 +10:00
Jiahao XU
05c0d5fcae
Mark binstall_v1::{Source, SourceType}
pub
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 19:24:01 +10:00
Jiahao XU
1a8fda1f5e
Impl binstall_v1::Source::cratesio_registry
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 19:23:15 +10:00
Jiahao XU
cc13aa911f
Refactor: Extract helpers::cratesio_url
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 19:22:45 +10:00
Jiahao XU
5ca1278c22
Add new enum binstall_v1::SourceType
...
Use it to represent source type instead of using `CompactString`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 19:18:44 +10:00
Jiahao XU
cbd64b039d
Rename binstall_v1::Item
to MetaData
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 18:50:21 +10:00
Jiahao XU
951a0f8b9f
Impl binstall_v1::default_path
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-27 18:39:22 +10:00
Jiahao XU
ce50186f4a
Impl io::Seek
for FileLock
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:52:25 +10:00
Jiahao XU
ebb2d5d0c3
Impl io::Read
for FileLock
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:51:20 +10:00
Jiahao XU
c6c5dcd79f
Rename binstall_v1::Entry
to Item
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:47:57 +10:00
Jiahao XU
f0b6b7b1af
Impl binstall_v1::append_to_path
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:45:59 +10:00
Jiahao XU
461571075d
Impl binstall_v1::Error
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:45:48 +10:00
Jiahao XU
46c4d6f406
Impl io::Write
for helpers::FileLock
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:39:15 +10:00
Jiahao XU
172af54cd8
Impl metafiles::binstall_v1::{Entry, Source}
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 22:29:10 +10:00
Jiahao XU
f7c798352a
Enable feature serde of semver
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 21:57:57 +10:00
Jiahao XU
2dc246c392
Optimize CratesToml
: Use CompactString
for bins
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 13:48:04 +10:00
Jiahao XU
03c8295cd8
Optimize CratesToml
: Use Vec
instead of BTreeSet
...
for storing bins.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-26 13:43:30 +10:00
Jiahao XU
48f1825c98
Print out help when crate_names
is empty
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-24 19:03:55 +10:00
Félix Saparelli
adef01f3dd
Find best download source out of alternatives (format extension) ( #236 )
2022-07-24 14:32:23 +12:00
Félix Saparelli
6401f2bfa0
Replace toml with toml_edit ( #233 )
2022-07-24 03:33:55 +12:00
Félix Saparelli
e93f0beb4b
Remove support for .crates2.json ( #235 )
2022-07-24 03:33:31 +12:00
Jiahao XU
1768392413
Merge pull request #228 from NobodyXu/fix/skip-on-custom-install
...
Fix updating metafiles: Skip on custom install path
2022-07-23 19:57:58 +10:00
Jiahao XU
5367b366d1
Use home::cargo_home
in helpers::cargo_home
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 19:17:47 +10:00
Jiahao XU
b4d2e9b99c
Fix get_install_path
where cargo_home
succeeds
...
The returned path must join with `"bin"`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 19:16:23 +10:00
Jiahao XU
49f665d680
Fix confusing comment in helpers::cargo_home
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 19:10:15 +10:00
Jiahao XU
5bf2b4e45d
Fix helpers::cargo_home
: home::cargo_home
is buggy
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 19:08:29 +10:00
Jiahao XU
5ea66574c3
Mod get_install_path
to ret Arc<Path>
instead of PathBuf
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 18:37:59 +10:00
Jiahao XU
5620810c55
Simplify get_install_path
using cargo_home
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 18:36:01 +10:00
Jiahao XU
79476e490b
Fix custom_install_path
detection
...
Installing to `CARGO_INSTALL_ROOT` or the local executable dir should be
considered a custom installation path.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-23 18:33:30 +10:00
Jiahao XU
45ba1de441
Merge pull request #227 from NobodyXu/fix/flock
...
Fix updating metafiles: Use file lock to fix race condition
2022-07-23 12:23:23 +10:00
Jiahao XU
7bdc720a9a
Fix updating metafiles: Skip on custom install path
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:59:02 +10:00
Jiahao XU
6ce48419b6
Fix CratesToml::write_to_{writer, file}
...
Make them consistent with `Crates2Json::write_to_{writer, file}`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:55:44 +10:00
Jiahao XU
0a753f3e4b
Fix Crates2Json::append_to_path
: Use file lock
...
to fix race condition.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:50:58 +10:00
Jiahao XU
d432d54c28
Add new fn Crates2Json::write_to_file
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:48:54 +10:00
Jiahao XU
1766b92547
Add new fn Crates2Json::write_to_writer
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:45:55 +10:00
Jiahao XU
15e2213225
Add new fn Crates2Json::load_from_reader
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:44:28 +10:00