#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=0541e9a01a9e7c132aa1a9fac7a7ca8e4547c77b

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