Skip to content

Commit 9eb9700

Browse files
committed
clean up install
1 parent 4502ada commit 9eb9700

File tree

1 file changed

+24
-17
lines changed

1 file changed

+24
-17
lines changed

.evergreen/install-dependencies.sh

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,48 @@ if [ "${CI:-}" == "true" ]; then
77
BIN_DIR=$DRIVERS_TOOLS_BINARIES
88
else
99
BIN_DIR=$HOME/.local/bin
10-
# Ensure bin dir is on the path.
11-
export PATH="$BIN_DIR:$PATH"
1210
fi
1311

12+
13+
_CURL_ARGS="--proto '=https' --tlsv1.2 -LsSf"
14+
15+
function _cargo_install() {
16+
# CARGO_HOME is defined in configure-env.sh
17+
export CARGO_HOME=${CARGO_HOME:-$HOME/.cargo/}
18+
export RUSTUP_HOME="${CARGO_HOME}/.rustup"
19+
. ${DRIVERS_TOOLS}/.evergreen/install-rust.sh
20+
cargo install "$@"
21+
}
22+
1423
# Install just.
15-
if [ ! -f $BIN_DIR/just ]; then
24+
if ! command -v just 2>/dev/null; then
1625
if [ "Windows_NT" = "${OS:-}" ]; then
1726
TARGET="--target x86_64-pc-windows-msvc"
1827
else
1928
TARGET=""
2029
fi
21-
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- $TARGET --to "$BIN_DIR" || {
22-
# CARGO_HOME is defined in configure-env.sh
23-
export CARGO_HOME=${CARGO_HOME:-$HOME/.cargo/}
24-
export RUSTUP_HOME="${CARGO_HOME}/.rustup"
25-
. ${DRIVERS_TOOLS}/.evergreen/install-rust.sh
26-
cargo install just
30+
curl $_CURL_ARGS https://just.systems/install.sh | bash -s -- $TARGET --to "$BIN_DIR" || {
31+
_cargo_install just
2732
if [ "Windows_NT" = "${OS:-}" ]; then
2833
mv $CARGO_HOME/bin/just.exe $BIN_DIR/just
2934
else
30-
mv $CARGO_HOME/binjust $BIN_DIR
35+
mv $CARGO_HOME/bin/just $BIN_DIR
3136
fi
3237
}
38+
if ! command -v just 2>/dev/null; then
39+
export PATH="$PATH:$BIN_DIR"
40+
fi
3341
fi
3442

3543
# Install uv.
36-
if [ ! -f $BIN_DIR/uv ]; then
44+
if ! command -v uv 2>/dev/null; then
3745
# On most non-Windows systems we can install directly.
3846
if [ "Windows_NT" != "${OS:-}" ]; then
39-
curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="$BIN_DIR" INSTALLER_NO_MODIFY_PATH=1 sh || true
47+
curl $_CURL_ARGS https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="$BIN_DIR" INSTALLER_NO_MODIFY_PATH=1 sh || true
4048
fi
4149
# On Windows or unsupported systems, fall back to installing from cargo.
4250
if [ ! -f $BIN_DIR/uv ]; then
43-
# CARGO_HOME is defined in configure-env.sh
44-
export CARGO_HOME=${CARGO_HOME:-$HOME/.cargo/}
45-
export RUSTUP_HOME="${CARGO_HOME}/.rustup"
46-
. ${DRIVERS_TOOLS}/.evergreen/install-rust.sh
47-
cargo install --git https://github.com/astral-sh/uv uv
51+
_cargo_install --git https://github.com/astral-sh/uv uv
4852
if [ "Windows_NT" = "${OS:-}" ]; then
4953
mv $CARGO_HOME/bin/uv.exe $BIN_DIR/uv
5054
mv $CARGO_HOME/bin/uvx.exe $BIN_DIR/uvx
@@ -53,4 +57,7 @@ if [ ! -f $BIN_DIR/uv ]; then
5357
mv $CARGO_HOME/bin/uvx $BIN_DIR
5458
fi
5559
fi
60+
if ! command -v uv 2>/dev/null; then
61+
export PATH="$PATH:$BIN_DIR"
62+
fi
5663
fi

0 commit comments

Comments
 (0)