#!/bin/bash

set -euo pipefail

: "${bim_package_install_platform:-}"
: "${bim_package_install_prefix:-}"

install_dir="$1"
name="$2"
version="$3"
flavor="$4"

shift 4

publish_args=("--disable-remote"
              "--root" "$install_dir"
              "--name" "$name"
              "--version" "$version"
              "--flavor" "$flavor"
              "--platform" "$bim_package_install_platform")

for d in "$@"
do
    dependency_version="$(paco-info \
                              --name "$d" \
                              --prefix "$bim_package_install_prefix" \
                              | grep '^Version:' \
                              | cut -d: -f2 \
                              || true)"

    if [[ -z "${dependency_version:-}" ]]
    then
        echo "Unknown dependency package: $d" >&2
        exit 1
    fi

    publish_args+=("--requires" "$d=$dependency_version")
done

paco-publish "${publish_args[@]}"

bim-install-package "$name" "$version" "$flavor"
