#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=1fb8cbe78479a0c368f9a5f01a66aeae3ccefdf7

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