#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=042dd57a525e1ca45377780cdfa1dd3894906e1e

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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
/wPUtC0oAHgAAA==
XSHAR_DATA
}

change_dir
extract_data
devtools/hello-xshar.sh "$@"