#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=efe9ee7c7c79694adde72c8e9c32702c213e302b

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