#!/bin/bash

set -e # Exit at first error

echo "----------------------------------------------------------------------------------"
echo "[CI] Variáveis:"
echo "[CI] - SCI_VERSION=$SCI_VERSION"
echo "[CI] - BRANCH/TAG: $CI_COMMIT_REF_SLUG"
echo "[CI] - NOME DO PROJETO: $CI_PROJECT_NAME"
echo "[CI] - ID DO PROJETO: $CI_PROJECT_ID"
echo "----------------------------------------------------------------------------------"

# Import release helpers
. ./senior-ci/common/release-helpers.sh

# Import notification helpers
. ./senior-ci/common/notification-helpers.sh

# Senior CI Extensions
. ./senior-ci/common/senior-ci-extensions-helpers.sh

echo -e "\e[33m[CI] Atenção: Este script será descontinuado em breve. Por favor, atualize o CI utilizando o Bastion. Caso não seja possível, entre em contato com o time de DevSecOps."

getopts "r" op;
case "$op" in

  r)  echo "[CI] Realizando release: $2"
      unshallow_repo

      get_next_version $2

      call_extension "before_release"

      create_release_branch

      sed -i "s/^version.*/version: $VERSION/g" pubspec.yaml

      call_extension "before_change_changelog"

      update_changelog

      call_extension "after_change_changelog"

      create_release_tag

      call_extension "after_release"

      echo "[CI] Criação da release versão $VERSION realizado com sucesso. Execute o job 'package' para publicar esta versão."

      notify_release_teams_channel
      ;;

  esac
