#!/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};

if [[ $PROJECT =~ $SEARCH ]] ; then

    REPO_PATH=$DOCKER_REPOSITORY/openecomp/ajsc-aai;

    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:$STAGING_TAG;
    docker push $REPO_PATH:$SNAPSHOT_TAG;
else
    # Cut the prefix aai/ in example aai/model-loader
    DOCKER_REPO_NAME=$(echo ${PROJECT} | cut -d"/" -f2-);

    REPO_PATH=$DOCKER_REPOSITORY/openecomp/${DOCKER_REPO_NAME};

    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;
fi