Skip to content

Commit 6c51b61

Browse files
committed
configure.sh - simplify vendoring calls, shellcheck
1 parent 13f186d commit 6c51b61

File tree

5 files changed

+41
-57
lines changed

5 files changed

+41
-57
lines changed

configure.sh

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,51 +29,56 @@ function download() {
2929

3030
QUARTO_VENDOR_BINARIES=${QUARTO_VENDOR_BINARIES=true}
3131

32-
DENO_BIN=${QUARTO_DENO=$QUARTO_BIN_PATH/tools/$DENO_DIR/deno}
32+
DENO_BIN=${QUARTO_DENO=$QUARTO_BIN_PATH/tools/$DENO_ARCH_DIR/deno}
3333

3434
if [[ "${QUARTO_VENDOR_BINARIES}" = "true" ]]; then
35-
DENO_VERSION_NO_V=$(echo $DENO | sed 's/v//')
36-
if [[ (! -f "$DENO_BIN") || $("$DENO_BIN" --version | grep $DENO_VERSION_NO_V) == "" ]]; then
35+
DENO_VERSION_NO_V=$(echo "$DENO" | sed 's/v//')
36+
if [[ (! -f "$DENO_BIN") || $("$DENO_BIN" --version | grep "$DENO_VERSION_NO_V") == "" ]]; then
3737
# Ensure directory is there for Deno
3838
echo "Bootstrapping Deno..."
3939

40-
rm -rf $QUARTO_DIST_PATH
40+
rm -rf "$QUARTO_DIST_PATH"
4141

4242
## Binary Directory
4343
mkdir -p "$QUARTO_BIN_PATH/tools"
44-
cd $QUARTO_BIN_PATH/tools
44+
cd "$QUARTO_BIN_PATH/tools"
4545

4646
# Download Deno
4747
for DENOFILE in $DENOFILES; do
4848
download "$DENOURL/$DENO/$DENOFILE" "$DENOFILE"
49-
unzip -o $DENOFILE
50-
51-
mkdir -p $DENO_DIR
52-
mv deno $DENO_DIR
53-
rm $DENOFILE
49+
unzip -o "$DENOFILE"
50+
mkdir -p "$DENO_ARCH_DIR"
51+
mv deno "$DENO_ARCH_DIR"
52+
rm "$DENOFILE"
5453
done
5554

5655
# we create a symlink here so that we need only one quarto-cli.code-workspace file
57-
ln -s $DENO_DIR/deno deno
56+
ln -s $DENO_ARCH_DIR/deno deno
5857

5958
# If a canary commit is provided, upgrade to that
60-
if [ ! -z "$DENO_CANARY_COMMIT" ]; then
59+
if [ -n "$DENO_CANARY_COMMIT" ]; then
6160
echo [Upgrading Deno to Canary]
62-
./deno upgrade --canary --version $DENO_CANARY_COMMIT
61+
./deno upgrade --canary --version "$DENO_CANARY_COMMIT"
6362
fi
6463

6564
# write deno version file for later use
66-
mkdir -p $QUARTO_BIN_PATH/../config
67-
echo $DENO > $QUARTO_BIN_PATH/../config/deno-version
65+
mkdir -p "$QUARTO_BIN_PATH/../config"
66+
echo "$DENO" > "$QUARTO_BIN_PATH/../config/deno-version"
6867
fi
69-
export DENO_BIN_PATH=$QUARTO_BIN_PATH/tools/$DENO_DIR/deno
68+
export DENO_BIN_PATH=$QUARTO_BIN_PATH/tools/$DENO_ARCH_DIR/deno
7069
else
7170
if [ -z "$DENO_BIN_PATH" ]; then
7271
echo "DENO_BIN_PATH is not set. You either need to allow QUARTO_VENDOR_BINARIES or set DENO_BIN_PATH to the path of a deno binary."
7372
exit 1
7473
fi
7574
fi
7675

76+
if [ "$QUARTO_DENO_DIR" == "" ]; then
77+
export DENO_DIR=$QUARTO_BIN_PATH/deno_cache
78+
else
79+
export DENO_DIR=$QUARTO_DENO_DIR
80+
fi
81+
7782
echo "Downloading Deno Stdlib"
7883
"${QUARTO_PACKAGE_PATH}/scripts/deno_std/download.sh"
7984

@@ -82,8 +87,10 @@ pushd "$QUARTO_PACKAGE_PATH/src/"
8287
# Run the configure command to bootstrap installation
8388
./quarto-bld configure --log-level info
8489

90+
popd
91+
8592
# download typescript dependencies
86-
../scripts/vendoring/vendor.sh
93+
source package/scripts/vendoring/vendor.sh
8794

8895
# Run the quarto command with 'reload', which will force the import_map dependencies
8996
# to be reloaded

package/scripts/common/utils.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# DENOFILES is only required at configure.sh, but DENO_DIR is used in many places
1+
# DENOFILES is only required at configure.sh, but DENO_ARCH_DIR is used in many places
22

33
if [[ $OSTYPE == 'darwin'* ]]; then
44
DENOURL=https://github.com/denoland/deno/releases/download
55
FULLARCH=$(uname -sm)
66

77

88
if [[ $FULLARCH == "Darwin x86_64" ]]; then
9-
DENO_DIR=x86_64
9+
DENO_ARCH_DIR=x86_64
1010
DENOFILES="deno-x86_64-apple-darwin.zip"
1111
elif [[ $FULLARCH == "Darwin arm64" ]]; then
12-
DENO_DIR=aarch64
12+
DENO_ARCH_DIR=aarch64
1313
DENOFILES="deno-aarch64-apple-darwin.zip"
1414
else
1515
echo "configure script failed: unrecognized architecture " ${FULLARCH}
@@ -21,11 +21,11 @@ else
2121
if [[ $NIXARCH == "x86_64" ]]; then
2222
DENOURL=https://github.com/denoland/deno/releases/download
2323
DENOFILES=deno-x86_64-unknown-linux-gnu.zip
24-
DENO_DIR=x86_64
24+
DENO_ARCH_DIR=x86_64
2525
elif [[ $NIXARCH == "aarch64" ]]; then
2626
DENOURL=https://github.com/denoland/deno/releases/download
2727
DENOFILES=deno-aarch64-unknown-linux-gnu.zip
28-
DENO_DIR=aarch64
28+
DENO_ARCH_DIR=aarch64
2929
else
3030
echo "configure script failed: unrecognized architecture " ${NIXARCH}
3131
exit 1

package/scripts/deno_std/download.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ source "$SCRIPT_PATH/../../../configuration"
55
source "$SCRIPT_PATH/../../src/set_package_paths.sh"
66

77
if [ -z "$QUARTO_DENO" ]; then
8-
export QUARTO_DENO="$QUARTO_DIST_PATH/bin/tools/$DENO_DIR/deno"
8+
export QUARTO_DENO="$QUARTO_DIST_PATH/bin/tools/$DENO_ARCH_DIR/deno"
99
fi
1010

1111

package/scripts/vendoring/vendor.sh

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,29 @@
1-
#!/usr/bin/env bash
2-
3-
source configuration
4-
5-
# Defaults are set in configuration file, but can be overridden here.
6-
# We can't put these overrides in the configuration file because it is parsed
7-
# very naively on windows.
8-
export DENO=${DENO_VERSION=$DENO}
9-
export DENO_DOM=${DENO_DOM_VERSION=$DENO_DOM}
10-
export PANDOC=${PANDOC_VERSION=$PANDOC}
11-
export DARTSASS=${DART_SASS_VERSION=$DARTSASS}
12-
export ESBUILD=${ESBUILD_VERSION=$ESBUILD}
13-
export TYPST=${TYPST_VERSION=$TYPST}
14-
15-
source package/scripts/common/utils.sh
16-
source package/src/set_package_paths.sh
17-
18-
QUARTO_VENDOR_BINARIES=${QUARTO_VENDOR_BINARIES=true}
19-
20-
DENO_BIN=${QUARTO_DENO=$QUARTO_BIN_PATH/tools/$DENO_DIR/deno}
21-
1+
# You should not need to run this script directly.
2+
# It is sourced by the configure.sh script.
223
if [[ "${QUARTO_VENDOR_BINARIES}" = "true" ]]; then
23-
export DENO_BIN_PATH=$QUARTO_BIN_PATH/tools/$DENO_DIR/deno
4+
export DENO_BIN_PATH=$QUARTO_BIN_PATH/tools/$DENO_ARCH_DIR/deno
245
else
256
if [ -z "$DENO_BIN_PATH" ]; then
267
echo "DENO_BIN_PATH is not set. You either need to allow QUARTO_VENDOR_BINARIES or set DENO_BIN_PATH to the path of a deno binary."
278
exit 1
289
fi
2910
fi
30-
export DENO_DIR=$QUARTO_BIN_PATH/deno_cache
11+
12+
if [ -z "$DENO_DIR" ]; then
13+
export DENO_DIR=$QUARTO_BIN_PATH/deno_cache
14+
fi
3115

3216
echo Revendoring quarto dependencies
3317

3418
# remove deno_cache directory first
3519
if [ -d "$DENO_DIR" ]; then
36-
rm -rf $DENO_DIR
20+
rm -rf "$DENO_DIR"
3721
fi
3822

39-
pushd ${QUARTO_SRC_PATH}
23+
pushd "${QUARTO_SRC_PATH}"
4024
set +e
4125
for entrypoint in quarto.ts vendor_deps.ts ../tests/test-deps.ts ../package/scripts/deno_std/deno_std.ts; do
42-
$DENO_BIN_PATH install --allow-all --no-config --entrypoint $entrypoint --importmap=$QUARTO_SRC_PATH/import_map.json
26+
$DENO_BIN_PATH install --allow-all --no-config --entrypoint $entrypoint "--importmap=$QUARTO_SRC_PATH/import_map.json"
4327
done
44-
return_code="$?"
4528
set -e
46-
if [[ ${return_code} -ne 0 ]]; then
47-
echo "deno vendor failed (likely because of a download error)."
48-
exit 1
49-
else
50-
rm -rf vendor-${today}
51-
fi
5229
popd

package/src/quarto-bld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ source "${SCRIPT_PATH}/../../configuration"
99
source "${SCRIPT_PATH}/set_package_paths.sh"
1010

1111
if [ -z "$QUARTO_DENO" ]; then
12-
export QUARTO_DENO=$SCRIPT_PATH/../dist/bin/tools/$DENO_DIR/deno
12+
export QUARTO_DENO=$SCRIPT_PATH/../dist/bin/tools/$DENO_ARCH_DIR/deno
1313
fi
1414

1515
export RUST_BACKTRACE=full

0 commit comments

Comments
 (0)