#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=6431d76a4d3eb9158f60cafe581b13944d359081

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 "$@"