#!/bin/bash

DOCKER_REPOSITORY="nexus3.onap.org:10003"
SEARCH="aai-service";
DATETIME_STAMP=$(date +%Y%m%dT%H%M%S);
VERSION_FILE="version.properties"

# Check for the version file
# If it exists, load the version from that file
# If not found, then use the current version as 1.1.0 for docker images
if [ -f "$VERSION_FILE" ]; then
    source $VERSION_FILE;
    VERSION=$release_version;
else
    VERSION=1.1.0;
fi

RELEASE_VERSION_REGEX="^[0-9]+\.[0-9]+\.[0-9]+$";

SNAPSHOT_TAG=${VERSION}-SNAPSHOT-${DATETIME_STAMP};
STAGING_TAG=${VERSION}-STAGING-${DATETIME_STAMP};


# Set REPO_PATH variable

if [ ! -z "$DOCKER_IMAGE_NAME" ]; then
    REPO_PATH=$DOCKER_REPOSITORY/${DOCKER_IMAGE_NAME};

    # tag image with nexus3 proxy prefix
    docker tag ${DOCKER_IMAGE_NAME} $REPO_PATH
elif [[ $PROJECT =~ $SEARCH ]] ; then
    REPO_PATH=$DOCKER_REPOSITORY/onap/ajsc-aai;
else
    # Cut the prefix aai/ in example aai/model-loader
    DOCKER_REPO_NAME=$(echo ${PROJECT} | cut -d"/" -f2-);

    REPO_PATH=$DOCKER_REPOSITORY/onap/${DOCKER_REPO_NAME};
fi


docker tag $REPO_PATH:latest $REPO_PATH:$STAGING_TAG;
docker tag $REPO_PATH:latest $REPO_PATH:$SNAPSHOT_TAG;

if [[ "$VERSION" =~ $RELEASE_VERSION_REGEX ]]; then
    STRIPPED_RELEASE=$(echo $VERSION | cut -d"." -f1,2);
    docker tag $REPO_PATH:latest $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
    docker push $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
else
    docker push $REPO_PATH:latest;
fi

docker push $REPO_PATH:$SNAPSHOT_TAG;
docker push $REPO_PATH:$STAGING_TAG;