from common import get_env_variable, print_message
from src.datalake.deploy import aws
from src.interface.maven_project import MavenProjectInterface


class MavenLib(MavenProjectInterface):

    def publish(self) -> None:
        """
        Publica o projeto, disponibilizando os artefatos gerados na AWS.
        """
        if get_env_variable("DATAOPS_LIB", "false").lower() != "true":
            print_message(
                "[MavenLib] Não é uma biblioteca de dados, ignorando publicação..."
            )
            return

        aws.deploy(None)

    def compile(self):
        if get_env_variable("DATAOPS_LIB", "false").lower() == "true":
            print_message(
                "[Dados] Biblioteca de dados, empacotando para enviar para AWS..."
            )
            self._execute_mvn_command("package -DskipTests=true")
        else:
            super().compile()
