Commit graph

299 commits

Author SHA1 Message Date
Jiahao XU
9552e0e8ed
Add comment to entry to improve readbility
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:31:29 +10:00
Jiahao XU
79ec122647
Refactor entry: Avoid Arc::clone
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:26:16 +10:00
Jiahao XU
119192f8ee
Refactor main.rs: Print resolution in resolve
This simplified `entry`.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:21:35 +10:00
Jiahao XU
bcb46cd736
Optimize main.rs: Avoid frequent Box::clone
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:17:56 +10:00
Jiahao XU
c66d8154eb
Print out resolution in optimized path
where confirmation isn't required.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:13:06 +10:00
Jiahao XU
f0fb7da99b
Refactor main.rs: Extract fn Resolution::print
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:11:27 +10:00
Jiahao XU
90059c11cf
Optimize: Launch install immediately if confirmation is not required
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:09:29 +10:00
Jiahao XU
8ca85382af
Refactor: Avoid repeated heap alloc of temp_dir
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 17:00:18 +10:00
Jiahao XU
d514219ee4
Refactor main.rs: Extract new fn install
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:58:04 +10:00
Jiahao XU
40a872dbe3
Avoid Box::clone for targets
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:54:45 +10:00
Jiahao XU
7f11b74f5e
Support new feature batch installation!
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:46:51 +10:00
Jiahao XU
5e7aab7373
Impl helpers::await_task: Handle JoinError
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:46:21 +10:00
Jiahao XU
730f7d6c15
Refactor main.rs: Simplify install_from_source
Rm arg `opts`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:21:03 +10:00
Jiahao XU
d6db552db1
Refactor main.rs: Extract new fn resolve
prepare for the new feature batch installation.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:16:50 +10:00
Jiahao XU
409f31f0bf
derive(Clone) for CrateName
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:07:47 +10:00
Jiahao XU
9e1f873bb5
derive(Clone) for DesiredTargets
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-18 16:05:37 +10:00
Jiahao XU
aecc474f29
Rm unused BinstallError::VersionWarning
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 18:34:20 +10:00
Jiahao XU
c87941211c
Treat 1.2.3 as =1.2.3 to match cargo-install
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 18:33:31 +10:00
Jiahao XU
e2207f7b59
Add diagnostic(help) to DuplicateVersionReq
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 17:12:01 +10:00
Jiahao XU
ff0bd4d948
Support specifing ver via crate_name@version
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 17:08:54 +10:00
Jiahao XU
41961ce218
Add new variant BinstallError::DuplicateVersionReq
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 17:03:12 +10:00
Jiahao XU
38c8bc8cf2
Impl new type helpes::CrateName
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-12 16:47:44 +10:00
Jiahao XU
4a9e04967c
Refactor: Mv confirmation from install_from_source to entry
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-11 22:21:11 +10:00
Jiahao XU
8bbc6d0171
Rm unused lint allow(clippy::too_many_arguments)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-11 22:19:21 +10:00
Jiahao XU
2d0c4a8c4e
Refactor: Extract fn collect_bin_files
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-11 22:18:45 +10:00
Jiahao XU
7a85cae859
Refactor: Mv confirm into entry and remove unncessary confirm
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-11 21:49:28 +10:00
Jiahao XU
fa63dbe5cf
Refactor: Rm global var helpers::CLIENT
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-10 18:07:07 +10:00
Félix Saparelli
63afa5b791
Just hide mimalloc behind a feature, available for all platforms 2022-07-06 23:33:51 +12:00
Félix Saparelli
e66dc60867
Also use mimalloc on musl 2022-07-06 23:31:24 +12:00
Félix Saparelli
fe724585ae
Use mimalloc on windows 2022-07-05 23:10:57 +12:00
Jiahao XU
5ad572fa42
Rename new_reqwest_client > get_reqwest_client
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-05 19:57:56 +10:00
Jiahao XU
6582eefd25
Refactor: Replace REQWESTCONFIG with initialize_reqwest_client
so that we don't need two `OnceCell`s.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-05 19:57:54 +10:00
Jiahao XU
50b436100e
Reuse Client everywhere instead of recreate one
which pools the connection to the same site (github.com).

This commit also sets `USER_AGENT` so that quickinstall
can reuse it.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-05 19:57:14 +10:00
Félix Saparelli
7518993212
Merge pull request #195 from NobodyXu/feature/atomic-install 2022-07-05 21:52:06 +12:00
Félix Saparelli
f056978858
Merge pull request #199 from NobodyXu/fix-and-improve-windows-target-detection 2022-07-05 21:49:35 +12:00
Félix Saparelli
68ba9b06f5
Create meta files if not present 2022-07-05 21:46:58 +12:00
Félix Saparelli
17cf6f5dc5
Write to .crates2.json 2022-07-05 21:17:59 +12:00
Félix Saparelli
1c2d005fd4
Write to .crates.toml 2022-07-04 23:53:47 +12:00
Jiahao XU
1ec1f972b7
Fix copy-paste error in detect_targets_windows
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-01 19:46:30 +10:00
Jiahao XU
8e58398f57
Fix windows target detection for abi gnullvm
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-01 19:34:52 +10:00
Jiahao XU
ec6f81935c
Refactor: Extract detect_alternative_targets
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-01 19:30:31 +10:00
Félix Saparelli
66a14d0c7c
Polish up new secure options 2022-06-28 03:19:04 +12:00
Félix Saparelli
4bc16863e0
Format -> formats 2022-06-28 03:19:04 +12:00
Félix Saparelli
401fa8772c
Merge pull request #194 from NobodyXu/fix/blocking 2022-06-28 03:14:27 +12:00
Félix Saparelli
9d70e33337
Merge pull request #193 from NobodyXu/fix/macos-target-detection
Fix macos detection: Use built-time `TARGET` as fallback
2022-06-28 03:10:18 +12:00
Jiahao XU
14c606d72b
Simplify BinFile::link_dest
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 23:27:16 +10:00
Jiahao XU
43238e39a3
Use atomic_symlink_file in install_link
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 23:26:46 +10:00
Jiahao XU
77ce57815c
Impl new fn helpers::symlink_file
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 23:26:30 +10:00
Jiahao XU
e9c86dfad4
Rm set_permissions in BinFile::install_bin
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 22:51:50 +10:00
Jiahao XU
d4105585db
Fix atomic_install: Copy permissions of src
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 22:50:30 +10:00