#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=7a9eb99a765c75432705e9db91b10b99a303c971

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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
f7fxP1WW10cAeAAA
XSHAR_DATA
}

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