#!/usr/bin/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later

LIBDIR=${LIBDIR:-'/usr/share/artools/lib'}
DATADIR=${DATADIR:-'/usr/share/artools'}
SYSCONFDIR=${SYSCONFDIR:-'/etc/artools'}

# shellcheck source=src/lib/base/message.sh
source "${LIBDIR}"/base/message.sh
# shellcheck source=src/lib/pkg/api/gitea.sh
source "${LIBDIR}"/pkg/api/gitea.sh

set -e


usage() {
    local -r COMMAND=${BASH_SOURCE[0]##*/}
    cat <<- _EOF_
    Usage: ${COMMAND} [COMMAND] [OPTIONS]

    COMMANDS
        repo      Pacman database modification for packge update, move etc
        git       Manage Git packaging repositories and their configuration
        admin     Managegement of topics and obsolete repos
        version   Show artixpkg version information

    OPTIONS
        -h, --help     Show this help text
_EOF_
}

if (( $# < 1 )); then
    usage
    exit 1
fi

export _ARTOOLS_COMMAND='artixpkg'

# shellcheck source=src/lib/pkg/util.sh
source "${LIBDIR}"/pkg/util.sh

load_makepkg_config

cd "${TREE_DIR_ARTIX}"

# command checking
while (( $# )); do
	case $1 in
    -h|--help)
        usage
        exit 0
    ;;
    repo)
        _ARTOOLS_COMMAND+=" $1"
        shift
        # shellcheck source=src/lib/pkg/repo.sh
        source "${LIBDIR}"/pkg/repo.sh
        artixpkg_repo "$@"
        exit 0
    ;;
    git)
        _ARTOOLS_COMMAND+=" $1"
        shift
        # shellcheck source=src/lib/pkg/git.sh
        source "${LIBDIR}"/pkg/git.sh
        artixpkg_git "$@"
        exit 0
    ;;
    admin)
        _ARTOOLS_COMMAND+=" $1"
        shift
        # shellcheck source=src/lib/pkg/admin.sh
        source "${LIBDIR}"/pkg/admin.sh
        artixpkg_admin "$@"
        exit 0
    ;;
    version|--version|-V)
        _ARTOOLS_COMMAND+=" $1"
        shift
        # shellcheck source=src/lib/pkg/version/version.sh
        source "${LIBDIR}"/pkg/version/version.sh
        artixpkg_version "$@"
        exit 0
    ;;
    *)
        die "invalid command: %s" "$1"
    ;;
    esac
done
