#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=a4fd1b332187b1551615204256229d3f958253d7

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