#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=d303d93377afc394c0d77c924c86bd44c584f6ce

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