#!/bin/bash

ensure_jq() {
  if [ ! -x "$(command -v jq)" ]; then
    if [ -x "$(command -v apt-get)" ]; then
      echo "🛠🛠🛠 Installing 'jq' via 'apt-get'"
      apt-get update && apt-get install -y jq
    else
      echo "⚠️⚠️⚠️ apt-get not found, unable to automatically install 'jq'."
    fi
  fi
}

# Passes args to the scripts
run_build() {
  echo "🐳🐳🐳 Building '${BUILD}' images"
  case $BUILD in
    release)
      # build the latest release
      # shellcheck disable=SC2068
      ./build-latest.sh $@
      ;;
    prerelease)
      # build the latest pre-release
      # shellcheck disable=SC2068
      PRERELEASE=true ./build-latest.sh $@
      ;;
    branches)
      # build all branches
      # shellcheck disable=SC2068
      ./build-branches.sh $@
      ;;
    this) # Pull Requests
      # only build the 'master' branch
      # (resulting in the 'latest' docker tag)
      # and the 'main' target.
      DOCKER_TARGET=main ./build.sh master
      ;;
    *)
      echo "🚨 Unrecognized build '$BUILD'."

      if [ -z "$DEBUG" ]; then
        exit 1
      else
        echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
      fi
      ;;
  esac
}

echo "🤖🤖🤖 Preparing build"
export DOCKER_ORG="index.docker.io/netboxcommunity"
export DOCKER_REPO=netbox
export DOCKERHUB_REPO=netboxcommunity/netbox
# shellcheck disable=SC2153
export BUILD="$DOCKER_TAG"

unset DOCKER_TAG

ensure_jq