#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=f0e2db88a26952703152114c46ac8b814fbb95b8

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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
XSHAR_DATA
}

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