Как узнать, когда оценка свойства плагина Gradle будет отложена? - PullRequest
1 голос
/ 05 октября 2019

Я использую плагин docker compose от avast. Ниже приведена соответствующая строфа. Как я могу определить, будет ли обязательный DockerWebTag () вызываться на этапе настройки? Является ли единственный способ проверить код плагина, чтобы выяснить, когда будут вызываться замыкания?

Часто у меня есть информация, которую я хочу предоставить, только если задача находится в графе задач, но эта информация может бытьдорого получить, недоступно или нуждается в проверке параметра проекта при его получении. Например, я не хочу, чтобы кто-то вызывал экземпляр образа preprod для докера нашего стека с тегом «latest», поэтому обязательныйDockerWebTag () выдает исключение, если он «последний», в противном случае он возвращает текущий тег.

dockerCompose {
    preprod {
        useComposeFiles = ['docker-compose.yml']
        environment.putAll([
                WEB_DOCKER_IMAGE_VERSION          : mandatoryDockerWebTag()
        ])
        tcpPortsToIgnoreWhenWaiting = [33333]
    }
}

1 Ответ

1 голос
/ 06 октября 2019

Как я могу определить, будет ли обязательный DockerWebTag () вызываться на этапе настройки?

Я не верю, что есть способ явно объяснить, как или когда задача или конфигурациявызывается в Gradle без:

  1. Проверьте источник плагина, который вы используете.
  2. Проверьте сборка сканирования отчет.

Например, я не хочу, чтобы кто-то вызывал экземпляр образа докера preprod нашего стека

К сожалению, вы не можете контролировать, что автор плагина делает с вашей конфигурацией Gradle. Они имеют свободный / полный доступ к вашему проекту и могут настраивать / изменять по своему желанию, насколько мне известно.

Хорошие / эффективные авторы плагинов (IMO) используют избегание конфигурации . Это относится не только к задачам, но и к конфигурациям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...