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
Félix Saparelli
9d99bfb81f
Add function and example program detecting WASI runability ( #250 )
2022-07-26 23:28:17 +12: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
Jiahao XU
d9fe7bfaf4
Fix bug in helpers::create_if_not_exist
...
Returned `File` must be both readable and writable.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:40:00 +10:00
Jiahao XU
09d210bf62
Simplify helpers::create_if_not_exist
implementation
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:32:45 +10:00
Jiahao XU
d7bd96660e
Fix CratesToml::append_to_path
: Lock file to avoid race condition
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:22:31 +10:00
Jiahao XU
e1b6fb85aa
Add new fn CratesToml::write_to_file
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:22:18 +10:00
Jiahao XU
05115641ff
Add new fn helpers::create_if_not_exist
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 22:12:16 +10:00
Jiahao XU
7311f77f29
Impl new fn CratesToml::write_to_writer
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 20:19:04 +10:00
Jiahao XU
565b404dce
Impl fn CratesToml::load_from_reader
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 20:15:03 +10:00
Jiahao XU
9e45ba1032
Impl new RAII type helpers::flock::FileLock
...
that locks a file exclusive or shared
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 19:48:37 +10:00
Jiahao XU
95c30122e9
Rm unused import tempfile::TempDir
in main.rs
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 19:17:23 +10:00
Jiahao XU
fb35863faa
Create temp_dir
in install_path
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 19:17:09 +10:00
Jiahao XU
92f4d0af95
Fix metafile updating: Update them in entry
only
...
to avoid race condition.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-22 17:58:29 +10:00