01f5d02477757dcfd2050ce0160b3ad7c9207f42
[webi-installers/.git] / powershell / install.sh
1 #!/bin/bash
2
3 function __init_powershell() {
4     set -e
5     set -u
6
7     pkg_cmd_name="pwsh"
8     # no ./bin prefix
9     pkg_src_cmd="$HOME/.local/opt/pwsh-v$WEBI_VERSION/pwsh"
10     pkg_dst_cmd="$HOME/.local/opt/pwsh/pwsh"
11
12     pkg_get_current_version() {
13         # 'pwsh --version' has output in this format:
14         #       PowerShell 7.0.2
15         # This trims it down to just the version number:
16         #       7.0.2
17         echo "$(pwsh --version 2> /dev/null | head -n 1 | cut -d' ' -f2)"
18     }
19
20     pkg_install() {
21         # mv ./* "$HOME/.local/opt/pwsh-v7.0.2"
22         mkdir -p "$pkg_src"
23         mv ./* "$pkg_src"
24
25         # symlink powershell to pwsh
26         pushd "$pkg_src" > /dev/null
27         ln -s pwsh powershell
28         popd > /dev/null
29     }
30
31     pkg_link() {
32         # rm -f "$HOME/.local/opt/pwsh"
33         rm -f "$pkg_dst"
34
35         # ln -s "$HOME/.local/opt/pwsh-v7.0.2" "$HOME/.local/opt/pwsh"
36         ln -s "$pkg_src" "$pkg_dst"
37     }
38
39     pkg_done_message() {
40         echo "Installed 'pwsh' at $pkg_dst"
41     }
42 }
43
44 __init_powershell