Commit graph

26 commits

Author SHA1 Message Date
Félix Saparelli
529781a9a9
Format and link version mismatch warning 2022-06-01 00:29:18 +12:00
Félix Saparelli
7f0c818313
Don’t print "Fatal error" for UserAbort 2022-06-01 00:29:17 +12:00
Félix Saparelli
84ebc0039e
Pretty-print errors 2022-06-01 00:29:17 +12:00
Félix Saparelli
bd35c473a9
Use new Termination trait 2022-06-01 00:29:17 +12:00
Félix Saparelli
f56ed6fc4c
Add per-error exit codes 2022-06-01 00:29:17 +12:00
Félix Saparelli
c0eaffb05d
Refactor for rich errors, split user abort and genuine error 2022-06-01 00:29:14 +12:00
Lea Fairbanks
19d0616324
Add cli overrides 2022-05-31 18:00:07 +12:00
Félix Saparelli
e8464aba3d
Use tempfile over tempdir
Closes #135
2022-05-31 17:37:34 +12:00
Christof Weickhardt
42e327477b fix: abort install for specific version if not confirmed 2022-04-30 09:20:15 +00:00
Félix Saparelli
eeaba76b5f
Fallback to installing from source (#114)
Closes #108
2022-04-29 10:15:43 +12:00
Félix Saparelli
d68b0a209a
Clarify --version usage and add a warning at runtime (#116)
Fixes #113
2022-04-29 09:33:54 +12:00
Félix Saparelli
1757dc5344
Make fetcher creating infallible (#118)
Fixes #109
2022-04-29 09:24:46 +12:00
Félix Saparelli
b5d6d68d6d Fix quickinstall failing when packages are not wrapped in a folder 2022-02-16 22:42:37 +13:00
Félix Saparelli
5ef8abda3a Actually implement --dry-run 2022-02-16 17:16:29 +13:00
Félix Saparelli
370ae05620
QuickInstall support (#94)
See this issue: https://github.com/alsuren/cargo-quickinstall/issues/27

Quick Install is a hosted repo of built crates, essentially. The approach I've taken here is
a list of strategies:

1. First, we check the crate meta or default and build the URL to the repo. Once we have
   that, we perform a `HEAD` request to the URL to see if it's available.
2. If it's not, we build the URL to the quickinstall repo, and perform a `HEAD` to there.

As soon as we've got a hit, we use that. I've built it so it's extensible with more strategies.
This could be useful for #4.

This also adds a prompt before downloading from third-party sources, and logs a short
name for a source, which is easier to glance than a full URL, and includes a quick refactor
of the install/link machinery.
2022-02-16 14:49:07 +13:00
Félix Saparelli
0f9b4de449 Update deps 2021-11-17 21:53:20 +13:00
pinage404
6f05d630f0 fix: binary need to have the right to be executed 2021-10-17 12:35:15 +02:00
pinage404
90edbba221 fix: binary is not in a extracted folder 2021-10-17 12:34:36 +02:00
ryan
1c25b1346f added zip support, pkg-fmt override
swapped CI to build zips for windows
2021-04-08 18:39:54 +12:00
ryan
ef6a3d0ef7 fix version matching, now works with semver 2020-12-31 15:32:58 +13:00
ryan
a6c70b41e2 the big refactor 2020-12-31 14:41:52 +13:00
ryan
5fd78341c8 cleaning up binary logic, using standard [[bin]] definitions now 2020-12-31 13:19:58 +13:00
ryan
223c6ef43a playing with version matching
Can't use semver because crates.io hides alpha versions? not sure how this works in cargo
2020-12-30 18:13:38 +13:00
ryan
8777c355c5 swapped to symlink-based installation 2020-12-30 17:34:07 +13:00
ryan
8f7f7f5530 refactoring to library 2020-12-30 15:27:39 +13:00
ryan
d31364f5da Rough first attempt 2020-12-14 20:43:51 +13:00