#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=c8415b8e2a76b4bd3620cd58c3421510d19575e6

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