#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=bfb63e577fff80224d2a6d0e1399b40f6d4fb2b2

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

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