diff options
author | Nick Gerace <nickagerace@gmail.com> | 2022-07-05 22:33:25 -0400 |
---|---|---|
committer | Nick Gerace <nickagerace@gmail.com> | 2022-07-05 22:33:25 -0400 |
commit | 81ffdad9565354866b6ba379b147d805869f094d (patch) | |
tree | f40cc1cd19644bfa0a4ac79e7f2aac6ebb3c97ff | |
parent | e2de9e9e6588d1931b0ef56c09999b2b4aff1d13 (diff) | |
download | gfold-81ffdad9565354866b6ba379b147d805869f094d.zip |
Update to 4.0.1
Functional:
- Update "Cargo.toml" version to 4.0.1
- Bump all packages
- Add warnings check to "cargo doc" in CI
- Remove bash scripts (install and uninstall) and move their logic to
markdown docs
Docs:
- Move download and install from source instructions to their own file
- Add "cargo doc" warnings check to dev docs
- Rename scripts to performance testing scripts where mentioned
- Add "quiet" flag to "cargo run" for scripts
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
-rw-r--r-- | .github/workflows/ci.yml | 3 | ||||
-rw-r--r-- | Cargo.lock | 138 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | README.md | 36 | ||||
-rw-r--r-- | docs/DEVELOPING.md | 15 | ||||
-rw-r--r-- | docs/MANUAL_INSTALL.md | 89 | ||||
-rw-r--r-- | rustfmt.toml | 1 | ||||
-rw-r--r-- | scripts/README.md | 10 | ||||
-rwxr-xr-x | scripts/install.sh | 58 | ||||
-rwxr-xr-x | scripts/uninstall.sh | 33 |
10 files changed, 176 insertions, 209 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da5e6a9..e61c967 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,9 @@ jobs: - uses: actions-rs/cargo@v1 with: command: doc + args: --all + env: + RUSTDOCFLAGS: "-Dwarnings" - uses: actions-rs/cargo@v1 with: command: test @@ -19,18 +19,18 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "anyhow" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" dependencies = [ "backtrace", ] [[package]] name = "argh" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb41d85d92dfab96cb95ab023c265c5e4261bb956c0fb49ca06d90c570f1958" +checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62" dependencies = [ "argh_derive", "argh_shared", @@ -38,9 +38,9 @@ dependencies = [ [[package]] name = "argh_derive" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be69f70ef5497dd6ab331a50bd95c6ac6b8f7f17a7967838332743fbd58dc3b5" +checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc" dependencies = [ "argh_shared", "heck", @@ -51,9 +51,9 @@ dependencies = [ [[package]] name = "argh_shared" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6f8c380fa28aa1b36107cd97f0196474bb7241bb95a453c5c01a15ac74b2eac" +checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda" [[package]] name = "atty" @@ -110,9 +110,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "crossbeam-channel" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" +checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" dependencies = [ "cfg-if", "crossbeam-utils", @@ -131,26 +131,26 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "lazy_static", "memoffset", + "once_cell", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83" dependencies = [ "cfg-if", - "lazy_static", + "once_cell", ] [[package]] @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "either" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" [[package]] name = "env_logger" @@ -202,9 +202,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if", "libc", @@ -213,7 +213,7 @@ dependencies = [ [[package]] name = "gfold" -version = "4.0.0" +version = "4.0.1" dependencies = [ "anyhow", "argh", @@ -237,9 +237,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "git2" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e77a14ffc6ba4ad5188d6cf428894c4fcfda725326b37558f35bb677e712cec" +checksum = "d0155506aab710a86160ddb504a480d2964d7ab5b9e62419be69e0032bc5931c" dependencies = [ "bitflags", "libc", @@ -285,9 +285,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" [[package]] name = "jobserver" @@ -299,22 +299,16 @@ dependencies = [ ] [[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] name = "libc" -version = "0.2.125" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libgit2-sys" -version = "0.13.3+1.4.2" +version = "0.13.4+1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c24d36c3ac9b9996a2418d6bf428cc0bc5d1a814a84303fc60986088c5ed60de" +checksum = "d0fa6563431ede25f5cc7f6d803c6afbc1c5d3ad3d4925d12c882bf2b526f5d1" dependencies = [ "cc", "libc", @@ -324,9 +318,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.6" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e7e15d7610cce1d9752e137625f14e61a28cd45929b6e12e47b50fe154ee2e" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "libc", @@ -366,9 +360,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" +checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" dependencies = [ "adler", ] @@ -393,6 +387,12 @@ dependencies = [ ] [[package]] +name = "once_cell" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] name = "percent-encoding" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -406,27 +406,27 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "proc-macro2" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" +checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" dependencies = [ "proc-macro2", ] [[package]] name = "rayon" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg", "crossbeam-deque", @@ -436,9 +436,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -474,9 +474,9 @@ checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "scopeguard" @@ -486,18 +486,18 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.137" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" +checksum = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.137" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" +checksum = "023e9b1467aef8a10fb88f25611870ada9800ef7e22afce356bb0d2387b6f27c" dependencies = [ "proc-macro2", "quote", @@ -506,9 +506,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" +checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" dependencies = [ "itoa", "ryu", @@ -517,13 +517,13 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.93" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04066589568b72ec65f42d65a1a52436e954b168773148893c020269563decf2" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -586,10 +586,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] +name = "unicode-ident" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" + +[[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" dependencies = [ "tinyvec", ] @@ -601,12 +607,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" [[package]] -name = "unicode-xid" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" - -[[package]] name = "url" version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -626,9 +626,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "winapi" @@ -10,7 +10,7 @@ readme = "README.md" repository = "https://github.com/nickgerace/gfold/" edition = "2021" -version = "4.0.0" +version = "4.0.1" [dependencies] anyhow = { version = "1", features = ["backtrace"] } @@ -179,39 +179,11 @@ cargo install-update -a ### Download a Binary If you do not want to use one of the above installation methods and do not want to clone the repository, you can download a binary from the [releases](https://github.com/nickgerace/gfold/releases) page. +For an example on how to do that, refer to the [manual install](./docs/MANUAL_INSTALL.md) guide. -#### Downloading and Installing the Binary +### Build From Source -If you would prefer to use a convenience script over downloading directly from the aforementioned releases page, we have one! -You can execute the installation helper script on a compatible system with `bash` installed (e.g. macOS and Linux). - -```shell -curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/install.sh | bash -``` - -_Note:_ the installation convenience script _does not verify the binary with a checksum_. -Discretion is advised, including downloading and reading the script before execution. - -#### Uninstalling the Downloaded Binary - -To uninstall `gfold` fully after using the above installation method, execute the following script: - -```shell -curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/uninstall.sh | bash -``` - -The uninstall script can also be used for cleanup in the event of a failed install. - -### Build From Source Locally - -If you want to install from source locally, and not from [crates.io](https://crates.io/crates/gfold), you can clone the repository and build `gfold`. - -```shell -( - git clone https://github.com/nickgerace/gfold.git - cargo install --locked --path gfold -) -``` +If you would like an example on how to build from source, refer to the [manual install](./docs/MANUAL_INSTALL.md) guide. ### Preferred Installation Method Not Listed? @@ -248,4 +220,4 @@ Name | Type | Description [Arch Linux community repository](https://archlinux.org/packages/community/x86_64/gfold/) | packaging | the `gfold` package _(note: before moving to the community repository, the [AUR](https://github.com/orhun/PKGBUILDs) was previously used for distribution)_ ["One Hundred Rust Binaries"](https://www.wezm.net/v2/posts/2020/100-rust-binaries/page2/) | article | featured `gfold` [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix) | packaging | the `gfold` package -[nvim-gfold.lua](https://github.com/AckslD/nvim-gfold.lua) | project | a `neovim` plugin for `gfold` *([announcement Reddit post](https://www.reddit.com/r/neovim/comments/t209wy/introducing_nvimgfoldlua/))* +[nvim-gfold.lua](https://github.com/AckslD/nvim-gfold.lua) | project | a `neovim` plugin for `gfold` *([announcement Reddit post](https://www.reddit.com/r/neovim/comments/t209wy/introducing_nvimgfoldlua/))*
\ No newline at end of file diff --git a/docs/DEVELOPING.md b/docs/DEVELOPING.md index 51113ac..929b42c 100644 --- a/docs/DEVELOPING.md +++ b/docs/DEVELOPING.md @@ -18,17 +18,11 @@ Now, ensure that lints, tests, and builds succeed. ```shell cargo fmt --all -- --check cargo clippy -- -D warnings -cargo doc --all -cargo test +RUSTDOCFLAGS="-Dwarnings" cargo doc --all +cargo test -- --nocapture cargo build --all-targets ``` -> Alternatively, you can replace `cargo test` above with [cargo nextest](https://github.com/nextest-rs/nextest). -> -> ```shell -> cargo nextest run -> ``` - If you'd like to mass "fix" everything, you should commit/save existing work and execute the following: ```shell @@ -36,10 +30,9 @@ cargo fix --all-targets --all-features --allow-dirty --allow-staged cargo clippy --fix --all-features --all-targets --allow-dirty --allow-staged ``` -## Performance Checks +## Running Performance Testing Scripts -Navigate to the [README in the `scripts` directory](../scripts/README.md) for more information on -how to run performance checks. +For performance testing, navigate to the [README](../scripts/README.md) to get start. ## Optional Checks diff --git a/docs/MANUAL_INSTALL.md b/docs/MANUAL_INSTALL.md new file mode 100644 index 0000000..02e7473 --- /dev/null +++ b/docs/MANUAL_INSTALL.md @@ -0,0 +1,89 @@ +# Manual Install + +This document contains methods on how to install `gfold` "manually" (i.e. without a package manager or registry). + +## Download and Install a Binary on macOS and Linux + +Executing the commands in this section requires the following: + +- macOS or Linux (GNU, not MUSL) system +- `x86_64 / amd64` architecture +- `bash` shell (or compatible) +- `jq`, `wget` and `curl` installed and in `PATH` + +First, let's ensure we have our prerequisite binaries installed. + +```bash +for BINARY in "jq" "wget" "curl"; do + if ! [ "$(command -v ${BINARY})" ]; then + echo "\"$BINARY\" must be installed and in PATH" + return + fi +done +``` + +Now, let's determine which binary we need to choose based on our platform. + +```bash +INSTALL_OS="" +if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "x86_64" ]; then + INSTALL_OS="linux-gnu" +elif [ "$(uname -s)" = "Darwin" ] && [ "$(uname -m)" = "x86_64" ]; then + INSTALL_OS="darwin" +else + echo "must execute on Linux or Darwin x86_64 (x86_64 / amd64) host" + return +fi +``` + +We need to determine to latest tag to build our release URL. + +```bash +LATEST=$(curl -s https://api.github.com/repos/nickgerace/gfold/releases/latest | jq -r ".tag_name") +``` + +With the latest tag and platform determined, we can finally download and install `gfold` to `/usr/local/bin/`. + +```bash +# Remove gfold if it is already in /tmp. +if [ -f /tmp/gfold ]; then + rm /tmp/gfold +fi + +# Perform the download. +wget -O /tmp/gfold https://github.com/nickgerace/gfold/releases/download/$LATEST/gfold-$INSTALL_OS-amd64 + +# Set executable permissions. +chmod +x /tmp/gfold + +# Remove gfold if it is already in /usr/local/bin/. +if [ -f /usr/local/bin/gfold ]; then + rm /usr/local/bin/gfold +fi + +# Move gfold into /usr/local/bin/. +mv /tmp/gfold /usr/local/bin/gfold +``` + +### Uninstalling and Cleaning Up + +If you would like to uninstall `gfold` and remove potential artifacts from the method above, execute the following: + +```bash +# Remove potential installed and/or downloaded artifacts. +rm /tmp/gfold +rm /usr/local/bin/gfold + +# (Optional) remove the configuration file. +rm $HOME/.config/gfold.toml + ``` + +## Build From Source Locally with Cargo + +If you want to install from source locally, and not from [crates.io](https://crates.io/crates/gfold), you can clone the repository and build `gfold`. +This should work on all major platforms. + +```shell +git clone https://github.com/nickgerace/gfold.git +cargo install --path gfold +```
\ No newline at end of file diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..43d4840 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1 @@ +newline_style = "Unix" diff --git a/scripts/README.md b/scripts/README.md index 513bacb..eb72c92 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,15 +1,15 @@ -# Scripts +# Performance Testing Scripts Run a script by executing `cargo run` in its directory. ```shell -cd ./scripts/<script>/ -cargo run +cd <path-to-root>/scripts/<script>/ +cargo run -q ``` -Alternatively, you can run `cargo run` from another directory. +Alternatively, you can execute `cargo run` from another directory. Here is an example: ```shell -cargo run --manifest-path ./scripts/<script>/Cargo.toml +cargo run -q --manifest-path <path-to-root>/scripts/<script>/Cargo.toml ```
\ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh deleted file mode 100755 index 56de771..0000000 --- a/scripts/install.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -set -e - -function log { - if [ ! "$1" ] || [ "$1" == "" ]; then - die "internal error: log message empty: please file an issue: https://github.com/nickgerace/gfold/issues/new" - fi - echo "[gfold-installer] $1" -} - -function die { - if [ ! "$1" ] || [ "$1" == "" ]; then - die "internal error: error message empty: please file an issue: https://github.com/nickgerace/gfold/issues/new" - fi - log "error: $1" - exit 1 -} - -function check-dependencies { - for BINARY in "jq" "wget" "curl"; do - if ! [ "$(command -v ${BINARY})" ]; then - die "\"$BINARY\" must be installed and in PATH" - fi - done -} - -function perform-install { - local INSTALL_OS - if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "x86_64" ]; then - INSTALL_OS="linux-gnu" - elif [ "$(uname -s)" = "Darwin" ] && [ "$(uname -m)" = "x86_64" ]; then - INSTALL_OS="darwin" - else - die "must execute on Linux or Darwin x86_64 host (for more installation methods, refer to the docs: https://github.com/nickgerace/gfold)" - fi - - LATEST=$(curl -s https://api.github.com/repos/nickgerace/gfold/releases/latest | jq -r ".tag_name") - if [ -f /tmp/gfold ]; then - rm /tmp/gfold - fi - wget -O /tmp/gfold https://github.com/nickgerace/gfold/releases/download/$LATEST/gfold-$INSTALL_OS-amd64 - chmod +x /tmp/gfold - - if [ -f /usr/local/bin/gfold ]; then - rm /usr/local/bin/gfold - fi - mv /tmp/gfold /usr/local/bin/gfold - - if [ $INSTALL_OS = "linux-gnu" ]; then - log "assuming glibc (GNU) and not another libc (e.g. musl-libc)" - log "if using another libc, you may need to choose another installation method" - log "for more information, refer to the docs: https://github.com/nickgerace/gfold" - fi - log "gfold has been installed to /usr/local/bin/gfold" -} - -check-dependencies -perform-install
\ No newline at end of file diff --git a/scripts/uninstall.sh b/scripts/uninstall.sh deleted file mode 100755 index 25ca4df..0000000 --- a/scripts/uninstall.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -set -e - -function log { - if [ ! "$1" ] || [ "$1" == "" ]; then - die "internal error: log message empty: please file an issue: https://github.com/nickgerace/gfold/issues/new" - fi - echo "[gfold-uninstaller] $1" -} - -function die { - if [ ! "$1" ] || [ "$1" == "" ]; then - die "internal error: error message empty: please file an issue: https://github.com/nickgerace/gfold/issues/new" - fi - log "error: $1" - exit 1 -} - -function perform-uninstall { - for FILE in "/tmp/gfold" "/usr/local/bin/gfold"; do - if [ -f "$FILE" ]; then - rm "$FILE" - log "deleted $FILE" - fi - done - log "uninstallation and cleanup has completed successfully" - - if [ -f $HOME/.config/gfold.toml ]; then - log "you may want to delete or backup the config file: $HOME/.config/gfold.toml" - fi -} - -perform-uninstall
\ No newline at end of file |