# shellcheck    shell=sh        disable=SC3043,2046,2154

___x_cmd_build_v0_release(){
    local op="$1"; shift
    case "$op" in
        put|patch)
            while [ $# -gt 0 ]; do
                case "$1" in
                    --*)
                        eval "local ${1#--}"
                        eval "${1#--}=\"\$2\""
                        shift 2
                        ;;
                    *)
                        break ;;
                esac
            done
            ___x_cmd_build_v0_release_"${op}" "$@"
        ;;
    esac

}

___x_cmd_build_v0_release_put()(
    [ -n "${owner_repo}" ] || {
        build:error "owner repo is null"
        return 1
    }

    local http_code
    http_code="$(x curl --suppress-connect-headers -I -L -w "%{http_code}\n"  -s -o /dev/null  "https://github.com/${owner_repo}/releases/download/${version}/meta.yml")"

    [ "${http_code}" = 404 ] || {
        build:warn "The release already exists, if you need to push again, please delete the release first."
        return
    }

    local zip_format="${FORMAT:-"tar.xz"}"
    local release_folder="${1}"
    ___x_cmd_cmds_cd "${release_folder}" && {
        x mv metadate_check.yml meta.yml
        x build run "${owner_repo}" meta.yml $(___x_cmd_cmds_ls -- *".${zip_format}")
    }
)

___x_cmd_build_v0_release_patch(){
    :
}

