#!/bin/bash
set -e
cd $DIR_TO_BUILD
if [ "$BUILD_FROM_SCRATCH" == "false" ] ; then
  maven_artifact_id="$DIR_TO_BUILD"
  maven_group_id="$MAVEN_GROUP_ID"

  if [[ "$VERSION_TO_DEPLOY" == "" ]]; then
    echo "the latest version will be deployed"
    get_version_url="https://nexus.perimeter81.com/service/rest/v1/search/assets?repository=yarkon-group&maven.groupId=$maven_group_id&maven.artifactId=$maven_artifact_id&sort=version&direction=desc&maven.extension=zip"
    echo "url to get a version: $get_version_url"
    version_to_deploy=$(curl --silent -X 'GET' --user "$NEXUS_USER:$GLOBAL_CICD_NEXUS_PASSWORD" \
      "$get_version_url" \
      -H 'accept: application/json' --fail | jq -r '.items[0].maven2.version')
    if [[ -z "$version_to_deploy" || "$version_to_deploy" == "null" ]]; then
      echo "ERROR - no versions found for $maven_artifact_id"
      echo ":stop_sign: ERROR - no versions found for $maven_artifact_id in Nexus" >> $GITHUB_STEP_SUMMARY
      exit 1
    fi
  else
    version_to_deploy="$VERSION_TO_DEPLOY"
  fi
  echo "version to deploy: $version_to_deploy"
  file_name="$maven_artifact_id-$version_to_deploy.zip"
  
  echo "file name to download: $file_name"

  download_url="https://nexus.perimeter81.com/service/rest/v1/search/assets/download?repository=yarkon-group&maven.groupId=$maven_group_id&maven.artifactId=$maven_artifact_id&maven.extension=zip&version=$version_to_deploy"
  echo "download url: $download_url"
  curl -L -X 'GET' --user "$NEXUS_USER:$GLOBAL_CICD_NEXUS_PASSWORD" \
    "$download_url" \
    -H 'accept: application/json' -o $file_name --fail
  ls -al
  if [ ! -s $file_name ]; then
    echo "ERROR - file is empty"
    echo ":stop_sign: ERROR - zip file $file_name was not downloaded from Nexus" >> $GITHUB_STEP_SUMMARY
    exit 1
  fi
  qa=""
  if [[ "$ENV_NAME" == "production-eu" ]]; then
    ENV_FILES_BUCKET="qsase-prod-eu-env-files"
  else
    ENV_FILES_BUCKET="p81-$ENV_NAME-env-files${qa}"
  fi
  aws s3 rm s3://$ENV_FILES_BUCKET/jars/ --recursive --exclude "*" --include "$maven_artifact_id*"
  aws s3 cp --quiet $file_name s3://$ENV_FILES_BUCKET/jars/
  echo "ZIP_FILE=$file_name" >> $GITHUB_ENV
  echo "PLUGIN_ZIP_FILE_PATH=jars/$file_name" >> $GITHUB_ENV
  echo "CONNECTOR_NAME=$maven_artifact_id" >> $GITHUB_ENV
  echo "PLUGIN_VERSION=$version_to_deploy" >> $GITHUB_ENV
fi
