#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=cf18b2173097efd1b71d8f1551e5203f6a1c26fe

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