nushell/scripts/install-all.sh

34 lines
939 B
Bash
Raw Normal View History

Clean up .sh scripts with shellcheck (#7261) Ran [`shellcheck`](https://github.com/koalaman/shellcheck) on our 3 shell scripts and fixed the warnings. This caught that the scripts were [broken because of their shebang](https://www.shellcheck.net/wiki/SC3030): ``` 〉./uninstall-all.sh ---------------------------------------------- Uninstall nu and all plugins from cargo/bin... ---------------------------------------------- ./uninstall-all.sh: 8: Syntax error: "(" unexpected ``` ``` 〉shellcheck *.sh In build-all-maclin.sh line 8: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In build-all-maclin.sh line 18: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In build-all-maclin.sh line 20: echo '' && cd crates/$plugin ^---------------^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo '' && cd crates/"$plugin" || exit In install-all.sh line 14: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In install-all.sh line 22: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In install-all.sh line 28: cd crates/$plugin && cargo install --path . && cd ../../ ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cd crates/"$plugin" && cargo install --path . && cd ../../ In uninstall-all.sh line 8: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In uninstall-all.sh line 16: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In uninstall-all.sh line 18: cargo uninstall $plugin ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cargo uninstall "$plugin" For more information: https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |... https://www.shellcheck.net/wiki/SC3030 -- In POSIX sh, arrays are undefined. https://www.shellcheck.net/wiki/SC3054 -- In POSIX sh, array references are... ``` To fix SC2164 I used `set -euo pipefail` as per this Julia Evans suggestion: ![image](https://user-images.githubusercontent.com/26268125/204181003-22283dcb-924d-4c0d-91f6-1ea635dbf0fc.png)
2022-11-28 03:13:06 +00:00
#!/usr/bin/env bash
REFACTOR: clean the root of the repo (#9231) # Description i've almost always wanted to clean up the root of the repo, so here is my take at it, with some important advice given by @fdncred :relieved: - `README.release.txt` is now gone and directly inline in the `release-pkg` script used in the `release` *workflow* - `build.rs` has been moved to `scripts/` and its path has been changed in [`Cargo.toml`](https://github.com/amtoine/nushell/blob/refactor/clean-root/Cargo.toml#L3) according to the [*Build Scripts* section](https://doc.rust-lang.org/cargo/reference/build-scripts.html#build-scripts) of *The Cargo Book* - i've merged `images/` into `assets/` and fix the only mention to the GIF in the README - i've moved the `docs/README.md` inside the main `README.md` as a new [*Configuration* section](https://github.com/amtoine/nushell/tree/refactor/clean-root#configuration) - the very deprecated `pkg_mgrs/` has been removed - all the `.nu`, `.sh`, `.ps1` and `.cmd` scripts have been moved to `scripts/` ### things i've left as-is - all the other `.md` documents - the configuration files - all the Rust and core stuff - `docker/` - `toolkit.nu` - the `wix/` diretory which appears to be important for `winget` # User-Facing Changes scripts that used to rely on the paths to some of the scripts should now call the scripts inside `scripts/` => i think this for the greater good, it was not pretty nor scalable to have a bunch of scripts in the root of our main `nushell` :scream: *i even think we might want to move these scripts outside the main `nushell` repo* maybe to `nu_scripts` or some other tool :+1: # Tests + Formatting - :green_circle: `toolkit fmt` - :green_circle: `toolkit clippy` - :black_circle: `toolkit test` - :black_circle: `toolkit test stdlib` # After Submitting ``` $nothing ```
2023-05-20 12:57:51 +00:00
Clean up .sh scripts with shellcheck (#7261) Ran [`shellcheck`](https://github.com/koalaman/shellcheck) on our 3 shell scripts and fixed the warnings. This caught that the scripts were [broken because of their shebang](https://www.shellcheck.net/wiki/SC3030): ``` 〉./uninstall-all.sh ---------------------------------------------- Uninstall nu and all plugins from cargo/bin... ---------------------------------------------- ./uninstall-all.sh: 8: Syntax error: "(" unexpected ``` ``` 〉shellcheck *.sh In build-all-maclin.sh line 8: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In build-all-maclin.sh line 18: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In build-all-maclin.sh line 20: echo '' && cd crates/$plugin ^---------------^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails. ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: echo '' && cd crates/"$plugin" || exit In install-all.sh line 14: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In install-all.sh line 22: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In install-all.sh line 28: cd crates/$plugin && cargo install --path . && cd ../../ ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cd crates/"$plugin" && cargo install --path . && cd ../../ In uninstall-all.sh line 8: NU_PLUGINS=( ^-- SC3030 (warning): In POSIX sh, arrays are undefined. In uninstall-all.sh line 16: for plugin in "${NU_PLUGINS[@]}" ^--------------^ SC3054 (warning): In POSIX sh, array references are undefined. In uninstall-all.sh line 18: cargo uninstall $plugin ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: cargo uninstall "$plugin" For more information: https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |... https://www.shellcheck.net/wiki/SC3030 -- In POSIX sh, arrays are undefined. https://www.shellcheck.net/wiki/SC3054 -- In POSIX sh, array references are... ``` To fix SC2164 I used `set -euo pipefail` as per this Julia Evans suggestion: ![image](https://user-images.githubusercontent.com/26268125/204181003-22283dcb-924d-4c0d-91f6-1ea635dbf0fc.png)
2022-11-28 03:13:06 +00:00
set -euo pipefail
REFACTOR: clean the root of the repo (#9231) # Description i've almost always wanted to clean up the root of the repo, so here is my take at it, with some important advice given by @fdncred :relieved: - `README.release.txt` is now gone and directly inline in the `release-pkg` script used in the `release` *workflow* - `build.rs` has been moved to `scripts/` and its path has been changed in [`Cargo.toml`](https://github.com/amtoine/nushell/blob/refactor/clean-root/Cargo.toml#L3) according to the [*Build Scripts* section](https://doc.rust-lang.org/cargo/reference/build-scripts.html#build-scripts) of *The Cargo Book* - i've merged `images/` into `assets/` and fix the only mention to the GIF in the README - i've moved the `docs/README.md` inside the main `README.md` as a new [*Configuration* section](https://github.com/amtoine/nushell/tree/refactor/clean-root#configuration) - the very deprecated `pkg_mgrs/` has been removed - all the `.nu`, `.sh`, `.ps1` and `.cmd` scripts have been moved to `scripts/` ### things i've left as-is - all the other `.md` documents - the configuration files - all the Rust and core stuff - `docker/` - `toolkit.nu` - the `wix/` diretory which appears to be important for `winget` # User-Facing Changes scripts that used to rely on the paths to some of the scripts should now call the scripts inside `scripts/` => i think this for the greater good, it was not pretty nor scalable to have a bunch of scripts in the root of our main `nushell` :scream: *i even think we might want to move these scripts outside the main `nushell` repo* maybe to `nu_scripts` or some other tool :+1: # Tests + Formatting - :green_circle: `toolkit fmt` - :green_circle: `toolkit clippy` - :black_circle: `toolkit test` - :black_circle: `toolkit test stdlib` # After Submitting ``` $nothing ```
2023-05-20 12:57:51 +00:00
DIR=$(readlink -f $(dirname "${BASH_SOURCE[0]}"))
REPO_ROOT=$(dirname $DIR)
echo "-----------------------------------------------------------------"
echo "Installing nushell (nu) with dataframes and all the plugins"
echo "-----------------------------------------------------------------"
echo ""
echo "Install nushell from local..."
echo "----------------------------------------------"
Remove feat `extra` and include in default (#12140) # Description The intended effect of the `extra` feature has been undermined by introducing the full builds on our release pages and having more activity on some of the extra commands. To simplify the feature matrix let's get rid of it and focus our effort on truly either refining a command to well-specified behavior or discarding it entirely from the `nu` binary and moving it into plugins. ## Details - Remove `--features extra` from CI - Don't explicitly name `extra` in full build wf - Remove feature extra from build-help scripts - Update README in `nu-cmd-extra` - Remove feature `extra` - Fix previously dead `format pattern` tests - Relax signature of `to html` - Fix/ignore `html::test_no_color_flag` - Remove dead features from `version` - Refine `to html` type signature # User-Facing Changes The commands that were previously only available when building with `--features extra` will now be available to everyone. This increases the number of dependencies slightly but has a limited impact on the overall binary size. # Tests + Formatting Some tests that were left in `nu-command` during cratification were dead because the feature was not passed to `nu-command` and only to `nu-cmd-lang` for feature-flag mention in `version`. Those tests have now been either fixed or ignored in one case. # After Submitting There may be places in the documentation where we point to `--features extra` that will now be moot (apart from the generated command help)
2024-03-10 16:29:02 +00:00
cargo install --force --path "$REPO_ROOT" --features=dataframe --locked
NU_PLUGINS=(
'nu_plugin_inc'
'nu_plugin_gstat'
'nu_plugin_query'
'nu_plugin_example'
2022-08-11 14:40:35 +00:00
'nu_plugin_custom_values'
Move some `from xxx` commands to plugin (#7942) # Description From nushell 0.8 philosophy: https://github.com/nushell/nushell.github.io/blob/main/contributor-book/philosophy_0_80.md#core-categories > The following categories should be moved to plugins: Uncommon format support So this pr is trying to move following commands to plugin: - [X] from eml - [x] from ics - [x] from ini - [x] from vcf And we can have a new plugin handles for these formatting, currently it's implemented here: https://github.com/WindSoilder/nu_plugin_format The command usage should be the same to original command. If it's ok, the plugin can support more formats like [parquet](https://github.com/fdncred/nu_plugin_from_parquet), or [EDN format](https://github.com/nushell/nushell/issues/6415), or something else. Just create a draft pr to show what's the blueprint looks like, and is it a good direction to move forward? # User-Facing Changes _(List of all changes that impact the user experience here. This helps us keep track of breaking changes.)_ # Tests + Formatting Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date.
2023-02-13 12:42:08 +00:00
'nu_plugin_formats'
)
for plugin in "${NU_PLUGINS[@]}"
do
echo ''
echo "----------------------------------------------"
echo "Install plugin $plugin from local..."
echo "----------------------------------------------"
REFACTOR: clean the root of the repo (#9231) # Description i've almost always wanted to clean up the root of the repo, so here is my take at it, with some important advice given by @fdncred :relieved: - `README.release.txt` is now gone and directly inline in the `release-pkg` script used in the `release` *workflow* - `build.rs` has been moved to `scripts/` and its path has been changed in [`Cargo.toml`](https://github.com/amtoine/nushell/blob/refactor/clean-root/Cargo.toml#L3) according to the [*Build Scripts* section](https://doc.rust-lang.org/cargo/reference/build-scripts.html#build-scripts) of *The Cargo Book* - i've merged `images/` into `assets/` and fix the only mention to the GIF in the README - i've moved the `docs/README.md` inside the main `README.md` as a new [*Configuration* section](https://github.com/amtoine/nushell/tree/refactor/clean-root#configuration) - the very deprecated `pkg_mgrs/` has been removed - all the `.nu`, `.sh`, `.ps1` and `.cmd` scripts have been moved to `scripts/` ### things i've left as-is - all the other `.md` documents - the configuration files - all the Rust and core stuff - `docker/` - `toolkit.nu` - the `wix/` diretory which appears to be important for `winget` # User-Facing Changes scripts that used to rely on the paths to some of the scripts should now call the scripts inside `scripts/` => i think this for the greater good, it was not pretty nor scalable to have a bunch of scripts in the root of our main `nushell` :scream: *i even think we might want to move these scripts outside the main `nushell` repo* maybe to `nu_scripts` or some other tool :+1: # Tests + Formatting - :green_circle: `toolkit fmt` - :green_circle: `toolkit clippy` - :black_circle: `toolkit test` - :black_circle: `toolkit test stdlib` # After Submitting ``` $nothing ```
2023-05-20 12:57:51 +00:00
cargo install --force --path "$REPO_ROOT/crates/$plugin"
done