2020-10-24 23:30:27 +07:00
|
|
|
#!/bin/bash -e
|
2020-10-01 17:52:16 +03:00
|
|
|
################################################################################
|
|
|
|
|
## File: pipx-packages.sh
|
|
|
|
|
## Desc: Install tools via pipx
|
|
|
|
|
################################################################################
|
|
|
|
|
|
2020-10-02 09:20:33 +03:00
|
|
|
|
2020-10-03 23:03:28 +03:00
|
|
|
export PATH="$PATH:/opt/pipx_bin"
|
2020-10-01 22:55:54 +03:00
|
|
|
|
2020-10-05 12:04:29 +03:00
|
|
|
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
2020-10-06 09:21:36 +03:00
|
|
|
pipx_packages=$(jq -r ".pipx[] .package" $toolset)
|
2020-10-01 17:52:16 +03:00
|
|
|
|
2020-10-05 12:04:29 +03:00
|
|
|
for package in $pipx_packages; do
|
2020-10-06 13:11:47 +03:00
|
|
|
python_version=$(jq -r ".pipx[] | select(.package == \"$package\") .python" $toolset)
|
2020-10-05 15:01:46 +03:00
|
|
|
if [ "$python_version" != "null" ]; then
|
|
|
|
|
python_path="/opt/hostedtoolcache/Python/$python_version*/x64/bin/python$python_version"
|
2020-10-05 13:31:53 +03:00
|
|
|
echo "Install $package into python $python_path"
|
|
|
|
|
pipx install $package --python $python_path
|
2020-10-05 15:01:46 +03:00
|
|
|
else
|
|
|
|
|
echo "Install $package into default python"
|
|
|
|
|
pipx install $package
|
2020-10-05 13:31:53 +03:00
|
|
|
fi
|
2020-10-05 12:04:29 +03:00
|
|
|
|
2020-10-05 13:41:50 +03:00
|
|
|
# Run tests to determine that the software installed as expected
|
2020-10-06 13:11:47 +03:00
|
|
|
cmd=$(jq -r ".pipx[] | select(.package == \"$package\") .cmd" $toolset)
|
2020-10-05 12:04:29 +03:00
|
|
|
if ! command -v $cmd; then
|
2020-10-05 13:41:50 +03:00
|
|
|
echo "$package was not installed"
|
2020-10-01 17:52:16 +03:00
|
|
|
exit 1
|
2020-10-05 12:04:29 +03:00
|
|
|
fi
|
|
|
|
|
done
|