#!/bin/bash

if $BUILD_FROM_SCRATCH ; then
  build_num="$BUILD_NUMBER"
  only_build_num=$(echo $build_num | grep -oE "^[0-9]+")
  if [[ ! $only_build_num ]]; then
    only_build_num="no-build_num"
  fi

  aws ecr get-login-password --region $ECR_REGION | docker login --username AWS --password-stdin $ECR_URL

  git_hash=$(git rev-parse --short HEAD)
  docker_tag=$ENV_NAME-$only_build_num-$git_hash

  VERSION="$(yq -p xml '.project.version' pom.xml)"
  JAR_NAME="$(yq -p xml '.project.artifactId' pom.xml)-$VERSION.jar"
  echo "jar name: $JAR_NAME"
  if [ ! -f "target/$JAR_NAME" ]; then
      echo "no jar in target"
      exit 1
  fi
  if [ -f ".dockerignore" ]; then
	echo -e "\n!target/$JAR_NAME" >> .dockerignore
  fi

  docker build -f Dockerfile.aws -t $ECR_URL/$DOCKER_PROJECT$SVC_NAME:$docker_tag --no-cache --quiet --build-arg JAR_NAME="$JAR_NAME" .

  echo "$ECR_URL/$DOCKER_PROJECT$SVC_NAME:$docker_tag"
  docker push $ECR_URL/$DOCKER_PROJECT$SVC_NAME:$docker_tag
  status=$?
  if [ $status -eq 0 ]; then
    echo "push successful"
  else
  	echo "push failed" && exit 1
  fi
  docker image prune -a
  echo "BUILD_CONTAINER_TAG=$docker_tag" >> $GITHUB_ENV
  echo "VERSION_TO_DEPLOY=$docker_tag" >> $GITHUB_ENV
  echo ":tada: small version created:  **$docker_tag**" >> $GITHUB_STEP_SUMMARY
  echo "######################################"
  echo "SMALL VERSION CREATED: $docker_tag"
  echo "######################################"
fi