# shellcheck shell=dash

# require docker
# x boot chrun --image ubnutu:latest --version v0.1.5 bash

___x_cmd_boot_chrun(){
    local x_path="${1}"             # VERSION

    local ___x_cmd_boot_run_x="$x_path/X"
    [ -f "$___x_cmd_boot_run_x" ] || {
        boot:error "X file unfound ==> $___x_cmd_boot_run_x"
        return 1
    }

    # version is for the VCACHE directory, and other else involved ___X_CMD_VERSION
    if [ "$2" = -- ]; then
        local version=NULL          # init the temporaroy VCACHE directory
        shift 1
    else
        local version="${2}"        # VCACHE
        shift 2
    fi

    if [ "$#" -eq 0 ]; then
        ___x_cmd_boot_chrun___main
    else
        [ "$1" != -- ] || shift 1
        local IFS=" "
        printf "%s\n" "$*" | ___x_cmd_boot_chrun___main
    fi
}

___x_cmd_boot_chrun___main(){
    {
        printf '___X_CMD_ROOT=%s\n' "$HOME/.x-cmd.root"
        printf '___X_CMD_VERSION=%s\n' "$version"
        printf "___X_CMD_ROOT_CODE='%s'\n" "$x_path"
        printf "___X_CMD_ROOT_MOD=\n"
        printf '. "%s"\n' "$___x_cmd_boot_run_x"
        ___x_cmd_cmds_cat
    } | ${___X_CMD_SHELL:-/bin/sh}
}
