apply plugin: "com.google.cloud.tools.jib"

jib {
    from {
        image = project.baseDockerImage
    }
    to {
        image = "${project.group}/${project.name}"
        /**
         ecr-login: Amazon Elastic Container Registry (ECR)
         gcr: Google Container Registry (GCR)
         osxkeychain: Docker Hub
         */
        credHelper = "osxkeychain"
        /**
        auth {
            username = "*******"
            password = "*******"
        }
        */
        tags = ["v" + casServerVersion]
    }
    container {
        creationTime = "USE_CURRENT_TIMESTAMP"
        entrypoint = ['docker/entrypoint.sh']
        ports = ['80', '443', '8080', '8443']
        labels = [version:casServerVersion, name:project.name, group:project.group]
    }
    extraDirectories {
        paths = 'src/main/jib'
        permissions = [
            '/docker/entrypoint.sh': '755'
        ]
    }
    allowInsecureRegistries = project.allowInsecureRegistries
}

task copyWebAppIntoJib(type: Copy, group: "Docker", description: "Copy the web application into Docker image") {
    dependsOn build
    from "build/libs/${casWebApplicationBinaryName}"
    into "src/main/jib/docker/cas/war"
}

task copyConfigIntoJib(type: Copy, group: "Docker", description: "Copy the CAS configuration into Docker image") {
    dependsOn build
    from "etc/cas"
    into "src/main/jib/docker/cas"
}

task deleteWebAppFromJib(type: Delete, group: "Docker", description: "Explodes the CAS web application archive") {
    delete "src/main/jib/docker/cas"
}