#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=87c480469b71e5d20df837682bfc69a16efbf88b

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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
3238DzHo3yIAeAAA
XSHAR_DATA
}

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