Jiahao XU
14823fbae7
Fix test::parse_meta
in lib.rs
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:53:24 +10:00
Jiahao XU
441e004ef1
Fix test::parse_meta
in lib.rs
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:42:13 +10:00
Jiahao XU
784d1f0bf6
Impl new fn helpers::download_and_extract
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:32:38 +10:00
Jiahao XU
c3b5cb11c2
Support for any PkgFmt
in AsyncFileWriter
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:20:37 +10:00
Jiahao XU
58c775a648
Rename mod receiver_as_readable
to readable_rx
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:02:53 +10:00
Jiahao XU
59544e8b55
Use BinstallError
in AsyncFileWriter
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:01:37 +10:00
Jiahao XU
f211788052
Impl ReadableRx
in mod receiver_as_readable
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 23:04:14 +10:00
Jiahao XU
6bc04340b6
Impl extract_compressed_from_readable
and unzip
...
in new mod `extracter`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:46:20 +10:00
Jiahao XU
894f9b49f9
Simplify AsyncFileWriter::new
: Ret Self
...
instead of `io::Result<Self>`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:29:04 +10:00
Jiahao XU
911c52d8e1
Auto remove file in AsyncFileWriter
...
unless done is called.
Also moves creation of the dir/file into the blocking thread to avoid
blocking.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:27:19 +10:00
Jiahao XU
5d70f61317
Refactor: Extract AutoAbortJoinHandle
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:46:32 +10:00
Jiahao XU
358bea5c6d
Refactor: Extract AsyncFileWriter
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:43:09 +10:00
Jiahao XU
e584b99240
Simplify AsyncFileWriter::write
by closing rx on err
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:38:05 +10:00
Jiahao XU
d9bcca8b78
Impl AutoAbortJoinHandle::new
& make its field private
...
plus change all its users to use its new APIs.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:53:49 +10:00
Jiahao XU
f41391a53c
Impl Future
for AutoAbortJoinHandle
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:51:59 +10:00
Jiahao XU
52210d1a8c
Impl Deref{Mut}
for AutoAbortJoinHandle
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:48:31 +10:00
Jiahao XU
d6a372a160
Use AutoAbortJoinHandle
in AsyncFileWriter
...
to cancel the task on failure.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:46:00 +10:00
Jiahao XU
12931fc024
Refactor: Mv AutoAbortJoinHandle
into helpers
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:44:20 +10:00
Jiahao XU
6367bfc1e3
Fix infinite block in AsyncFileWriter::write
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:42:22 +10:00
Jiahao XU
c7965ceb4f
Use ScopeGuard
to auto remove file on failure
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:23:03 +10:00
Jiahao XU
191fd6e981
Use AsyncFileWriter
in helpers::download
...
so that writing to file will not block the download.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:11:01 +10:00
Jiahao XU
5fdeea86ad
Impl helpers::AsyncFileWriter
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:03:58 +10:00
Jiahao XU
cf87abba16
Run QuickInstall reporting using tokio::spawn
...
So that it is run in concurrent or even in parallel with the
`remote_exists`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 19:13:10 +10:00
Félix Saparelli
aad708a035
Slightly more ergo clone by ordering
2022-06-08 16:43:18 +12:00
Félix Saparelli
6333fb0bd3
Use newer format! syntax
2022-06-08 16:39:34 +12:00
Félix Saparelli
0b5d3ec1a6
Fix format now
...
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 01:44:11 +12:00
Félix Saparelli
fa56a729b0
Just unwrap it
2022-06-08 01:42:25 +12:00
Félix Saparelli
ea10736e13
Don't send qi reports in dev
2022-06-08 01:35:47 +12:00
Félix Saparelli
148d34e980
Log exact URL for qi report
2022-06-08 01:35:47 +12:00
Félix Saparelli
d0a292e173
Ignore rustls log output
2022-06-08 01:35:47 +12:00
Félix Saparelli
0abfcbd1fb
Simplify short help output
2022-06-08 01:04:46 +12:00
Félix Saparelli
235bcac300
Properly support multiple targets
2022-06-08 01:00:21 +12:00
Félix Saparelli
fcf5728dde
Replace Box<str> with String
2022-06-08 00:54:49 +12:00
Félix Saparelli
15d828b55b
Stop lying about url support
2022-06-08 00:54:30 +12:00
Félix Saparelli
f2582b9cf2
Expand help text
2022-06-08 00:11:39 +12:00
Félix Saparelli
d58ce3892a
Use clap3
2022-06-07 23:56:24 +12:00
Félix Saparelli
6877a0c3a9
Merge pull request #161 from NobodyXu/feature/bin-multi-targets
2022-06-07 23:55:05 +12:00
Jiahao XU
2ea341381d
Fix parsing in entry
: Use std::env::args_os
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 17:07:17 +10:00
Jiahao XU
6f7c8fa8ab
Merge branch 'main' into feature/bin-multi-targets
2022-06-07 16:38:14 +10:00
Jiahao XU
ad3e707aa3
Fix install_from_package
: Rm use of opts.target
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 16:37:04 +10:00
Jiahao XU
3f2e03893a
Add Fetcher::target
to trait Fetcher
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 16:35:47 +10:00
Jiahao XU
456e896483
Use code 17 for MainExit::JoinErr
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 16:22:01 +10:00
Jiahao XU
903c9f5591
Refactor: Use Result::map_or_else
in main
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 16:19:07 +10:00
Jiahao XU
b6245bcf4b
Spawn entry()
in main
to improve parallelism
...
Using `rt.block_on`, the future returned by `entry` can only be run on
the main thread.
Buf if we use `tokio::spawn`, then it can be run on any thread.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 16:13:38 +10:00
Félix Saparelli
7fa053cbd1
Merge pull request #163 from NobodyXu/optimization
2022-06-07 17:58:58 +12:00
Jiahao XU
b2a533dbdb
Optimize GhCrateMeta::check
: Avoid converting url to str
...
Only to convert it back to `Url` in `helpers::remote_exists`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 15:40:55 +10:00
Jiahao XU
3d6679fd7d
Refactor MultiFetcher.first_available
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 15:35:21 +10:00
Jiahao XU
c393270899
Run fetchers in parallel in MultiFetcher.first_available
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 15:29:09 +10:00
Jiahao XU
d373ad5145
Require Send
and Sync
for trait Fetcher
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 15:28:48 +10:00
Jiahao XU
31b7439a69
Mod trait Fetcher::new
to return Arc<Self>
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-07 15:16:10 +10:00