#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=9880132a263a70371448bd151b746f11377d28fc

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