#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=88f599a3fa78a55cbb978d79909d2587c999e99c

name=$(basename $0)  # e.g. hello-xshar.xshar
default_dir=/tmp/$name.$$

# User can override this, and then _build/oils.sh can use SKIP_REBUILD to make
# it faster.  Multiple runs without compiling.

export XSHAR_DIR=${XSHAR_DIR:-$default_dir}

change_dir() {
  mkdir -p "$XSHAR_DIR"
  cd "$XSHAR_DIR"
}

extract_data() {
  base64 -d <<'XSHAR_DATA' | tar -x -z
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
/gcWvtuAAHgAAA==
XSHAR_DATA
}

change_dir
extract_data
devtools/hello-xshar.sh "$@"